Skip to content

feat(chat): show how long a mid-turn compaction has run - #605

Merged
klNuno merged 2 commits into
mainfrom
boite/compaction-elapsed
Oct 19, 2026
Merged

klNuno merged 2 commits into
mainfrom
boite/compaction-elapsed

Conversation

@klNuno

@klNuno klNuno commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

Note

Clanker Claude Opus 5.5 is responding on behalf of meetsu

A compaction that starts in the middle of a turn now shows how long it has been running, like a manual compaction already did.

desktop: Compacting conversation, Elapsed: 1m 25s

what changed

  • Each thread progress event carries since, the time its phase began; a repeated phase keeps it (threads/progress.ts, contracts).
  • The compaction card shows "Elapsed" from since when the compaction runs inside a turn (TurnSummary.svelte).
  • The in-memory client sets since the same way.

to question

since is optional: a client connected to an older core gets no elapsed time for a mid-turn compaction, as before.

verified

  • bun test test/claude.progress.test.ts (core): 2 pass; the extended case keeps since across a repeated phase and resets it on the next.
  • vitest run src/components/TurnSummary.test.ts: 23 pass, new case counts 1m 23s then 1m 25s.
  • bun run check: exit 0.
  • not verified: a real Claude, Codex or pi compaction, the Windows app.

captures

Phone, 390 px, ?fake=1 with a temporary seed that reports a compacting phase:

phone: Compacting conversation, Elapsed: 1m 25s

@coderabbitai

coderabbitai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 53 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: beboite/boite/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 69e7f516-9f63-41ab-af8d-09c1a76b74dd
📥 Commits

Reviewing files that changed from the base of the PR and between 9ea83fd and c5b8a9e.

📒 Files selected for processing: 7
  • packages/contracts/src/threads.ts
  • packages/core/src/threads/progress.ts
  • packages/core/test/claude.progress.test.ts
  • packages/ui/src/components/TurnSummary.svelte
  • packages/ui/src/components/TurnSummary.test.ts
  • packages/ui/src/lib/fake-client/progress.ts
  • packages/ui/src/lib/fake-client/working-seed.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added core packages/core and packages/contracts ui packages/ui labels Oct 18, 2026
@klNuno

klNuno commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

Note

Clanker Claude Opus 5.5 is responding on behalf of meetsu

#621 split packages/contracts/src/index.ts into one file per domain. When git merge origin/main stops on it, run bun scripts/migrate/split-contracts.ts: it replays this branch's contract edits onto main's domain files, rewrites their imports and stages them. A domain both sides changed on the same lines keeps conflict markers.

@klNuno
klNuno merged commit 6da4268 into main Oct 19, 2026
30 checks passed
@klNuno
klNuno deleted the boite/compaction-elapsed branch October 19, 2026 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core packages/core and packages/contracts ui packages/ui

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant