authorgravatar for maria@kuuro.netmaria <maria@kuuro.net> 2026-09-01 20:39:56-04:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-01 20:39:56-04:00
log98725df00a729ba226ae8610a3488e5b9168029f
treeb199a51f56d51bb815b99fc099a4ce3a52f13735
parent08aad594f0059d28dd23914f9d37ad4e695fff75
signature Signed by PGP key B5690EEEBB952194

fix(web): mute routine notices and update actions (#9063)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

9 files changed, 19 insertions(+), 29 deletions(-)

apps/web/src/components/ProviderUpdateEnvironmentRows.tsx+1-1
...@@ -133,7 +133,7 @@ function EnvironmentUpdateRow({...@@ -133,7 +133,7 @@ function EnvironmentUpdateRow({
133 break;133 break;
134 default:134 default:
135 trailing = (135 trailing = (
136 <Button size="xs" onClick={onUpdate}>136 <Button size="xs" variant="outline" onClick={onUpdate}>
137 Update137 Update
138 </Button>138 </Button>
139 );139 );
apps/web/src/components/ProviderUpdatePrimaryNotification.tsx+1-1
...@@ -281,7 +281,7 @@ export function ProviderUpdatePrimaryNotification() {...@@ -281,7 +281,7 @@ export function ProviderUpdatePrimaryNotification() {
281 children: "Settings",281 children: "Settings",
282 onClick: openSettings,282 onClick: openSettings,
283 },283 },
284 actionVariant: oneClickProviders.length > 0 ? "default" : "outline",284 actionVariant: "outline",
285 data: {285 data: {
286 leadingIcon:286 leadingIcon:
287 updateProviders.length === 1 ? (287 updateProviders.length === 1 ? (
apps/web/src/components/ServerUpdateAction.tsx+1-1
...@@ -154,7 +154,7 @@ export function ServerUpdateAction({...@@ -154,7 +154,7 @@ export function ServerUpdateAction({
154 }154 }
155155
156 return (156 return (
157 <Button size="xs" onClick={() => void handleUpdate()}>157 <Button size="xs" variant="outline" onClick={() => void handleUpdate()}>
158 {label}158 {label}
159 </Button>159 </Button>
160 );160 );
apps/web/src/components/chat/ComposerBanner.tsx+4-5
...@@ -27,9 +27,8 @@ const variantColors: Record<ComposerBannerVariant, string> = {...@@ -27,9 +27,8 @@ const variantColors: Record<ComposerBannerVariant, string> = {
27 default: neutralOutline,27 default: neutralOutline,
28 error:28 error:
29 "[--chat-composer-attached-outline:color-mix(in_srgb,var(--error)_32%,transparent)] [--chat-composer-attached-tint:color-mix(in_srgb,var(--error)_8%,transparent)]",29 "[--chat-composer-attached-outline:color-mix(in_srgb,var(--error)_32%,transparent)] [--chat-composer-attached-tint:color-mix(in_srgb,var(--error)_8%,transparent)]",
30 info: "[--chat-composer-attached-outline:color-mix(in_srgb,var(--info)_32%,transparent)] [--chat-composer-attached-tint:color-mix(in_srgb,var(--info)_4%,transparent)]",30 info: neutralOutline,
31 success:31 success: neutralOutline,
32 "[--chat-composer-attached-outline:color-mix(in_srgb,var(--success)_32%,transparent)] [--chat-composer-attached-tint:color-mix(in_srgb,var(--success)_4%,transparent)]",
33 warning:32 warning:
34 "[--chat-composer-attached-outline:color-mix(in_srgb,var(--warning)_28%,transparent)] [--chat-composer-attached-tint:color-mix(in_srgb,var(--warning)_8%,transparent)]",33 "[--chat-composer-attached-outline:color-mix(in_srgb,var(--warning)_28%,transparent)] [--chat-composer-attached-tint:color-mix(in_srgb,var(--warning)_8%,transparent)]",
35};34};
...@@ -71,8 +70,8 @@ function Surface({...@@ -71,8 +70,8 @@ function Surface({
71const peekBorder: Record<ComposerBannerVariant, string> = {70const peekBorder: Record<ComposerBannerVariant, string> = {
72 default: "border-(--chat-composer-attached-outline)",71 default: "border-(--chat-composer-attached-outline)",
73 error: "border-destructive/24",72 error: "border-destructive/24",
74 info: "border-info/24",73 info: "border-(--chat-composer-attached-outline)",
75 success: "border-success/24",74 success: "border-(--chat-composer-attached-outline)",
76 warning: "border-warning/24",75 warning: "border-warning/24",
77};76};
7877
apps/web/src/components/settings/ProviderInstanceCard.tsx+3-3
...@@ -660,7 +660,7 @@ export function ProviderInstanceCard({...@@ -660,7 +660,7 @@ export function ProviderInstanceCard({
660 {versionCodeNode}660 {versionCodeNode}
661 {versionAdvisory ? (661 {versionAdvisory ? (
662 <span role="img" aria-label="Update available" className="inline-flex shrink-0">662 <span role="img" aria-label="Update available" className="inline-flex shrink-0">
663 <ArrowUpCircleIcon className="size-3.5 text-update-foreground" />663 <ArrowUpCircleIcon className="size-3.5 text-muted-foreground" />
664 </span>664 </span>
665 ) : null}665 ) : null}
666 </span>666 </span>
...@@ -715,7 +715,7 @@ export function ProviderInstanceCard({...@@ -715,7 +715,7 @@ export function ProviderInstanceCard({
715 "size-5 rounded-sm p-0",715 "size-5 rounded-sm p-0",
716 versionAdvisory.emphasis === "strong"716 versionAdvisory.emphasis === "strong"
717 ? "text-warning hover:text-warning"717 ? "text-warning hover:text-warning"
718 : "text-update-foreground hover:text-update-foreground",718 : "text-muted-foreground hover:text-foreground",
719 )}719 )}
720 aria-label="Update available — view details"720 aria-label="Update available — view details"
721 >721 >
...@@ -748,7 +748,7 @@ export function ProviderInstanceCard({...@@ -748,7 +748,7 @@ export function ProviderInstanceCard({
748 <Button748 <Button
749 type="button"749 type="button"
750 size="xs"750 size="xs"
751 variant="default"751 variant="outline"
752 className="w-full"752 className="w-full"
753 disabled={isUpdating}753 disabled={isUpdating}
754 onClick={onRunUpdate}754 onClick={onRunUpdate}
apps/web/src/components/settings/SettingsPanels.tsx+1-1
...@@ -388,7 +388,7 @@ function AboutVersionSection() {...@@ -388,7 +388,7 @@ function AboutVersionSection() {
388 render={388 render={
389 <Button389 <Button
390 size="xs"390 size="xs"
391 variant={action === "install" ? "default" : "outline"}391 variant="outline"
392 disabled={buttonDisabled || isUpdateActionPending}392 disabled={buttonDisabled || isUpdateActionPending}
393 onClick={handleButtonClick}393 onClick={handleButtonClick}
394 >394 >
apps/web/src/components/sidebar/DesktopUpdateStatusIcon.tsx+2-2
...@@ -46,7 +46,7 @@ function DesktopUpdateAvailableIcon() {...@@ -46,7 +46,7 @@ function DesktopUpdateAvailableIcon() {
46 <DownloadIcon className="size-4" />46 <DownloadIcon className="size-4" />
47 <span47 <span
48 aria-hidden="true"48 aria-hidden="true"
49 className="absolute -top-0.5 -right-0.5 size-1.5 rounded-full bg-update-foreground ring-2 ring-update-surface"49 className="absolute -top-0.5 -right-0.5 size-1.5 rounded-full bg-current ring-2 ring-sidebar-control-surface"
50 />50 />
51 </span>51 </span>
52 );52 );
...@@ -93,7 +93,7 @@ function DesktopUpdateDownloadedIcon() {...@@ -93,7 +93,7 @@ function DesktopUpdateDownloadedIcon() {
93 return (93 return (
94 <span className="relative grid size-4 place-items-center">94 <span className="relative grid size-4 place-items-center">
95 <RotateCwIcon className="size-4" />95 <RotateCwIcon className="size-4" />
96 <span className="absolute -right-1 -bottom-1 grid size-2.5 place-items-center rounded-full bg-update-foreground text-background ring-2 ring-background">96 <span className="absolute -right-1 -bottom-1 grid size-2.5 place-items-center rounded-full bg-foreground text-background ring-2 ring-background">
97 <CheckIcon className="size-2" strokeWidth={3} />97 <CheckIcon className="size-2" strokeWidth={3} />
98 </span>98 </span>
99 </span>99 </span>
apps/web/src/components/sidebar/SidebarProviderUpdatePill.tsx+3-3
...@@ -14,9 +14,9 @@ import { Button } from "../ui/button";...@@ -14,9 +14,9 @@ import { Button } from "../ui/button";
1414
15const PROVIDER_UPDATE_PILL_STYLES = {15const PROVIDER_UPDATE_PILL_STYLES = {
16 loading:16 loading:
17 "bg-update-surface text-update-foreground group-has-[button.provider-update-main:hover]/provider-update:bg-update/22",17 "bg-sidebar-control-surface text-sidebar-foreground group-has-[button.provider-update-main:hover]/provider-update:bg-sidebar-row-hover",
18 success:18 success:
19 "bg-success/12 text-success group-has-[button.provider-update-main:hover]/provider-update:bg-success/18",19 "bg-sidebar-control-surface text-sidebar-foreground group-has-[button.provider-update-main:hover]/provider-update:bg-sidebar-row-hover",
20 warning:20 warning:
21 "bg-warning/12 text-warning group-has-[button.provider-update-main:hover]/provider-update:bg-warning/18",21 "bg-warning/12 text-warning group-has-[button.provider-update-main:hover]/provider-update:bg-warning/18",
22 error:22 error:
...@@ -24,7 +24,7 @@ const PROVIDER_UPDATE_PILL_STYLES = {...@@ -24,7 +24,7 @@ const PROVIDER_UPDATE_PILL_STYLES = {
24} as const;24} as const;
2525
26const PROVIDER_UPDATE_PILL_PROGRESS_STYLES = {26const PROVIDER_UPDATE_PILL_PROGRESS_STYLES = {
27 success: "bg-success/18",27 success: "bg-foreground/8",
28 warning: "bg-warning/14",28 warning: "bg-warning/14",
29 error: "bg-destructive/14",29 error: "bg-destructive/14",
30} as const;30} as const;
apps/web/src/components/sidebar/SidebarUpdatePill.tsx+3-12
...@@ -84,7 +84,7 @@ function SidebarUpdateReleaseNotesTooltip({...@@ -84,7 +84,7 @@ function SidebarUpdateReleaseNotesTooltip({
84 Update ready to download84 Update ready to download
85 </div>85 </div>
86 {state.availableVersion ? (86 {state.availableVersion ? (
87 <div className="mt-0.5 text-xs leading-4 text-update-foreground">87 <div className="mt-0.5 text-xs leading-4 text-muted-foreground">
88 {state.availableVersion}88 {state.availableVersion}
89 </div>89 </div>
90 ) : null}90 ) : null}
...@@ -319,8 +319,8 @@ function SidebarUpdateControl() {...@@ -319,8 +319,8 @@ function SidebarUpdateControl() {
319 isInteractionDisabled ? "cursor-not-allowed" : "cursor-pointer",319 isInteractionDisabled ? "cursor-not-allowed" : "cursor-pointer",
320 showUpdateIconState320 showUpdateIconState
321 ? cn(321 ? cn(
322 "bg-update-surface text-update-foreground",322 "bg-sidebar-control-surface text-sidebar-foreground",
323 !isInteractionDisabled && "hover:bg-update/12",323 !isInteractionDisabled && "hover:bg-sidebar-row-hover",
324 )324 )
325 : cn(325 : cn(
326 "text-[var(--sidebar-icon-color)]",326 "text-[var(--sidebar-icon-color)]",
...@@ -351,15 +351,6 @@ function SidebarUpdateControl() {...@@ -351,15 +351,6 @@ function SidebarUpdateControl() {
351 : undefined351 : undefined
352 }352 }
353 side="top"353 side="top"
354 style={
355 showUpdateDetails
356 ? {
357 background:
358 "color-mix(in srgb, var(--update) 18%, color-mix(in srgb, var(--popover) var(--glass-opacity), transparent))",
359 borderColor: "var(--update-foreground)",
360 }
361 : undefined
362 }
363 variant={showUpdateDetails ? "glass" : "default"}354 variant={showUpdateDetails ? "glass" : "default"}
364 >355 >
365 {showUpdateDetails && state ? (356 {showUpdateDetails && state ? (