Polish dialog/alert surfaces and unauthenticated provider banner - #3016

Merged
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish
Jun 10, 2026
Merged

Polish dialog/alert surfaces and unauthenticated provider banner#3016
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Jun 9, 2026

Copy link
Copy Markdown
Member

Ports the dialog/alert-surface part of #2451 by @sandersonstabo, rebased onto current main.

  • Dialog and alert-dialog backdrops get a consistent bg-background/60 tint with a subtle 4px blur (toned down per review feedback in Polish chat UI and provider prompts #2451); command dialog backdrop gains the same backdrop-blur-xs
  • Dialog viewports use balanced 1fr auto 1fr rows (proper vertical centering instead of the top-weighted 3fr layout), plus an opt-in centered viewport for true center placement
  • Alert is reworked into a slot-based flex layout, fixing the misaligned icon/text/action grid; error alerts get readable destructive text colors
  • Thread error banner dismiss becomes a ghost icon Button; provider status banner becomes a compact "X is unauthenticated — sign in via the CLI" card (de-Codex-ified copy) shown for the selected provider instance

Part of splitting #2451 into reviewable frontend-only pieces.

🤖 Generated with Claude Code


Note

Low Risk
UI-only styling and banner copy/instance selection; no auth, API, or data-path changes beyond which provider snapshot is displayed.

Overview
Polishes dialog and sheet overlays and in-chat status banners for more consistent visuals and clearer provider errors.

Overlays:Dialog and AlertDialog backdrops now use bg-background/60 with backdrop-blur-xs, forceRender on the backdrop, and viewports use balanced 1fr auto 1fr rows instead of a top-heavy layout (viewport-level tint/blur removed). Sheet and command dialog backdrops match the same tint and blur.

Alerts:Alert is reworked to partition children into icon, title/description, and action slots (via data-slot or component displayName) and lay them out with flex instead of CSS grid, including stronger destructive text styling for error variants. Thread error dismiss is a ghost icon Button.

Provider banner:ChatView resolves activeProviderInstanceId from the composer’s selected provider instance when it exists in server config, so custom instances (e.g. codex_personal) show the right status. Provider status drops the shared Alert for a compact inline card with unauthenticated-specific title (“X is unauthenticated”) and CLI sign-in guidance.

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

Note

Polish dialog, alert, and unauthenticated provider banner surfaces

  • Refactors alert.tsx to use explicit icon/content/action slots with a flex layout, updating DOM structure and variant styles across all alert usages.
  • Updates ProviderStatusBanner.tsx to detect unauthenticated provider state (error + auth.unauthenticated) and show a specific title and 'Sign in via the CLI to authenticate again.' message.
  • Moves backdrop blur and semi-transparent background from the viewport to the backdrop element in dialog.tsx and alert-dialog.tsx; backdropss are now force-rendered.
  • Adjusts active provider resolution in ChatView.tsx to prefer an explicit instance-id match for the selected thread provider before other fallbacks.
  • Behavioral Change: DOM structure of Alert and all dialog/sheet backdrops has changed, which may affect snapshot tests or CSS overrides targeting old selectors.

Macroscope summarized 7d8c434.

@coderabbitai

coderabbitaiBot commented Jun 9, 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

Run ID: 34b4a2fe-de5b-48b5-943d-6a476b07d3a0

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ui/dialog-alert-polish

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Jun 9, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Autofix Details

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing provider display name
    • Restored the fallback chain so providerName uses status.displayName?.trim() || formatProviderDriverKindLabel(status.driver) instead of the bare status.displayName, preventing 'undefined is unauthenticated' when displayName is omitted.

Create PR

Or push these changes by commenting:

@cursor push 5cdfb4648a
Preview (5cdfb4648a)
diff --git a/apps/web/src/components/chat/ProviderStatusBanner.tsx b/apps/web/src/components/chat/ProviderStatusBanner.tsx--- a/apps/web/src/components/chat/ProviderStatusBanner.tsx+++ b/apps/web/src/components/chat/ProviderStatusBanner.tsx@@ -2,6 +2,7 @@
import { memo } from "react";
import { InfoIcon } from "lucide-react";
import { cn } from "~/lib/utils";
+import { formatProviderDriverKindLabel } from "~/providerModels";
export const ProviderStatusBanner = memo(function ProviderStatusBanner({
status,
@@ -12,7 +13,7 @@
return null;
}
- const providerName = status.displayName;+ const providerName = status.displayName?.trim() || formatProviderDriverKindLabel(status.driver);
const title = `${providerName} is unauthenticated`;
const message = "Sign in via the CLI to authenticate again.";

You can send follow-ups to the cloud agent here.

Comment threadapps/web/src/components/chat/ProviderStatusBanner.tsx Outdated
@github-actions

github-actionsBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

🚀 Expo continuous deployment is ready!

  • Project → t3-code
  • Platforms → android, ios
  • Scheme → t3code-preview
🤖 Android🍎 iOS
Fingerprintae17d94b35f91f9c608a63dadbc3ddd9f4ba056e313e506a7f15a9c3f15b01d787d68a12382432bf
Build DetailsBuild Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Build Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update DetailsUpdate Permalink
DetailsBranch: pr-3016
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update Permalink
DetailsBranch: pr-3016
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update QR

Comment threadapps/web/src/components/ChatView.tsx
Comment threadapps/web/src/components/ChatView.tsx
@macroscopeapp

macroscopeappBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

UI polish changes: CSS styling adjustments for dialog/alert/sheet backdrops, Alert component layout refactor, and improved unauthenticated provider banner messaging. Low-risk styling work with no significant runtime behavior changes.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch 2 times, most recently from 59a692c to 64356b1CompareJune 10, 2026 00:38

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Centered dialogs break mobile layout
    • Added !centered guard to all bottomStickOnMobile class conditions in both DialogPopup and AlertDialogPopup so the bottom-sheet mobile classes are skipped when centered mode is active.

Create PR

Or push these changes by commenting:

@cursor push c8cb0d54f0
Preview (c8cb0d54f0)
diff --git a/apps/web/src/components/ui/alert-dialog.tsx b/apps/web/src/components/ui/alert-dialog.tsx--- a/apps/web/src/components/ui/alert-dialog.tsx+++ b/apps/web/src/components/ui/alert-dialog.tsx@@ -65,13 +65,16 @@
<AlertDialogPortal>
<AlertDialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<AlertDialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}
diff --git a/apps/web/src/components/ui/dialog.tsx b/apps/web/src/components/ui/dialog.tsx--- a/apps/web/src/components/ui/dialog.tsx+++ b/apps/web/src/components/ui/dialog.tsx@@ -74,13 +74,16 @@
<DialogPortal>
<DialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<DialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 64356b14663a84f1bd93c120551216389bcd1652. Configure here.

Comment threadapps/web/src/components/ui/dialog.tsx Outdated
…nner
Ported from #2451.
Co-authored-by: ss <ss@barekey.dev>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch from 64356b1 to 7d8c434CompareJune 10, 2026 00:44
@juliusmarminge
juliusmarminge merged commit 238715f into mainJun 10, 2026
16 checks passed
@juliusmarminge
juliusmarminge deleted the ui/dialog-alert-polish branch June 10, 2026 00:52
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
#99)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
…MIT ONLY, DO NOT SQUASH (#100)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
* Model picker UI Improvements, Virtualize Model List (pingdotgg#3021)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Provider env vars table and reworked accent color picker (pingdotgg#3026)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish branch picker trigger, scroll fade, and list layout (pingdotgg#3024)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* Polish web context menu fallback and sidebar icon actions (pingdotgg#3025)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Composer polish: focus ring, send/stop buttons, command menu, context meter, answer panel (pingdotgg#3018)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract changed files card with compact aligned diff stats (pingdotgg#3023)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* ci: fix vp test invocation (-r and --filter are mutually exclusive)
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
Morphexe pushed a commit to Morphexe/t3code that referenced this pull request Jul 30, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR 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

@juliusmarminge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Polish dialog/alert surfaces and unauthenticated provider banner - #3016

Merged
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish
Jun 10, 2026
Merged

Polish dialog/alert surfaces and unauthenticated provider banner#3016
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Jun 9, 2026

Copy link
Copy Markdown
Member

Ports the dialog/alert-surface part of #2451 by @sandersonstabo, rebased onto current main.

  • Dialog and alert-dialog backdrops get a consistent bg-background/60 tint with a subtle 4px blur (toned down per review feedback in Polish chat UI and provider prompts #2451); command dialog backdrop gains the same backdrop-blur-xs
  • Dialog viewports use balanced 1fr auto 1fr rows (proper vertical centering instead of the top-weighted 3fr layout), plus an opt-in centered viewport for true center placement
  • Alert is reworked into a slot-based flex layout, fixing the misaligned icon/text/action grid; error alerts get readable destructive text colors
  • Thread error banner dismiss becomes a ghost icon Button; provider status banner becomes a compact "X is unauthenticated — sign in via the CLI" card (de-Codex-ified copy) shown for the selected provider instance

Part of splitting #2451 into reviewable frontend-only pieces.

🤖 Generated with Claude Code


Note

Low Risk
UI-only styling and banner copy/instance selection; no auth, API, or data-path changes beyond which provider snapshot is displayed.

Overview
Polishes dialog and sheet overlays and in-chat status banners for more consistent visuals and clearer provider errors.

Overlays:Dialog and AlertDialog backdrops now use bg-background/60 with backdrop-blur-xs, forceRender on the backdrop, and viewports use balanced 1fr auto 1fr rows instead of a top-heavy layout (viewport-level tint/blur removed). Sheet and command dialog backdrops match the same tint and blur.

Alerts:Alert is reworked to partition children into icon, title/description, and action slots (via data-slot or component displayName) and lay them out with flex instead of CSS grid, including stronger destructive text styling for error variants. Thread error dismiss is a ghost icon Button.

Provider banner:ChatView resolves activeProviderInstanceId from the composer’s selected provider instance when it exists in server config, so custom instances (e.g. codex_personal) show the right status. Provider status drops the shared Alert for a compact inline card with unauthenticated-specific title (“X is unauthenticated”) and CLI sign-in guidance.

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

Note

Polish dialog, alert, and unauthenticated provider banner surfaces

  • Refactors alert.tsx to use explicit icon/content/action slots with a flex layout, updating DOM structure and variant styles across all alert usages.
  • Updates ProviderStatusBanner.tsx to detect unauthenticated provider state (error + auth.unauthenticated) and show a specific title and 'Sign in via the CLI to authenticate again.' message.
  • Moves backdrop blur and semi-transparent background from the viewport to the backdrop element in dialog.tsx and alert-dialog.tsx; backdropss are now force-rendered.
  • Adjusts active provider resolution in ChatView.tsx to prefer an explicit instance-id match for the selected thread provider before other fallbacks.
  • Behavioral Change: DOM structure of Alert and all dialog/sheet backdrops has changed, which may affect snapshot tests or CSS overrides targeting old selectors.

Macroscope summarized 7d8c434.

@coderabbitai

coderabbitaiBot commented Jun 9, 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

Run ID: 34b4a2fe-de5b-48b5-943d-6a476b07d3a0

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ui/dialog-alert-polish

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Jun 9, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Autofix Details

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing provider display name
    • Restored the fallback chain so providerName uses status.displayName?.trim() || formatProviderDriverKindLabel(status.driver) instead of the bare status.displayName, preventing 'undefined is unauthenticated' when displayName is omitted.

Create PR

Or push these changes by commenting:

@cursor push 5cdfb4648a
Preview (5cdfb4648a)
diff --git a/apps/web/src/components/chat/ProviderStatusBanner.tsx b/apps/web/src/components/chat/ProviderStatusBanner.tsx--- a/apps/web/src/components/chat/ProviderStatusBanner.tsx+++ b/apps/web/src/components/chat/ProviderStatusBanner.tsx@@ -2,6 +2,7 @@
import { memo } from "react";
import { InfoIcon } from "lucide-react";
import { cn } from "~/lib/utils";
+import { formatProviderDriverKindLabel } from "~/providerModels";
export const ProviderStatusBanner = memo(function ProviderStatusBanner({
status,
@@ -12,7 +13,7 @@
return null;
}
- const providerName = status.displayName;+ const providerName = status.displayName?.trim() || formatProviderDriverKindLabel(status.driver);
const title = `${providerName} is unauthenticated`;
const message = "Sign in via the CLI to authenticate again.";

You can send follow-ups to the cloud agent here.

Comment threadapps/web/src/components/chat/ProviderStatusBanner.tsx Outdated
@github-actions

github-actionsBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

🚀 Expo continuous deployment is ready!

  • Project → t3-code
  • Platforms → android, ios
  • Scheme → t3code-preview
🤖 Android🍎 iOS
Fingerprintae17d94b35f91f9c608a63dadbc3ddd9f4ba056e313e506a7f15a9c3f15b01d787d68a12382432bf
Build DetailsBuild Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Build Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update DetailsUpdate Permalink
DetailsBranch: pr-3016
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update Permalink
DetailsBranch: pr-3016
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update QR

Comment threadapps/web/src/components/ChatView.tsx
Comment threadapps/web/src/components/ChatView.tsx
@macroscopeapp

macroscopeappBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

UI polish changes: CSS styling adjustments for dialog/alert/sheet backdrops, Alert component layout refactor, and improved unauthenticated provider banner messaging. Low-risk styling work with no significant runtime behavior changes.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch 2 times, most recently from 59a692c to 64356b1CompareJune 10, 2026 00:38

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Centered dialogs break mobile layout
    • Added !centered guard to all bottomStickOnMobile class conditions in both DialogPopup and AlertDialogPopup so the bottom-sheet mobile classes are skipped when centered mode is active.

Create PR

Or push these changes by commenting:

@cursor push c8cb0d54f0
Preview (c8cb0d54f0)
diff --git a/apps/web/src/components/ui/alert-dialog.tsx b/apps/web/src/components/ui/alert-dialog.tsx--- a/apps/web/src/components/ui/alert-dialog.tsx+++ b/apps/web/src/components/ui/alert-dialog.tsx@@ -65,13 +65,16 @@
<AlertDialogPortal>
<AlertDialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<AlertDialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}
diff --git a/apps/web/src/components/ui/dialog.tsx b/apps/web/src/components/ui/dialog.tsx--- a/apps/web/src/components/ui/dialog.tsx+++ b/apps/web/src/components/ui/dialog.tsx@@ -74,13 +74,16 @@
<DialogPortal>
<DialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<DialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 64356b14663a84f1bd93c120551216389bcd1652. Configure here.

Comment threadapps/web/src/components/ui/dialog.tsx Outdated
…nner
Ported from #2451.
Co-authored-by: ss <ss@barekey.dev>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch from 64356b1 to 7d8c434CompareJune 10, 2026 00:44
@juliusmarminge
juliusmarminge merged commit 238715f into mainJun 10, 2026
16 checks passed
@juliusmarminge
juliusmarminge deleted the ui/dialog-alert-polish branch June 10, 2026 00:52
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
#99)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
…MIT ONLY, DO NOT SQUASH (#100)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
* Model picker UI Improvements, Virtualize Model List (pingdotgg#3021)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Provider env vars table and reworked accent color picker (pingdotgg#3026)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish branch picker trigger, scroll fade, and list layout (pingdotgg#3024)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* Polish web context menu fallback and sidebar icon actions (pingdotgg#3025)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Composer polish: focus ring, send/stop buttons, command menu, context meter, answer panel (pingdotgg#3018)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract changed files card with compact aligned diff stats (pingdotgg#3023)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* ci: fix vp test invocation (-r and --filter are mutually exclusive)
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
Morphexe pushed a commit to Morphexe/t3code that referenced this pull request Jul 30, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR 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

@juliusmarminge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Polish dialog/alert surfaces and unauthenticated provider banner - #3016

Merged
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish
Jun 10, 2026
Merged

Polish dialog/alert surfaces and unauthenticated provider banner#3016
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Jun 9, 2026

Copy link
Copy Markdown
Member

Ports the dialog/alert-surface part of #2451 by @sandersonstabo, rebased onto current main.

  • Dialog and alert-dialog backdrops get a consistent bg-background/60 tint with a subtle 4px blur (toned down per review feedback in Polish chat UI and provider prompts #2451); command dialog backdrop gains the same backdrop-blur-xs
  • Dialog viewports use balanced 1fr auto 1fr rows (proper vertical centering instead of the top-weighted 3fr layout), plus an opt-in centered viewport for true center placement
  • Alert is reworked into a slot-based flex layout, fixing the misaligned icon/text/action grid; error alerts get readable destructive text colors
  • Thread error banner dismiss becomes a ghost icon Button; provider status banner becomes a compact "X is unauthenticated — sign in via the CLI" card (de-Codex-ified copy) shown for the selected provider instance

Part of splitting #2451 into reviewable frontend-only pieces.

🤖 Generated with Claude Code


Note

Low Risk
UI-only styling and banner copy/instance selection; no auth, API, or data-path changes beyond which provider snapshot is displayed.

Overview
Polishes dialog and sheet overlays and in-chat status banners for more consistent visuals and clearer provider errors.

Overlays:Dialog and AlertDialog backdrops now use bg-background/60 with backdrop-blur-xs, forceRender on the backdrop, and viewports use balanced 1fr auto 1fr rows instead of a top-heavy layout (viewport-level tint/blur removed). Sheet and command dialog backdrops match the same tint and blur.

Alerts:Alert is reworked to partition children into icon, title/description, and action slots (via data-slot or component displayName) and lay them out with flex instead of CSS grid, including stronger destructive text styling for error variants. Thread error dismiss is a ghost icon Button.

Provider banner:ChatView resolves activeProviderInstanceId from the composer’s selected provider instance when it exists in server config, so custom instances (e.g. codex_personal) show the right status. Provider status drops the shared Alert for a compact inline card with unauthenticated-specific title (“X is unauthenticated”) and CLI sign-in guidance.

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

Note

Polish dialog, alert, and unauthenticated provider banner surfaces

  • Refactors alert.tsx to use explicit icon/content/action slots with a flex layout, updating DOM structure and variant styles across all alert usages.
  • Updates ProviderStatusBanner.tsx to detect unauthenticated provider state (error + auth.unauthenticated) and show a specific title and 'Sign in via the CLI to authenticate again.' message.
  • Moves backdrop blur and semi-transparent background from the viewport to the backdrop element in dialog.tsx and alert-dialog.tsx; backdropss are now force-rendered.
  • Adjusts active provider resolution in ChatView.tsx to prefer an explicit instance-id match for the selected thread provider before other fallbacks.
  • Behavioral Change: DOM structure of Alert and all dialog/sheet backdrops has changed, which may affect snapshot tests or CSS overrides targeting old selectors.

Macroscope summarized 7d8c434.

@coderabbitai

coderabbitaiBot commented Jun 9, 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

Run ID: 34b4a2fe-de5b-48b5-943d-6a476b07d3a0

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ui/dialog-alert-polish

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Jun 9, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Autofix Details

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing provider display name
    • Restored the fallback chain so providerName uses status.displayName?.trim() || formatProviderDriverKindLabel(status.driver) instead of the bare status.displayName, preventing 'undefined is unauthenticated' when displayName is omitted.

Create PR

Or push these changes by commenting:

@cursor push 5cdfb4648a
Preview (5cdfb4648a)
diff --git a/apps/web/src/components/chat/ProviderStatusBanner.tsx b/apps/web/src/components/chat/ProviderStatusBanner.tsx--- a/apps/web/src/components/chat/ProviderStatusBanner.tsx+++ b/apps/web/src/components/chat/ProviderStatusBanner.tsx@@ -2,6 +2,7 @@
import { memo } from "react";
import { InfoIcon } from "lucide-react";
import { cn } from "~/lib/utils";
+import { formatProviderDriverKindLabel } from "~/providerModels";
export const ProviderStatusBanner = memo(function ProviderStatusBanner({
status,
@@ -12,7 +13,7 @@
return null;
}
- const providerName = status.displayName;+ const providerName = status.displayName?.trim() || formatProviderDriverKindLabel(status.driver);
const title = `${providerName} is unauthenticated`;
const message = "Sign in via the CLI to authenticate again.";

You can send follow-ups to the cloud agent here.

Comment threadapps/web/src/components/chat/ProviderStatusBanner.tsx Outdated
@github-actions

github-actionsBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

🚀 Expo continuous deployment is ready!

  • Project → t3-code
  • Platforms → android, ios
  • Scheme → t3code-preview
🤖 Android🍎 iOS
Fingerprintae17d94b35f91f9c608a63dadbc3ddd9f4ba056e313e506a7f15a9c3f15b01d787d68a12382432bf
Build DetailsBuild Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Build Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update DetailsUpdate Permalink
DetailsBranch: pr-3016
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update Permalink
DetailsBranch: pr-3016
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update QR

Comment threadapps/web/src/components/ChatView.tsx
Comment threadapps/web/src/components/ChatView.tsx
@macroscopeapp

macroscopeappBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

UI polish changes: CSS styling adjustments for dialog/alert/sheet backdrops, Alert component layout refactor, and improved unauthenticated provider banner messaging. Low-risk styling work with no significant runtime behavior changes.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch 2 times, most recently from 59a692c to 64356b1CompareJune 10, 2026 00:38

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Centered dialogs break mobile layout
    • Added !centered guard to all bottomStickOnMobile class conditions in both DialogPopup and AlertDialogPopup so the bottom-sheet mobile classes are skipped when centered mode is active.

Create PR

Or push these changes by commenting:

@cursor push c8cb0d54f0
Preview (c8cb0d54f0)
diff --git a/apps/web/src/components/ui/alert-dialog.tsx b/apps/web/src/components/ui/alert-dialog.tsx--- a/apps/web/src/components/ui/alert-dialog.tsx+++ b/apps/web/src/components/ui/alert-dialog.tsx@@ -65,13 +65,16 @@
<AlertDialogPortal>
<AlertDialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<AlertDialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}
diff --git a/apps/web/src/components/ui/dialog.tsx b/apps/web/src/components/ui/dialog.tsx--- a/apps/web/src/components/ui/dialog.tsx+++ b/apps/web/src/components/ui/dialog.tsx@@ -74,13 +74,16 @@
<DialogPortal>
<DialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<DialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 64356b14663a84f1bd93c120551216389bcd1652. Configure here.

Comment threadapps/web/src/components/ui/dialog.tsx Outdated
…nner
Ported from #2451.
Co-authored-by: ss <ss@barekey.dev>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch from 64356b1 to 7d8c434CompareJune 10, 2026 00:44
@juliusmarminge
juliusmarminge merged commit 238715f into mainJun 10, 2026
16 checks passed
@juliusmarminge
juliusmarminge deleted the ui/dialog-alert-polish branch June 10, 2026 00:52
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
#99)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
…MIT ONLY, DO NOT SQUASH (#100)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
* Model picker UI Improvements, Virtualize Model List (pingdotgg#3021)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Provider env vars table and reworked accent color picker (pingdotgg#3026)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish branch picker trigger, scroll fade, and list layout (pingdotgg#3024)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* Polish web context menu fallback and sidebar icon actions (pingdotgg#3025)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Composer polish: focus ring, send/stop buttons, command menu, context meter, answer panel (pingdotgg#3018)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract changed files card with compact aligned diff stats (pingdotgg#3023)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* ci: fix vp test invocation (-r and --filter are mutually exclusive)
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
Morphexe pushed a commit to Morphexe/t3code that referenced this pull request Jul 30, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR 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

@juliusmarminge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Polish dialog/alert surfaces and unauthenticated provider banner - #3016

Merged
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish
Jun 10, 2026
Merged

Polish dialog/alert surfaces and unauthenticated provider banner#3016
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Jun 9, 2026

Copy link
Copy Markdown
Member

Ports the dialog/alert-surface part of #2451 by @sandersonstabo, rebased onto current main.

  • Dialog and alert-dialog backdrops get a consistent bg-background/60 tint with a subtle 4px blur (toned down per review feedback in Polish chat UI and provider prompts #2451); command dialog backdrop gains the same backdrop-blur-xs
  • Dialog viewports use balanced 1fr auto 1fr rows (proper vertical centering instead of the top-weighted 3fr layout), plus an opt-in centered viewport for true center placement
  • Alert is reworked into a slot-based flex layout, fixing the misaligned icon/text/action grid; error alerts get readable destructive text colors
  • Thread error banner dismiss becomes a ghost icon Button; provider status banner becomes a compact "X is unauthenticated — sign in via the CLI" card (de-Codex-ified copy) shown for the selected provider instance

Part of splitting #2451 into reviewable frontend-only pieces.

🤖 Generated with Claude Code


Note

Low Risk
UI-only styling and banner copy/instance selection; no auth, API, or data-path changes beyond which provider snapshot is displayed.

Overview
Polishes dialog and sheet overlays and in-chat status banners for more consistent visuals and clearer provider errors.

Overlays:Dialog and AlertDialog backdrops now use bg-background/60 with backdrop-blur-xs, forceRender on the backdrop, and viewports use balanced 1fr auto 1fr rows instead of a top-heavy layout (viewport-level tint/blur removed). Sheet and command dialog backdrops match the same tint and blur.

Alerts:Alert is reworked to partition children into icon, title/description, and action slots (via data-slot or component displayName) and lay them out with flex instead of CSS grid, including stronger destructive text styling for error variants. Thread error dismiss is a ghost icon Button.

Provider banner:ChatView resolves activeProviderInstanceId from the composer’s selected provider instance when it exists in server config, so custom instances (e.g. codex_personal) show the right status. Provider status drops the shared Alert for a compact inline card with unauthenticated-specific title (“X is unauthenticated”) and CLI sign-in guidance.

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

Note

Polish dialog, alert, and unauthenticated provider banner surfaces

  • Refactors alert.tsx to use explicit icon/content/action slots with a flex layout, updating DOM structure and variant styles across all alert usages.
  • Updates ProviderStatusBanner.tsx to detect unauthenticated provider state (error + auth.unauthenticated) and show a specific title and 'Sign in via the CLI to authenticate again.' message.
  • Moves backdrop blur and semi-transparent background from the viewport to the backdrop element in dialog.tsx and alert-dialog.tsx; backdropss are now force-rendered.
  • Adjusts active provider resolution in ChatView.tsx to prefer an explicit instance-id match for the selected thread provider before other fallbacks.
  • Behavioral Change: DOM structure of Alert and all dialog/sheet backdrops has changed, which may affect snapshot tests or CSS overrides targeting old selectors.

Macroscope summarized 7d8c434.

@coderabbitai

coderabbitaiBot commented Jun 9, 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

Run ID: 34b4a2fe-de5b-48b5-943d-6a476b07d3a0

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ui/dialog-alert-polish

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Jun 9, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Autofix Details

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing provider display name
    • Restored the fallback chain so providerName uses status.displayName?.trim() || formatProviderDriverKindLabel(status.driver) instead of the bare status.displayName, preventing 'undefined is unauthenticated' when displayName is omitted.

Create PR

Or push these changes by commenting:

@cursor push 5cdfb4648a
Preview (5cdfb4648a)
diff --git a/apps/web/src/components/chat/ProviderStatusBanner.tsx b/apps/web/src/components/chat/ProviderStatusBanner.tsx--- a/apps/web/src/components/chat/ProviderStatusBanner.tsx+++ b/apps/web/src/components/chat/ProviderStatusBanner.tsx@@ -2,6 +2,7 @@
import { memo } from "react";
import { InfoIcon } from "lucide-react";
import { cn } from "~/lib/utils";
+import { formatProviderDriverKindLabel } from "~/providerModels";
export const ProviderStatusBanner = memo(function ProviderStatusBanner({
status,
@@ -12,7 +13,7 @@
return null;
}
- const providerName = status.displayName;+ const providerName = status.displayName?.trim() || formatProviderDriverKindLabel(status.driver);
const title = `${providerName} is unauthenticated`;
const message = "Sign in via the CLI to authenticate again.";

You can send follow-ups to the cloud agent here.

Comment threadapps/web/src/components/chat/ProviderStatusBanner.tsx Outdated
@github-actions

github-actionsBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

🚀 Expo continuous deployment is ready!

  • Project → t3-code
  • Platforms → android, ios
  • Scheme → t3code-preview
🤖 Android🍎 iOS
Fingerprintae17d94b35f91f9c608a63dadbc3ddd9f4ba056e313e506a7f15a9c3f15b01d787d68a12382432bf
Build DetailsBuild Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Build Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update DetailsUpdate Permalink
DetailsBranch: pr-3016
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update Permalink
DetailsBranch: pr-3016
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update QR

Comment threadapps/web/src/components/ChatView.tsx
Comment threadapps/web/src/components/ChatView.tsx
@macroscopeapp

macroscopeappBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

UI polish changes: CSS styling adjustments for dialog/alert/sheet backdrops, Alert component layout refactor, and improved unauthenticated provider banner messaging. Low-risk styling work with no significant runtime behavior changes.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch 2 times, most recently from 59a692c to 64356b1CompareJune 10, 2026 00:38

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Centered dialogs break mobile layout
    • Added !centered guard to all bottomStickOnMobile class conditions in both DialogPopup and AlertDialogPopup so the bottom-sheet mobile classes are skipped when centered mode is active.

Create PR

Or push these changes by commenting:

@cursor push c8cb0d54f0
Preview (c8cb0d54f0)
diff --git a/apps/web/src/components/ui/alert-dialog.tsx b/apps/web/src/components/ui/alert-dialog.tsx--- a/apps/web/src/components/ui/alert-dialog.tsx+++ b/apps/web/src/components/ui/alert-dialog.tsx@@ -65,13 +65,16 @@
<AlertDialogPortal>
<AlertDialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<AlertDialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}
diff --git a/apps/web/src/components/ui/dialog.tsx b/apps/web/src/components/ui/dialog.tsx--- a/apps/web/src/components/ui/dialog.tsx+++ b/apps/web/src/components/ui/dialog.tsx@@ -74,13 +74,16 @@
<DialogPortal>
<DialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<DialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 64356b14663a84f1bd93c120551216389bcd1652. Configure here.

Comment threadapps/web/src/components/ui/dialog.tsx Outdated
…nner
Ported from #2451.
Co-authored-by: ss <ss@barekey.dev>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch from 64356b1 to 7d8c434CompareJune 10, 2026 00:44
@juliusmarminge
juliusmarminge merged commit 238715f into mainJun 10, 2026
16 checks passed
@juliusmarminge
juliusmarminge deleted the ui/dialog-alert-polish branch June 10, 2026 00:52
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
#99)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
…MIT ONLY, DO NOT SQUASH (#100)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
* Model picker UI Improvements, Virtualize Model List (pingdotgg#3021)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Provider env vars table and reworked accent color picker (pingdotgg#3026)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish branch picker trigger, scroll fade, and list layout (pingdotgg#3024)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* Polish web context menu fallback and sidebar icon actions (pingdotgg#3025)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Composer polish: focus ring, send/stop buttons, command menu, context meter, answer panel (pingdotgg#3018)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract changed files card with compact aligned diff stats (pingdotgg#3023)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* ci: fix vp test invocation (-r and --filter are mutually exclusive)
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
Morphexe pushed a commit to Morphexe/t3code that referenced this pull request Jul 30, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR 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

@juliusmarminge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Polish dialog/alert surfaces and unauthenticated provider banner - #3016

Merged
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish
Jun 10, 2026
Merged

Polish dialog/alert surfaces and unauthenticated provider banner#3016
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Jun 9, 2026

Copy link
Copy Markdown
Member

Ports the dialog/alert-surface part of #2451 by @sandersonstabo, rebased onto current main.

  • Dialog and alert-dialog backdrops get a consistent bg-background/60 tint with a subtle 4px blur (toned down per review feedback in Polish chat UI and provider prompts #2451); command dialog backdrop gains the same backdrop-blur-xs
  • Dialog viewports use balanced 1fr auto 1fr rows (proper vertical centering instead of the top-weighted 3fr layout), plus an opt-in centered viewport for true center placement
  • Alert is reworked into a slot-based flex layout, fixing the misaligned icon/text/action grid; error alerts get readable destructive text colors
  • Thread error banner dismiss becomes a ghost icon Button; provider status banner becomes a compact "X is unauthenticated — sign in via the CLI" card (de-Codex-ified copy) shown for the selected provider instance

Part of splitting #2451 into reviewable frontend-only pieces.

🤖 Generated with Claude Code


Note

Low Risk
UI-only styling and banner copy/instance selection; no auth, API, or data-path changes beyond which provider snapshot is displayed.

Overview
Polishes dialog and sheet overlays and in-chat status banners for more consistent visuals and clearer provider errors.

Overlays:Dialog and AlertDialog backdrops now use bg-background/60 with backdrop-blur-xs, forceRender on the backdrop, and viewports use balanced 1fr auto 1fr rows instead of a top-heavy layout (viewport-level tint/blur removed). Sheet and command dialog backdrops match the same tint and blur.

Alerts:Alert is reworked to partition children into icon, title/description, and action slots (via data-slot or component displayName) and lay them out with flex instead of CSS grid, including stronger destructive text styling for error variants. Thread error dismiss is a ghost icon Button.

Provider banner:ChatView resolves activeProviderInstanceId from the composer’s selected provider instance when it exists in server config, so custom instances (e.g. codex_personal) show the right status. Provider status drops the shared Alert for a compact inline card with unauthenticated-specific title (“X is unauthenticated”) and CLI sign-in guidance.

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

Note

Polish dialog, alert, and unauthenticated provider banner surfaces

  • Refactors alert.tsx to use explicit icon/content/action slots with a flex layout, updating DOM structure and variant styles across all alert usages.
  • Updates ProviderStatusBanner.tsx to detect unauthenticated provider state (error + auth.unauthenticated) and show a specific title and 'Sign in via the CLI to authenticate again.' message.
  • Moves backdrop blur and semi-transparent background from the viewport to the backdrop element in dialog.tsx and alert-dialog.tsx; backdropss are now force-rendered.
  • Adjusts active provider resolution in ChatView.tsx to prefer an explicit instance-id match for the selected thread provider before other fallbacks.
  • Behavioral Change: DOM structure of Alert and all dialog/sheet backdrops has changed, which may affect snapshot tests or CSS overrides targeting old selectors.

Macroscope summarized 7d8c434.

@coderabbitai

coderabbitaiBot commented Jun 9, 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

Run ID: 34b4a2fe-de5b-48b5-943d-6a476b07d3a0

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ui/dialog-alert-polish

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Jun 9, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Autofix Details

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing provider display name
    • Restored the fallback chain so providerName uses status.displayName?.trim() || formatProviderDriverKindLabel(status.driver) instead of the bare status.displayName, preventing 'undefined is unauthenticated' when displayName is omitted.

Create PR

Or push these changes by commenting:

@cursor push 5cdfb4648a
Preview (5cdfb4648a)
diff --git a/apps/web/src/components/chat/ProviderStatusBanner.tsx b/apps/web/src/components/chat/ProviderStatusBanner.tsx--- a/apps/web/src/components/chat/ProviderStatusBanner.tsx+++ b/apps/web/src/components/chat/ProviderStatusBanner.tsx@@ -2,6 +2,7 @@
import { memo } from "react";
import { InfoIcon } from "lucide-react";
import { cn } from "~/lib/utils";
+import { formatProviderDriverKindLabel } from "~/providerModels";
export const ProviderStatusBanner = memo(function ProviderStatusBanner({
status,
@@ -12,7 +13,7 @@
return null;
}
- const providerName = status.displayName;+ const providerName = status.displayName?.trim() || formatProviderDriverKindLabel(status.driver);
const title = `${providerName} is unauthenticated`;
const message = "Sign in via the CLI to authenticate again.";

You can send follow-ups to the cloud agent here.

Comment threadapps/web/src/components/chat/ProviderStatusBanner.tsx Outdated
@github-actions

github-actionsBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

🚀 Expo continuous deployment is ready!

  • Project → t3-code
  • Platforms → android, ios
  • Scheme → t3code-preview
🤖 Android🍎 iOS
Fingerprintae17d94b35f91f9c608a63dadbc3ddd9f4ba056e313e506a7f15a9c3f15b01d787d68a12382432bf
Build DetailsBuild Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Build Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update DetailsUpdate Permalink
DetailsBranch: pr-3016
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update Permalink
DetailsBranch: pr-3016
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update QR

Comment threadapps/web/src/components/ChatView.tsx
Comment threadapps/web/src/components/ChatView.tsx
@macroscopeapp

macroscopeappBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

UI polish changes: CSS styling adjustments for dialog/alert/sheet backdrops, Alert component layout refactor, and improved unauthenticated provider banner messaging. Low-risk styling work with no significant runtime behavior changes.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch 2 times, most recently from 59a692c to 64356b1CompareJune 10, 2026 00:38

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Centered dialogs break mobile layout
    • Added !centered guard to all bottomStickOnMobile class conditions in both DialogPopup and AlertDialogPopup so the bottom-sheet mobile classes are skipped when centered mode is active.

Create PR

Or push these changes by commenting:

@cursor push c8cb0d54f0
Preview (c8cb0d54f0)
diff --git a/apps/web/src/components/ui/alert-dialog.tsx b/apps/web/src/components/ui/alert-dialog.tsx--- a/apps/web/src/components/ui/alert-dialog.tsx+++ b/apps/web/src/components/ui/alert-dialog.tsx@@ -65,13 +65,16 @@
<AlertDialogPortal>
<AlertDialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<AlertDialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}
diff --git a/apps/web/src/components/ui/dialog.tsx b/apps/web/src/components/ui/dialog.tsx--- a/apps/web/src/components/ui/dialog.tsx+++ b/apps/web/src/components/ui/dialog.tsx@@ -74,13 +74,16 @@
<DialogPortal>
<DialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<DialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 64356b14663a84f1bd93c120551216389bcd1652. Configure here.

Comment threadapps/web/src/components/ui/dialog.tsx Outdated
…nner
Ported from #2451.
Co-authored-by: ss <ss@barekey.dev>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch from 64356b1 to 7d8c434CompareJune 10, 2026 00:44
@juliusmarminge
juliusmarminge merged commit 238715f into mainJun 10, 2026
16 checks passed
@juliusmarminge
juliusmarminge deleted the ui/dialog-alert-polish branch June 10, 2026 00:52
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
#99)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
…MIT ONLY, DO NOT SQUASH (#100)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
* Model picker UI Improvements, Virtualize Model List (pingdotgg#3021)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Provider env vars table and reworked accent color picker (pingdotgg#3026)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish branch picker trigger, scroll fade, and list layout (pingdotgg#3024)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* Polish web context menu fallback and sidebar icon actions (pingdotgg#3025)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Composer polish: focus ring, send/stop buttons, command menu, context meter, answer panel (pingdotgg#3018)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract changed files card with compact aligned diff stats (pingdotgg#3023)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* ci: fix vp test invocation (-r and --filter are mutually exclusive)
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
Morphexe pushed a commit to Morphexe/t3code that referenced this pull request Jul 30, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR 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

@juliusmarminge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Polish dialog/alert surfaces and unauthenticated provider banner - #3016

Merged
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish
Jun 10, 2026
Merged

Polish dialog/alert surfaces and unauthenticated provider banner#3016
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Jun 9, 2026

Copy link
Copy Markdown
Member

Ports the dialog/alert-surface part of #2451 by @sandersonstabo, rebased onto current main.

  • Dialog and alert-dialog backdrops get a consistent bg-background/60 tint with a subtle 4px blur (toned down per review feedback in Polish chat UI and provider prompts #2451); command dialog backdrop gains the same backdrop-blur-xs
  • Dialog viewports use balanced 1fr auto 1fr rows (proper vertical centering instead of the top-weighted 3fr layout), plus an opt-in centered viewport for true center placement
  • Alert is reworked into a slot-based flex layout, fixing the misaligned icon/text/action grid; error alerts get readable destructive text colors
  • Thread error banner dismiss becomes a ghost icon Button; provider status banner becomes a compact "X is unauthenticated — sign in via the CLI" card (de-Codex-ified copy) shown for the selected provider instance

Part of splitting #2451 into reviewable frontend-only pieces.

🤖 Generated with Claude Code


Note

Low Risk
UI-only styling and banner copy/instance selection; no auth, API, or data-path changes beyond which provider snapshot is displayed.

Overview
Polishes dialog and sheet overlays and in-chat status banners for more consistent visuals and clearer provider errors.

Overlays:Dialog and AlertDialog backdrops now use bg-background/60 with backdrop-blur-xs, forceRender on the backdrop, and viewports use balanced 1fr auto 1fr rows instead of a top-heavy layout (viewport-level tint/blur removed). Sheet and command dialog backdrops match the same tint and blur.

Alerts:Alert is reworked to partition children into icon, title/description, and action slots (via data-slot or component displayName) and lay them out with flex instead of CSS grid, including stronger destructive text styling for error variants. Thread error dismiss is a ghost icon Button.

Provider banner:ChatView resolves activeProviderInstanceId from the composer’s selected provider instance when it exists in server config, so custom instances (e.g. codex_personal) show the right status. Provider status drops the shared Alert for a compact inline card with unauthenticated-specific title (“X is unauthenticated”) and CLI sign-in guidance.

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

Note

Polish dialog, alert, and unauthenticated provider banner surfaces

  • Refactors alert.tsx to use explicit icon/content/action slots with a flex layout, updating DOM structure and variant styles across all alert usages.
  • Updates ProviderStatusBanner.tsx to detect unauthenticated provider state (error + auth.unauthenticated) and show a specific title and 'Sign in via the CLI to authenticate again.' message.
  • Moves backdrop blur and semi-transparent background from the viewport to the backdrop element in dialog.tsx and alert-dialog.tsx; backdropss are now force-rendered.
  • Adjusts active provider resolution in ChatView.tsx to prefer an explicit instance-id match for the selected thread provider before other fallbacks.
  • Behavioral Change: DOM structure of Alert and all dialog/sheet backdrops has changed, which may affect snapshot tests or CSS overrides targeting old selectors.

Macroscope summarized 7d8c434.

@coderabbitai

coderabbitaiBot commented Jun 9, 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

Run ID: 34b4a2fe-de5b-48b5-943d-6a476b07d3a0

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ui/dialog-alert-polish

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Jun 9, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Autofix Details

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing provider display name
    • Restored the fallback chain so providerName uses status.displayName?.trim() || formatProviderDriverKindLabel(status.driver) instead of the bare status.displayName, preventing 'undefined is unauthenticated' when displayName is omitted.

Create PR

Or push these changes by commenting:

@cursor push 5cdfb4648a
Preview (5cdfb4648a)
diff --git a/apps/web/src/components/chat/ProviderStatusBanner.tsx b/apps/web/src/components/chat/ProviderStatusBanner.tsx--- a/apps/web/src/components/chat/ProviderStatusBanner.tsx+++ b/apps/web/src/components/chat/ProviderStatusBanner.tsx@@ -2,6 +2,7 @@
import { memo } from "react";
import { InfoIcon } from "lucide-react";
import { cn } from "~/lib/utils";
+import { formatProviderDriverKindLabel } from "~/providerModels";
export const ProviderStatusBanner = memo(function ProviderStatusBanner({
status,
@@ -12,7 +13,7 @@
return null;
}
- const providerName = status.displayName;+ const providerName = status.displayName?.trim() || formatProviderDriverKindLabel(status.driver);
const title = `${providerName} is unauthenticated`;
const message = "Sign in via the CLI to authenticate again.";

You can send follow-ups to the cloud agent here.

Comment threadapps/web/src/components/chat/ProviderStatusBanner.tsx Outdated
@github-actions

github-actionsBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

🚀 Expo continuous deployment is ready!

  • Project → t3-code
  • Platforms → android, ios
  • Scheme → t3code-preview
🤖 Android🍎 iOS
Fingerprintae17d94b35f91f9c608a63dadbc3ddd9f4ba056e313e506a7f15a9c3f15b01d787d68a12382432bf
Build DetailsBuild Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Build Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update DetailsUpdate Permalink
DetailsBranch: pr-3016
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update Permalink
DetailsBranch: pr-3016
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update QR

Comment threadapps/web/src/components/ChatView.tsx
Comment threadapps/web/src/components/ChatView.tsx
@macroscopeapp

macroscopeappBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

UI polish changes: CSS styling adjustments for dialog/alert/sheet backdrops, Alert component layout refactor, and improved unauthenticated provider banner messaging. Low-risk styling work with no significant runtime behavior changes.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch 2 times, most recently from 59a692c to 64356b1CompareJune 10, 2026 00:38

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Centered dialogs break mobile layout
    • Added !centered guard to all bottomStickOnMobile class conditions in both DialogPopup and AlertDialogPopup so the bottom-sheet mobile classes are skipped when centered mode is active.

Create PR

Or push these changes by commenting:

@cursor push c8cb0d54f0
Preview (c8cb0d54f0)
diff --git a/apps/web/src/components/ui/alert-dialog.tsx b/apps/web/src/components/ui/alert-dialog.tsx--- a/apps/web/src/components/ui/alert-dialog.tsx+++ b/apps/web/src/components/ui/alert-dialog.tsx@@ -65,13 +65,16 @@
<AlertDialogPortal>
<AlertDialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<AlertDialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}
diff --git a/apps/web/src/components/ui/dialog.tsx b/apps/web/src/components/ui/dialog.tsx--- a/apps/web/src/components/ui/dialog.tsx+++ b/apps/web/src/components/ui/dialog.tsx@@ -74,13 +74,16 @@
<DialogPortal>
<DialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<DialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 64356b14663a84f1bd93c120551216389bcd1652. Configure here.

Comment threadapps/web/src/components/ui/dialog.tsx Outdated
…nner
Ported from #2451.
Co-authored-by: ss <ss@barekey.dev>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch from 64356b1 to 7d8c434CompareJune 10, 2026 00:44
@juliusmarminge
juliusmarminge merged commit 238715f into mainJun 10, 2026
16 checks passed
@juliusmarminge
juliusmarminge deleted the ui/dialog-alert-polish branch June 10, 2026 00:52
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
#99)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
…MIT ONLY, DO NOT SQUASH (#100)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
* Model picker UI Improvements, Virtualize Model List (pingdotgg#3021)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Provider env vars table and reworked accent color picker (pingdotgg#3026)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish branch picker trigger, scroll fade, and list layout (pingdotgg#3024)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* Polish web context menu fallback and sidebar icon actions (pingdotgg#3025)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Composer polish: focus ring, send/stop buttons, command menu, context meter, answer panel (pingdotgg#3018)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract changed files card with compact aligned diff stats (pingdotgg#3023)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* ci: fix vp test invocation (-r and --filter are mutually exclusive)
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
Morphexe pushed a commit to Morphexe/t3code that referenced this pull request Jul 30, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR 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

@juliusmarminge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Polish dialog/alert surfaces and unauthenticated provider banner - #3016

Merged
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish
Jun 10, 2026
Merged

Polish dialog/alert surfaces and unauthenticated provider banner#3016
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Jun 9, 2026

Copy link
Copy Markdown
Member

Ports the dialog/alert-surface part of #2451 by @sandersonstabo, rebased onto current main.

  • Dialog and alert-dialog backdrops get a consistent bg-background/60 tint with a subtle 4px blur (toned down per review feedback in Polish chat UI and provider prompts #2451); command dialog backdrop gains the same backdrop-blur-xs
  • Dialog viewports use balanced 1fr auto 1fr rows (proper vertical centering instead of the top-weighted 3fr layout), plus an opt-in centered viewport for true center placement
  • Alert is reworked into a slot-based flex layout, fixing the misaligned icon/text/action grid; error alerts get readable destructive text colors
  • Thread error banner dismiss becomes a ghost icon Button; provider status banner becomes a compact "X is unauthenticated — sign in via the CLI" card (de-Codex-ified copy) shown for the selected provider instance

Part of splitting #2451 into reviewable frontend-only pieces.

🤖 Generated with Claude Code


Note

Low Risk
UI-only styling and banner copy/instance selection; no auth, API, or data-path changes beyond which provider snapshot is displayed.

Overview
Polishes dialog and sheet overlays and in-chat status banners for more consistent visuals and clearer provider errors.

Overlays:Dialog and AlertDialog backdrops now use bg-background/60 with backdrop-blur-xs, forceRender on the backdrop, and viewports use balanced 1fr auto 1fr rows instead of a top-heavy layout (viewport-level tint/blur removed). Sheet and command dialog backdrops match the same tint and blur.

Alerts:Alert is reworked to partition children into icon, title/description, and action slots (via data-slot or component displayName) and lay them out with flex instead of CSS grid, including stronger destructive text styling for error variants. Thread error dismiss is a ghost icon Button.

Provider banner:ChatView resolves activeProviderInstanceId from the composer’s selected provider instance when it exists in server config, so custom instances (e.g. codex_personal) show the right status. Provider status drops the shared Alert for a compact inline card with unauthenticated-specific title (“X is unauthenticated”) and CLI sign-in guidance.

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

Note

Polish dialog, alert, and unauthenticated provider banner surfaces

  • Refactors alert.tsx to use explicit icon/content/action slots with a flex layout, updating DOM structure and variant styles across all alert usages.
  • Updates ProviderStatusBanner.tsx to detect unauthenticated provider state (error + auth.unauthenticated) and show a specific title and 'Sign in via the CLI to authenticate again.' message.
  • Moves backdrop blur and semi-transparent background from the viewport to the backdrop element in dialog.tsx and alert-dialog.tsx; backdropss are now force-rendered.
  • Adjusts active provider resolution in ChatView.tsx to prefer an explicit instance-id match for the selected thread provider before other fallbacks.
  • Behavioral Change: DOM structure of Alert and all dialog/sheet backdrops has changed, which may affect snapshot tests or CSS overrides targeting old selectors.

Macroscope summarized 7d8c434.

@coderabbitai

coderabbitaiBot commented Jun 9, 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

Run ID: 34b4a2fe-de5b-48b5-943d-6a476b07d3a0

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ui/dialog-alert-polish

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Jun 9, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Autofix Details

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing provider display name
    • Restored the fallback chain so providerName uses status.displayName?.trim() || formatProviderDriverKindLabel(status.driver) instead of the bare status.displayName, preventing 'undefined is unauthenticated' when displayName is omitted.

Create PR

Or push these changes by commenting:

@cursor push 5cdfb4648a
Preview (5cdfb4648a)
diff --git a/apps/web/src/components/chat/ProviderStatusBanner.tsx b/apps/web/src/components/chat/ProviderStatusBanner.tsx--- a/apps/web/src/components/chat/ProviderStatusBanner.tsx+++ b/apps/web/src/components/chat/ProviderStatusBanner.tsx@@ -2,6 +2,7 @@
import { memo } from "react";
import { InfoIcon } from "lucide-react";
import { cn } from "~/lib/utils";
+import { formatProviderDriverKindLabel } from "~/providerModels";
export const ProviderStatusBanner = memo(function ProviderStatusBanner({
status,
@@ -12,7 +13,7 @@
return null;
}
- const providerName = status.displayName;+ const providerName = status.displayName?.trim() || formatProviderDriverKindLabel(status.driver);
const title = `${providerName} is unauthenticated`;
const message = "Sign in via the CLI to authenticate again.";

You can send follow-ups to the cloud agent here.

Comment threadapps/web/src/components/chat/ProviderStatusBanner.tsx Outdated
@github-actions

github-actionsBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

🚀 Expo continuous deployment is ready!

  • Project → t3-code
  • Platforms → android, ios
  • Scheme → t3code-preview
🤖 Android🍎 iOS
Fingerprintae17d94b35f91f9c608a63dadbc3ddd9f4ba056e313e506a7f15a9c3f15b01d787d68a12382432bf
Build DetailsBuild Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Build Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update DetailsUpdate Permalink
DetailsBranch: pr-3016
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update Permalink
DetailsBranch: pr-3016
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update QR

Comment threadapps/web/src/components/ChatView.tsx
Comment threadapps/web/src/components/ChatView.tsx
@macroscopeapp

macroscopeappBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

UI polish changes: CSS styling adjustments for dialog/alert/sheet backdrops, Alert component layout refactor, and improved unauthenticated provider banner messaging. Low-risk styling work with no significant runtime behavior changes.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch 2 times, most recently from 59a692c to 64356b1CompareJune 10, 2026 00:38

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Centered dialogs break mobile layout
    • Added !centered guard to all bottomStickOnMobile class conditions in both DialogPopup and AlertDialogPopup so the bottom-sheet mobile classes are skipped when centered mode is active.

Create PR

Or push these changes by commenting:

@cursor push c8cb0d54f0
Preview (c8cb0d54f0)
diff --git a/apps/web/src/components/ui/alert-dialog.tsx b/apps/web/src/components/ui/alert-dialog.tsx--- a/apps/web/src/components/ui/alert-dialog.tsx+++ b/apps/web/src/components/ui/alert-dialog.tsx@@ -65,13 +65,16 @@
<AlertDialogPortal>
<AlertDialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<AlertDialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}
diff --git a/apps/web/src/components/ui/dialog.tsx b/apps/web/src/components/ui/dialog.tsx--- a/apps/web/src/components/ui/dialog.tsx+++ b/apps/web/src/components/ui/dialog.tsx@@ -74,13 +74,16 @@
<DialogPortal>
<DialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<DialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 64356b14663a84f1bd93c120551216389bcd1652. Configure here.

Comment threadapps/web/src/components/ui/dialog.tsx Outdated
…nner
Ported from #2451.
Co-authored-by: ss <ss@barekey.dev>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch from 64356b1 to 7d8c434CompareJune 10, 2026 00:44
@juliusmarminge
juliusmarminge merged commit 238715f into mainJun 10, 2026
16 checks passed
@juliusmarminge
juliusmarminge deleted the ui/dialog-alert-polish branch June 10, 2026 00:52
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
#99)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
…MIT ONLY, DO NOT SQUASH (#100)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
* Model picker UI Improvements, Virtualize Model List (pingdotgg#3021)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Provider env vars table and reworked accent color picker (pingdotgg#3026)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish branch picker trigger, scroll fade, and list layout (pingdotgg#3024)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* Polish web context menu fallback and sidebar icon actions (pingdotgg#3025)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Composer polish: focus ring, send/stop buttons, command menu, context meter, answer panel (pingdotgg#3018)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract changed files card with compact aligned diff stats (pingdotgg#3023)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* ci: fix vp test invocation (-r and --filter are mutually exclusive)
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
Morphexe pushed a commit to Morphexe/t3code that referenced this pull request Jul 30, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR 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

@juliusmarminge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Polish dialog/alert surfaces and unauthenticated provider banner - #3016

Merged
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish
Jun 10, 2026
Merged

Polish dialog/alert surfaces and unauthenticated provider banner#3016
juliusmarminge merged 1 commit into
mainfrom
ui/dialog-alert-polish

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Jun 9, 2026

Copy link
Copy Markdown
Member

Ports the dialog/alert-surface part of #2451 by @sandersonstabo, rebased onto current main.

  • Dialog and alert-dialog backdrops get a consistent bg-background/60 tint with a subtle 4px blur (toned down per review feedback in Polish chat UI and provider prompts #2451); command dialog backdrop gains the same backdrop-blur-xs
  • Dialog viewports use balanced 1fr auto 1fr rows (proper vertical centering instead of the top-weighted 3fr layout), plus an opt-in centered viewport for true center placement
  • Alert is reworked into a slot-based flex layout, fixing the misaligned icon/text/action grid; error alerts get readable destructive text colors
  • Thread error banner dismiss becomes a ghost icon Button; provider status banner becomes a compact "X is unauthenticated — sign in via the CLI" card (de-Codex-ified copy) shown for the selected provider instance

Part of splitting #2451 into reviewable frontend-only pieces.

🤖 Generated with Claude Code


Note

Low Risk
UI-only styling and banner copy/instance selection; no auth, API, or data-path changes beyond which provider snapshot is displayed.

Overview
Polishes dialog and sheet overlays and in-chat status banners for more consistent visuals and clearer provider errors.

Overlays:Dialog and AlertDialog backdrops now use bg-background/60 with backdrop-blur-xs, forceRender on the backdrop, and viewports use balanced 1fr auto 1fr rows instead of a top-heavy layout (viewport-level tint/blur removed). Sheet and command dialog backdrops match the same tint and blur.

Alerts:Alert is reworked to partition children into icon, title/description, and action slots (via data-slot or component displayName) and lay them out with flex instead of CSS grid, including stronger destructive text styling for error variants. Thread error dismiss is a ghost icon Button.

Provider banner:ChatView resolves activeProviderInstanceId from the composer’s selected provider instance when it exists in server config, so custom instances (e.g. codex_personal) show the right status. Provider status drops the shared Alert for a compact inline card with unauthenticated-specific title (“X is unauthenticated”) and CLI sign-in guidance.

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

Note

Polish dialog, alert, and unauthenticated provider banner surfaces

  • Refactors alert.tsx to use explicit icon/content/action slots with a flex layout, updating DOM structure and variant styles across all alert usages.
  • Updates ProviderStatusBanner.tsx to detect unauthenticated provider state (error + auth.unauthenticated) and show a specific title and 'Sign in via the CLI to authenticate again.' message.
  • Moves backdrop blur and semi-transparent background from the viewport to the backdrop element in dialog.tsx and alert-dialog.tsx; backdropss are now force-rendered.
  • Adjusts active provider resolution in ChatView.tsx to prefer an explicit instance-id match for the selected thread provider before other fallbacks.
  • Behavioral Change: DOM structure of Alert and all dialog/sheet backdrops has changed, which may affect snapshot tests or CSS overrides targeting old selectors.

Macroscope summarized 7d8c434.

@coderabbitai

coderabbitaiBot commented Jun 9, 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

Run ID: 34b4a2fe-de5b-48b5-943d-6a476b07d3a0

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ui/dialog-alert-polish

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Jun 9, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Autofix Details

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing provider display name
    • Restored the fallback chain so providerName uses status.displayName?.trim() || formatProviderDriverKindLabel(status.driver) instead of the bare status.displayName, preventing 'undefined is unauthenticated' when displayName is omitted.

Create PR

Or push these changes by commenting:

@cursor push 5cdfb4648a
Preview (5cdfb4648a)
diff --git a/apps/web/src/components/chat/ProviderStatusBanner.tsx b/apps/web/src/components/chat/ProviderStatusBanner.tsx--- a/apps/web/src/components/chat/ProviderStatusBanner.tsx+++ b/apps/web/src/components/chat/ProviderStatusBanner.tsx@@ -2,6 +2,7 @@
import { memo } from "react";
import { InfoIcon } from "lucide-react";
import { cn } from "~/lib/utils";
+import { formatProviderDriverKindLabel } from "~/providerModels";
export const ProviderStatusBanner = memo(function ProviderStatusBanner({
status,
@@ -12,7 +13,7 @@
return null;
}
- const providerName = status.displayName;+ const providerName = status.displayName?.trim() || formatProviderDriverKindLabel(status.driver);
const title = `${providerName} is unauthenticated`;
const message = "Sign in via the CLI to authenticate again.";

You can send follow-ups to the cloud agent here.

Comment threadapps/web/src/components/chat/ProviderStatusBanner.tsx Outdated
@github-actions

github-actionsBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

🚀 Expo continuous deployment is ready!

  • Project → t3-code
  • Platforms → android, ios
  • Scheme → t3code-preview
🤖 Android🍎 iOS
Fingerprintae17d94b35f91f9c608a63dadbc3ddd9f4ba056e313e506a7f15a9c3f15b01d787d68a12382432bf
Build DetailsBuild Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Build Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
App version: 0.1.0
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update DetailsUpdate Permalink
DetailsBranch: pr-3016
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update Permalink
DetailsBranch: pr-3016
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
Git commit: 8398014f04a583f61eaf69a13df2ab6c61d11333
Update QR

Comment threadapps/web/src/components/ChatView.tsx
Comment threadapps/web/src/components/ChatView.tsx
@macroscopeapp

macroscopeappBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

UI polish changes: CSS styling adjustments for dialog/alert/sheet backdrops, Alert component layout refactor, and improved unauthenticated provider banner messaging. Low-risk styling work with no significant runtime behavior changes.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch 2 times, most recently from 59a692c to 64356b1CompareJune 10, 2026 00:38

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Centered dialogs break mobile layout
    • Added !centered guard to all bottomStickOnMobile class conditions in both DialogPopup and AlertDialogPopup so the bottom-sheet mobile classes are skipped when centered mode is active.

Create PR

Or push these changes by commenting:

@cursor push c8cb0d54f0
Preview (c8cb0d54f0)
diff --git a/apps/web/src/components/ui/alert-dialog.tsx b/apps/web/src/components/ui/alert-dialog.tsx--- a/apps/web/src/components/ui/alert-dialog.tsx+++ b/apps/web/src/components/ui/alert-dialog.tsx@@ -65,13 +65,16 @@
<AlertDialogPortal>
<AlertDialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<AlertDialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}
diff --git a/apps/web/src/components/ui/dialog.tsx b/apps/web/src/components/ui/dialog.tsx--- a/apps/web/src/components/ui/dialog.tsx+++ b/apps/web/src/components/ui/dialog.tsx@@ -74,13 +74,16 @@
<DialogPortal>
<DialogBackdrop />
<Viewport
- className={cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12")}+ className={cn(+ bottomStickOnMobile && !centered && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12",+ )}
>
<DialogPrimitive.Popup
className={cn(
"-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
!centered && "row-start-2",
bottomStickOnMobile &&
+ !centered &&
"max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",
className,
)}

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 64356b14663a84f1bd93c120551216389bcd1652. Configure here.

Comment threadapps/web/src/components/ui/dialog.tsx Outdated
…nner
Ported from #2451.
Co-authored-by: ss <ss@barekey.dev>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@juliusmarminge
juliusmarmingeforce-pushed the ui/dialog-alert-polish branch from 64356b1 to 7d8c434CompareJune 10, 2026 00:44
@juliusmarminge
juliusmarminge merged commit 238715f into mainJun 10, 2026
16 checks passed
@juliusmarminge
juliusmarminge deleted the ui/dialog-alert-polish branch June 10, 2026 00:52
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
#99)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jun 10, 2026
…MIT ONLY, DO NOT SQUASH (#100)
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* [codex] Bump Effect to beta.73 and migrate compatibility APIs (pingdotgg#2840)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Opus 4.8 support (pingdotgg#2849)
* Migrate TypeScript checks to Effect TSGo (pingdotgg#2851)
* Extract collection performance refactors from mobile stack (pingdotgg#2854)
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract independent web cleanup from mobile stack (pingdotgg#2855)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Ensure Electron runtime is installed in release workflow (pingdotgg#2861)
* T3 Code Mobile [WIP] (pingdotgg#2013)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
* chore: add vendored reference repo subtree sync tooling (pingdotgg#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
* Use HttpApi for Environment APIs & standardize authn/authz (pingdotgg#2858)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore: add Alchemy reference repo subtree (pingdotgg#2918)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(desktop): Include standard Linux AppImage icons for Niri/Noctalia (pingdotgg#2915)
* Probe Cursor models via list_available_models (pingdotgg#2428)
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
* Migrate workspace to Vite+ and pnpm (pingdotgg#2899)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* test(web): CI stability - prebundle react-dom client for browser tests (pingdotgg#2928)
* fix(ssh): Surface redacted stdout for failed commands (pingdotgg#2920)
* fix(desktop): Preserve SSH HTTP auth status (pingdotgg#2923)
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* fix: build web before desktop release packaging (pingdotgg#2934)
Co-authored-by: Julius Marminge <julius@mac.lan>
* ci: let setup-vp install dependencies (pingdotgg#2936)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): surface desktop packaging subprocess output (pingdotgg#2937)
Co-authored-by: Julius Marminge <julius@mac.lan>
* chore: setup eas ci (pingdotgg#2911)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): use workspace electron-builder for desktop packaging (pingdotgg#2938)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] remove duplicated pnpm root config (pingdotgg#2939)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): install dependency closures in partial jobs (pingdotgg#2941)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] split ci workflow jobs (pingdotgg#2940)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] fix mobile native static analysis source discovery (pingdotgg#2942)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(release): preserve desktop artifact arch (pingdotgg#2943)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Fix desktop packaging patched dependencies (pingdotgg#2944)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Filter staged desktop patched dependencies (pingdotgg#2945)
Co-authored-by: codex <codex@users.noreply.github.com>
* fix(release): install hosted web workspace closure (pingdotgg#2949)
* fix(cli): bundle patched diff parser dependency (pingdotgg#2957)
Co-authored-by: Julius Marminge <julius@mac.lan>
* Prevent settings layout shifts with scrollbar gutters (pingdotgg#2960)
* [codex] fix release finalize install (pingdotgg#2961)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(source-control): handle self-hosted GitLab, multi-account GitHub auth & azure devops web url (pingdotgg#2480)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Node executable spawns (pingdotgg#2952)
Co-authored-by: Julius Marminge <julius@mac.lan>
* [codex] Avoid shell for Windows environment probe (pingdotgg#2951)
Co-authored-by: Julius Marminge <julius@mac.lan>
* fix(composer): support spaces in file mentions (pingdotgg#2625)
* [codex] Avoid shell for system executables (pingdotgg#2950)
Co-authored-by: Julius Marminge <julius@mac.lan>
* feat(relay): Add managed relay tunnels and APN service (pingdotgg#2837)
Co-authored-by: codex <codex@users.noreply.github.com>
* Restructure documentation into topical folders (pingdotgg#2963)
* move
* dont fail if env-file is unspecified
* fallback to None when RELAY_DOMAIN is unset
* implicit install from vp
* forward args directly
* bump alchemy to fix absolute drizzle schema out
* bump alchemy to fix drizzle schema out attempt 2
* Migrate tests to vite-plus test APIs (pingdotgg#2964)
* remove `vp staged`
* publish deploy status on relay deploy workflow
* Use pnpm for server publish workflow (pingdotgg#2966)
* Rename function for publishing arguments to vp pm (pingdotgg#2967)
* Remove duplicate 'publish' argument in CLI script
* Refactor recoverable Effect fallbacks to orElseSucceed (pingdotgg#2968)
* document vp instead of mise
* link
* cleanup
* tip
* we support cursor, duhhh
* include @latest
* fix(cloud): use Electron fetch for proxying Clerk IPC requests (pingdotgg#2973)
* fix: handle Claude Agent SDK 0.3.x system messages to stop runtime-warning flood (pingdotgg#2872)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* "claude system message" instead of "runtime warning" when using 4.8 from claude code (pingdotgg#2972)
* fix(desktop): stop looping macOS TCC permission prompts (pingdotgg#2745)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
* Annotate relay error spans with schema fields (pingdotgg#2976)
* [codex] Enrich relay authorization diagnostics (pingdotgg#2977)
Co-authored-by: codex <codex@users.noreply.github.com>
* [codex] Extract infrastructure, telemetry, and test tooling (pingdotgg#2994)
Co-authored-by: codex <codex@users.noreply.github.com>
* feat(grok): add Grok CLI provider via ACP (pingdotgg#2809)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* [codex] Fix main CI Effect test runtimes (pingdotgg#3008)
Co-authored-by: codex <codex@users.noreply.github.com>
* Add Claude Fable 5 model (pingdotgg#3009)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.26
* [codex] Rebrand T3 Cloud as T3 Connect (pingdotgg#3011)
Co-authored-by: codex <codex@users.noreply.github.com>
* Fix Clerk browser test mock (pingdotgg#3013)
Co-authored-by: codex <codex@users.noreply.github.com>
* chore(release): prepare v0.0.27
* Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (pingdotgg#3014)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Mute icons in labeled controls and suppress popup focus rings (pingdotgg#3015)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish dialog/alert surfaces and unauthenticated provider banner (pingdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(marketing) : marketing showing wrong icons on linux (pingdotgg#2696)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* Misc markdown styling improvements (pingdotgg#3017)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
* Model picker UI Improvements, Virtualize Model List (pingdotgg#3021)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Provider env vars table and reworked accent color picker (pingdotgg#3026)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Polish branch picker trigger, scroll fade, and list layout (pingdotgg#3024)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* Polish web context menu fallback and sidebar icon actions (pingdotgg#3025)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Composer polish: focus ring, send/stop buttons, command menu, context meter, answer panel (pingdotgg#3018)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* Extract changed files card with compact aligned diff stats (pingdotgg#3023)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
* ci: fix vp test invocation (-r and --filter are mutually exclusive)
---------
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ibrahim Elkamali <126423069+Marve10s@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Abdul Azeez <abdulazeez44@gmail.com>
Co-authored-by: Peter Hozák <peter.hozak@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Ruzbyte <104939854+ruzbyte@users.noreply.github.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
Co-authored-by: aaditagrawal <tech@aaditagrawal.com>
Morphexe pushed a commit to Morphexe/t3code that referenced this pull request Jul 30, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
…gdotgg#3016)
Co-authored-by: ss <ss@barekey.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR 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

@juliusmarminge