From 13ba0b129039c5080382e8db6f62acf5a5f9c4dc Mon Sep 17 00:00:00 2001 From: Wassim Rakab Date: Thu, 27 Aug 2026 16:49:48 +0300 Subject: [PATCH 1/2] add devcontainer --- .devcontainer/devcontainer-lock.json | 9 +++++++++ .devcontainer/devcontainer.json | 9 +++++++++ 2 files changed, 18 insertions(+) create mode 100644 .devcontainer/devcontainer-lock.json create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer-lock.json b/.devcontainer/devcontainer-lock.json new file mode 100644 index 00000000..be560843 --- /dev/null +++ b/.devcontainer/devcontainer-lock.json @@ -0,0 +1,9 @@ +{ + "features": { + "ghcr.io/devcontainers-extra/features/bun:1": { + "version": "1.1.0", + "resolved": "ghcr.io/devcontainers-extra/features/bun@sha256:0624284ecaead9dd4c6654616a7f939cfa4ebcbc60593700a74e35b1767befa5", + "integrity": "sha256:0624284ecaead9dd4c6654616a7f939cfa4ebcbc60593700a74e35b1767befa5" + } + } +} diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..e0d02eac --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,9 @@ +{ + "name": "opencode", + "image": "mcr.microsoft.com/devcontainers/typescript-node:24", + "features": { + "ghcr.io/devcontainers-extra/features/bun:1": { + "version": "1.3.14" + } + } +} From 4e8db8ac2d44cc093686567d44719265197e6593 Mon Sep 17 00:00:00 2001 From: Wassim Rakab Date: Sat, 5 Sep 2026 19:38:43 +0300 Subject: [PATCH 2/2] Replace return chain in serverStatusDotClass with a rules table --- .../src/components/status-popover-indicator.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/app/src/components/status-popover-indicator.ts b/packages/app/src/components/status-popover-indicator.ts index 62fc3bed..43f51cb8 100644 --- a/packages/app/src/components/status-popover-indicator.ts +++ b/packages/app/src/components/status-popover-indicator.ts @@ -21,10 +21,13 @@ export function serverStatusDotClass(input: { attention?: boolean issue: boolean }) { - if (input.serverHealth === false) return "bg-icon-critical-base" - if (!input.ready || input.serverHealth === undefined) return "bg-border-weak-base" - if (input.attention) return "bg-v2-background-bg-accent" - if (input.issue) return "bg-icon-warning-base" - if (input.serverHealth === true) return "bg-icon-success-base" - return "bg-border-weak-base" + const rules: Array<[boolean, string]> = [ + [input.serverHealth === false, "bg-icon-critical-base"], + [!input.ready || input.serverHealth === undefined, "bg-border-weak-base"], + [input.attention === true, "bg-v2-background-bg-accent"], + [input.issue, "bg-icon-warning-base"], + [input.serverHealth === true, "bg-icon-success-base"], + ] + + return rules.find(([condition]) => condition)?.[1] ?? "bg-border-weak-base" }