Skip to content

fix(web): preserve multiline composer drafts during timeline scrolling - #10444

Merged
Yash-Singh1 merged 3 commits into
mainfrom
t3code/preserve-wrapped-composer
Sep 7, 2026
Merged

fix(web): preserve multiline composer drafts during timeline scrolling#10444
Yash-Singh1 merged 3 commits into
mainfrom
t3code/preserve-wrapped-composer

Conversation

@Yash-Singh1

Copy link
Copy Markdown
Collaborator

What Changed

  • Keep multiline composer prompts expanded while scrolling the message timeline.
  • Handle keyboard and pointer-based timeline navigation consistently, including when focus is outside the timeline.
  • Add composer focus, selection, scroll-gesture, and multiline-prompt coverage.
  • Tighten provider-session recovery and temporary-branch handling to avoid resuming stale runtime state.

Why

Scrolling the timeline could collapse the composer and make multiline drafts difficult to review or continue editing. The updated focus and scroll handling preserves the draft’s usable layout while still allowing the composer to collapse in appropriate states. Related server-side checks ensure recovery only continues when persisted session records agree.

UI Changes

Before/after screenshots are not included.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

- Keep wrapped prompts expanded instead of collapsing them
- Handle keyboard timeline navigation consistently
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Sep 7, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Would Approve

Macroscope's review found this PR approvable — This is a contained web UI bug fix that keeps multiline drafts readable while scrolling and extends existing keyboard timeline handling with targeted guards. The changes are localized to composer/timeline behavior and include focused tests for scroll-collapse and multiline measurement logic.

Not approved because:

  • Monthly spending limit reached (workspace setting). Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

…ed-composer

# Conflicts:
#	apps/web/src/components/chat/ChatComposer.tsx
#	apps/web/src/components/chat/MessagesTimeline.test.tsx
#	apps/web/src/components/chat/useComposerFocusState.test.tsx
#	apps/web/src/components/composerFooterLayout.test.ts
#	apps/web/src/components/composerFooterLayout.ts
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.6 KiB 13.6 KiB −32 B (−0.2%) 15.1 KiB
Codex Thread snapshot wire 7.0 KiB 7.0 KiB −4 B (−0.1%) 7.3 KiB
Codex Live turn WebSocket wire 6.6 KiB 6.5 KiB −28 B (−0.4%) 7.8 KiB
Codex Live turn WebSocket decoded 57.1 KiB 57.1 KiB 0 B (0.0%) 66.4 KiB
Codex Live turn messages 10 10 0 (0.0%) 21
Claude Total thread wire 13.5 KiB 13.6 KiB +34 B (+0.2%) 15.1 KiB
Claude Thread snapshot wire 7.0 KiB 7.0 KiB +4 B (+0.1%) 7.3 KiB
Claude Live turn WebSocket wire 6.5 KiB 6.5 KiB +30 B (+0.5%) 7.8 KiB
Claude Live turn WebSocket decoded 57.8 KiB 57.8 KiB +44 B (+0.1%) 66.4 KiB
Claude Live turn messages 8 9 +1 (+12.5%) 21

Baseline: 1e740e4 · PR result: 33acd9b · 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: 113.9 KiB
  • Claude decoded thread snapshot: 114.6 KiB

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

@cursor

cursor Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

@Yash-Singh1
Yash-Singh1 merged commit a07715c into main Sep 7, 2026
26 checks passed
@Yash-Singh1
Yash-Singh1 deleted the t3code/preserve-wrapped-composer branch September 7, 2026 01:42
@Yash-Singh1
Yash-Singh1 restored the t3code/preserve-wrapped-composer branch September 7, 2026 01:42
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 7, 2026
## What's Changed
* fix(web): show load balancing note for a single machine by @maria-rcks in pingdotgg/t3code#10433
* fix(server): follow placeholder branches after checkout updates by @Yash-Singh1 in pingdotgg/t3code#10441
* fix(mobile): expand single-line tool details in work logs by @Yash-Singh1 in pingdotgg/t3code#10442
* fix(server): import transcripts with oversized tool records by @Yash-Singh1 in pingdotgg/t3code#10430
* fix(marketing): deploy site with nightly releases by @t3dotgg in pingdotgg/t3code#10443
* fix(web): preserve multiline composer drafts during timeline scrolling by @Yash-Singh1 in pingdotgg/t3code#10444
* fix(server): handle JSON-wrapped titles and verbose Claude output by @Noojuno in pingdotgg/t3code#10446
* fix(marketing): restore continuous endorsement scrolling by @t3dotgg in pingdotgg/t3code#10450
* Revert "fix(marketing): restore continuous endorsement scrolling" by @t3dotgg in pingdotgg/t3code#10454
* fix(marketing): bring back the endorsement marquee by @t3dotgg in pingdotgg/t3code#10455
* chore: enable CodeRabbit automatic reviews by @t3dotgg in pingdotgg/t3code#10457
* fix(codex): keep Spark limits from replacing the main allowance by @Yash-Singh1 in pingdotgg/t3code#10458
* fix(marketing): send 95 nightly downloads to the downloads page by @t3dotgg in pingdotgg/t3code#10460
* fix(web): composer regains focus when you tab back into T3 Code by @t3dotgg in pingdotgg/t3code#10463
* fix(web): keep sidebar drag dividers clear and gestures smooth by @juliusmarminge in pingdotgg/t3code#10453
* fix(server): mark Cursor transport error answers as failed by @shivamhwp in pingdotgg/t3code#10337
* fix(web): clear stuck panel resize cursor by @t3dotgg in pingdotgg/t3code#10461
* fix(web): clarify sidebar drag dividers and empty targets by @juliusmarminge in pingdotgg/t3code#10464
* fix(web): make onboarding a shared multi-computer wizard by @juliusmarminge in pingdotgg/t3code#10465
* fix(shared): redeem reset credits through the hub when it holds the account by @juliusmarminge in pingdotgg/t3code#10462


**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260907.1325...v0.0.39-nightly.20260907.1332

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260907.1332
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant