Skip to content

fix(web): stop follow-ups from leaving giant blank space - #8068

Merged
t3dotgg merged 1 commit into
mainfrom
codex/fix-chat-followup-bottom-padding
Aug 24, 2026
Merged

fix(web): stop follow-ups from leaving giant blank space#8068
t3dotgg merged 1 commit into
mainfrom
codex/fix-chat-followup-bottom-padding

Conversation

@t3dotgg

@t3dotgg t3dotgg commented Aug 24, 2026

Copy link
Copy Markdown
Member

Sending a follow-up could leave thousands of pixels of blank space below the thread. Chromium rounds temporary LegendList padding, so the cleanup compared different strings and never removed it.

Store the browser-normalized padding before the cleanup check in both LegendList web builds. The 3,233.83px reproduction now clears, and all 45 focused timeline tests pass.

Built by GPT-5.6 Sol with Codex.


Note

Medium Risk
Touches virtualized list scroll padding and end-anchor sizing via a vendor patch, so leftover space or jumpiness is possible if cleanup still mismatches.

Overview
Fixes a web thread bug where sending a follow-up could leave thousands of pixels of blank space below the list.

Chromium rounds LegendList’s temporary end padding, so cleanup compared a different string and never removed it. The patch now stores the browser-normalized padding after applying it (react.js / react.mjs ScrollAdjust).

Also caps anchored end space while tail sizes are still unknown and applies shrinks even before the space is “ready,” so leftover blank height does not stick around.

Reviewed by Cursor Bugbot for commit 5393885. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix blank space in follow-ups by patching ScrollAdjust in @legendapp/list

  • Patches ScrollAdjust in @legendapp__list@3.3.5.patch so temporaryPaddingRef.current is set after the contentNode.style[axis.paddingEndProp] mutation and reads the actual applied value from that style property.
  • This ensures the recorded padding matches what the browser applied, preventing leftover blank space in follow-up scroll layouts.
  • Risk: temporaryPaddingRef.current.value now reflects contentNode.style[axis.paddingEndProp] rather than the pre-mutation local temporaryPaddingEnd; any code relying on the old timing or value source may see different padding references.

Macroscope summarized 5393885.

@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ebb1cf4c-27de-48cb-9cd3-2eab73c48377

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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 vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Aug 24, 2026
@github-actions

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.4 KiB 13.4 KiB +13 B (+0.1%) 15.1 KiB
Codex Thread snapshot wire 6.9 KiB 6.9 KiB 0 B (0.0%) 7.3 KiB
Codex Live turn WebSocket wire 6.5 KiB 6.5 KiB +13 B (+0.2%) 7.8 KiB
Codex Live turn WebSocket decoded 55.0 KiB 55.0 KiB 0 B (0.0%) 66.4 KiB
Codex Live turn messages 16 16 0 (0.0%) 21
Claude Total thread wire 13.5 KiB 13.4 KiB −12 B (−0.1%) 15.1 KiB
Claude Thread snapshot wire 6.9 KiB 6.9 KiB −1 B (−0.0%) 7.3 KiB
Claude Live turn WebSocket wire 6.6 KiB 6.6 KiB −11 B (−0.2%) 7.8 KiB
Claude Live turn WebSocket decoded 55.8 KiB 55.8 KiB 0 B (0.0%) 66.4 KiB
Claude Live turn messages 16 16 0 (0.0%) 21

Baseline: e9f50c3 · PR result: 5393885 · 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: 109.4 KiB
  • Claude decoded thread snapshot: 110.1 KiB

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

@t3dotgg

t3dotgg commented Aug 24, 2026

Copy link
Copy Markdown
Member Author

Note

🤖 GPT-5.6 Sol responding on behalf of Theo

cursor review

@macroscopeapp

macroscopeapp Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 5393885

Macroscope's review found this PR approvable — This is a small, self-contained vendor patch that fixes temporary web scroll padding cleanup in both module formats, with the lockfile only recording the new patch hash. Its runtime effect is limited to the affected out-of-bounds scroll adjustment path and does not introduce new APIs, workflows, or infrastructure changes.

You can add or adjust custom eligibility rules. Learn more.

@t3dotgg
t3dotgg merged commit c0047c2 into main Aug 24, 2026
22 checks passed
@t3dotgg
t3dotgg deleted the codex/fix-chat-followup-bottom-padding branch August 24, 2026 10:01
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Aug 24, 2026
## What's Changed
* fix(server): bound OpenCode skill discovery output by @Lucenx9 in pingdotgg/t3code#7675
* fix(mobile): persist thread shelf collapse state by @PixPMusic in pingdotgg/t3code#5152
* fix(mobile): restore Android tablet thread controls, clean up header by @PixPMusic in pingdotgg/t3code#5385
* fix(mobile): land the first thread open above the composer on Android by @PollyGlot in pingdotgg/t3code#5585
* fix(server): check out submodules in a new worktree by @Brechard in pingdotgg/t3code#7674
* fix(server): preserve merged PR badges after branch deletion by @tris203 in pingdotgg/t3code#6216
* fix(server): return fresh live pull request reads by @Adamulek123 in pingdotgg/t3code#6472
* fix(web): compare client and server versions as semver, not strings by @spiky02plateau in pingdotgg/t3code#7579
* fix(web): stop follow-ups from leaving giant blank space by @t3dotgg in pingdotgg/t3code#8068
* fix(marketing): stop automatic Vercel deployments on pull requests by @t3dotgg in pingdotgg/t3code#8070
* chore: vouch repeat contributors by @t3dotgg in pingdotgg/t3code#8071
* fix(server): keep the authoritative subagent model when snapshots race task_started by @spiky02plateau in pingdotgg/t3code#7583
* fix(server): honor auto-accept edits for the OpenCode provider by @Rishet11 in pingdotgg/t3code#7100
* fix(server): run the CLI on Node versions without import.meta.main by @CDVolvik in pingdotgg/t3code#7141
* fix(server): recover from provider interrupt failures by @mrmg in pingdotgg/t3code#7412
* fix(server): recreate a thread's worktree before starting a turn by @mackinleysmith in pingdotgg/t3code#7839
* fix(server): thread delete no longer fails on already-removed worktrees by @t3dotgg in pingdotgg/t3code#8076
* fix(web): stop update notices showing through the composer by @t3dotgg in pingdotgg/t3code#8083

## New Contributors
* @spiky02plateau made their first contribution in pingdotgg/t3code#7579

**Full Changelog**: pingdotgg/t3code@v0.0.34-nightly.20260824.1175...v0.0.34-nightly.20260824.1176

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

Labels

size:M 30-99 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