fix(web): settle undo notice no longer covers the thread above it#25548

closed1
main
GitHub fork: t3/fix-settled-message-above-thread
opened18d agobyBbensandison
View on GitHubTwo-way sync enabledPR last imported 14d ago

Note

Written by claude-opus-5-5 on behalf of Ben

BeforeAfter
beforeafter

Problem

When the sidebar list is full, the "Settled 1 thread, Ctrl+Z to undo" notice draws over the last thread and hides its title for 5 seconds. It cuts the card in half, so it looks like a rendering bug, and it's a little ugly.

Change

The notice now gets its own line above the bottom shelf. If there's empty space above the shelves, the notice fills it and nothing moves. On a full list it adds 24px at the bottom, so the shelf moves down and the rows above stay where they are.

Why move the list

#25270 kept the overlay so the notice would never move the list. The rest of the sidebar doesn't follow that rule. Auto-settle removes rows every minute, waking a snoozed thread adds one back, and threads move in and out of Working when they start or finish. None of these wait for the user. A 24px change after the user's own settle seems better than hiding a thread's title.

When the notice expires while you're scrolled to the bottom, the visible rows shift down 24px. Auto-settle causes the same kind of shift. Something like #23517, which ignores clicks on a row that just moved, could handle both.

Scope and approval

Follow-up to #25270, where Macroscope flagged this overlap and it was kept on purpose. This PR asks to revisit that.

Verification

Settled a thread with a full list in the dev app and got the result in the screenshots above. Format, lint and the web typecheck pass. I didn't run the full test suite.

Checks

9 successful · 8 skipped
All checks passed
29a45a8

Added 1 commit

  • fix(web): settle undo notice no longer covers the thread above it29a45a8
Synced from GitHub

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

ReviewStatusCommitReview trigger
📝 Code Review⚠️ Failed 2026-10-26T15:57:25.953053Z
We couldn’t complete this review. Comment @codex review to try again.
29a45a8PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Synced from GitHub

Approvability

Verdict: Approved at 29a45a8

Macroscope's review found this PR approvable — This six-line UI change moves the temporary sidebar undo notice into normal layout flow so it no longer obscures the thread above it. Its impact is confined to the sidebar presentation, with no API, schema, configuration, or deployment changes.

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

Synced from GitHub

Review in Change Stack →

No actionable comments were generated in the recent review.

External image Recent review info
External image Run configuration
External image Commits

Reviewing files that changed from the base of the PR and between 3f9448747bb8848050dc2cacf83affa6f94a66a1 and 29a45a8343f0ecd650724441d0449d64f50ee792.

External image Files selected for processing: 1
  • apps/web/src/components/sidebar/SidebarListMarkers.tsx

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

Walkthrough

SidebarSectionHeader no longer uses a fixed-height, positioned marker container. When hostsUndoNotice is true, the undo notice renders directly in the marker instead of being absolutely positioned above the header.

Changes: Sidebar marker layout

Layer / File(s)Summary
Marker and undo notice layout
apps/web/src/components/sidebar/SidebarListMarkers.tsx
The marker no longer uses relative positioning or a fixed height. The undo notice renders directly in the marker when hostsUndoNotice is true.

Priority: External image Low

Estimated code review effort: 2 (Simple) | ~5 minutes

Change: Bug fix

Possibly related issues

  • pingdotgg/t3code#23949 — This issue describes a short-lived undo notice obscuring the list. This change renders the notice in the marker instead of as an overlay.
  • pingdotgg/t3code#24242 — This issue describes a Settled thread notification covering the thread list. This change also changes the undo notice from overlay positioning to direct marker rendering.

Possibly related PRs

  • pingdotgg/t3code#25270 — This PR introduced the overlay placement that this change removes.
  • pingdotgg/t3code#23517 — Both changes address sidebar row interactions after list changes, using different approaches.

Suggested reviewers: maria-rcks

Merge Risk: External image Minimal · up to 29a45

The sidebar layout change is mergeable based on the reviewed evidence.

Pre-merge checks: Passed 3 · Failed 1

Failed Failed checks: 1 warning

Check nameStatusExplanationResolution
Description checkWarningThe description follows the template in most areas. The Problem section explains the overlay that hides the last thread title for 5 seconds, and the Change section explains the 24px bottom shelf behav…Add a link to the triaged bug issue or to the maintainer discussion that approved revisiting the #25270 overlay decision, including the approval comment. Without that approval, explain why this fix qualifies as a very small, focused fix of …
Passed Passed checks: 3 passed
Check nameStatusExplanation
Title checkPassedThe title names the main change: the settle undo notice no longer covers the thread above it. It uses the conventional commit form with a clear scope, and it matches the objective of moving the notice…
Linked Issues checkPassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes checkPassedCheck skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the main change: the settle undo notice no longer covers the thread above it. It uses the conventional commit form with a clear scope, and it matches the objective of moving the notice to its own line above the bottom shelf. It is specific enough for a teammate scanning history.

Full details: Description check

Explanation

The description follows the template in most areas. The Problem section explains the overlay that hides the last thread title for 5 seconds, and the Change section explains the 24px bottom shelf behavior. The Scope and approval section links the follow-up to #25270 and explains why the overlay is revisited. The Verification section reports a manual check in the dev app with screenshots, plus format, lint, and typecheck results, and it states that the full test suite was not run. The description does not link an approved triaged issue or a maintainer approval comment, so the scope requirement is only partly met. It also does not name the model and harness, which the template asks for when an agent was used. The description also says the author revisits behavior kept on purpose in #25270, which the template treats as a behavior change that needs explicit maintainer approval.

Resolution

Add a link to the triaged bug issue or to the maintainer discussion that approved revisiting the #25270 overlay decision, including the approval comment. Without that approval, explain why this fix qualifies as a very small, focused fix of an obvious bug. The description also changes an intentional behavior and it argues for a broader follow-up (shifting rows on auto-settle and on notice expiry), so state clearly that this PR covers only the notice placement. Add the model and harness used, since the description says the change was written by claude-opus-5-5, and keep the 'Written by' note in the template's end-of-description slot. Consider stating the observed results in the Verification section more concretely, for example the list state and whether the notice still shifts rows when it expires.

Finishing Touches
đź§Ş Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Closing: current main already covers this as of 35b298a159. If you still see it on a build that includes that commit, reply and we'll reopen.