Refine T3 Connect authorization surfaces#4159
Conversation
Co-authored-by: codex <codex@users.noreply.github.com>
|
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 Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
ApprovabilityVerdict: Approved This PR adds visual branding differentiation (dev/nightly/latest) to the authorization completion page. Changes are purely presentational - CSS styling and display text only, with no modifications to authorization logic or security-sensitive code. You can customize Macroscope's approvability policy. Learn more. |
Co-authored-by: codex <codex@users.noreply.github.com> (cherry picked from commit 2b180a2)
…ingdotgg#3749, pingdotgg#4159) (#172) * [codex] Route OpenCode missing-session errors through Effect (pingdotgg#3608) Co-authored-by: Codex <codex@openai.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> (cherry picked from commit d0b9f8d) * [codex] canonicalize client timestamps (pingdotgg#4112) (cherry picked from commit da3c203) * fix: increase OpenCode server startup timeout from 5s to 30s (pingdotgg#4132) (cherry picked from commit 398140a) * fix(shared): delete unused agentAwareness phase predicates (pingdotgg#4134) (cherry picked from commit e8ff6bc) * perf(client): defer active thread cache writes (pingdotgg#4006) (cherry picked from commit 765e1b5) * fix(client): use lightweight connection probe (pingdotgg#4137) (cherry picked from commit 2640e6d) * fix(client): adapt deferred thread cache tests for fork warm-cache Fork warm-cache seeding stays on synchronizing and must not re-persist active turns. Gate the seed persistence write with shouldPersistThread and drive the pingdotgg#4006 regression test to live via a socket snapshot. Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com> * feat(web): themed sidebar header art for nightly and dev builds (pingdotgg#4130) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Julius Marminge <jmarminge@gmail.com> (cherry picked from commit 53e3c98) * feat: add headless `t3 connect` setup for SSH hosts (pingdotgg#3749) Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com> (cherry picked from commit 7a820ab) * Refine T3 Connect authorization surfaces (pingdotgg#4159) Co-authored-by: codex <codex@users.noreply.github.com> (cherry picked from commit 2b180a2) --------- Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Co-authored-by: Codex <codex@openai.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Maxwell Young <maxtheyoung@gmail.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> Co-authored-by: Kriday Dave <technocratix902@gmail.com> Co-authored-by: Chris Michael Guzman <67719167+Chrrxs@users.noreply.github.com> Co-authored-by: eeinarsson <128746408+eeinarsson@users.noreply.github.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com> Co-authored-by: maria <maria@kuuro.net> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <jmarminge@gmail.com> Co-authored-by: Theo Browne <me@t3.gg> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: codex <codex@users.noreply.github.com>
* Add isolated app testing workflow (pingdotgg#4121) Co-authored-by: codex <codex@users.noreply.github.com> * feat(web): themed sidebar header art for nightly and dev builds (pingdotgg#4130) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Julius Marminge <jmarminge@gmail.com> * feat: add headless `t3 connect` setup for SSH hosts (pingdotgg#3749) Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com> * Refine T3 Connect authorization surfaces (pingdotgg#4159) Co-authored-by: codex <codex@users.noreply.github.com> * fix: increase OpenCode server startup timeout from 5s to 30s (pingdotgg#4132) * fix(shared): delete unused agentAwareness phase predicates (pingdotgg#4134) * fix(mobile): Stabilize native stack option updates (pingdotgg#4037) Co-authored-by: codex <codex@users.noreply.github.com> * Make test-t3-app skill discoverable by Claude Code (pingdotgg#4162) Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> * fix(web): improve dev sidebar backdrop contrast & remove version pills (pingdotgg#4166) * Fix draft banner stack overlap (pingdotgg#4164) Co-authored-by: codex <codex@users.noreply.github.com> * Add portable mobile app testing guidance (pingdotgg#4165) Co-authored-by: codex <codex@users.noreply.github.com> * fix(client): use lightweight connection probe (pingdotgg#4137) --------- Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com> Co-authored-by: maria <maria@kuuro.net> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <jmarminge@gmail.com> Co-authored-by: Theo Browne <me@t3.gg> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> Co-authored-by: Kriday Dave <technocratix902@gmail.com> Co-authored-by: eeinarsson <128746408+eeinarsson@users.noreply.github.com>
Summary
T3 CodeWhy
The callback introduced in #3749 did not carry build-channel context consistently, and its status badge plus boxed follow-up copy made the simple completion state feel busier than necessary. Stable surfaces also exposed an unnecessary
(Latest)implementation label.Impact
Users now see a quieter callback with channel-correct artwork and consistent product naming across the CLI callback and hosted authorization surfaces.
Validation
vp test run apps/server/src/cloud/cliAuthHtml.test.ts apps/web/src/branding.test.tsvp lintfor all changed filesvp run --filter @t3tools/web typecheckvp run --filter t3 buildNote
Low Risk
Branding and static HTML/CSS only; OAuth callback behavior and token handling are unchanged.
Overview
The T3 Connect loopback OAuth completion page now reflects Dev, Nightly, or stable builds: the CLI injects
__T3CODE_BUILD_CHANNEL__at build time (nightly from version string, otherwise latest; undefined in dev), and the HTML header uses channel-specific branding and artwork (stage-dev,stage-nightly,stage-latest). Stable builds show T3 Code without a “Latest” suffix.The completion UI is simplified—the floating checkmark and boxed “Next” copy are removed in favor of a single instruction to return to the terminal.
Hosted web naming is aligned:
formatAppDisplayNameomits the parenthetical when the stage label is latest, so the app displays as T3 Code instead of T3 Code (Latest).Reviewed by Cursor Bugbot for commit 6fc0a76. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Refine T3 Connect authorization surfaces with stage-specific branding and HTML
resolveLoopbackAuthorizationStageincliAuthHtml.tsto determine the current stage (dev,nightly, orlatest) from the build-time constant__T3CODE_BUILD_CHANNEL__.renderLoopbackAuthorizationCompleteHtmlto include stage-specific CSS classes, adata-stageattribute, and stage-aware brand labels (e.g. "T3 Code", "T3 Code (Nightly)").vite.config.tsto inject__T3CODE_BUILD_CHANNEL__at build time based on whether the package version contains-nightly..formatAppDisplayNameinbranding.logic.tsto omit the stage suffix when the stage label islatest.Macroscope summarized 6fc0a76.