diff --git a/apps/web/src/components/AppSidebarLayout.tsx b/apps/web/src/components/AppSidebarLayout.tsx
index 52b45ab8405c486c28f4d6d3d1b890f8a60b3df4..14d871c41804fc642194dbc6b5774baf6aa4824c 100644
--- a/apps/web/src/components/AppSidebarLayout.tsx
+++ b/apps/web/src/components/AppSidebarLayout.tsx
@@ -244,7 +244,7 @@ export function AppSidebarLayout({ children }: { children: ReactNode }) {
side="left"
collapsible="offcanvas"
data-app-sidebar=""
- className="border-r border-sidebar-border bg-sidebar text-sidebar-foreground"
+ className="border-r border-sidebar-border"
resizable={{
maxWidth: sidebarMaximumWidth,
minWidth: THREAD_SIDEBAR_MIN_WIDTH,
diff --git a/apps/web/src/components/BranchToolbarBranchSelector.tsx b/apps/web/src/components/BranchToolbarBranchSelector.tsx
index 9838593a23f712c3b31acc80721ad3e890f5b5c4..8830b6bd180134c34ecb5bd17b4a12609fe317ed 100644
--- a/apps/web/src/components/BranchToolbarBranchSelector.tsx
+++ b/apps/web/src/components/BranchToolbarBranchSelector.tsx
@@ -861,7 +861,7 @@ export function BranchToolbarBranchSelector({
No refs found.
-
+
ref={branchListRef}
data={filteredBranchPickerItems}
diff --git a/apps/web/src/components/ConfirmDialogHost.tsx b/apps/web/src/components/ConfirmDialogHost.tsx
index 322423c40a94594d4333cf079bbf3724ce6ff112..3e19606bd4c69ab07245a920e69606b0e6edf2df 100644
--- a/apps/web/src/components/ConfirmDialogHost.tsx
+++ b/apps/web/src/components/ConfirmDialogHost.tsx
@@ -75,7 +75,7 @@ export function ConfirmDialogHost() {
if (!open) completeConfirmDialogClose();
}}
>
-
+
{copy.title}
{copy.description ? (
diff --git a/apps/web/src/components/NoActiveThreadState.tsx b/apps/web/src/components/NoActiveThreadState.tsx
index 3e7b0769d4827a7d11a935c198138d7b017d1d83..79da7a0cad1965799b24c331a7d3e4662cacdba2 100644
--- a/apps/web/src/components/NoActiveThreadState.tsx
+++ b/apps/web/src/components/NoActiveThreadState.tsx
@@ -5,7 +5,7 @@ import { WorkspacePageHeader } from "./WorkspacePageHeader";
export function NoActiveThreadState() {
return (
-
+
{isElectron ? (
@@ -22,8 +22,8 @@ export function NoActiveThreadState() {
- Pick a thread to continue
-
+ Pick a thread to continue
+
Select an existing thread or create a new one to get started.
diff --git a/apps/web/src/components/NoProjectsHero.tsx b/apps/web/src/components/NoProjectsHero.tsx
index 09bd92c82ec2fe0cbf5e8f20a7fb9c279b290fff..5aa29a729b696a85e138efeaf6ca5b9686f72ca2 100644
--- a/apps/web/src/components/NoProjectsHero.tsx
+++ b/apps/web/src/components/NoProjectsHero.tsx
@@ -10,7 +10,7 @@ export function NoProjectsHero() {
const openAddProject = useCallback(() => openCommandPalette({ open: "add-project" }), []);
return (
-
+
@@ -18,7 +18,7 @@ export function NoProjectsHero() {
What should we work on?
-
+
Add a project to start your first thread.
diff --git a/apps/web/src/components/ProjectScriptsControl.tsx b/apps/web/src/components/ProjectScriptsControl.tsx
index 9736821afa67c626e12c3fd42301d3b867539765..74bd84918713c2fd2242491881515f1506d5dc10 100644
--- a/apps/web/src/components/ProjectScriptsControl.tsx
+++ b/apps/web/src/components/ProjectScriptsControl.tsx
@@ -158,7 +158,7 @@ export default function ProjectScriptsControl({
>
{fileScript.name}
-
+
diff --git a/apps/web/src/components/ThreadRouteView.tsx b/apps/web/src/components/ThreadRouteView.tsx
index ed902d06ede1bae471e1fa5b1b8105192dce6864..90bff34051ddd4edc0be4e27ea4f3feea8348cb9 100644
--- a/apps/web/src/components/ThreadRouteView.tsx
+++ b/apps/web/src/components/ThreadRouteView.tsx
@@ -207,7 +207,7 @@ export function ThreadRouteView({ target }: { target: ThreadRouteTarget }) {
}
return (
-
+
{view}
);
diff --git a/apps/web/src/components/chat/ModelPickerContent.tsx b/apps/web/src/components/chat/ModelPickerContent.tsx
index 9c8be73e7cb313f5f4c347a06c86dff6b7f3869f..d66065b0e57226d8b506f34e249265410d6c5b87 100644
--- a/apps/web/src/components/chat/ModelPickerContent.tsx
+++ b/apps/web/src/components/chat/ModelPickerContent.tsx
@@ -956,7 +956,7 @@ export const ModelPickerContent = memo(function ModelPickerContent(props: {
{/* Model list */}
-
+
ref={modelListRef}
data={filteredItemKeys}
diff --git a/apps/web/src/components/settings/FontFamilyPicker.tsx b/apps/web/src/components/settings/FontFamilyPicker.tsx
index 4be5e43e5667755cfaeead3b5069524f46f19ba1..1981b852c03d15b27ffde70d85803a4fb59a5ba3 100644
--- a/apps/web/src/components/settings/FontFamilyPicker.tsx
+++ b/apps/web/src/components/settings/FontFamilyPicker.tsx
@@ -219,7 +219,7 @@ export function FontFamilyPicker({
No fonts found.
-
+
ref={listRef}
data={items}
diff --git a/apps/web/src/components/settings/SettingsPanels.tsx b/apps/web/src/components/settings/SettingsPanels.tsx
index 180ab45361dfc8cdc35f6c9148d696717ba3eb4a..a827cfe7bb26c05d939fc90172a543d80364cd68 100644
--- a/apps/web/src/components/settings/SettingsPanels.tsx
+++ b/apps/web/src/components/settings/SettingsPanels.tsx
@@ -845,7 +845,7 @@ function TokenStreamingWarningDialog({
}) {
return (
-
+
Token by token is a worse experience
diff --git a/apps/web/src/components/settings/SettingsSidebarNav.tsx b/apps/web/src/components/settings/SettingsSidebarNav.tsx
index 87a7e3ce7457134e8ee527b282a034d6316f4780..ffddb278b6cf6a54d45ee8300cbc746235346b17 100644
--- a/apps/web/src/components/settings/SettingsSidebarNav.tsx
+++ b/apps/web/src/components/settings/SettingsSidebarNav.tsx
@@ -344,7 +344,7 @@ export function SettingsSidebarNav({ pathname }: { pathname: string }) {
)}
-
+
diff --git a/apps/web/src/components/sidebar/SidebarChrome.tsx b/apps/web/src/components/sidebar/SidebarChrome.tsx
index 6433a1cba81afc854dfe64c2b807e894b520a9e8..8ab05b166f566d305a24202645d9082ce01f2a8a 100644
--- a/apps/web/src/components/sidebar/SidebarChrome.tsx
+++ b/apps/web/src/components/sidebar/SidebarChrome.tsx
@@ -221,7 +221,7 @@ export const SidebarUtilityMenu = memo(function SidebarUtilityMenu() {
export const SidebarChromeFooter = memo(function SidebarChromeFooter() {
return (
-
+
diff --git a/apps/web/src/components/ui/combobox.tsx b/apps/web/src/components/ui/combobox.tsx
index 42a3b815e2ff7bed864d2a7334fd3afa88530cf8..442817631827c636e7fdc5455df4aef4f25ef765 100644
--- a/apps/web/src/components/ui/combobox.tsx
+++ b/apps/web/src/components/ui/combobox.tsx
@@ -247,7 +247,7 @@ function ComboboxList({ className, ...props }: ComboboxPrimitive.List.Props) {
function ComboboxListVirtualized({ className, ...props }: ComboboxPrimitive.List.Props) {
return (
diff --git a/apps/web/src/components/ui/sidebar.tsx b/apps/web/src/components/ui/sidebar.tsx
index 92f185e6f629e8f6dd9c4b4daf88dcda227b4d22..180985620ba1c6ff37b72c8fcc3142241c37b515 100644
--- a/apps/web/src/components/ui/sidebar.tsx
+++ b/apps/web/src/components/ui/sidebar.tsx
@@ -558,7 +558,7 @@ function SidebarHeader({ className, ...props }: React.ComponentProps<"div">) {
function SidebarFooter({ className, ...props }: React.ComponentProps<"div">) {
return (
+
{topbarContent}
diff --git a/apps/web/src/routes/_chat.index.tsx b/apps/web/src/routes/_chat.index.tsx
index b32524bdde1e1fb8fd4dbfc0b08be2b0e3d29c70..c001e52775b5189b785fc3198eabe1b3f8b5d5b1 100644
--- a/apps/web/src/routes/_chat.index.tsx
+++ b/apps/web/src/routes/_chat.index.tsx
@@ -90,11 +90,11 @@ function IndexDraftLanding() {
function DraftStartError({ onRetry }: { readonly onRetry: () => void }) {
return (
-
+
- Couldn’t start a new thread
-
+ Couldn’t start a new thread
+
The project is still available. Try opening the draft again.
@@ -123,7 +123,7 @@ function HostedStaticOnboardingState() {
: "Open Connections and add that machine using its pairing link. This app must be able to reach it.";
return (
-
+
@@ -139,14 +139,14 @@ function HostedStaticOnboardingState() {
-
+
Connect to a computer running T3 Code
-
+
This app connects to T3 Code running on your computer or a server. Start the T3 Code
desktop app or command-line server on that machine and keep it running.
-
+
{description}
diff --git a/apps/web/src/routes/_chat.pull-requests.tsx b/apps/web/src/routes/_chat.pull-requests.tsx
index 59368351359d7a516a758f66932c2b29b1228d08..5ed33d27b5a63b2155bce05290294eeb6d75e1ff 100644
--- a/apps/web/src/routes/_chat.pull-requests.tsx
+++ b/apps/web/src/routes/_chat.pull-requests.tsx
@@ -2068,7 +2068,7 @@ function PullRequestsRouteView() {
}, [keybindings]);
return (
-
+
{pullRequestsSupported && rightPanelPresent ? openPanelControls : null}
diff --git a/apps/web/src/routes/settings.tsx b/apps/web/src/routes/settings.tsx
index cd6ca454649bdb6d41e6572a0ea68f086d6b332c..e95895926d4d183009606c848e4404b193fb4959 100644
--- a/apps/web/src/routes/settings.tsx
+++ b/apps/web/src/routes/settings.tsx
@@ -153,7 +153,7 @@ function SettingsContentLayout() {
}, [navigateBackWithinApp]);
return (
-
+
diff --git a/scripts/lint-restyle-ceiling.ts b/scripts/lint-restyle-ceiling.ts
index db608db1648d224abf2c2ada66ef71fda0351f27..9c93a8d466e7a1a37ef033d018b50dbded8af0ba 100644
--- a/scripts/lint-restyle-ceiling.ts
+++ b/scripts/lint-restyle-ceiling.ts
@@ -8,7 +8,7 @@ import * as NodeURL from "node:url";
// components/ui exports are migrated to variants (see vite.config.ts). This gate keeps the
// count from growing: CI fails when findings exceed the ceiling. Lower the ceiling when you
// migrate a file, and delete this script when the rule becomes an error.
-export const RESTYLE_CEILING = 1247;
+export const RESTYLE_CEILING = 1214;
const RULE = "shadcn(no-restyle)";