fix: detect all claude half-circle spinner frames

refs #2760
This commit is contained in:
akbash-bot
2026-08-13 06:36:18 +00:00
parent 952729ee03
commit d6521aa87a
3 changed files with 21 additions and 6 deletions
+15
View File
@@ -625,6 +625,21 @@ fn claude_osc_title_braille_prefix_is_working() {
assert!(result.visible_working);
}
#[test]
fn claude_osc_title_half_circle_frames_are_working() {
for frame in ['◐', '◓', '◑', '◒'] {
let title = format!("{frame} Initial conversation with Claude");
let result = osc_explain(Agent::Claude, "", &title, "");
assert_eq!(result.state, AgentState::Working, "frame {frame}");
assert_eq!(
result.matched_rule.as_ref().map(|rule| rule.id.as_str()),
Some("osc_title_working"),
"frame {frame}"
);
assert!(result.visible_working, "frame {frame}");
}
}
#[test]
fn claude_osc_title_static_prefix_is_idle() {
// "✳" is U+2733, static prefix when Claude is not working
+3 -3
View File
@@ -1,7 +1,7 @@
id = "claude"
version = "2026.08.12.1"
version = "2026.08.13.1"
min_engine_version = 2
updated_at = "2026-08-12T00:00:00Z"
updated_at = "2026-08-13T00:00:00Z"
aliases = ["claude-code"]
[[rules]]
@@ -11,7 +11,7 @@ priority = 1100
region = "osc_title"
visible_working = true
# Braille covers <= 2.1.227; half-circles are the 2.1.228 busy spinner.
regex = ['^[\x{2800}-\x{28FF}\x{25D0}-\x{25D1}] ']
regex = ['^[\x{2800}-\x{28FF}\x{25D0}-\x{25D3}] ']
[[rules]]
id = "btw_overlay_working"
+3 -3
View File
@@ -1,7 +1,7 @@
id = "claude"
version = "2026.08.12.1"
version = "2026.08.13.1"
min_engine_version = 2
updated_at = "2026-08-12T00:00:00Z"
updated_at = "2026-08-13T00:00:00Z"
aliases = ["claude-code"]
[[rules]]
@@ -11,7 +11,7 @@ priority = 1100
region = "osc_title"
visible_working = true
# Braille covers <= 2.1.227; half-circles are the 2.1.228 busy spinner.
regex = ['^[\x{2800}-\x{28FF}\x{25D0}-\x{25D1}] ']
regex = ['^[\x{2800}-\x{28FF}\x{25D0}-\x{25D3}] ']
[[rules]]
id = "btw_overlay_working"