feat(floating): live "working" status + a fading "done" nod when driving roro#133
Closed
gorajing wants to merge 1 commit into
Closed
feat(floating): live "working" status + a fading "done" nod when driving roro#133gorajing wants to merge 1 commit into
gorajing wants to merge 1 commit into
Conversation
…ing roro In floating mode roro hides all chrome (#overlay is display:none), so a coding task — which takes 30–90s of real work — showed the user almost nothing: a faded static "tasked:" pill and a cat whose activity blip fades after ~2s. Ask roro to make something and it looks like "nothing is happening", even though it is planning, running Codex, editing files, and succeeding. Dropping the success receipt (#132) removed the one completion signal too. This gives floating mode a single calm status line (reusing #floating-error): - thinking… while roro plans (on showTasked), then working… for the whole executor run (on run.started) — persistent, never a blank frozen gap. - on success, a brief "done · N files" nod that AUTO-FADES after ~3.2s (a nod, not a lingering banner — restraint). 'done' for an answer turn (no files). - failures stay sticky (fail-loud) and a Stop still shows neutral 'Stopped.'. New 'progress' tone in index.css (calm slate — clearly neither success-green nor failure-red). receiptForTurnEnd/turnReceipt.ts are untouched; this is purely the floating display layer. Verified: - vitest 871 passed (new tests: persistent working line through a multi-event task; thinking…→working… phases; done·N-files nod; auto-fade via fake timers). lint clean (0 errors). - npm run verify:floating PASSES on a real build — asserts the live 'thinking…' progress line AND the 'done' nod, with failures still rendering (fail-loud). - Drove a simulated task end-to-end over CDP and screenshotted each state: thinking… → working… (persists through file edits) → done · 2 files → fades. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UzzoU3jA7PtL8BYMmhepUM
Owner
Author
|
Closing as superseded by the floating-UI redesign (#154–#160), not merged.
Reopenable if we ever revisit an explicit completion signal — but it would be built fresh against the tethered stage, not this diff. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Ask roro to make something in floating mode and it looked like nothing was happening — even though it was planning, running Codex, editing files, and succeeding (a real task is 30–90s of work). The cause: floating mode hides all chrome (
#overlayisdisplay:none), so the only feedback was a faded static "tasked:" pill and a cat whose activity blip fades after ~2s. Dropping the success receipt (#132) removed the completion signal too.This gives floating mode a single calm status line so driving roro feels alive — without a lingering banner.
Behavior
thinking…(calm slate line)working…— persistent the whole run, never a blank gapdone · N filesnod that auto-fades after ~3.2s (a nod, not a banner). Answer turns (no files) →doneStopped.(unchanged)New
progresstone inindex.css(calm slate, clearly neither success-green nor failure-red).receiptForTurnEnd/turnReceipt.tsare untouched — this is purely the floating display layer.Verification
working…line through a multi-event task;thinking…→working…phases;done · 1 filenod; auto-fade via fake timers.npm run verify:floatingPASSES on a real build — now asserts the livethinking…progress line AND thedonenod, with failures still rendering (fail-loud intact).thinking… → working…(persists through file edits)→ done · 2 files →fades.--base main(max effort): clean — "No correctness regressions were found."Note
At the compact 190px width, an active task stacks three elements (status line + Stop + tasked pill) — readable but a touch busy. The completion/idle states are clean. Easy follow-up to tighten the active-task layout if it feels cluttered in practice.
🤖 Generated with Claude Code
https://claude.ai/code/session_01UzzoU3jA7PtL8BYMmhepUM