Skip to content

feat: show tool activity in one expandable live summary - #24

Merged
sugarforever merged 2 commits into
mainfrom
codex/compact-tool-activity
Oct 22, 2026
Merged

sugarforever merged 2 commits into
mainfrom
codex/compact-tool-activity

Conversation

@sugarforever

@sugarforever sugarforever commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Summary

Tool calls currently accumulate as a waterfall of status rows. Each user turn now gets one expandable activity summary: new live work replaces its label, with running work taking precedence over queued calls. A gentle opacity pulse marks active work; completion shows Worked · N activities, including a failure marker when relevant. Elapsed time is omitted because the current presentation data does not provide reliable start/end timestamps.

One tap reveals all recorded activity labels and their bounded output. Assistant prose keeps its transcript order. Disclosure identity remains stable when live work commits, while switching conversations resets expansion. The pulse respects Reduce Motion, stops on completion/unmount, and does not hold animation interactions open. Status changes have polite accessibility announcements.

The existing 4,000-character output limit and transient lifetime of nested live progress are preserved. No persistence, provider, scheduler, or credential changes.

Validation

  • Test-first grouping regressions: confirmed missing-function failures before implementation; final suite 231 passed, 8 skipped across 31 test files.
  • Runtime bundle generation, TypeScript, Prettier, and whitespace checks passed.
  • Actual ActivityGroup/ActivityRow browser preview: one collapsed summary, one-tap disclosure including output, completion replaces the label and preserves expansion, recollapse, active opacity changes and reset to 1 on completion, and opacity remains 1 with reduced motion enabled in a mobile viewport.
  • Temporary browser harness used React Native Web, Expo's non-server font context, and browser globals. Application dependencies/configuration unchanged.
  • Independent code review completed; findings about initial output expansion and status announcements were fixed and re-reviewed.
  • Follow-up native component validation: existing Android emulator and iPhone 17 Pro simulator development clients loaded the actual ActivityGroup/ActivityRow components with controlled fixtures. Android taps and accessibility-node assertions verified expansion reveals all three outputs, completion, and recollapse; iOS running-state rendering was inspected. The temporary preview entry was removed. An initial Android Dev Launcher error was resolved by restarting the app.
  • No new native compilation, full conversation/runtime integration test, physical-device test, release asset export, VoiceOver/TalkBack validation, or real model request was performed.

Emulator screenshots

Actual native component rendering with controlled fixture data (explicitly labeled in the screenshots), rather than a real model conversation. Android: 1080 × 2400 emulator; iOS: iPhone 17 Pro simulator. A still image shows the running style; animation was checked separately in the browser.

Android: running Android: expanded details Android: completed
Android running single activity summary Android expanded activity and all outputs Android completed collapsed summary
iOS simulator: running iOS simulator running activity summary

@sugarforever
sugarforever merged commit 3764763 into main Oct 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant