From 0a91136b1248bc2a3c2fde60a3bc3dda48636ed9 Mon Sep 17 00:00:00 2001 From: Hako Date: Sat, 5 Sep 2026 19:13:30 +0900 Subject: [PATCH 1/2] feat(settings): add cached owner diagnostics and recovery guidance --- server/index.js | 13 ++ server/modules/diagnostics/README.md | 55 ++++++ .../diagnostics/diagnostics.routes.test.ts | 112 +++++++++++ .../modules/diagnostics/diagnostics.routes.ts | 36 ++++ .../diagnostics/diagnostics.service.test.ts | 181 ++++++++++++++++++ .../diagnostics/diagnostics.service.ts | 128 +++++++++++++ server/modules/diagnostics/index.ts | 2 + server/modules/providers/index.ts | 1 + .../services/discovery-collector.service.ts | 20 ++ .../tests/discovery-collector.service.test.ts | 46 +++++ shared/diagnostics.ts | 37 ++++ .../settings/hooks/useSettingsController.ts | 2 +- src/components/settings/types/types.ts | 2 +- src/components/settings/view/Settings.tsx | 4 +- .../settings/view/SettingsSidebar.tsx | 5 +- .../DiagnosticsSettingsTab.mounted.test.tsx | 64 +++++++ .../view/tabs/DiagnosticsSettingsTab.test.tsx | 82 ++++++++ .../view/tabs/DiagnosticsSettingsTab.tsx | 153 +++++++++++++++ .../view/tabs/diagnostics.testSupport.ts | 29 +++ src/i18n/locales/en/settings.json | 96 ++++++++++ src/i18n/locales/ko/settings.json | 94 +++++++++ 21 files changed, 1157 insertions(+), 5 deletions(-) create mode 100644 server/modules/diagnostics/README.md create mode 100644 server/modules/diagnostics/diagnostics.routes.test.ts create mode 100644 server/modules/diagnostics/diagnostics.routes.ts create mode 100644 server/modules/diagnostics/diagnostics.service.test.ts create mode 100644 server/modules/diagnostics/diagnostics.service.ts create mode 100644 server/modules/diagnostics/index.ts create mode 100644 shared/diagnostics.ts create mode 100644 src/components/settings/view/tabs/DiagnosticsSettingsTab.mounted.test.tsx create mode 100644 src/components/settings/view/tabs/DiagnosticsSettingsTab.test.tsx create mode 100644 src/components/settings/view/tabs/DiagnosticsSettingsTab.tsx create mode 100644 src/components/settings/view/tabs/diagnostics.testSupport.ts diff --git a/server/index.js b/server/index.js index 6d9821fd..94d07691 100755 --- a/server/index.js +++ b/server/index.js @@ -23,12 +23,14 @@ import { createTmuxOutputActivityMonitor, getCurrentTmuxPaneIdentity, getCurrentTmuxPaneIdentityState, + getGjcWatcherHealth, initializeSessionsWatcher, onTranscriptChanged, readTmuxPaneIdentity, runTmux, } from '@/modules/providers/index.js'; import { createWebSocketServer } from '@/modules/websocket/index.js'; +import { createDiagnosticsRouter, createDiagnosticsService } from '@/modules/diagnostics/index.js'; import { createFleetHubLifecycle, createLocalFleetHubRuntime } from '@/modules/fleet/hub/connection/index.js'; import { createFleetPeerLifecycle, createLocalFleetPeerRuntime } from '@/modules/fleet/peer/index.js'; import { fleetRuntimeEnabled, stopFleetRuntimeServices } from '@/modules/fleet/runtime-lifecycle.js'; @@ -356,6 +358,17 @@ app.get('/health', (req, res) => { // Authentication routes (public) app.use('/api/auth', authRoutes); +// Diagnostics owns authentication so even rejected reads receive no-store. +const ownerDiagnostics = createDiagnosticsService({ + collector: () => discoveryCollector, + watcher: getGjcWatcherHealth, +}); +app.use('/api/settings/diagnostics', createDiagnosticsRouter({ + authMode: AUTH_MODE, + authenticate: authenticateToken, + read: ownerDiagnostics.read, +})); + // Machine pairing carries signed installation identity instead of browser auth. // Every other fleet-management route must first resolve the browser owner. app.use('/api/fleet', (req, res, next) => ( diff --git a/server/modules/diagnostics/README.md b/server/modules/diagnostics/README.md new file mode 100644 index 00000000..8bb72c58 --- /dev/null +++ b/server/modules/diagnostics/README.md @@ -0,0 +1,55 @@ +# Owner diagnostics API + +`GET /api/settings/diagnostics` is a local, display-only settings endpoint. +It runs the existing browser authentication middleware and fleet owner check: +password-authenticated owners, Tailscale `owner`/`local`, or an implicit owner +on a loopback connection in `none` mode. An absent principal returns 401; +an authenticated non-owner returns 403. No client-supplied role, address, +refresh flag, session identity, or revision grants access. Every response, +including authentication rejection and failures, has `Cache-Control: no-store`. +The route is mounted before generic `/api` middleware so rejection responses +also receive that header. `/health` is unchanged. + +The schema is defined in `shared/diagnostics.ts`. One service instance caches +the projected summary for 2 seconds, across callers. Reading or refreshing it +never calls discovery `tick`, `ensureFresh`, `forceRefresh`, filesystem APIs, +tmux, provider processes, watcher lifecycle methods, or action verifiers. It +does not activate idle discovery. It owns no timers or listeners, and performs +no persistence or logging. Provider failures are converted to fixed unavailable +states; an unexpected route-level failure returns 503 `diagnostics_unavailable`. + +Fields are explicitly constructed from existing cached metadata: + +- Collector timer/active/in-flight/disposed state; cached observation age; + age of the last full scan where both lanes succeeded; lane result and + consecutive failure counts. Observation freshness uses 30 seconds; bootstrap + with no observation is `waiting`, never healthy. An observation can be recent + while a lane is failing. Cheap host observations do not reset full-scan age. +- First 1,000 retained discovery rows, counted by lane and stale presence, plus + counts of the seven allowlisted `ProviderConnectionIssue` codes. Truncation is + explicit. These counts describe retained rows, not lifetime failure events. +- Existing GJC watcher failure/degraded/watch-limit signals. The accessor does + not establish watcher liveness, so zero failures is `no_failures_reported`. +- Node's platform `performance.eventLoopUtilization()` cumulative active share + since process start, rounded to four decimals. This is not CPU load, event-loop + delay, or a current latency measure. Sampling creates no histogram or timer. + +Ages are capped at seven days; counters at 1,000,000. Invalid/future observation +times yield unknown age, not fresh health. Summaries include their capture time +and cache TTL. The browser loads once per tab mount and offers a manual refresh; +it does not poll, persist results, or send scans/restarts/agent inputs. Requests +are aborted on unmount or after 10 seconds. English and Korean strings are +provided; other locales use the existing English fallback. + +Never add object spreads of provider objects, raw errors, paths, command argv, +transcripts, socket/pane/process/session identities, labels, credentials, or +tokens to this payload. These diagnostics cannot authorize or identify an action +target. Recovery guidance preserves exact-identity checks and points users to +verified terminal attach or their existing terminal when binding is uncertain. + +Focused checks use the existing test runner's `runTests` with +`server/tsconfig.json` for this module's tests and +`providers/tests/discovery-collector.service.test.ts`, and `tsconfig.json` for +`DiagnosticsSettingsTab.test.tsx` and `DiagnosticsSettingsTab.mounted.test.tsx`. +Parent coordination owns full verification, +desktop/mobile browser evidence, and release/PR lifecycle. diff --git a/server/modules/diagnostics/diagnostics.routes.test.ts b/server/modules/diagnostics/diagnostics.routes.test.ts new file mode 100644 index 00000000..8b594780 --- /dev/null +++ b/server/modules/diagnostics/diagnostics.routes.test.ts @@ -0,0 +1,112 @@ +import assert from 'node:assert/strict'; +import { createServer } from 'node:http'; +import test from 'node:test'; + +import express from 'express'; +import type { RequestHandler } from 'express'; + +import { createDiagnosticsRouter } from './diagnostics.routes.js'; +import { createDiagnosticsService } from './diagnostics.service.js'; + +async function fixture(options: { + authMode?: 'none' | 'password' | 'tailscale'; + remoteAddress?: string; + fail?: boolean; +} = {}) { + let reads = 0; + const app = express(); + const authenticate: RequestHandler = (request, response, next) => { + if (request.headers['x-test-auth'] === 'rejected') { + response.status(401).json({ error: 'authentication_required' }); + return; + } + if (request.headers['x-test-auth']) { + Object.defineProperty(request, 'user', { value: { + id: 1, tailscaleRole: request.headers['x-test-auth'], + } }); + } + if (options.remoteAddress) Object.defineProperty(request.socket, 'remoteAddress', { value: options.remoteAddress }); + next(); + }; + const service = createDiagnosticsService({ + collector: () => null, watcher: () => null, eventLoopUtilization: () => 0.2, + }); + app.use('/api/settings/diagnostics', createDiagnosticsRouter({ + authMode: options.authMode ?? 'tailscale', authenticate, + read: () => { + reads++; + if (options.fail) throw new Error('PRIVATE_ERROR /home/private/token'); + return service.read(); + }, + })); + const server = createServer(app); + await new Promise((resolve) => server.listen(0, '127.0.0.1', resolve)); + const address = server.address(); + assert.ok(address && typeof address !== 'string'); + return { + url: `http://127.0.0.1:${address.port}/api/settings/diagnostics`, + reads: () => reads, + close: () => new Promise((resolve, reject) => server.close((error) => error ? reject(error) : resolve())), + }; +} + +test('unauthenticated and non-owner reads fail closed with no-store before collecting data', async (context) => { + const subject = await fixture(); + context.after(subject.close); + for (const [role, status] of [['', 401], ['rejected', 401], ['user', 403], ['member', 403]] as const) { + const response = await fetch(`${subject.url}?owner=true&refresh=true`, { + headers: { 'x-test-auth': role, 'x-forwarded-for': '127.0.0.1' }, + }); + assert.equal(response.status, status); + assert.equal(response.headers.get('cache-control'), 'no-store'); + assert.deepEqual(await response.json(), { error: status === 401 ? 'authentication_required' : 'owner_required' }); + } + assert.equal(subject.reads(), 0); +}); + +test('Tailscale owner/local and password principals may read a bounded summary', async (context) => { + for (const authMode of ['tailscale', 'password'] as const) { + const subject = await fixture({ authMode }); + context.after(subject.close); + for (const role of ['owner', 'local']) { + const response = await fetch(subject.url, { headers: { 'x-test-auth': role } }); + assert.equal(response.status, 200); + assert.equal(response.headers.get('cache-control'), 'no-store'); + const body = await response.text(); + assert.equal(JSON.parse(body).schemaVersion, 1); + assert.doesNotMatch(body, /PRIVATE|socketPath|transcriptPaths|providerSessionId|password|token/); + } + } +}); + +test('implicit ownership requires actual loopback and ignores forwarded address claims', async (context) => { + for (const [remoteAddress, status] of [['127.0.0.1', 200], ['::1', 200], ['100.64.0.9', 403]] as const) { + const subject = await fixture({ authMode: 'none', remoteAddress }); + context.after(subject.close); + const response = await fetch(subject.url, { headers: { 'x-test-auth': 'local', 'x-forwarded-for': '127.0.0.1' } }); + assert.equal(response.status, status); + assert.equal(response.headers.get('cache-control'), 'no-store'); + assert.equal(subject.reads(), status === 200 ? 1 : 0); + await response.body?.cancel(); + } +}); + +test('unexpected summary errors return generic 503 without private diagnostics', async (context) => { + const subject = await fixture({ fail: true }); + context.after(subject.close); + const response = await fetch(subject.url, { headers: { 'x-test-auth': 'owner' } }); + assert.equal(response.status, 503); + assert.equal(response.headers.get('cache-control'), 'no-store'); + assert.deepEqual(await response.json(), { error: 'diagnostics_unavailable' }); +}); + +test('there is no mutation or restart API', async (context) => { + const subject = await fixture(); + context.after(subject.close); + for (const method of ['POST', 'PUT', 'DELETE']) { + const response = await fetch(subject.url, { method, headers: { 'x-test-auth': 'owner' } }); + assert.equal(response.status, 404); + await response.body?.cancel(); + } + assert.equal(subject.reads(), 0); +}); diff --git a/server/modules/diagnostics/diagnostics.routes.ts b/server/modules/diagnostics/diagnostics.routes.ts new file mode 100644 index 00000000..d3076009 --- /dev/null +++ b/server/modules/diagnostics/diagnostics.routes.ts @@ -0,0 +1,36 @@ +import express from 'express'; +import type { RequestHandler } from 'express'; + +import { authorizeFleetBrowserRequest } from '@/modules/fleet/index.js'; + +import type { OwnerDiagnostics } from '../../../shared/diagnostics.js'; + +export function createDiagnosticsRouter(dependencies: { + authMode: 'none' | 'password' | 'tailscale'; + authenticate: RequestHandler; + read: () => OwnerDiagnostics; +}): express.Router { + const router = express.Router(); + router.use((_request, response, next) => { + response.set('Cache-Control', 'no-store'); + next(); + }); + router.use(dependencies.authenticate); + router.get('/', (request, response) => { + const owner = authorizeFleetBrowserRequest(request, dependencies.authMode); + if (!('user' in request) || !request.user) { + response.status(401).json({ error: 'authentication_required' }); + return; + } + if (!owner) { + response.status(403).json({ error: 'owner_required' }); + return; + } + try { + response.json(dependencies.read()); + } catch { + response.status(503).json({ error: 'diagnostics_unavailable' }); + } + }); + return router; +} diff --git a/server/modules/diagnostics/diagnostics.service.test.ts b/server/modules/diagnostics/diagnostics.service.test.ts new file mode 100644 index 00000000..a5f59ad0 --- /dev/null +++ b/server/modules/diagnostics/diagnostics.service.test.ts @@ -0,0 +1,181 @@ +import assert from 'node:assert/strict'; +import test from 'node:test'; + +import type { DiscoveryCollector, DiscoveryRow } from '@/modules/providers/index.js'; + +import { + createDiagnosticsService, + DIAGNOSTICS_CACHE_TTL_MS, + DIAGNOSTICS_MAX_AGE_MS, + DIAGNOSTICS_MAX_ROWS, + type DiagnosticsDependencies, +} from './diagnostics.service.js'; + +const PRIVATE = 'PRIVATE_DIAGNOSTIC_SENTINEL'; + +function fixture() { + let now = 100_000; + let reads = 0; + const rows: DiscoveryRow[] = [{ + key: PRIVATE, lane: 'external', tmuxName: PRIVATE, + tmux: { socketPath: PRIVATE, sessionId: PRIVATE, windowId: PRIVATE, paneId: PRIVATE }, + process: { pid: 987654, startedAtMs: 123 }, kind: PRIVATE, + providerSessionId: PRIVATE, cwd: PRIVATE, lastSeenRevision: 1, + presence: 'stale', staleSinceRevision: 1, activity: 'unknown', + connectionIssue: 'transcript_permission_denied', + }]; + const detailed = { + takenAtMs: 99_000 as number | null, + external: { ok: true, sessions: [], rawError: PRIVATE }, + live: { ok: true, sessions: [], transcriptPaths: new Map([[PRIVATE, PRIVATE]]) }, + }; + const state = { + running: true, active: false, scanning: false, disposed: false, + lastFullScanAtMs: 98_000, consecutiveFailures: { external: 0, live: 0 }, + argv: PRIVATE, + }; + const health = { + external: { ok: true, lastOkRevision: 1, consecutiveFailures: 0 }, + live: { ok: true, lastOkRevision: 1, consecutiveFailures: 0 }, + }; + const collector: Pick = { + currentSnapshot: () => { reads++; return { epoch: PRIVATE, revision: 1, takenAtMs: 99_000, rows, health }; }, + currentDetailed: () => detailed, + getState: () => state, + }; + const watcher = { ok: true, degraded: false, consecutiveFailures: 0, enospcObserved: false, token: PRIVATE }; + const dependencies: DiagnosticsDependencies = { + collector: () => collector, watcher: () => watcher, now: () => now, eventLoopUtilization: () => 0.123456, + }; + return { + rows, detailed, state, health, watcher, dependencies, + setNow: (value: number) => { now = value; }, reads: () => reads, + service: createDiagnosticsService(dependencies), + }; +} + +test('cached reads project only allowlisted aggregate fields and bounded platform utilization', () => { + const subject = fixture(); + const data = subject.service.read(); + assert.equal(data.collector.mode, 'idle'); + assert.equal(data.collector.freshness, 'fresh'); + assert.equal(data.collector.scanAgeMs, 1_000); + assert.equal(data.collector.fullScanAgeMs, 2_000); + assert.deepEqual(data.collector.lanes.external, { status: 'ok', consecutiveFailures: 0, rows: 1, staleRows: 1 }); + assert.deepEqual(data.collector.connectionIssues, [{ code: 'transcript_permission_denied', count: 1 }]); + assert.equal(data.gjcWatcher.status, 'no_failures_reported'); + assert.equal(data.eventLoop.utilization, 0.1235); + const json = JSON.stringify(data); + assert.ok(json.length < 2_000); + assert.doesNotMatch(json, /PRIVATE_DIAGNOSTIC_SENTINEL|987654|socketPath|providerSessionId|transcriptPaths|argv|rawError|token|cwd|epoch/); +}); + +test('all callers share a two-second cache without invoking collector mutations', () => { + const subject = fixture(); + const first = subject.service.read(); + subject.state.consecutiveFailures.external = 1; + subject.setNow(100_000 + DIAGNOSTICS_CACHE_TTL_MS - 1); + for (let i = 0; i < 20; i++) assert.equal(subject.service.read(), first); + assert.equal(subject.reads(), 1); + subject.setNow(100_000 + DIAGNOSTICS_CACHE_TTL_MS); + const second = subject.service.read(); + assert.notEqual(second, first); + assert.equal(second.collector.lanes.external.status, 'failing'); + assert.equal(first.collector.lanes.external.consecutiveFailures, 0); + assert.equal(subject.reads(), 2); + subject.setNow(50_000); + assert.notEqual(subject.service.read(), second, 'clock rollback must expire the cache'); +}); + +test('bootstrap, stale observations, failed lanes, and successful full scan ages remain distinct', () => { + const subject = fixture(); + subject.detailed.takenAtMs = null; + assert.equal(subject.service.read().collector.freshness, 'waiting'); + subject.setNow(150_000); + subject.detailed.takenAtMs = 99_000; + subject.detailed.external.ok = false; + subject.state.consecutiveFailures.external = 4; + const failing = subject.service.read().collector; + assert.equal(failing.freshness, 'stale'); + assert.equal(failing.lanes.external.status, 'failing'); + assert.equal(failing.lanes.external.consecutiveFailures, 4); + assert.equal(failing.fullScanAgeMs, 52_000); + subject.health.external.ok = false; + subject.setNow(152_000); + assert.equal(subject.service.read().collector.lanes.external.status, 'degraded'); +}); + +test('unknown reasons are omitted and retained row work and response size stay bounded', () => { + const subject = fixture(); + subject.rows.push({ ...subject.rows[0], connectionIssue: PRIVATE } as unknown as DiscoveryRow); + subject.rows.push(...Array.from({ length: 2_000 }, () => subject.rows[0])); + const data = subject.service.read(); + assert.equal(data.collector.rowsTruncated, true); + assert.equal(data.collector.lanes.external.rows, DIAGNOSTICS_MAX_ROWS); + assert.deepEqual(data.collector.connectionIssues, [{ code: 'transcript_permission_denied', count: DIAGNOSTICS_MAX_ROWS - 1 }]); + assert.doesNotMatch(JSON.stringify(data), new RegExp(PRIVATE)); +}); + +test('source failures remain independent, generic, cached, and silent', () => { + const subject = fixture(); + subject.dependencies.collector = () => { throw new Error(PRIVATE); }; + let calls = 0; + subject.dependencies.watcher = () => { calls++; throw new Error(PRIVATE); }; + subject.dependencies.eventLoopUtilization = () => { throw new Error(PRIVATE); }; + const service = createDiagnosticsService(subject.dependencies); + const data = service.read(); + assert.equal(data.collector.status, 'unavailable'); + assert.equal(data.gjcWatcher.status, 'unavailable'); + assert.equal(data.eventLoop.utilization, null); + assert.equal(service.read(), data); + assert.equal(calls, 1); + assert.doesNotMatch(JSON.stringify(data), new RegExp(PRIVATE)); + subject.dependencies.watcher = () => subject.watcher; + subject.setNow(102_000); + assert.equal(service.read().gjcWatcher.status, 'no_failures_reported'); +}); + +test('watcher degradation and watch limits are reported without claiming liveness', () => { + const subject = fixture(); + subject.watcher.ok = false; + subject.watcher.consecutiveFailures = 3; + assert.equal(subject.service.read().gjcWatcher.status, 'retrying'); + subject.watcher.degraded = true; + subject.watcher.enospcObserved = true; + subject.watcher.consecutiveFailures = 9_999_999; + subject.setNow(102_000); + assert.deepEqual(subject.service.read().gjcWatcher, { + status: 'degraded', consecutiveFailures: 1_000_000, watchLimitObserved: true, + }); +}); + +test('invalid numeric signals are unavailable and observation ages are capped', () => { + for (const timestamp of [NaN, Infinity, -1, 100_001]) { + const subject = fixture(); + subject.detailed.takenAtMs = timestamp; + subject.state.consecutiveFailures.external = NaN; + subject.dependencies.eventLoopUtilization = () => Infinity; + const data = createDiagnosticsService(subject.dependencies).read(); + assert.equal(data.collector.scanAgeMs, null); + assert.equal(data.collector.freshness, 'unavailable'); + assert.equal(data.collector.lanes.external.consecutiveFailures, 0); + assert.equal(data.eventLoop.utilization, null); + } + const subject = fixture(); + subject.setNow(DIAGNOSTICS_MAX_AGE_MS * 2); + assert.equal(subject.service.read().collector.scanAgeMs, DIAGNOSTICS_MAX_AGE_MS); +}); + +test('missing collector accessors remain unknown and stopped/disposed state is explicit', () => { + const subject = fixture(); + subject.state.running = false; + assert.equal(subject.service.read().collector.mode, 'stopped'); + subject.state.disposed = true; + subject.setNow(102_000); + assert.equal(subject.service.read().collector.mode, 'disposed'); + const collector = subject.dependencies.collector(); + assert.ok(collector); + delete collector.getState; + subject.setNow(104_000); + assert.equal(subject.service.read().collector.mode, 'unknown'); +}); diff --git a/server/modules/diagnostics/diagnostics.service.ts b/server/modules/diagnostics/diagnostics.service.ts new file mode 100644 index 00000000..28ecfcd1 --- /dev/null +++ b/server/modules/diagnostics/diagnostics.service.ts @@ -0,0 +1,128 @@ +import { performance } from 'node:perf_hooks'; + +import type { DiscoveryCollector, GjcWatcherHealth } from '@/modules/providers/index.js'; + +import type { DiagnosticsLane, OwnerDiagnostics } from '../../../shared/diagnostics.js'; +import { PROVIDER_CONNECTION_ISSUE_CODES } from '../../../shared/provider-connection.js'; + +export const DIAGNOSTICS_CACHE_TTL_MS = 2_000; +export const DIAGNOSTICS_STALE_AFTER_MS = 30_000; +export const DIAGNOSTICS_MAX_ROWS = 1_000; +export const DIAGNOSTICS_MAX_AGE_MS = 7 * 24 * 60 * 60_000; +const MAX_COUNT = 1_000_000; + +type CachedCollector = Pick; +export type DiagnosticsDependencies = { + collector: () => CachedCollector | null | undefined; + watcher: () => GjcWatcherHealth | null | undefined; + now?: () => number; + eventLoopUtilization?: () => number; +}; + +function count(value: number): number { + return Number.isFinite(value) ? Math.min(MAX_COUNT, Math.max(0, Math.floor(value))) : 0; +} + +function age(now: number, takenAt: number | null | undefined): number | null { + if (typeof takenAt !== 'number' || !Number.isFinite(takenAt) || takenAt < 0 || takenAt > now) return null; + return Math.min(DIAGNOSTICS_MAX_AGE_MS, Math.floor(now - takenAt)); +} + +function waitingLane(): DiagnosticsLane { + return { status: 'waiting', consecutiveFailures: 0, rows: 0, staleRows: 0 }; +} + +function unavailableCollector(): OwnerDiagnostics['collector'] { + return { + status: 'unavailable', mode: 'unknown', scanning: false, freshness: 'unavailable', + scanAgeMs: null, fullScanAgeMs: null, staleAfterMs: DIAGNOSTICS_STALE_AFTER_MS, + rowsTruncated: false, lanes: { external: waitingLane(), live: waitingLane() }, connectionIssues: [], + }; +} + +function summarizeCollector(collector: CachedCollector | null | undefined, now: number): OwnerDiagnostics['collector'] { + if (!collector) return unavailableCollector(); + // These methods only return existing metadata. Do not use ensureFresh/tick here. + const snapshot = collector.currentSnapshot(); + const detailed = collector.currentDetailed(); + const state = collector.getState?.(); + const scanAgeMs = age(now, detailed.takenAtMs); + const lanes = { external: waitingLane(), live: waitingLane() }; + for (const lane of ['external', 'live'] as const) { + const failures = count(state?.consecutiveFailures[lane] ?? snapshot.health[lane].consecutiveFailures); + lanes[lane].consecutiveFailures = failures; + lanes[lane].status = detailed[lane] === null ? 'waiting' + : !snapshot.health[lane].ok ? 'degraded' + : detailed[lane].ok === false || failures > 0 ? 'failing' : 'ok'; + } + const issueCounts = new Map(); + for (const row of snapshot.rows.slice(0, DIAGNOSTICS_MAX_ROWS)) { + if (row.lane !== 'external' && row.lane !== 'live') continue; + lanes[row.lane].rows += 1; + if (row.presence === 'stale') lanes[row.lane].staleRows += 1; + if (typeof row.connectionIssue === 'string') { + // Only fixed, known reason codes survive the projection below. + if (PROVIDER_CONNECTION_ISSUE_CODES.some((code) => code === row.connectionIssue)) { + issueCounts.set(row.connectionIssue, (issueCounts.get(row.connectionIssue) ?? 0) + 1); + } + } + } + return { + status: 'available', + mode: !state ? 'unknown' : state.disposed ? 'disposed' : !state.running ? 'stopped' : state.active ? 'active' : 'idle', + scanning: state?.scanning === true, + freshness: detailed.takenAtMs === null ? 'waiting' + : scanAgeMs === null ? 'unavailable' : scanAgeMs > DIAGNOSTICS_STALE_AFTER_MS ? 'stale' : 'fresh', + scanAgeMs, + fullScanAgeMs: age(now, state?.lastFullScanAtMs), + staleAfterMs: DIAGNOSTICS_STALE_AFTER_MS, + rowsTruncated: snapshot.rows.length > DIAGNOSTICS_MAX_ROWS, + lanes, + connectionIssues: PROVIDER_CONNECTION_ISSUE_CODES.flatMap((code) => { + const total = issueCounts.get(code) ?? 0; + return total > 0 ? [{ code, count: total }] : []; + }), + }; +} + +/** A bounded in-memory view. Owns no timers, listeners, subprocesses, or I/O. */ +export function createDiagnosticsService(dependencies: DiagnosticsDependencies) { + const now = dependencies.now ?? Date.now; + const utilization = dependencies.eventLoopUtilization ?? (() => performance.eventLoopUtilization().utilization); + let cached: OwnerDiagnostics | undefined; + let cachedAt = 0; + return { + read(): OwnerDiagnostics { + const sampledAt = now(); + if (cached && sampledAt >= cachedAt && sampledAt - cachedAt < DIAGNOSTICS_CACHE_TTL_MS) return cached; + let collector = unavailableCollector(); + let gjcWatcher: OwnerDiagnostics['gjcWatcher'] = { + status: 'unavailable', consecutiveFailures: 0, watchLimitObserved: false, + }; + let eventLoopUtilization: number | null = null; + // One broken source must not hide the remaining recovery signals. Never + // serialize/log exception text: providers may include paths or secrets. + try { collector = summarizeCollector(dependencies.collector(), sampledAt); } catch { /* unavailable */ } + try { + const watcher = dependencies.watcher(); + if (watcher) gjcWatcher = { + status: watcher.degraded === true ? 'degraded' + : watcher.ok === false || watcher.consecutiveFailures > 0 ? 'retrying' : 'no_failures_reported', + consecutiveFailures: count(watcher.consecutiveFailures), + watchLimitObserved: watcher.enospcObserved === true, + }; + } catch { /* unavailable */ } + try { + const value = utilization(); + if (Number.isFinite(value) && value >= 0 && value <= 1) eventLoopUtilization = Math.round(value * 10_000) / 10_000; + } catch { /* unavailable */ } + cachedAt = sampledAt; + cached = { + schemaVersion: 1, generatedAtMs: Math.max(0, Math.min(Number.MAX_SAFE_INTEGER, Math.floor(sampledAt))), + cacheTtlMs: DIAGNOSTICS_CACHE_TTL_MS, collector, gjcWatcher, + eventLoop: { utilization: eventLoopUtilization }, + }; + return cached; + }, + }; +} diff --git a/server/modules/diagnostics/index.ts b/server/modules/diagnostics/index.ts new file mode 100644 index 00000000..6b54dd8a --- /dev/null +++ b/server/modules/diagnostics/index.ts @@ -0,0 +1,2 @@ +export { createDiagnosticsRouter } from './diagnostics.routes.js'; +export { createDiagnosticsService } from './diagnostics.service.js'; diff --git a/server/modules/providers/index.ts b/server/modules/providers/index.ts index 7e44f0c0..c84a83e5 100644 --- a/server/modules/providers/index.ts +++ b/server/modules/providers/index.ts @@ -12,6 +12,7 @@ export { cursorCliCommandOrDefault } from './list/cursor/cursor-cli-command.js'; export { initializeSessionsWatcher } from './services/sessions-watcher.service.js'; export { closeSessionsWatcher } from './services/sessions-watcher.service.js'; +export { getGjcWatcherHealth, type GjcWatcherHealth } from './services/sessions-watcher.service.js'; export { onTranscriptChanged, transcriptChangeVersion, diff --git a/server/modules/providers/services/discovery-collector.service.ts b/server/modules/providers/services/discovery-collector.service.ts index 7b04c120..300c79f4 100644 --- a/server/modules/providers/services/discovery-collector.service.ts +++ b/server/modules/providers/services/discovery-collector.service.ts @@ -109,6 +109,15 @@ export type DiscoveryCollector = { ensureFresh(maxAgeMs: number, forceFull?: boolean): Promise; currentSnapshot(): DiscoverySnapshot; currentDetailed(): DiscoveryDetailedSnapshot; + /** Read-only operational metadata; never starts or refreshes discovery. */ + getState?(): Readonly<{ + running: boolean; + active: boolean; + scanning: boolean; + disposed: boolean; + lastFullScanAtMs: number | null; + consecutiveFailures: Readonly>; + }>; onSnapshot(listener: (snapshot: DiscoverySnapshot) => void): () => void; }; @@ -531,6 +540,17 @@ export function createDiscoveryCollector(options: DiscoveryCollectorOptions = {} }, currentSnapshot: () => snapshot, currentDetailed: () => detailed, + getState: () => ({ + running: timer !== null, + active, + scanning: currentTick !== null, + disposed, + lastFullScanAtMs, + consecutiveFailures: { + external: laneState.external.failures, + live: laneState.live.failures, + }, + }), onSnapshot(listener) { listeners.add(listener); return () => listeners.delete(listener); diff --git a/server/modules/providers/tests/discovery-collector.service.test.ts b/server/modules/providers/tests/discovery-collector.service.test.ts index 77e45785..487f9940 100644 --- a/server/modules/providers/tests/discovery-collector.service.test.ts +++ b/server/modules/providers/tests/discovery-collector.service.test.ts @@ -46,6 +46,52 @@ function scans() { }; } +test('operational state reads are inert and expose pre-degradation failures and lifecycle', async () => { + let scansStarted = 0; + let release: (() => void) | undefined; + const timers = new Set>(); + const collector = createDiscoveryCollector({ + scanExternal: async () => { + scansStarted++; + await new Promise((resolve) => { release = resolve; }); + return { ok: false, sessions: [] }; + }, + scanLive: async () => ({ ok: true, sessions: [] }), + setTimer: () => { + const timer = { fake: true } as unknown as ReturnType; + timers.add(timer); + return timer; + }, + clearTimer: (timer) => { timers.delete(timer); }, + }); + assert.ok(collector.getState); + for (let i = 0; i < 10; i++) assert.equal(collector.getState().running, false); + assert.equal(scansStarted, 0); + assert.equal(timers.size, 0); + collector.start(); + collector.setActive(true); + assert.equal(collector.getState().running, true); + assert.equal(collector.getState().active, true); + assert.equal(scansStarted, 0); + const pending = collector.tick(); + assert.equal(collector.getState().scanning, true); + assert.ok(release); + release(); + await pending; + assert.equal(collector.getState().scanning, false); + assert.equal(collector.getState().consecutiveFailures.external, 1); + assert.equal(collector.currentSnapshot().health.external.consecutiveFailures, 0); + assert.equal(collector.getState().lastFullScanAtMs, null); + const detached = collector.getState(); + Object.assign(detached.consecutiveFailures, { external: 999 }); + assert.equal(collector.getState().consecutiveFailures.external, 1); + collector.dispose(); + assert.equal(collector.getState().disposed, true); + assert.equal(collector.getState().running, false); + assert.equal(timers.size, 0); + assert.equal(scansStarted, 1); +}); + test('discovery collector only advances revision for a changed snapshot', async () => { const state = scans(); await state.collector.tick(); diff --git a/shared/diagnostics.ts b/shared/diagnostics.ts new file mode 100644 index 00000000..24967220 --- /dev/null +++ b/shared/diagnostics.ts @@ -0,0 +1,37 @@ +import type { ProviderConnectionIssue } from './provider-connection.js'; + +/** Display-only aggregates. No session, pane, process, or action identities. */ +export type DiagnosticsLane = { + status: 'waiting' | 'ok' | 'failing' | 'degraded'; + consecutiveFailures: number; + rows: number; + staleRows: number; +}; + +export type OwnerDiagnostics = { + schemaVersion: 1; + generatedAtMs: number; + cacheTtlMs: number; + collector: { + status: 'available' | 'unavailable'; + mode: 'active' | 'idle' | 'stopped' | 'disposed' | 'unknown'; + scanning: boolean; + freshness: 'waiting' | 'fresh' | 'stale' | 'unavailable'; + scanAgeMs: number | null; + fullScanAgeMs: number | null; + staleAfterMs: number; + rowsTruncated: boolean; + lanes: Record<'external' | 'live', DiagnosticsLane>; + connectionIssues: { code: ProviderConnectionIssue; count: number }[]; + }; + gjcWatcher: { + /** The existing getter reports failures, not proof of a running watcher. */ + status: 'no_failures_reported' | 'retrying' | 'degraded' | 'unavailable'; + consecutiveFailures: number; + watchLimitObserved: boolean; + }; + eventLoop: { + /** Cumulative since process start; not CPU usage or a latency measurement. */ + utilization: number | null; + }; +}; diff --git a/src/components/settings/hooks/useSettingsController.ts b/src/components/settings/hooks/useSettingsController.ts index 106e93d4..9ad23d45 100644 --- a/src/components/settings/hooks/useSettingsController.ts +++ b/src/components/settings/hooks/useSettingsController.ts @@ -58,7 +58,7 @@ type NotificationPreferencesResponse = { type ActiveLoginProvider = AgentProvider | ''; -const KNOWN_MAIN_TABS: SettingsMainTab[] = ['agents', 'appearance', 'access']; +const KNOWN_MAIN_TABS: SettingsMainTab[] = ['agents', 'appearance', 'access', 'diagnostics']; const normalizeMainTab = (tab: string): SettingsMainTab => { // Keep backwards compatibility with older callers that still pass "tools". diff --git a/src/components/settings/types/types.ts b/src/components/settings/types/types.ts index b5c948a6..549a4bf9 100644 --- a/src/components/settings/types/types.ts +++ b/src/components/settings/types/types.ts @@ -4,7 +4,7 @@ import type { LLMProvider } from '../../../types/app'; import type { ProviderAuthStatus } from '../../provider-auth/types'; import type { InterfaceFontSize } from '../../../utils/interfaceFontSize'; -export type SettingsMainTab = 'agents' | 'appearance' | 'access' | 'fleet'; +export type SettingsMainTab = 'agents' | 'appearance' | 'access' | 'fleet' | 'diagnostics'; export type AgentProvider = LLMProvider; export type AgentCategory = 'account' | 'permissions'; export type ProjectSortOrder = 'name' | 'date'; diff --git a/src/components/settings/view/Settings.tsx b/src/components/settings/view/Settings.tsx index 4c816107..5b22bb05 100644 --- a/src/components/settings/view/Settings.tsx +++ b/src/components/settings/view/Settings.tsx @@ -9,6 +9,7 @@ import AgentsSettingsTab from '../view/tabs/agents-settings/AgentsSettingsTab'; import AppearanceSettingsTab from '../view/tabs/AppearanceSettingsTab'; import AccessSettingsTab from '../view/tabs/AccessSettingsTab'; import { FleetSettingsTab } from '../view/tabs/FleetSettingsTab'; +import DiagnosticsSettingsTab from '../view/tabs/DiagnosticsSettingsTab'; import { useAuth } from '../../auth'; import { isFleetOwner } from '../fleet/fleetOwner'; import { useSettingsController } from '../hooks/useSettingsController'; @@ -77,7 +78,7 @@ function Settings({ isOpen, onClose, projects = [], initialTab = 'agents' }: Set }, [fleetOwner, initialTab, isOpen, setActiveTab]); useEffect(() => { - if (!fleetOwner && activeTab === 'fleet') setActiveTab('appearance'); + if (!fleetOwner && (activeTab === 'fleet' || activeTab === 'diagnostics')) setActiveTab('appearance'); }, [activeTab, fleetOwner, setActiveTab]); useEffect(() => { @@ -165,6 +166,7 @@ function Settings({ isOpen, onClose, projects = [], initialTab = 'agents' }: Set {activeTab === 'access' && } {activeTab === 'fleet' && fleetOwner && } + {activeTab === 'diagnostics' && fleetOwner && } diff --git a/src/components/settings/view/SettingsSidebar.tsx b/src/components/settings/view/SettingsSidebar.tsx index 798a323d..15af1d91 100644 --- a/src/components/settings/view/SettingsSidebar.tsx +++ b/src/components/settings/view/SettingsSidebar.tsx @@ -1,4 +1,4 @@ -import { Bot, Network, Palette, ShieldCheck } from 'lucide-react'; +import { Activity, Bot, Network, Palette, ShieldCheck } from 'lucide-react'; import { useTranslation } from 'react-i18next'; import { cn } from '../../../lib/utils'; @@ -22,11 +22,12 @@ const NAV_ITEMS: NavItem[] = [ { id: 'appearance', labelKey: 'mainTabs.appearance', icon: Palette }, { id: 'access', labelKey: 'mainTabs.access', icon: ShieldCheck }, { id: 'fleet', labelKey: 'mainTabs.fleet', icon: Network }, + { id: 'diagnostics', labelKey: 'diagnostics.title', icon: Activity }, ]; export default function SettingsSidebar({ activeTab, onChange, fleetOwner }: SettingsSidebarProps) { const { t } = useTranslation('settings'); - const items = fleetOwner ? NAV_ITEMS : NAV_ITEMS.filter((item) => item.id !== 'fleet'); + const items = fleetOwner ? NAV_ITEMS : NAV_ITEMS.filter((item) => item.id !== 'fleet' && item.id !== 'diagnostics'); return ( <> diff --git a/src/components/settings/view/tabs/DiagnosticsSettingsTab.mounted.test.tsx b/src/components/settings/view/tabs/DiagnosticsSettingsTab.mounted.test.tsx new file mode 100644 index 00000000..50a39fa0 --- /dev/null +++ b/src/components/settings/view/tabs/DiagnosticsSettingsTab.mounted.test.tsx @@ -0,0 +1,64 @@ +import assert from 'node:assert/strict'; +import test from 'node:test'; + +import { I18nextProvider } from 'react-i18next'; +import TestRenderer, { act } from 'react-test-renderer'; + +import DiagnosticsSettingsTab from './DiagnosticsSettingsTab'; +import { i18n, summary } from './diagnostics.testSupport'; + +test('mounted settings loads once, refreshes only the cached GET, and clears data on owner denial', async (context) => { + const calls: { url: string; options?: RequestInit }[] = []; + let response = new Response(JSON.stringify(summary())); + context.mock.method(globalThis, 'fetch', async (url: string, options?: RequestInit) => { + calls.push({ url, options }); + return response; + }); + let tree: TestRenderer.ReactTestRenderer; + await act(async () => { tree = TestRenderer.create(); }); + context.after(() => { act(() => tree.unmount()); }); + assert.equal(calls.length, 1); + assert.equal(calls[0].url, '/api/settings/diagnostics'); + assert.equal(calls[0].options?.cache, 'no-store'); + assert.equal(calls[0].options?.credentials, 'same-origin'); + assert.equal(calls[0].options?.method, undefined); + assert.match(JSON.stringify(tree!.toJSON()), /4 cached rows/); + response = new Response('PRIVATE_ERROR token', { status: 403 }); + await act(async () => { tree.root.findByType('button').props.onClick(); }); + assert.equal(calls.length, 2); + assert.match(JSON.stringify(tree!.toJSON()), /Sign in as this server/); + assert.doesNotMatch(JSON.stringify(tree!.toJSON()), /4 cached rows|PRIVATE_ERROR/); +}); + +test('network and unsupported response failures are generic and refresh can recover', async (context) => { + let mode: 'failure' | 'unsupported' | 'success' = 'failure'; + context.mock.method(globalThis, 'fetch', async () => { + if (mode === 'failure') throw new Error('PRIVATE_ERROR /home/secret token'); + return new Response(JSON.stringify(mode === 'unsupported' ? { schemaVersion: 2 } : summary())); + }); + let tree: TestRenderer.ReactTestRenderer; + await act(async () => { tree = TestRenderer.create(); }); + context.after(() => { act(() => tree.unmount()); }); + for (const next of ['unsupported', 'success'] as const) { + assert.match(JSON.stringify(tree!.toJSON()), /Diagnostics could not be read/); + assert.doesNotMatch(JSON.stringify(tree!.toJSON()), /PRIVATE_ERROR|\/home\/secret/); + mode = next; + await act(async () => { tree.root.findByType('button').props.onClick(); }); + } + assert.match(JSON.stringify(tree!.toJSON()), /4 cached rows/); + assert.doesNotMatch(JSON.stringify(tree!.toJSON()), /Diagnostics could not be read/); +}); + +test('loading disables refresh and closing settings aborts the pending request', async (context) => { + let signal: AbortSignal | undefined; + context.mock.method(globalThis, 'fetch', (_url: string, options: RequestInit) => new Promise((_resolve, reject) => { + signal = options.signal ?? undefined; + signal?.addEventListener('abort', () => reject(new Error('aborted')), { once: true }); + })); + let tree: TestRenderer.ReactTestRenderer; + await act(async () => { tree = TestRenderer.create(); }); + assert.equal(tree!.root.findByType('button').props.disabled, true); + assert.equal(tree!.root.findAllByProps({ role: 'status' }).length, 1); + await act(async () => { tree.unmount(); }); + assert.equal(signal?.aborted, true); +}); diff --git a/src/components/settings/view/tabs/DiagnosticsSettingsTab.test.tsx b/src/components/settings/view/tabs/DiagnosticsSettingsTab.test.tsx new file mode 100644 index 00000000..5d2cbc4c --- /dev/null +++ b/src/components/settings/view/tabs/DiagnosticsSettingsTab.test.tsx @@ -0,0 +1,82 @@ +import assert from 'node:assert/strict'; +import test from 'node:test'; + +import { I18nextProvider } from 'react-i18next'; +import { renderToStaticMarkup } from 'react-dom/server'; + +import type { OwnerDiagnostics } from '../../../../../shared/diagnostics'; +import enSettings from '../../../../i18n/locales/en/settings.json'; +import SettingsSidebar from '../SettingsSidebar'; + +import { DiagnosticsSummary } from './DiagnosticsSettingsTab'; +import { i18n, summary } from './diagnostics.testSupport'; + +function renderSummary(data: OwnerDiagnostics) { + return renderToStaticMarkup(); +} + +test('normal summary renders sample age, both lanes, liveness limits, and terminal guidance', () => { + const html = renderSummary(summary()); + for (const text of [ + 'Summary captured at', 'External CLI sessions', 'Live GJC sessions', + '4 cached rows', '1 marked stale', '25%', 'No failures reported', + 'does not prove that the watcher is running', 'verified terminal attach', + ]) assert.ok(html.includes(text), text); + assert.ok(html.includes('grid-cols-1') && html.includes('sm:grid-cols-2'), 'single-column cards on small screens'); + assert.doesNotMatch(html, /diagnostics\.(?:recovery|lanes|watcherStates|modes)/); +}); + +test('degraded discovery, retained reasons, and watch limits render useful recovery without action controls', () => { + const data = summary(); + data.collector.freshness = 'stale'; + data.collector.lanes.external = { status: 'failing', consecutiveFailures: 3, rows: 4, staleRows: 1 }; + data.collector.rowsTruncated = true; + data.collector.connectionIssues = [{ code: 'transcript_ambiguous', count: 2 }]; + data.gjcWatcher = { status: 'degraded', consecutiveFailures: 20, watchLimitObserved: true }; + const html = renderSummary(data); + for (const text of ['Older than 30 seconds', '3 consecutive failures', 'chatmux status', 'Transcript is ambiguous (2)', 'inotify', 'first 1,000']) { + assert.ok(html.includes(text), text); + } + assert.doesNotMatch(html, / + {loading &&

{t('diagnostics.loading')}

} + + {error &&

{t(`diagnostics.errors.${error}`)}

} + {data && } + + ); +} diff --git a/src/components/settings/view/tabs/diagnostics.testSupport.ts b/src/components/settings/view/tabs/diagnostics.testSupport.ts new file mode 100644 index 00000000..26544bf1 --- /dev/null +++ b/src/components/settings/view/tabs/diagnostics.testSupport.ts @@ -0,0 +1,29 @@ +import i18next from 'i18next'; + +import type { OwnerDiagnostics } from '../../../../../shared/diagnostics'; +import enSettings from '../../../../i18n/locales/en/settings.json'; +import koSettings from '../../../../i18n/locales/ko/settings.json'; + +export const i18n = i18next.createInstance(); +await i18n.init({ + lng: 'en', fallbackLng: 'en', + resources: { en: { settings: enSettings }, ko: { settings: koSettings } }, + interpolation: { escapeValue: false }, +}); + +export function summary(): OwnerDiagnostics { + return { + schemaVersion: 1, generatedAtMs: 100_000, cacheTtlMs: 2_000, + collector: { + status: 'available', mode: 'active', scanning: false, freshness: 'fresh', + scanAgeMs: 1_000, fullScanAgeMs: 8_000, staleAfterMs: 30_000, rowsTruncated: false, + lanes: { + external: { status: 'ok', consecutiveFailures: 0, rows: 4, staleRows: 1 }, + live: { status: 'ok', consecutiveFailures: 0, rows: 2, staleRows: 0 }, + }, + connectionIssues: [], + }, + gjcWatcher: { status: 'no_failures_reported', consecutiveFailures: 0, watchLimitObserved: false }, + eventLoop: { utilization: 0.25 }, + }; +} diff --git a/src/i18n/locales/en/settings.json b/src/i18n/locales/en/settings.json index 9a547e06..16d3c072 100644 --- a/src/i18n/locales/en/settings.json +++ b/src/i18n/locales/en/settings.json @@ -1,4 +1,100 @@ { + "diagnostics": { + "title": "Diagnostics", + "description": "Cached diagnostics for this ChatMux server. Refresh reads the summary cache (up to 2 seconds old) without starting a scan or changing running sessions.", + "refresh": "Refresh summary", + "loading": "Loading diagnostics…", + "unknown": "Unavailable", + "sampledAt": "Summary captured at {{time}}. Ages below are measured at that time.", + "seconds_one": "{{count}} second", + "seconds_other": "{{count}} seconds", + "discovery": "Session discovery", + "freshness": "Latest discovery observation", + "mode": "Collector mode", + "scanAge": "Observation age", + "fullScanAge": "Last successful full scan age", + "scanning": "Discovery is currently in progress.", + "freshnessStates": { + "waiting": "No observation yet", + "fresh": "Recent (within 30 seconds)", + "stale": "Older than 30 seconds", + "unavailable": "Unavailable" + }, + "modes": { + "active": "Active", + "idle": "Idle", + "stopped": "Stopped", + "disposed": "Disposed", + "unknown": "Unavailable" + }, + "lanes": { + "external": "External CLI sessions", + "live": "Live GJC sessions" + }, + "laneStates": { + "waiting": "No scan result yet", + "ok": "Last scan succeeded", + "failing": "Scan failures observed", + "degraded": "Discovery degraded" + }, + "rowCounts": "{{rows}} cached rows · {{stale}} marked stale", + "failures_one": "{{count}} consecutive failure", + "failures_other": "{{count}} consecutive failures", + "truncated": "Counts cover the first 1,000 cached rows. Larger inventories are truncated.", + "connectionIssues": "Connection reasons", + "issueDescription": "Counts describe retained cached rows, including stale rows. No session names or paths are included.", + "watcher": "GJC transcript watcher", + "watcherDescription": "Failure signals from the existing watcher. No reported failures does not prove that the watcher is running.", + "watcherStates": { + "no_failures_reported": "No failures reported", + "retrying": "Failures reported; retry backoff", + "degraded": "Degraded; slow retry backoff", + "unavailable": "Watcher status unavailable" + }, + "eventLoop": "Server event loop utilization", + "eventLoopDescription": "Cumulative active share since server start. This is neither CPU usage nor a measurement of current response latency.", + "errors": { + "owner": "Sign in as this server’s owner to view diagnostics. For local-only access, open ChatMux on the server itself.", + "unavailable": "Diagnostics could not be read. Check your connection and refresh the summary. If this continues, run chatmux status on this server." + }, + "recovery": { + "waiting": "Open the session list to use normal discovery, then return here and refresh the summary. An unused collector may have no observation yet.", + "discovery": "Check whether the session list reconnects, then refresh this summary. If discovery remains stale or fails, run chatmux status on this server and inspect its local service logs. Keep existing tmux work running.", + "watchLimit": "The watcher reported a system watch limit. Ask the host administrator to review inotify watch and instance limits and other watcher processes. Repeated restarts do not resolve an exhausted limit.", + "watcher": "Check the GJC installation and ChatMux service logs locally. The watcher owns its retry schedule; this screen does not restart it. Existing tmux sessions can keep running.", + "terminal": "When a transcript cannot be verified, use ChatMux’s verified terminal attach. If attach is refused, use your existing terminal and check the exact tmux pane before typing." + }, + "reasons": { + "agent_user_mismatch": { + "title": "Agent user differs", + "guidance": "Check that ChatMux and the agent run as the intended OS user. Use the agent’s existing terminal until that identity can be verified." + }, + "agent_home_mismatch": { + "title": "Agent home differs", + "guidance": "Check the service account and home configuration against the agent’s environment. Do not copy credentials or transcripts into another account to bypass the mismatch." + }, + "agent_context_unreadable": { + "title": "Agent context unreadable", + "guidance": "Review process visibility and permissions on the host. Keep the session in its existing terminal while identity evidence is unavailable." + }, + "tmux_socket_owner_mismatch": { + "title": "tmux owner differs", + "guidance": "Check the account that owns the tmux server. Connect with the intended account instead of relaxing socket permissions." + }, + "tmux_pane_ambiguous": { + "title": "tmux pane is ambiguous", + "guidance": "Inspect the intended pane in your existing terminal. A matching working directory alone cannot select a safe target." + }, + "transcript_ambiguous": { + "title": "Transcript is ambiguous", + "guidance": "Use verified terminal attach while the provider session association is uncertain. Do not select a transcript based only on its directory." + }, + "transcript_permission_denied": { + "title": "Transcript access denied", + "guidance": "Review the intended service account’s access to the provider store locally. Use verified terminal attach without making private transcripts broadly readable." + } + } + }, "title": "Settings", "tabs": { "account": "Account", diff --git a/src/i18n/locales/ko/settings.json b/src/i18n/locales/ko/settings.json index 23a0f107..1ca656ed 100644 --- a/src/i18n/locales/ko/settings.json +++ b/src/i18n/locales/ko/settings.json @@ -1,4 +1,98 @@ { + "diagnostics": { + "title": "진단", + "description": "현재 ChatMux 서버의 캐시된 진단 정보입니다. 새로고침은 최대 2초 된 요약 캐시를 읽으며, 스캔을 시작하거나 실행 중인 세션을 변경하지 않습니다.", + "refresh": "요약 새로고침", + "loading": "진단 정보 불러오는 중…", + "unknown": "확인 불가", + "sampledAt": "{{time}}에 수집한 요약입니다. 아래 경과 시간은 수집 시점 기준입니다.", + "seconds_other": "{{count}}초", + "discovery": "세션 탐색", + "freshness": "최근 탐색 관측", + "mode": "수집기 모드", + "scanAge": "관측 후 경과 시간", + "fullScanAge": "마지막 전체 스캔 성공 후 경과 시간", + "scanning": "탐색이 진행 중입니다.", + "freshnessStates": { + "waiting": "아직 관측 없음", + "fresh": "최근 30초 이내", + "stale": "30초 이상 경과", + "unavailable": "확인 불가" + }, + "modes": { + "active": "활성", + "idle": "유휴", + "stopped": "중지", + "disposed": "종료됨", + "unknown": "확인 불가" + }, + "lanes": { + "external": "외부 CLI 세션", + "live": "실시간 GJC 세션" + }, + "laneStates": { + "waiting": "아직 스캔 결과 없음", + "ok": "마지막 스캔 성공", + "failing": "스캔 실패 감지", + "degraded": "탐색 기능 저하" + }, + "rowCounts": "캐시된 항목 {{rows}}개 · 오래된 항목 {{stale}}개", + "failures_other": "연속 실패 {{count}}회", + "truncated": "개수는 캐시의 처음 1,000개 항목 기준입니다. 나머지 항목은 집계에서 제외됩니다.", + "connectionIssues": "연결 문제 원인", + "issueDescription": "오래된 항목을 포함한 캐시 기준 개수입니다. 세션 이름이나 경로는 포함하지 않습니다.", + "watcher": "GJC 대화 기록 감시", + "watcherDescription": "기존 감시기가 보고한 실패 정보입니다. 실패 보고가 없어도 감시기의 실행 여부를 보장하지는 않습니다.", + "watcherStates": { + "no_failures_reported": "보고된 실패 없음", + "retrying": "실패 보고됨 · 재시도 대기", + "degraded": "기능 저하 · 긴 간격으로 재시도", + "unavailable": "감시 상태 확인 불가" + }, + "eventLoop": "서버 이벤트 루프 사용률", + "eventLoopDescription": "서버 시작 이후 누적 활성 비율입니다. CPU 사용률이나 현재 응답 지연을 뜻하지 않습니다.", + "errors": { + "owner": "이 서버의 소유자로 로그인해야 진단을 볼 수 있습니다. 로컬 전용 접근은 서버에서 직접 ChatMux를 여세요.", + "unavailable": "진단 정보를 읽지 못했습니다. 연결 상태를 확인하고 요약을 새로고침하세요. 계속되면 해당 서버에서 chatmux status를 실행하세요." + }, + "recovery": { + "waiting": "세션 목록을 열어 일반 탐색을 사용한 뒤 돌아와 요약을 새로고침하세요. 아직 사용하지 않은 수집기에는 관측 정보가 없을 수 있습니다.", + "discovery": "세션 목록이 다시 연결되는지 확인한 뒤 요약을 새로고침하세요. 탐색 지연이나 실패가 계속되면 서버에서 chatmux status와 로컬 서비스 로그를 확인하세요. 기존 tmux 작업은 유지하세요.", + "watchLimit": "감시기가 시스템 감시 한도 문제를 보고했습니다. 호스트 관리자에게 inotify 감시 수·인스턴스 한도와 다른 감시 프로세스를 확인하도록 요청하세요. 반복 재시작으로 한도 소진이 해결되지는 않습니다.", + "watcher": "서버에서 GJC 설치와 ChatMux 서비스 로그를 확인하세요. 재시도 일정은 감시기가 관리하며 이 화면에서 재시작하지 않습니다. 기존 tmux 세션은 계속 실행할 수 있습니다.", + "terminal": "대화 기록을 검증할 수 없으면 ChatMux의 검증된 터미널 연결을 사용하세요. 연결이 거부되면 기존 터미널에서 정확한 tmux pane을 확인한 뒤 입력하세요." + }, + "reasons": { + "agent_user_mismatch": { + "title": "에이전트 사용자 불일치", + "guidance": "ChatMux와 에이전트가 의도한 OS 사용자로 실행되는지 확인하세요. 신원을 검증할 때까지 에이전트의 기존 터미널을 사용하세요." + }, + "agent_home_mismatch": { + "title": "에이전트 홈 불일치", + "guidance": "서비스 계정과 홈 설정이 에이전트 환경에 맞는지 확인하세요. 불일치를 우회하려고 자격 증명이나 대화 기록을 다른 계정에 복사하지 마세요." + }, + "agent_context_unreadable": { + "title": "에이전트 실행 정보 접근 불가", + "guidance": "호스트의 프로세스 조회 권한을 확인하세요. 신원 근거를 확인할 수 없는 동안 기존 터미널에서 세션을 사용하세요." + }, + "tmux_socket_owner_mismatch": { + "title": "tmux 소유자 불일치", + "guidance": "tmux 서버 소유 계정을 확인하세요. 소켓 권한을 완화하는 대신 의도한 계정으로 연결하세요." + }, + "tmux_pane_ambiguous": { + "title": "tmux pane 식별 불확실", + "guidance": "기존 터미널에서 대상 pane을 직접 확인하세요. 작업 디렉터리가 같다는 사실만으로 안전한 대상을 선택할 수는 없습니다." + }, + "transcript_ambiguous": { + "title": "대화 기록 연결 불확실", + "guidance": "제공자 세션 연결이 불확실하면 검증된 터미널 연결을 사용하세요. 디렉터리만으로 대화 기록을 선택하지 마세요." + }, + "transcript_permission_denied": { + "title": "대화 기록 접근 거부", + "guidance": "서비스 계정의 제공자 저장소 접근 권한을 서버에서 확인하세요. 비공개 기록을 공개하지 말고 검증된 터미널 연결을 사용하세요." + } + } + }, "title": "설정", "tabs": { "account": "계정", From 565eee1466d22aea66f58f36af4b4a291ab6aedd Mon Sep 17 00:00:00 2001 From: Hako Date: Sat, 5 Sep 2026 19:26:44 +0900 Subject: [PATCH 2/2] docs(diagnostics): include desktop and mobile preview evidence --- .../feature-previews/diagnostics-desktop.png | Bin 0 -> 186193 bytes .../feature-previews/diagnostics-mobile.png | Bin 0 -> 40453 bytes server/modules/diagnostics/README.md | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 artifacts/feature-previews/diagnostics-desktop.png create mode 100644 artifacts/feature-previews/diagnostics-mobile.png diff --git a/artifacts/feature-previews/diagnostics-desktop.png b/artifacts/feature-previews/diagnostics-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..b8e192a55bad7a7bf0d15780dc4f74069b60b3b1 GIT binary patch literal 186193 zcmX_n1yCGK*EPW%7MI1{-66p}xVr^+w?Od4T^4tDx8Sb9J-7xZI3YjZOP+sfs$l zw!Ys_C>w8aVNjt(>XBDVE*G3VjWs(U{|&*&Jk7VHrCm_i?BGEJ!Y34jAG1l##V^w2 zxE_qo#=FQ*OW`mIo?FuPgYlC!kD`sMs`dMdH4d@>IEY&{I3_#h85r$Keqd z%nvgJdxdzVidL;6tT@+E$lj)Wpc=k1RNZRvqJ-~edhug<^We;^`OJ7d*}Y06aXh9v5A1fbWL7O9DqBB40i z?{$V?vnM)M&F(tch3m6wu|bkU!k^-&4k6Az>mx z%Ao{s7$8y)=RR)~Px0}IUmRToV|f#|v6ht{rXj1J#MeB;8HC|~HKP#6^NB|XSr$V4 zNjH$JL-x6^!AiYIWvI(-W?d+eS4H|2KGX=t?-)G&+W3m8*qA&&uyvbA&%7-tHrPMT z(L4N(n-MP2r}=2cwQ@rE!~GSs^vr~Enc_6b=Ehz;L)QTm)$1Q-pUYZ>iO6FJ7t#J6 zQmWeQC_7=$gf}I|M^ShA@TP6x(;QE)|AjPFZidGD+y|g;qog}Y9+>+jOAkWV9LAY8 zGoeAGXD(HznDO{w(0HTPK%K7RZB{8KSJtk5y@ie%U)x=cT$&JcG35#EX_jj?O_Dps zGjjp+4(o)5@QoCNO9fdW&HCJ1U`9_~IpIJ8Cms?9?xF@wkr~pmVQ2zbIUyo{G)0{N zSRn`}I;;W)sd47wMd`xKT8pz^zhSUN=M}m+Ldb`QSBR>V0cvfv#ZCG-v}r&#KkfXd z0t9gkfEgSlyU2T`!5c_K{Dodu{o{Ep|;{U97PlptzKgDV(zr)cp118(dyCcJat!r*zY*vyN*sS4&&XZdCAnT=& zK~a>4{t{|A;`s?JMATipB38DrC8Fe}wE}wqn?ghIGnu}cu|R@0v2Jv z37uDTLgHcx;U8*d}#XMYKw>czJaf_g%T8E9SH`0cJn^j1n&`%QmW4+dZdu$^E47> z$4V^v=ZxxcEfrOI44Exi4Es)P?ZLncn_9ngEs=H7<{o2j$29h^@yH;{Q{SI%g8BBr zxhG`3)J=Bma$>o%a-~BM*v>7T{ZvAMUQMO2bzk<&b(@i#R^7q2pH^vpd=@-}yBctt zb)`{iBb$VuZy8Q>%(>yHG%yqATtK+M>gjw|8I0A~K!1Vvgs;h5cXb#CGUIY+ml_eE zp^_Q?u>e+L3GUM4ujz&hN7JJ)oVAhzRbTAa(s!wU&)q{va`{wS+Jj1 z%u!9ramIopBUhY*MK9q5loh(P@f)VBsoeY>|78Q>!X@^!RVCJly_aO-?2Y@Kod(`z z$#C~tn&8hk}qMo?PtkJFtGA2`O zpx_V$IoWz9)ERp$NfB4VrWF0&dqW%nkQr#X`^Ahm1u-!nL&UM(A~2~1y_j>IfrjOV zpJmTc%|?+$66ExVVnt6hVZXk3f*#d+?oxcb(E|h3KgQ{dtMdZh(T;0%VOkoiuio&3 zUMv{SE*|mCO#7%r?8erxQv^CeKqKGzLj!xmIk4o4OY)%)9(#aEZ&?AonF7Y?+{U9< zMYf25ARvgfo1dQRK!wp`t$r3MOoAy8qa2HjSdfhp0E)${;GS<|FKa-1nD}QC;*=Fq z&0p6qJ@ksehEq}_Y3SWciru)Xy?!P6UA_6m$e|Xv*!H?1Rf<~fJ6l1~7**<%e}9YRJs};v13Nb+_Fk08gScvsa=t*Z7V|N?Y~l6W43+Yqg3H< z_<>ySQzP=wMqa<7sApcw3k$;owksjNZ`w{9c|mQlcR8kSws*2F3y+fdPJmHqJ<=W1 z-YZ^%RClh2>FBQ98d92r)BDi!+f~&8p{f!cNa2vTiCBkCAt3&VqYxUzCc|75 zU&|epB4>g52!#l%O{Sbxw$j+MX{)1mAaAvT$pw0MqDL*%zPTlGBUHv1cHmo>Irn6P=njaH&wdPTM^q#1-w;lHTd{RVP==$ zFJ2UkN5bYrA;^`~Dg;g|-*TlbaI}Ib$p+0Zg?LX*z&BJt)eeJ%9n(mn6NT0y6m`EH zuEWI$E=y3^G(17r83#F#bkr*obk@84`Qvw1ClL*v%xC4+qf^2$EBV79%8?SWS#k+C zv1Ini=T!oF)z+(tOzdzrfHmCiW^-pAJ#eCoGDj~cJwMNdazKXXv?JK@mtnO-l3cQc z2Y*A3A2Av$Jv@cREr`-Wi`ZaR<2>9{Q!Gt5BnM{O&rJTe#g*qr{yeo83-`R;rn-V< zC=$$D!0A^?EIg{$CFonE`dgA;ptl^D{0s^Emi%9pu`S(gyEVaKr=BaAbR|DF_mc?8rtQ)(ZYMzO9*{%cvTn6H~ zf~l<?ft_U2>~RQ?!X0W^F}cZJP*1rMQZ2EGiW0vVQ+hLMiGiexR=l%06+)3Lq=BPNqA{YCQ4i+D)VRB2I=xDA)uyvzLK4B|4 z_Z=d=wmH#_+S5_o5gfE$ zCi>tw*#qVCiXc&6`yCq?fO?tt}0I@PXHF9E$h$G7P2c1)fZr|#wVhd{mMk7g;;t0Qm;RhPE#qk7!{79FCS zrdCvyWU=gHr7}*uvb@A!cyYej;s4RQrQa$Oc=pKSvzhID$z>4PWeA;p5sf#cj z5W*?Pbw2ULM%_^{hIZ<|UI}N>eTU9odT%pkYoiD>4eAGp4Ws4{y=%yBU62a9teDqq zen~Ax!+K=%b)^$&CJb~W1mu6->I!N`HhVzCUCOOZ8M-@6xBx|+glZgjW)PK5=0rC4 zB1Sr1A`xE{?>Yq6+OI5y`}I4gyPl75?xnuw@PN-cx)t@}D5gqi_A0C&mm|J>60j%g zqe~e2HiGx-UPt7x%NQwiLJq<>a9d#>bE}JcAgOQgivvxcQT_z+yfPy_g<|a=N@IEF zJ<@VYxL?~K%&;wmV!Z8n;Ljlgj&8;rEV+KN9Z7)Pavt$*LrSTQ%$R6tC0=PMp-NR* z;bX1h%zs>f)AB84j8^~fNSu(=#B=OXo->!4e*Xq|$o(f01bn;zVNC!xh6X`E>Db)Jz)iAUc8RY!<^Qo7nrigp1LA|doj zpzdI>_|+C`fwE7hN=Mdwt(hHRScCzOnk6l6JmF*fZwdqN>NyABVUJR98ouet7pokx zTgJ!|?%opZ&h3HW(6i%#U}pMYeji1c(Zpk4+{$cMldqreQ3R4aPvPf~U<0+bt74D( zh`t8!5@VX=YM19aq3_6VS>q1fhw*BPH?GAm01XxLJIlN0dm~g^r`ZH z7FYt!g{sO`tStUzGXvtR^l2~K=SY15o!78TRqQiZn3}+#)kkAW>B+)Wd;Lg#NXAON z8FFd$q7)_L43a2q4QwY$#H)>;wvRaGK1TB`V~aB$ze%bcrM;nJMFyYfypvqlsaPO< z)E7+f3QlUF56;1N(L$L4i=d?H;NaEoOPumuBG{!i;1ll0{hDeWnpk$J9SlXwp)B3) z_~sQURsWUWG_vYA%jb$t{EjoKtRPo{Jfq3mjx+BHlZm!{lD zchaM_!ux9A2TOmo#B++k-DpiS7?w`a9q}8sS!7q8N@d$!y=P)#;67U z#m)*PZ>K+sERN~Sqh)Ij>@TEbG@?r8Z!IG6Q9ccp)o|^??Kpbvz<>fbHOs)isde%rYviQvhLx^FW2o@I3EaewnOrw?1^) zFUE{IpN#48QeX|NNx$DUw_i#<%6jU}e=a_sEeu``%urW6Ijz27tWU{&9&HUuI|CTs zSM5TTz?Le?C*!7+5|m074e~ljSkNop@+(d-JUK{+H%y6; zDBYCF5A!>o=`XGUH#c-j7r<~?VS3e0z9lfSg_xu$u?(Rs7CURph3Ti)9p;E{zS6h| zXvI6nO;MTNn!g^Uk`GVN#yA*>B+Wrx|JSwZSP5>32E1~l`G8k@dqT61m%T+iSo!Zfm};^U%t1+PXfE%ah&?ow zI;J3~gN7;_+{<2>j{fTtjTsuri7bOJKAo6`Z(qc*FxoyHkfKA>+@-PGsb7%5 z=nR`)mMmD{tMnq?y@nGKa7RP5h?02|jZ**vc^_(ZEMWH7*)3x8-qVKs)W0y3A=?iL;l~=%8VjwG-=A+O8 zvRedY`5+YnFn=PibDDbVOoPHvsh2Mk2_uvZ+a!+_FW~Y+KfQceS58DFN*cEoEf)J^ z-3SdOJdxUUNL+CTWjr10;}-6nR*s3&9cy0mblBN|h#(4Qo@PY+hr}tCi(kLW)r%1`orjKacSK z1#=u#X(Oy9ibdJ(N*7LCL2UoJa~uxlMbZg;khHw;vM%o{R!sLL^af!c2+6%5$p*KC zS{yH;b8X%7q^K@Ip@|O!@{>lwp}&1&o0lQrjt=DiY4TXOt-!(4_NEm$C2Gg zWaHdf0-s8P%KFh|VASBYsA9mU76dl=plJbP2m+RnIhj3v%z*faP6EAKM9)A)y!Q-a zfN;3bLx<#XBzvl((^LwOT4%caQ_YbR-KV+rMO+?ffL$X>yuOJn-Im~nFWx=nkhI`H zq>d^^sZcE9icDr|J}ainn1t#?O({-FG^WRR6xi(W{Yy08A7l^(wz5UJOXp_X zw&~EXn;32bIO?3+j||*CCW_5*d~WXJi#)+d(d{{Cs}+jrJ*&t+$Up=WHXMn2iL~X+ z{u<=R&}iiE7K;I-cO7qefeZdg<*W9Ie62SB>%OaUyctTLSq+Lo?gmqc6F5j^QW~co z#tu8{$YVoK1?Tg%U8q5sNITd|1D5!=bLSInio|^+aQ~q~YUz zs*YTWe7OPRYy-2rw&AleGFbw8orNJC0;srswjs=y`Ds-hmYrAP;I$;9ZRuW0k427dC==K{4Ug3#PGu*}9!flH?^H zjzG$kdA9r5a7a-#s;qc{0LJ6%ygAF>1Q)6)X5uZL$}-@S`f93p%o z9|J>bXDcCWfG1;kEA3 zJ-?IWTfimw=`E%FaHe-BBxAO47+!ZY1p^ncVC7Fr6+kUT%o%Pc)Sp@abbnj9P|q0Y zeLMR{WX%F)wf9+*k#JNbw@6=Tm!Cp!28VH)yi4G-)IeL$igsWr;72unH2IGy@|DfE zMaO3aG+z}l2NzMypU6Md0hvIvA~H*fEWMS^w&t zMD)UvZ>0_G?VV-hrKduBU0kJm#QB1D>xvlE2U8%uH2p&KzSOb?*`l<6c{GpxHWU>a zCEIe%@Ab~+#gIwmO3jWN*m(ZTht(xUS>zIYFo+G)Yw}QK+;p~lp@w8W+L1TkDeau_ zt`n!Yoow1c4%p(g^V@M-ZfA?I+2*@Z-W4Vpni~1S4~qq{<0bF%nA_&5?9#Y?rzy@8j8L3(R^9pEPGKU| zYkH=Y-@dn2-hx>*hOTG7)I7h(u0tzbmnobgPC^AC!jPyJ>1?(ctaAf!NhTO34hb$v&=xsdsQtb6s#wUK z_if}*Jj-CEZ5E>1M3bJBZn)K~k32P26f_hx*=IESTM!MfOJ3RGsKg84wuu7%ueBxZ zPAbQzWL7pts!4*Q$~r@Uha;kE51!V^gyzPuoFF8BkjJ!fQv<;D!{gia9Au)d2Z$*g zL~)$FsGNNR%`BjZLfS}ZBl@BbqAc8#?GDdhR8xLvky%--M$9HJNK0hRW|k2g>p~(3 zAtJZk#Ry_sh&MEtzZX7cL#o=zqyOS6ActU$7rtgeH+^!kmXQz*pms zYen~Em3CC_C!(Q<%8hC-bg@EI34^M|MqP8uMgj(VqD17zbjiTnqvp%^f%|*H6eSa? z3x1Vl$1Sr@wW>0H5(bf94(c#d&2EjJ=#4X{@e7BoZjZ|~p%3pnRuH~}2tKfoq}(B; zXhxr5_R-r9`{((t%O>fY|A`(VTV~vONngcro9VmKy;I`R<2K+9${PZ(Xx|pfiTdR$ z+OMltmnz-EQ_KJ01+msgYoeBCASXAZYL=Q~Ql&!$w?O^R?)c&-GVx&a`QmIMe(UYG z2{t5gqMB$)CGq@H5iRs$@S=CC6|n==>`LAxbMx{U;noZ25DLZEvgazwDoKdB(;{Kb zDekgD1?pu?=z1ij&XdY2O$z_tcI~B0d9BD*QW~4bu*2mG&%ica0fWRAdEu46ppx5T zE(vum>t~=-VuJ1^EuLbmuMSd(d7|-tctz3h?7U(0s%F)K z!!v?YucImh^7n}p13PP}G}5HiLJw*`K#SPcKO3PTw57Ymmxfr%Q`1Wb$7KfI;4%|s z>CM*I41j|?$je`z#GUq&e(D0HivCxCP-Y}vZgXQ4x#ltqH%UYZZ6u3pAJWTcCg57~=o?zlbwlohE{0)zDE*}_z>ErVs7eFH)s}@iVgvW^N5itR`V~Es4fl2xGm~heF zQy9v+0U;RMN?ECO6&P#a2$w<>BwXMg)($41v23=wP+u0sP^Kdx9Wke|(J}46Ljar! zqIrT|3C@S3$pUnA4nGSEl`uB3?u84N^(D20sVI1+>q=pBF1%1mV`wk3Io zV5HM{sALPaUGGi7_^1B|aB(P|Ar%(FXtUHgJmbgfJ!Uo58UY=kH4Gwfq)Db71{IZ_ zNSd20u2H0b1|e)EJn>LuhSs2x^j{?y_uJ{(^?H9?Qx=B>3(;y1A&C#2l0F=h_eJCp zYLq})MS|bl52YjojYLSd+-%#|%LVgYaA+B5x>RNoA-`tdm3$ep@2ZZK>HpgS33CLX zz0$QXJLYaL@mwq6$M}9@_sh#;dTcq2|AunZFG$3)6B3r9n>xwm=;!6PMKKfZ2k!n$oUtHT_3_*eM#r zu|xp`pW=V}i!a{g>&2`m|G6tpr&gHQ4muMRN2GDf6-|0748QObd$3_!W=eu{n|Ph* zzZVi=kHQ#4Dk>~24w>^c_>6fS5lPAyK5@O((}BP(ys&oI_I7X}DZQ9zp5Wi! zVIWhbG8gSn<6d7a32UN417yN_0@7g;h%V>KwQJMnS6r!>m^`W}|Gy0K+3Ri0hBD)d zVF@9Rj2ae+{wuGypF0#_#`O-ZZ^sVZ&!&qYIv zu;(yX4N!?eFYtnfGwaEZ=XuQB`p3{ek}2_%Z^pAe1PAZn{olxKCdXW^Ff*Q=MbiI2 zww~H*5f2!F9M{uD@5JwP^i;z8O2BAViq||La(Wr3u`3)0{k9@F!jfutGV^g@DIf&= z2S$14zooMntX{a10EVAX(ZGRUf-&J1_Jz;bctw+fwf6|kV&ceLzSVxn5Z-{d;X+N~ zf13+Z%Dm?xmB5nxQ=0S;MnzV(J~3Cg^X89ILgI{fPl--h5I?+idA~biOM}Yhvi6mN z9af4r-$p!T>vmi;Q*7Y_J&S{gW2SnJM`j80)ZCK@^s zk45*hmX3Tiw8%+|Ws#F6BVk0HOoSM?G)q;c%1Apy1V!CpfAqpDZn}C%>+R`7DeONJ zrc%>74={DzVI4Jiu)!&B517_}2OQ;Gop&j#Na43HR~u?yKQD~nE8j*wK%>$#hC{*? zXwYE6s=z^&^~d1U+oBXF+bEp~&!V_1hoiKZ7<&*jF#6LEIgzt}<-v9_Go^FME@?Nb z;_&#&>GcE<#&KE*mMv0s@wdY9dWF8K0`W)DUfnGTZ~g~$YXItv#As{~3&(*9XJ9aG zt*~k}2!T>H;20XU!6}LVbI5$9mzfr7K`J7e=ocs%^kW>}YQ9aBVnk@)h1Lcz!5U&B zPN$=|HkU^lv3!&N5+7pBM% z`~pVUW0(1D485|{CW!xcXbU$s8q44PoVaNzk{6E=ls`spuYFWJs2$HuJU@YcH(P>U z*Kw|n`XzUlWbYY+bh~z=>tskI-9|^FdY{FFwo0i|Kr<6zqI|#8O6|`Mun(Sc#~LDb z=&8%SjEpY}HZ_y(>)E`uA4Jg!Z;^gMA6lmrT;NHF|Ph`YGb z@W7X1mt=fO)P`Po`YA-b`#kx0O!Uv${rZX!;BX!Z5aZ7Q+%7V`s=b*S&-?MQ~yx@w2tFA*^Z z|BL?V31<@Ty|V7ED-x}TY2AzDGA)NcPoGgTJkq(pat90VJw;Qr4-x+LMB@Jb_X^k7 zYyQaTqVwKq>71u$7@3F9{bk@H$1BgOqWVnWK7ic7ci#cs>o?jbuIHBt+Kph# zn*V8OR;C`}NNs(_NlZWlM3XTO2)iU9b;%ek%!k8xk&Y;$lT>E04GT4gt=G2S;)_8_ z5GQDFxKWs6kQ+ZFCMC^xdhI4NEd6x9?`IKwey-LR5ZU_fu{lQJ`}Ei{-TmA9e7!A$ z)4tYtH$_4&h2)dpNiuHE@lwsSGznQbl`RV{m^=qsF3+l=-_$!9fu=L;uq&cEQVd|RwsH|#6L=q*yd5R z&NhGXx9CcRik96}>7&C|$N9u@aDY6xEUJSI1|MB<;#Zxbw;x?$L+d83$+;%dYR_5$ z&Feh2Zv9tCxO!_dc~IfFSiJcK@!0DXGxnk-L6PHa{an&zZSkwIl+1QVz_B!Hv2J?k zAU=#Rp#)mhMxawkP0Tz%Jr*P&3ftz8*7-E+(z5w@na=eqY{T6@Yn7|!V%2H@L`e8{ zA}k{zk>%xP^Dl#b``*N+AH8n%#9$;H&${Qc4~eh$-|sD`1j`})97QVDAtiRQSE^?wc*N#Hoe(LP}N5t^H(G+oW8K`ohBvhvw*me-R@9w`7Y znn5wE8}jUtcGi=!7OwX(Z~zGr2!?LjgDj3J6A|186yr-TOUW3IsZwRp7FBf5%zjbU z`c^0Lbs-uWxaMxBqmaYyzIY15VKJTY(G>LviNx=E;UdTL;qlO~+i_<0?fHh=FuW2E zsrl>6BP_}hipt1N5rYFzFJM4nY3l5=alTC|>gCs+2f7D?Zg(i(P2XK%B_5*>;wi)% z9WU%w<={g1$&<@JS0#o-0)CwyvGyK6KW4s%IK7HD%Fy(WkH@I5TM&9h(Tvu-4KSsY zj1xT8P|13p+?&RcU(&^hArzQ}&?HHg#DzLIUzf>SDnwVg@SMe;ktC@GEknW!E5&MA zt3CskbH&6A${G$`7MN;~KAD=MXukyBJc&z0pC&0(Ik*`n51vBZ5GktRG8roX7s@r- z4y$#$9(Vp=N0$8E%y9S?cjfQk?|HPfok&9gIiR^2MXy?y{m3@F@rHi9aHRAkGv+kWvDDphw4eSAq~XHlvn z&^f3!gd%a!fyBTWWi#n<-2OD30i9H0&qX2TXmZ=3x|hb&_&{)al}>p=35Ai8E<_U- zTtk6uWA5FmJyFX}Q)Fc{m z-SX3US8>-L%;7MTQnemJiNg3N}6sshUkzC4vpww90qaE z|JUTw-{*@Z_tSNuFRK%8GoI1p_;rbeExrw)es>T{c#Exs-|ar3u9Z-5KA~|eHug*stysVd_BLeS4&?)0{d$yy0;S?1M zkEK;P@owLtVFQ6ty}V#PZOkUAdZW&YOg^QO%^)Mdx}!4Rw*+Z#b|Th*J-d9i?&u5e*V_Owo84!(a<7)tTNy}%oNX0ibVp?SI6db$^wQn}h$mHyQIB=3i#QsIANjM~q#B z@{zqvu}cI7L32iL-SLi7jse(ZDS=W{5HZU~_2&dusaX#UchUXp585Z6hnbS@Cu>UJ zL`Y<+$ituep9T$*Tw1L+cg8vXk6(wY|AZl*_#a));By>)n}U!rQms0Phu`%3WPWo{ zHT`-OzQ~lZRH}h3`WB5Z48L+*|6=(FuNC&@2?BNMZ0@tqzlW;TXn6ezoh*_|UTyjN zt*y!Yw!A4Jn&WWBdJ0+RI!~z_4O?PHn~Oh+^%BUN&uQ5T zfou$^^`?9h9`i-6zQ`@W3}0yr9$MYO)DH?n$HdjDLHF4Flui1w794f}XnXmJX3{nZ={38FGW7fI{|Dof5@+R~=Fp zYh5l&^HvS0#QaGqDLA!|UN;Ai#(O2xua7J)2h4&#cc+-KLbZQ;$duG4RNub9K0NTmtj=H!U4 zwvwU7D3|Ct`KZ*pskRnU8d!*;$3{##B3p+>1xf&i8mRP+=sP@>@w{5pGL+}DRMBGE z8gpihYzV-Q6(6V-oz{6s_Z~(g)ftk>SHJ~QF?Jhu4R5w}`)iR~%)V_m?+r{Ztk*Zy zOK$%vAL$h1>DS%VzQ>7{^S47l9L})*B&j%QLNJv~oV?=))Vr%mN)X0jurttI7~XOLs2Uk&9*kPg~lbQcK_JCgh8W4`44KIv0UvFge-?YP%Y#L zrywuNFsKE8OvrBP$qg!yH_!1=lyCH>;!RU-u#7Y2@{Q)hTIQZFm%8q`)<(+OI(`pC z$64s^(~yS&2T4;z4!QbUC8KI;Ah3;;8OG&1nhBYtGf}~(JWHnSN5Po{dAt2z6pQ`z z=jmD5bZ&O``f!@ZQTSrX;8C?&?}783Z5VYm6^;=CMTMc3r`(@OO>Rl*JVvb0i=O-kIJ0s|;B}6$+ zGtH@3H3mz7iY)|W5-v*^A}lgt97K6G8XjC=1443J6#8#b_MkP zYu-6?)pnF>-SmY{K7M}SjF1G58u!Xm9ri#Kt&o0x>`(uuG15oSEv8GTyH%S4PWvRY zm(luA5%ZP;SdI;p_I-m?bC)JF_&=744+)F6n(6XYU8%h&H{w5Li>|Nui$bPD3uYK^ zU+LbQadG|d&mY~#h{Oj&M@7L89x*LuFt0eD=V21?#B%^;QphfJM4kNeC)uK9Tm{Tu z2EZtx*Ihz^^#KG@Q;=`8TLvHzwpWm3_Z95f>X7^L-!jZYO8075?6%nbbDSQxYmVH( zUtk7SwmjXJL%Xj|7{oQ6+OOUs#98XJC;TG_YLstaYrQwv!6!gl2%qSJ zUtnO2D98JK5ou~uK6<6$xW~g5h;hRp9gYUpu_%~=XT+wYx4u%q9{d}7#RnZ(z>)+K=lS-%6{Q0YJDbaVlF*&S2^4Co{fnR4a0ZIgp(KL*Wcx(zxH{) z3{(d(x(wLyvJ2=k+ldQuwYGoQjJjf`-@yZpU6T14Xu+d~OrG!&Nbd1WMD_AT8PE^7 zJBxgwkV21y`#QME~dyy z-1>_KxfzfN9!*M+mpt*f@6%jt5S>qinW+hY_s57>Js)FCB;N3Q*7(+{Cf3M7I=3*2 zE!xH)tt8{X=AtzDwN?ksg0f)OTOo(EpgCf|z5s3g*))N96UBH1odpjQ7Uy$=KHmVJ zN%*sR7D6&-N)?|a<0o75aN^L^Fl9(=IETSwHD?H3*tfnK!t6bz(qAmX)0}^;53`S< zw#J@B=r*nhbJ}7_e3fa7{%ckJ3uF>XY_=X~9i||&86S9BS*!#3U$UP);LWGM6Y#9F zP%uuw6PiaoJMo@`{%}3kpnMo9m``IGoQPu`ccR!CFupen$FewQIU(Q+?16-fG?lx9 zVmSsXG!Ccu|HaBwhWXb-Fx$fBEcCQPmpZrvu&=)oly`)wLo9u!Tn8T+hM)xWDDz5B z!~kP9gWJaTwAGNoL8D!SQ8HF#n$5);CN)9TfaVPz(M~LDw>o32=-y0W)_@=w`0>T! zoULR^I8r{;r4V}5p6#FJuldig?-Dz!*M_zjZKI=r+hOanSfFW;DuUptVhmy3W(8a# zc~{c))zW+>Q0Zcl#Mg&{O>Cq4(`vY*{-qQi=wvkTGuB>RtegZ|AGBq+XP1`Rc#x&d^;HZ z1|=0yMo&mJ>6LM63pk-)9GBVZ^KE%I{W_b7@%-LKM#V^+K$z1OZK&5ZhVbcx%}pGQ zAZUJs&>GFc|%>C$d#r7pgQ=XC_Qv$)MKG1 zsV00X*O!_MW0QO`#~<(J_1-Qfl`hUxc$Ka4V+iI`9m1Fs>QxYa)G*D$a9PBpA+ev& zs0SUn=Xu+Wuty{lxnxT2`~s6-}G|^3XBbn+WB+j8zT>h;78?c|8Gv zn209?E5wEY{c;;dAIT;ttf1-bA}>~rdz*(d`BcwQo|&U}$)|w=yhAGMGi6Jm!5I4b z;Z2a|5BA4op$$Ws%LfoZlP+Z>(SIHXd9cbJoi8|qLUl+dV;#PW*sloPC+Y`;Qngd7 zc(iLNu#-9lS;P!1Ru%f=c?jWm+O&kzCi;zQr=TNV%&8)BLn-ZSNaxr~FbWmi4&j0g zC~euO*BQqiuFG(zKR}xR4#Aw29 zdJ6*hU!WVPU+y<1Ky*SHJOjx`Iejc6S7H4kkLp&?MB16AJHB3|-y9C)`{vmK8V-)@ zK9>EQwmTpKnx70_UU1Cizra`<9-tGIJ}_gj1k&2=A$P){RuS~hf9YHJ=;V`R?z0&= z{N;w-jxvWF3otEU(RU$B|H5-0Fb-r?^1wd0s)$Zvoy{@stH6>YW0L{+{lrY@%KKQ5 zgn0-?o69uC;llpUs%eJ=te1}xO}gqr*Q;uYH9*IIdQtqiOno3wzn_sen{k++ILhir zx6A9v08Nh1jR?ybB?xzt_;8rq#Ib&_kBE4}1AFIDmLk5BNB4|QVj$K%SB}V z=pRsT57Q%e(`=ZRDSxte91ZgH&{W3#5t*m@vVq>WFyz97;6*oDzF?{GoW^v?v*SVJ|2Ag3|5qCEbly9}YU zkna-@&bAN8L_5a3)|F)bb7CXOJ|}AhiMh{`G34z%y{^9ql*L|fTBuibzsY=R7ftIb z2)(xEYz#m~Yh0p( zHW!0gh@xJ!Z`aTz_P5JpiRex*rjjPaDB9JDf)G+>YuSH>-)qIUjw#{=*opgalr%F=b9kWxXFGrG){k{TqlfH&4b7`=@pJ!PwL+pO%@M#h$CP^~c| z0n&Um{hSq06sLTVu7Yq3pp=h*9SwQ2IWk|F=I)Dm247p<*d9G2HV79Yw|z;QDhq(r zASLIP1C*ZYUH+6@l@m@ZndYux!XCq+fKQ;}^W1Y?kS%)G0w0W}&Ta~5!Ft>d#f@7N zX}4)*p}E|r#Z4D3U90&Dr+I09FX0xm=9>Hhk*f&Bg{Jh6Q#kG7UVZZr*%{1SQcr_( zJvNe*Vhm6O3k~%EpOzMXv87gc{Xj_lR4I!)59iS0iQNuy2d`N^F{EUM0r~r`C2-YD z`PBUIwV9#xr{Rk+=0=$4vQ!OR$im=|Ci|sE2>kXR*#RQg&y86M#6tf+{2y<=M zuhj8ild@eX;|D!jdzAD5&X9BZ^3TGar7bh$y8n-=Z;Y?2+rDlaHfe0zw#~*i8rybb z+qP}nPTHukZ9D({-23#tzxP|dmtf|6_G6`ahvxhT!}u5N?=J*RsJO~?)%NT z?_Fb~*L99Mc7~r6P8U1VO(WP^)qm~L>bdIL&I%%j4kjGWjp0y~5{|}qmc>YR zVV%`~@(O7a-R0VDLWD~7RXW;^z87>JCb1Q+2TESp6)mR&WN%YCs4CKcl$J{dBuSe7 zDd8=aqg`bc_CDGJLF^mb>44HG^-%dLBAb$vkb8>wa&$`4)BZ8O8C@R(N(K=(Gr`d7 z^_}Pgy<=FBK5}w~U`D-#1)}u@G?~x^rCMpCPGD4rpp}_~gQ)aiKby~@$^&Hne-|NS z+!4D?vmX7c*$5O3($WO3;2$U{Q`Spl~;p-uSKZiS&>yQE#hB#w^Oq4|&EQ93F z!&T00ne@HNLMv2}k1ckO$puyP)6{t_X7n4j>iapgW~8>xU4^DXt66C8!9i(p(D_-T zDerAtqlG{AZ-Ws6zmZbv2Q5g39NwWGeslMKQ~DPsNCm->Noc?ERs^OnNpJW+$l-fB%35`!v}-RTvJ2uL3VYJ3h1AwGvS1?);zW-vi7e@0Es#-cWAz!qnwMcE z0HcO+Z=tfAm;L8af^H5RXuB13vv8rZd#Bljq!X5ja0%;d`NBK8xoQ@hiJCQ@S~A!S zI5g7k6k2G4dwvDqCQf?lJ{mTBL&%2x`1^x*;Q5xSK zIbP~Sf6S!VIXIoVwgRW#6jd%$*KTcy#*b7>Oxw`j^;md3SpN$g<;t%_U0arLaRD5B zRs*s9t~79(f%N)!ii=9~Q^JlLKV=m{f&f>@cZXOczz`v8+0)u4xE z8Wr9|5QyGSl7^!!2p~O72$l*F(@euxB4nA80&DgztfDr7OwNE7-LHVZl2|id1`gJm zh6@%eK|!yNkSS?@+%L5*2ql@3N}NJOn#AhzjAJu4@iAIFiQ#S(f7!^U?CS#a#KZ!U zsU0?)@z5d)4aY0|bD~Yfs@N3y zR#PA|0E5k5TJG-e?IG^lrUZyHrH557YK_waR?7}d;runLP7j;w(@sSGFLKoIlHHI9 znrk&3WF-Ll!?}RDN?)qas2Lf_n}X(KnWRR=h#<1$w7VSAtc6M7jIUAal>g>LL_yqQ zza$Zy06+Q;%xhxyt)@luG~gZwkbei;Tolp1xBM$Zy&JLkOd!?Qs|K&=)OR#TQi z^59Fb(r2SZ#2-BPs_|;v?8r>(uug6HpbBKn41Q+Fm`rKV3HK84puYa>5)d1Cs>psi zw{wTo#+=qE3SUTSH%RR^RQ${-sUSPzA*-Xe#|w+1JLL+6-z7UCuH=gBP+*m9-M*{U zE~-Ve9{!LA`3o&~zC&@mpU<723xG0(SYYJF#8c|PMGbt#?y!y`3*-R}%3*{jOwl){ zL(!9)AAuFv9^uaqLe%Rx=+{_k5IEDJ6mB5LQ4S2#RuUx0#nflR*q-}5`WY0S9UBjf zB_Rw~AW2#_^Sf$k^wR{%*J1L;3;BI*xJklL#A7`zNlJ*qzA$u#lnMb7GFZ(WdM-co zX~H#JH(mlYdPNOa^v6NlFbA2y`9$$!;^Oa!olsq7iN6b7^k-q3`^52Ce4oeU_AweC z)?>!_G*SS$o5jsn#;CbPoxY3JljDJ=-3Qcgw9lT zq86JDy=r)SgKGe%q98`9qNl>{KO|o66UJB!f+CD(7o|p92b2`DIz=1e6{L!AsCg%u z+=WxJd!KS19dt&e+8#8F8$8KhBCk4ApuY){}!LyM!hyCO;tJ3F2mZn?7_;z z!+1G@1GTnmVq{p@r)@mA};`5l~i6;{$#1_~SO+uwxje29)MXC@t0DH*(#XtD)Rzj+!dU={z&=My zDF6x^`4Et#1_qlq&yH-?FJziiH>9Uefg?&9v;$tx%^tE^GYW@X`zAccc?c!lof~Kf z^97Ev>=-+&X=`Gf;MV$Td_tHCY$l@S^!x2t3peMSQM8go3bBJQ9hc}1U#8)vZ-Jea zeyvD!<(H;*Oqe3emfk1De;-)6q@m1j_zMgDw*Vl@AV8kvR$GZtax*6&T}4I1LR3xO z2!0P-8@6bO0OnG>l9$35?@O83}AvwV`KD12gIT}vdlrJX0Fkxy3tz-aSKb@EL zZ}*QO*q2ch)r0WsE4I4jH(0`SrMbk!?1df_nB)n8R2JSZDBvMVzZ4j-5?HH9Ji%a( z|HzAIu#6%`z5R-yzRKx*_D7{T36qzYDUgLv^(6hJs>R(Y|2kzqK_=ts_?JCW@oy_; zX(R(>P^qhe2u{d=mtI7fb|TQSmUH2(O!1XsdLwo+LT_LvenCoyfS7ld*;)a#nc78C zDsc}h_x=LBhoBw|FmiDl0}rqwO_Qr}?seg;`P}CT14{at)G#zsPcEZcwdfj7ebbsb z_9^mz={uC%Uyfx`85jdg)OVT)iU@>-gsRG$HH=@83&J;#*?J;Nl$ebEashJ3>9lI( zaSkE1;ZS1bh2I~e>Pk0|^XYp{G_RWZ&F0WQhp>Q@&!Ai9-(EGwwHS^rj8;Mf=vjH=tkfGsiY<4WZ&68+$2_Fp~W;nZ7VlxB*f%x zq`%VM8NktsoaSo45_973;|>SSErZzZ&r3^MJC4)qLdnC`yILo8=@*!C82eY9A?rYf zwM#rifi-@yhCh(hz^`&SUcx5SCwXfvan`Fb9bpmT#>I{s5`fIcXO;Q#WJN#C8Dkpw zf_~E*QeO=&`Qf#PiOg<_DVt{sI$;rc#EC7homW!hN{ebfDk99&_x11%5jKDK@7H;3 zHnJk;c{`8HtFj})Kw*SPb!aOQcNBtG5`o@?_4XV3GN|Er4ssn^D3MKd6)G|I(Li%| zt;i^|>6aD;hwzsg<3o2%ISzU_fiNmnvO7~x8Nd`Ta`%rR{7a$#v)KJ_p|N#9#DtHI zd-C?a2O`+N34b9)E^+{ucl^>hfe7Dej!z9G%AOcEXddlRisieC$K8lq^`+J5i;KDx zZ#XAdC<5k77T8?}feZ|VY6)RGf8Z2f#DJ4)XW70R&R@@Dl3zDyza({Gs2iRrAWT*F zAc!4=Y?2cGek%c|VJi62o1?6_BHE(Xqy?48WQ>b4Qvo_K#~eX7em6khm+Fli^;j3Z z*MqpdH`R9vkxhx@y4#ba2XevKieBB9*N7j%wY64Yi-RT*X1e*QecJ?ydj~mMx*%A8hWuEViQ$MS zLmZ~*%Zx3t4si>|#gdsUT}+)_AYKwCtqLa~bhV50HzdX2x*PlBa1f2nqn9YW)Os_z z;(W@WI-W$KUSK;x*q2CUmfn17zEXD;hjOw|v9em_r09pw@MUqUp6+8&OGZMXOrcb3 zMMb*mWG2p|2XLnR>JXvI_PAa*SEjmF%J$-MemagE3`cod8JDHRz-4#5Z8p1MwOL8z z)9p%QDZ4#fuF`*E+%LKql1l3~-ScvRwVJQU#i%n_>|)z^s?$7R?GL(T71|`tV6pj= zXH*`I%^_bam@0Fo;b^(2HR01=bmo9swbW{%I~q3#eBjE-Gpw8y4_JoBc`6@e-3lD5LzO|2%h$NU;|RKYYZm7={V#I2eA7 zPdCE*(dJCQLwL;GY)2yR%_a0#vZR*#uuZ-c2Zsgw@%t^Wtb6EjrPG^7Q;d0vp&5CX zOKBj^!CaXRI{qmA%@b@P8o~H|$5sIfLXNv*LR-2FPsab)q*w18|44E$t7xzbeS&iZ zLbcSHb$`+9#yg!?_p9f@&c%~`Hg4wg-Kmtm-doXGa<$gca_imtTd->NN*`F%+}t=o z#_2XX8;~OdROZcGDs;ID5Vm*uxyJ0z*j;#175MKe^TaTo_NH>}dP>l)=jn%&#VYT6 z&+8F}W#&#O9?`U5&X_gCTCyufs}Qob5l zRbVa)3VB4eOX_IcOcfTFm(~1qm*u3H8+fO5Iz9Wh=(Rj*Y>#jMctOCbR;fkVXms1H z1nWis?-!L;$>tuFne8OCX6<>_3Pf`Q3e0A(og(IZd7|urEvT$-GvBlK%|d34R+Uug zng?7Tgvv$xjVMze@KSVR@E`;v0v0c9Zdb>?-9MVm7jD2XZCwxuUk|xeA(^zwOL#AnsuHu1@6za?d8g)o4S8Z5h&sbJ$l>bH)J|ZEy+bc z(tfMtcUsMa`P0Go4dcucE5VpusPi{CMdO$!>o5FaZcANt@hc^Y0vDCXFf=2&^xew~ ztia%~k5IHBO*&R!GrStPUB%y?lIQUA4(8sbr$Ex%u!4i_BOw+Y6ko7$M&a70(*O(O zpSC`0)bvTO{iM-kfWod)z4DD!ZSdL%i=~9c;ap*c<$8A%W-EXAt;ur!d0`SuApV6; z(KwsW2LTioa-+@)EyYTktFf!f;AC>ex$9+gMC<}fzS)@t5rLPLpUZ7L9djzJ`F8k9 z5o^904Asp3T12h$WuX^vNP;Um?=Fo>W6fjCRj(9PaurW%D7A|wx;vS}6N||;+7FW9 z)&<#Ny#2PRKcE58t^kZn%OhB97vil68lC2Y+8(eK8ttjj*ubooH;X+tx9oYBm2Em| z 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%0AY;9l(L9@T9AYSnp~#YAkwy3ZpUoDtt+ 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 literal 0 HcmV?d00001 diff --git a/artifacts/feature-previews/diagnostics-mobile.png b/artifacts/feature-previews/diagnostics-mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..730dddfcaa9e28e797b27b34470e6b4de9a8165a GIT binary patch literal 40453 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 literal 0 HcmV?d00001 diff --git a/server/modules/diagnostics/README.md b/server/modules/diagnostics/README.md index 8bb72c58..88bc11c0 100644 --- a/server/modules/diagnostics/README.md +++ b/server/modules/diagnostics/README.md @@ -51,5 +51,5 @@ Focused checks use the existing test runner's `runTests` with `server/tsconfig.json` for this module's tests and `providers/tests/discovery-collector.service.test.ts`, and `tsconfig.json` for `DiagnosticsSettingsTab.test.tsx` and `DiagnosticsSettingsTab.mounted.test.tsx`. -Parent coordination owns full verification, -desktop/mobile browser evidence, and release/PR lifecycle. +Use `npm run verify` and the repository CUA harness for full repository and +desktop/mobile browser regression checks.