feat(web): add back buttons for the pull requests and usage pages in the sidebar footer - #6031
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c125199. Configure here.
ApprovabilityVerdict: Approved e10264a Simple UI enhancement adding back buttons to the sidebar footer for navigation from pull requests and usage pages. Self-contained to one component with no runtime behavior changes beyond the visible UI interaction. You can customize Macroscope's approvability policy. Learn more. |
Twenty-two upstream commits. Roughly half needed no thought -- server and shared fixes that this fork never touched: Azure DevOps SSH remotes, bare Windows drive roots, self-hosted GitLab routing, unborn HEAD in VCS status, 256-color TERM on Windows, skipping Linux libc detection off Linux, and OpenCode model slugs containing a slash. The mobile commits do not apply; apps/mobile was removed here, and its files, patches and EAS workflow stay deleted. The rest crossed the shell redesign and needed deciding. OKLCH palettes (pingdotgg#6036) are adopted. The generator now emits themeRgbToThemeColor everywhere, including the roles this fork retuned -- the compressed surface tiers, the harder accent-blended border, and the sidebar rule at 0.2 rather than 0.12 in light. The tuning is the fork's, the color space is upstream's. Downstream of that: the boot script's hand-maintained palette copy is regenerated from the real generator output, and its default-palette copy is pinned back to hex, because getDefaultThemeColors still returns the Sakura role tables verbatim and the two halves have to agree or the splash disagrees with the app. Sidebar footer back buttons (pingdotgg#6031) are taken, rebuilt on this fork's footer: the meter stays full-bleed below the nav, the nav keeps the content inset, and the link is still Stats. The theme-aware environment artwork (pingdotgg#6183) is taken, with one correction. The merge attached sidebarArtwork to four of the five curated themes by line position and left OLED Void out. That flag is new; before it existed the artwork was gated only by the user's identification setting, so an accidental omission would have silently turned the artwork off for one theme. All five opt in. The hourly past-24-hour usage view (pingdotgg#6170) is taken wholesale -- it reshapes the page's state around windowSelection and sinceTime/untilTime -- with this fork's Escape-to-leave handler reapplied on top. Deliberately not taken: T3_CHAT_THEME and the other retired presets that upstream reintroduces through themePalette and its tests, LegacySidebar and useLegacySidebarEnabled, the pre-split index.css monolith, and the Clerk and react-native patch entries. Their ids stay claimed in RESERVED_THEME_IDS so a settings.json pinned to one still degrades to system, which now has a test of its own. @legendapp/list comes back to the catalog with its 3.3.5 patch. The virtual list behind the chat timeline is a web dependency, and apps/web/package.json was still asking for it through catalog: with nothing to resolve to. Two dead things went with the merge rather than surviving it: the theme editor's sidebar-artwork toggle, defined but rendered by neither side, and expectThemeColors, whose only callers were the retired-preset tests. Verified: typecheck and lint clean across web, server, contracts, client-runtime and desktop; 2238 tests pass; web builds; desktop smoke test passes. The ghostty runtimeAbi wasm test fails identically before and after the merge. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
## What's Changed * feat(web): make environment artwork theme aware by @juliusmarminge in pingdotgg/t3code#6183 * fix(shared): normalize a bare Windows drive root the same as C:\ / C:/ by @arhxam in pingdotgg/t3code#6189 * fix(shared): detect Azure DevOps SSH remotes (ssh.dev.azure.com) by @arhxam in pingdotgg/t3code#6187 * feat(web): add back buttons for the pull requests and usage pages in the sidebar footer by @UtkarshUsername in pingdotgg/t3code#6031 * fix(web): render dropdowns above toasts by @Brechard in pingdotgg/t3code#6165 * fix(web): thread error banner dismiss survives reconnect and rerenders by @myacoub91 in pingdotgg/t3code#6123 * fix(web): use a clearer pull action icon by @extoci in pingdotgg/t3code#6194 * feat(web): use OKLCH for theme palettes by @StiensWout in pingdotgg/t3code#6036 ## New Contributors * @extoci made their first contribution in pingdotgg/t3code#6194 **Full Changelog**: pingdotgg/t3code@v0.0.34-nightly.20260811.1068...v0.0.34-nightly.20260811.1069 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.34-nightly.20260811.1069
Six of the eleven upstream commits touch code we kept. Five do not, and the reasons are worth recording so the next sync does not re-litigate them. Taken as-is: the upload icon for a disabled push action, and the composer model picker's alignment. Taken and adapted: The sidebar wordmark was gated behind a 13.5rem container query while the sidebar's own minimum is 13rem, so the last 8px of legal drag hid it. Upstream's fix drops the query; ours lands in styles/chrome.css because this fork split index.css, and the regression test reads that file instead. The stage label keeps its query -- its threshold really is above the minimum. The composer resize rework replaces an animated max-width with a transform-and-opacity crossfade plus a FLIP pass on the controls. That is this fork's own motion rule, which our max-width transition was quietly violating, so upstream fixed our bug for us. The one hunk not taken is the strip's own class: upstream still carries the floating glass-era box this fork replaced with a flat one. The 180ms literal stays literal and now says why -- a Tailwind class cannot interpolate a token, and the JS half has to match it or the labels finish before the controls do. The onboarding header fix adds `workspace-topbar` and drops the padding by hand; this fork already routes that header through WorkspaceTopbar, which is the same thing done properly. Kept ours, kept their regression test, retargeted it at the component. The right panel empty state merged cleanly onto the rewritten tab strip and reintroduces none of the chrome the redesign removed. Not taken: Two mobile commits and the vouched-contributors list have no counterpart here. The compact sidebar footer is built on SidebarUpdateArchitecture Warning from the update pill this fork deleted, and would undo both the per-page back buttons taken from pingdotgg#6031 and the footer layout the usage meter needs. Open VSX theme search is a new feature rather than an update to one, and lands on the theme surfaces this fork cut to five presets -- worth doing deliberately, not as a sync. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

What Changed
On the Usage or Pull Requests page, that page's footer button turns into a Back button. Settings already did this. Back goes to the previous view or the threads view if there's no history.
Why
Usage, Pull Requests, and Settings are all linked at the bottom of the sidebar. Settings already swapped its button for a Back button once you were on the page, but Usage and Pull Requests had no way out except clicking on a thread in the sidebar.
UI Changes
back.mp4
Checklist
Note
Low Risk
Localized sidebar navigation UX in one component; no auth, data, or API changes.
Overview
Sidebar footer on
/usageand/pull-requestsnow swaps the nav entry for a Back control, matching the pattern Settings already uses elsewhere.SidebarChromeFooterderives the active footer page from the pathname and conditionally renders Back (withArrowLeftIcon) instead of Usage or Pull Requests. Back closes the mobile sidebar, callswindow.history.back()whenuseCanGoBack()is true, and otherwise navigates to/(threads).Reviewed by Cursor Bugbot for commit 11ea3fc. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add back buttons to sidebar footer on pull requests and usage pages
On the
/pull-requestsand/usageroutes, the sidebar footer now replaces the respective nav button with a Back button (usingArrowLeftIcon). Clicking it closes the mobile sidebar and navigates back in browser history, falling back to/if no history is available.Macroscope summarized 11ea3fc.