Progress bar monitoring updates. Hopefully fixed some false positives, and updated claude-code progress monitoring.

This commit is contained in:
Storm Dragon
2025-08-20 14:33:22 -04:00
parent 0a2c8472c0
commit 8c26d93001
2 changed files with 16 additions and 5 deletions

View File

@@ -146,8 +146,8 @@ class command:
# Pattern 1b: Time/token activity (not percentage-based, so use single # Pattern 1b: Time/token activity (not percentage-based, so use single
# beep) # beep)
time_match = re.search(r"(\d+)s\s", text) time_match = re.search(r"(?:(?:remaining|elapsed|left|ETA|eta)[:;\s]*(\d+)s|(\d+)s\s+(?:remaining|elapsed|left))", text, re.IGNORECASE)
token_match = re.search(r"(\d+)\s+tokens", text) token_match = re.search(r"(?:processing|generating|used|consumed)\s+(\d+)\s+tokens", text, re.IGNORECASE)
# Pattern 1c: dd command output (bytes copied with transfer rate) # Pattern 1c: dd command output (bytes copied with transfer rate)
dd_match = re.search(r"\d+\s+bytes.*copied.*\d+\s+s.*[kMGT]?B/s", text) dd_match = re.search(r"\d+\s+bytes.*copied.*\d+\s+s.*[kMGT]?B/s", text)
# Pattern 1d: Curl-style transfer data (bytes, speed indicators) # Pattern 1d: Curl-style transfer data (bytes, speed indicators)
@@ -183,7 +183,10 @@ class command:
if fraction_match: if fraction_match:
current = int(fraction_match.group(1)) current = int(fraction_match.group(1))
total = int(fraction_match.group(2)) total = int(fraction_match.group(2))
if total > 0: # Filter out dates, page numbers, and other non-progress fractions
if (total > 0 and total <= 1000 and current <= total and
not re.search(r"\b(?:page|chapter|section|line|row|column|year|month|day)\b", text, re.IGNORECASE) and
not re.search(r"\d{1,2}/\d{1,2}/\d{2,4}", text)): # Date pattern
percentage = (current / total) * 100 percentage = (current / total) * 100
if ( if (
percentage percentage
@@ -245,7 +248,15 @@ class command:
self.env["commandBuffer"]["lastProgressTime"] = current_time self.env["commandBuffer"]["lastProgressTime"] = current_time
return return
# Pattern 6: Moon phase progress indicators # Pattern 6: Claude Code progress indicators
claude_progress_match = re.search(r'^[·✶✢*]\s+\w+[…\.]*\s*\(esc to interrupt\)\s*$', text)
if claude_progress_match:
if current_time - self.env["commandBuffer"]["lastProgressTime"] >= 1.0:
self.play_activity_beep()
self.env["commandBuffer"]["lastProgressTime"] = current_time
return
# Pattern 7: Moon phase progress indicators
moon_match = re.search(r'[🌑🌒🌓🌔🌕🌖🌗🌘]', text) moon_match = re.search(r'[🌑🌒🌓🌔🌕🌖🌗🌘]', text)
if moon_match: if moon_match:
moon_phases = { moon_phases = {

View File

@@ -4,6 +4,6 @@
# Fenrir TTY screen reader # Fenrir TTY screen reader
# By Chrys, Storm Dragon, and contributors. # By Chrys, Storm Dragon, and contributors.
version = "2025.08.04" version = "2025.08.20"
codeName = "testing" codeName = "testing"
code_name = "testing" code_name = "testing"