Skip to content

fix(chat): answered questions stay visible outside collapsed work - #839

Merged
incognitojam merged 2 commits into
mainfrom
styal/input-tool-answer-visibility
Oct 15, 2026
Merged

incognitojam merged 2 commits into
mainfrom
styal/input-tool-answer-visibility

Conversation

@incognitojam

@incognitojam incognitojam commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

Note

Submitted questions and answers remain visible outside collapsed work across clients, restoring the earlier timeline behavior.

Problem

After answering an agent question, the submitted answer is saved and reaches the provider, but its question row joins ordinary tool groups and completed-turn folds. A collapsed conversation can show the original prompt and final reply with no visible record of the intervening question or answer.

Change

Keep submitted question history in its own expandable row on web, desktop, and mobile, outside active tool groups and completed-turn folds. Reuse the existing question, answer preview, and expanded history presentation. On mobile, expanded answer history also omits duplicate raw request metadata.

This restores the visibility behavior from pingdotgg#11363 that was lost during pingdotgg#2829. Record the maintained behavior and current upstream overlap in the fork ledger.

Scope and approval

Requested by the maintainer to fix missing question-and-answer history and open a styal PR. The change affects client presentation of already-persisted answers. Answers from superseded attempts can still require expanding that attempt.

Verification

  • Browser, with synthetic data: reproduced hidden history before the fix; afterward the question and selected answers plus a typed addition remain visible with completed work collapsed. Expanded and collapsed the answer details and surrounding work, and checked a 390px layout.
  • Android: rebuilt the development client and opened the same isolated fixture. The question and answer remain visible while surrounding work is folded or expanded; expanded history shows the complete answer without raw request JSON. Native iOS and the Electron shell were not separately exercised.
  • 323 tests passed across MessagesTimeline.logic.test.ts, MessagesTimeline.test.tsx, and mobile threadActivity.test.ts. Regression-specific tests fail on the original code and cover running/completed turns, questions followed by more work, and fold/group expansion. Web and mobile typechecks, formatting, and ledger validation pass. Scoped lint passes with existing warnings on unchanged lines.
  • Independent review by Claude Opus 5.5 at high effort found no blocking issues.
Before: completed work collapsed After: completed work collapsed
Question and answer hidden inside completed work Question and submitted answers remain visible

Expanded answer details · 390px web layout


Written by an agent (Codex, gpt-6.1-sol).

@incognitojam
incognitojam enabled auto-merge (squash) October 15, 2026 11:10
@github-actions

Copy link
Copy Markdown

Upstream divergence

Both sides are compared with upstream at the in-order tip 06e627448b. Excludes .repos/ and pnpm-lock.yaml.

Measure Base This PR Change
Upstream files the fork changes 1,373 1,373 0
Lines changed in them 64,359 64,539 +180
Upstream files the fork removes 41 41 0
Fork-only files 435 435 0
Fork-only lines 74,731 74,761 +30
Upstream files whose difference changes (5)
File Change Now differs by
apps/web/src/components/chat/MessagesTimeline.logic.test.ts +108 632 lines
apps/mobile/src/lib/threadActivity.test.ts +60 294 lines
apps/web/src/components/chat/MessagesTimeline.logic.ts +8 415 lines
apps/mobile/src/features/threads/thread-work-log.tsx +2 41 lines
apps/mobile/src/lib/threadActivity.ts +2 253 lines

@incognitojam
incognitojam merged commit 3532055 into main Oct 15, 2026
32 of 33 checks passed
@incognitojam
incognitojam deleted the styal/input-tool-answer-visibility branch October 15, 2026 11:14
@github-actions

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.0 KiB 4.9 KiB −40 B (−0.8%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB −40 B (−3.3%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.9 KiB 20.8 KiB −41 B (−0.2%) 29.3 KiB ✅
Codex Live turn messages 2 1 −1 (−50.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: e2b2269 · PR result: c4b19e2 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

incognitojam pushed a commit that referenced this pull request Oct 29, 2026
)

Fork adaptation: The fork also kept a continued run's first assistant message outside the fold; that clause goes with upstream's removal of the first-message rule. Upstream's answered-question checks replace the fork's equivalent ones from fork #839 in the standalone-activity test and the fold exclusions, and the pending-question-answer-history ledger entry now tracks 21393.

(cherry picked from commit 77e4f56)
Upstream-PR: 21393
Fork-Feature: pending-question-answer-history
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant