Skip to content

fix(web): reveal scroll-to-end when the composer hides the last message - #282

Merged
rynfar merged 1 commit into
pylonfrom
upstream/2026-09-06-scroll-to-end
Sep 6, 2026
Merged

fix(web): reveal scroll-to-end when the composer hides the last message#282
rynfar merged 1 commit into
pylonfrom
upstream/2026-09-06-scroll-to-end

Conversation

@rynfar

@rynfar rynfar commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator

The scroll-to-end button stays hidden when the final message slips beneath the composer because the timeline counts the composer's inset as visible message space. Use the actual viewport distance from the bottom, retaining the existing 40-pixel tolerance.

Ports previously approved upstream #9280, split from #269. Applies to the web chat and desktop renderer; mobile uses its own timeline.

Validation: 44 focused MessagesTimeline tests pass, including the inset regression; web typecheck, targeted lint, formatting, and diff checks pass. Integrated browser verification passes at 1440×960 using an isolated environment with disabled providers and synthetic conversation data. At 140 pixels above the bottom, baseline 08ba8b1 hides the button and the candidate shows it; clicking returns to distance 0 and hides the button. Repeated the return path twice. No live provider or production-state changes. The existing LegendList recycling warning is present on both builds.

Before / after at the same scroll position:

Before After
Before: final response obscured with no return control After: scroll-to-end control available

Video: scroll up, return to the final response, and repeat (7 seconds).

scroll-after.mp4

Implemented with GPT-6 Astra through the Codex harness.

…the composer (#9280)

Co-authored-by: Claude Code <noreply@anthropic.com>
(cherry picked from commit c742edd46c5b6792ec8647f934a4703f9103aa82)
(cherry picked from commit bffc7a1)
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M labels Sep 6, 2026
@github-actions

github-actions Bot commented Sep 6, 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 −12 B (−0.1%) 15.1 KiB
Codex Thread snapshot wire 7.1 KiB 7.1 KiB −12 B (−0.2%) 7.3 KiB
Codex Live turn WebSocket wire 6.5 KiB 6.5 KiB 0 B (0.0%) 7.8 KiB
Codex Live turn WebSocket decoded 56.5 KiB 56.5 KiB 0 B (0.0%) 66.4 KiB
Codex Live turn messages 8 8 0 (0.0%) 21
Claude Total thread wire 13.6 KiB 13.6 KiB −2 B (−0.0%) 15.1 KiB
Claude Thread snapshot wire 7.1 KiB 7.1 KiB +3 B (+0.0%) 7.3 KiB
Claude Live turn WebSocket wire 6.6 KiB 6.6 KiB −5 B (−0.1%) 7.8 KiB
Claude Live turn WebSocket decoded 57.3 KiB 57.3 KiB 0 B (0.0%) 66.4 KiB
Claude Live turn messages 8 8 0 (0.0%) 21

Baseline: aa12838 · PR result: b14e85d · 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: 111.2 KiB
  • Claude decoded thread snapshot: 111.9 KiB

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

@rynfar
rynfar merged commit cb0705e into pylon Sep 6, 2026
17 checks passed
@rynfar
rynfar deleted the upstream/2026-09-06-scroll-to-end branch September 6, 2026 05:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 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.

2 participants