(
+ '.runtime-status'
+ )
+ expect(connectingStatus).toHaveClass('runtime-status--connecting')
+ expect(within(connectingStatus!).queryByText('连接中'))
+ .not.toBeInTheDocument()
+ })
+
it('loads customized branding into the primary sidebar', async () => {
expect(
saveBrandingPreferences({
diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx
index fb7bd5de..0091761e 100644
--- a/src/renderer/src/App.tsx
+++ b/src/renderer/src/App.tsx
@@ -9127,20 +9127,13 @@ function App(): React.JSX.Element {
{runtime?.label ?? t('runtime.detecting')}
-
- {t(`runtime.state.${runtimeState}`)}
-
{runtime?.capability === 'image-generation' && (
{t('runtime.imageGeneration')}
diff --git a/src/renderer/src/WorkspacePrimitives.test.tsx b/src/renderer/src/WorkspacePrimitives.test.tsx
index df332d55..54fe8e5e 100644
--- a/src/renderer/src/WorkspacePrimitives.test.tsx
+++ b/src/renderer/src/WorkspacePrimitives.test.tsx
@@ -80,6 +80,18 @@ describe('WorkspacePrimitives', () => {
cleanup()
})
+ it('uses semantic colors for compact Runtime status dots', () => {
+ expect(stylesheet).toMatch(
+ /\.runtime-status--ready \.runtime-status__dot\s*\{[^}]*background:\s*var\(--success\);/u
+ )
+ expect(stylesheet).toMatch(
+ /\.runtime-status--connecting \.runtime-status__dot\s*\{[^}]*background:\s*var\(--warning\);/u
+ )
+ expect(stylesheet).toMatch(
+ /\.runtime-status--unavailable \.runtime-status__dot\s*\{[^}]*background:\s*var\(--text-muted\);/u
+ )
+ })
+
it('keeps shared switch rows aligned without standalone dividers', () => {
const toggleRowStyles = stylesheet.match(
/\.toggle-row\s*\{(?[^}]*)\}/u
diff --git a/src/renderer/src/styles.css b/src/renderer/src/styles.css
index cb5a8ce1..f9e1a6e8 100644
--- a/src/renderer/src/styles.css
+++ b/src/renderer/src/styles.css
@@ -5061,12 +5061,16 @@ button > svg {
background: var(--text-muted);
}
-.runtime-status--online {
- color: var(--success);
+.runtime-status--ready .runtime-status__dot {
+ background: var(--success);
}
-.runtime-status--online .runtime-status__dot {
- background: var(--success);
+.runtime-status--connecting .runtime-status__dot {
+ background: var(--warning);
+}
+
+.runtime-status--unavailable .runtime-status__dot {
+ background: var(--text-muted);
}
.chat-scroll-region {