Skip to content

fix(web): keep branchless thread cards full height - #25716

Open
PixPMusic wants to merge 2 commits into
pingdotgg:mainfrom
PixPMusic:fix/thread-row-height
Open

PixPMusic wants to merge 2 commits into
pingdotgg:mainfrom
PixPMusic:fix/thread-row-height

Conversation

@PixPMusic

Copy link
Copy Markdown
Contributor

Problem

In the New design, a local project thread without a branch shrinks to a 60 px card when its only remaining metadata is the provider icon. Neighboring cards with branches stay 78 px tall. Alex requested the larger, consistent card size.

Change

Keep the standard card height and metadata line, including the provider icon at the bottom. Remove the conditional compact height and its intrinsic-size override.

Scope and approval

Focused restoration of the existing sidebar card layout, requested by Alex. This qualifies as a small visual regression fix without a prior issue. Web and desktop share this component; native mobile has separate thread rows. Existing slim shelf rows retain their layout.

Related: #25605 proposes a broader one-line sidebar design and overlaps this component.

Verification

  • vp run check:changed passed formatting, lint, knip, and affected web/scripts typechecks.
  • Verified the real app against isolated demo data at 1280×850 in dark and light appearance: branchless cards change from 60 to 78 px; the branch card stays 78 px. The classic design also retains 78 px cards.
  • Matched dark-mode captures below are cropped to the sidebar. Demo fixtures and proof images are excluded from the commit. Electron was not separately launched. No cosmetic UI test added.
Before After
Before: branchless project cards collapse and move the provider icon beside the title After: all project cards keep the larger height and provider icon on the bottom line

Model: GPT-6.1 Sol (xhigh reasoning) | Harness: Codex in T3 Code

@github-actions github-actions Bot added size:M 30-99 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Oct 27, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Oct 27, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 8a8dc42

Macroscope's review found this PR approvable — Branchless sidebar cards retain the standard height and bottom metadata line, while compact rows keep their existing layout. The change is presentation-only with limited, reversible impact.

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

@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between d9dc1af and 8a8dc42.

Files selected for processing: 1
  • apps/web/src/components/sidebar/SidebarThreadRow.tsx

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

Walkthrough

Card rows no longer use the empty-metadata layout path. Their intrinsic-size estimate and content height remain fixed when the metadata line is empty.

Changes: Sidebar thread row layout

Layer / File(s) Summary
Row height and metadata placement
apps/web/src/components/sidebar/SidebarThreadRow.tsx
The empty-metadata condition now applies only to non-card variants. Card rows retain a fixed intrinsic-size estimate and content height.

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

Change: Bug fix

Possibly related PRs

Suggested reviewers: t3dotgg

Merge Risk: Minimal · up to 8a8dc

The layout change matches the stated goal without introducing an actionable merge risk.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title clearly identifies the web fix and the primary behavior change: branchless thread cards retain their full height.
Description check Passed The description covers the problem, change, scope, approval rationale, verification results, screenshots, and known limitations. It provides specific before-and-after behavior and test coverage.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Finishing Touches
Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

@macroscopeapp
macroscopeapp Bot dismissed their stale review October 31, 2026 07:59

Dismissing prior approval to re-evaluate 8a8dc42

@github-actions github-actions Bot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Oct 31, 2026

maria-rcks commented Oct 31, 2026 •

Copy link
Copy Markdown
Collaborator

Note

Written by gpt-6.1-sol on behalf of Maria

Verified in a real dev environment

Verified exact head 8a8dc4274d1190b91eacf4c4fdb25ca52acf7c7f with Playwright from the repo and /usr/bin/google-chrome on Linux. No source changes were needed. Current CI reports 32 successful checks, zero failing or pending.

Installed and ran github/main (575579d68a) in a separate worktree first. Created projects through the web app pointing to real Git checkouts, then submitted real Codex gpt-6.1-sol turns. The detached checkout produces a branchless thread naturally. No mocks, fixtures, replay provider, or demo data were used. Stopped main before starting the PR. Copied only this verification's app-created state into the PR's isolated home for matching data.

Main reproduced the bug: the completed branchless thread and draft cards measured 60 px, while the branch card measured 78 px. On the PR all three measured 78 px, with provider icons on the bottom metadata line. Checked light and dark appearance at 1280×850, and card heights at 1024×768.

A follow-up real Codex turn on the PR returned PR follow-up verified.. Switching between the branch and branchless threads retained their replies. Settling the branchless thread produced the existing 36 px slim shelf row; un-settling restored its 78 px card. The recording shows settle, restore, and thread switching. Uploaded video playback and seeking were checked in T3's browser.

Before, light:

main: branchless card is 60 px

After, light:

pr: matching cards are 78 px

Before, dark:

main: compact branchless card in dark appearance

After, dark:

pr: full-height branchless card in dark appearance

settle, restore, and switch threads after a real codex reply

Not verified

Native iOS/Android, Electron shell integration, macOS/Windows, other providers, and remote/relay/tunnel connections were not exercised. Web and desktop share the changed component; native mobile uses separate rows. No source changes were made, so local static checks were not rerun; the green checks above are the existing CI results.

The first PR startup briefly selected the shared home because the checkout is the repository root. It was stopped and restarted with explicit --home-dir /home/user/t3code/.t3 before PR browser verification. The actual comparison and PR turns used isolated state.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 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.

2 participants