turn indicator → Claude coral-orange brand accent (T-273)

The in-flight "Pondering…" turn indicator used muted grey; switch it to
the existing claudeAccent (#d97757, Anthropic's brand coral) — the
indicator is main-thread Claude running, which the accent is reserved for.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-08 13:44:34 +02:00
co-authored by Claude Opus 4.8
parent 6fcca38e6a
commit e8cc1f1ceb
4 changed files with 8 additions and 3 deletions
@@ -831,3 +831,4 @@ Bisected (each a 45s-timeout repro, all on this box):
- The full openFolder tap flow hangs even when project validation is stubbed to a synchronous, pure-Dart `.git` walk (no subprocess) AND `runAsync` is removed — so the wedge is not solely the git subprocess; something in the booted-app + extensions + open-folder command path holds a native port that teardown waits on forever. - The full openFolder tap flow hangs even when project validation is stubbed to a synchronous, pure-Dart `.git` walk (no subprocess) AND `runAsync` is removed — so the wedge is not solely the git subprocess; something in the booted-app + extensions + open-folder command path holds a native port that teardown waits on forever.
Quarantined with `skip:` so the suite/gate stays green. Real fix: find the leaked native async resource (likely a Process/Isolate/FakeDaemonClient port reachable from the open-folder command or app boot under the test harness) and ensure it''s drained/cancelled before teardown — or drive the "no git repo" assertion without booting the resource. Then remove the skip.', NULL, '2026-06-08 11:29:33', '2026-06-08 11:29:33', '2026-06-08 11:29:33', NULL, '3a03d00854f80ca2f8320875fe37e558', 1) ON CONFLICT(hash) DO NOTHING; Quarantined with `skip:` so the suite/gate stays green. Real fix: find the leaked native async resource (likely a Process/Isolate/FakeDaemonClient port reachable from the open-folder command or app boot under the test harness) and ensure it''s drained/cancelled before teardown — or drive the "no git repo" assertion without booting the resource. Then remove the skip.', NULL, '2026-06-08 11:29:33', '2026-06-08 11:29:33', '2026-06-08 11:29:33', NULL, '3a03d00854f80ca2f8320875fe37e558', 1) ON CONFLICT(hash) DO NOTHING;
INSERT INTO ticket_history (ticket_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('T-273', 'status', 'ready', 'done', NULL, '2026-06-08 11:44:27', '2026-06-08 11:44:27', '2026-06-08 11:44:27', NULL, 'd4dc7a1144ebf85630815e55f59ff99b', 1) ON CONFLICT(hash) DO NOTHING;
+1
View File
@@ -2037,3 +2037,4 @@ Bisected (each a 45s-timeout repro, all on this box):
- The full openFolder tap flow hangs even when project validation is stubbed to a synchronous, pure-Dart `.git` walk (no subprocess) AND `runAsync` is removed so the wedge is not solely the git subprocess; something in the booted-app + extensions + open-folder command path holds a native port that teardown waits on forever. - The full openFolder tap flow hangs even when project validation is stubbed to a synchronous, pure-Dart `.git` walk (no subprocess) AND `runAsync` is removed so the wedge is not solely the git subprocess; something in the booted-app + extensions + open-folder command path holds a native port that teardown waits on forever.
Quarantined with `skip:` so the suite/gate stays green. Real fix: find the leaked native async resource (likely a Process/Isolate/FakeDaemonClient port reachable from the open-folder command or app boot under the test harness) and ensure it''s drained/cancelled before teardown or drive the "no git repo" assertion without booting the resource. Then remove the skip.', 'backlog', 'high', NULL, NULL, NULL, '2026-06-08 11:29:22', '2026-06-08 11:29:33', NULL, 'e06d0c0f0c06621f763068de5343cd10', 1) ON CONFLICT(id) DO UPDATE SET type=excluded.type, parent_id=excluded.parent_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash); Quarantined with `skip:` so the suite/gate stays green. Real fix: find the leaked native async resource (likely a Process/Isolate/FakeDaemonClient port reachable from the open-folder command or app boot under the test harness) and ensure it''s drained/cancelled before teardown or drive the "no git repo" assertion without booting the resource. Then remove the skip.', 'backlog', 'high', NULL, NULL, NULL, '2026-06-08 11:29:22', '2026-06-08 11:29:33', NULL, 'e06d0c0f0c06621f763068de5343cd10', 1) ON CONFLICT(id) DO UPDATE SET type=excluded.type, parent_id=excluded.parent_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash);
INSERT INTO tickets (id, type, parent_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('T-273', 'task', 'T-276', 'turn indicator font color → Claude accent orange', 'Change the animated running/turn indicator''s text color to the Claude accent orange (the brand accent), instead of its current color. Lives in lib/builtin/claude/src/running_indicator.dart (the rotating-verb turn indicator, T-255). Use the appropriate accent token from SurfaceTokens (ui-design skill: confirm which token maps to Claude accent orange) — no hardcoded hex. Update/adjust any golden or widget test that asserts the indicator color.', 'done', 'low', NULL, NULL, NULL, '2026-06-07 17:39:10', '2026-06-08 11:44:27', NULL, 'a9eafaf6e7956b2ab0d1dc384bacd8cd', 1) ON CONFLICT(id) DO UPDATE SET type=excluded.type, parent_id=excluded.parent_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash);
+2
View File
@@ -144,6 +144,8 @@ heading, and (b) bumping `pubspec.yaml` `version:` in the same commit.
### Changed ### Changed
- The in-flight **turn indicator** ("Pondering…") now renders in Claude's
coral-orange brand accent instead of muted grey. (T-273)
- A **sub-agent's prose and thinking** are now attributed to the **`agent`** (a - A **sub-agent's prose and thinking** are now attributed to the **`agent`** (a
muted stripe), not the main-thread coral **`claude`** — so a sub-agent's muted stripe), not the main-thread coral **`claude`** — so a sub-agent's
output is no longer presented as if the main Claude said it. Main-thread items output is no longer presented as if the main Claude said it. Main-thread items
@@ -1,4 +1,4 @@
/// In-flight turn indicator (T-255): a muted, animated label shown next to the /// In-flight turn indicator (T-255): a Claude-accent-coloured, animated label shown next to the
/// Stop button while a Claude turn runs. Animated ellipsis (`Pondering` → /// Stop button while a Claude turn runs. Animated ellipsis (`Pondering` →
/// `Pondering.` → `..` → `...`) plus a verb that rotates every few seconds. /// `Pondering.` → `..` → `...`) plus a verb that rotates every few seconds.
/// ///
@@ -10,6 +10,7 @@
/// pumps; reduced-motion shows a static verb and the a11y label stays stable. /// pumps; reduced-motion shows a static verb and the a11y label stays stable.
library; library;
import 'package:clide/builtin/claude/src/conversation_view.dart' show claudeAccent;
import 'package:clide/widgets/widgets.dart'; import 'package:clide/widgets/widgets.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
@@ -89,14 +90,14 @@ class _RunningIndicatorState extends State<RunningIndicator> with SingleTickerPr
label: 'Claude is running', label: 'Claude is running',
child: ExcludeSemantics( child: ExcludeSemantics(
child: reduced child: reduced
? ClideText('${_verbs.first}', muted: true, fontSize: clideFontMeta) ? ClideText('${_verbs.first}', color: claudeAccent, fontSize: clideFontMeta)
: AnimatedBuilder( : AnimatedBuilder(
animation: _c, animation: _c,
builder: (ctx, _) { builder: (ctx, _) {
final elapsed = _c.value * _periodSeconds; final elapsed = _c.value * _periodSeconds;
final dots = '.' * (elapsed.floor() % 4); final dots = '.' * (elapsed.floor() % 4);
final word = _verbs[(elapsed ~/ _secondsPerWord) % _verbs.length]; final word = _verbs[(elapsed ~/ _secondsPerWord) % _verbs.length];
return ClideText('$word$dots', muted: true, fontSize: clideFontMeta); return ClideText('$word$dots', color: claudeAccent, fontSize: clideFontMeta);
}, },
), ),
), ),