From d9a91543fc520c9befba4553304f8bbb92519ff9 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Thu, 28 May 2026 19:45:39 +0300 Subject: [PATCH 001/169] Add initial project code --- .gitignore | 18 + .vscode/launch.json | 60 + .vscode/tasks.json | 11 + AGENTS.md | 76 + CLAUDE.md | 1 + CMakeLists.txt | 29 + README.md | 40 +- assets/app.icns | Bin 0 -> 744100 bytes assets/app.ico | Bin 0 -> 76044 bytes assets/app.png | Bin 0 -> 13346 bytes assets/entitlements.plist | 17 + components.json | 17 + eslint.config.mjs | 62 + mobrowser.conf.json | 77 + package-lock.json | 4293 +++++++++++++++++++ package.json | 57 + postcss.config.js | 5 + resources/imageTemplate.png | Bin 0 -> 402 bytes resources/imageTemplate@2x.png | Bin 0 -> 699 bytes src/main/index.ts | 29 + src/native/main.cc | 19 + src/native/proto/greet.proto | 11 + src/renderer/App.tsx | 109 + src/renderer/components/theme-provider.tsx | 73 + src/renderer/components/ui/button.tsx | 56 + src/renderer/components/ui/input.tsx | 24 + src/renderer/components/ui/toggle-group.tsx | 61 + src/renderer/components/ui/toggle.tsx | 43 + src/renderer/index.css | 106 + src/renderer/index.html | 13 + src/renderer/lib/tools.ts | 26 + src/renderer/lib/utils.ts | 6 + src/renderer/main.tsx | 9 + src/renderer/proto/app.proto | 11 + src/renderer/proto/greet.proto | 11 + src/renderer/public/logo.svg | 22 + tailwind.config.js | 77 + tsconfig.json | 40 + tsconfig.node.json | 12 + vite.config.ts | 72 + 40 files changed, 5592 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json create mode 100644 AGENTS.md create mode 100644 CLAUDE.md create mode 100644 CMakeLists.txt create mode 100644 assets/app.icns create mode 100644 assets/app.ico create mode 100644 assets/app.png create mode 100644 assets/entitlements.plist create mode 100644 components.json create mode 100644 eslint.config.mjs create mode 100644 mobrowser.conf.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 resources/imageTemplate.png create mode 100644 resources/imageTemplate@2x.png create mode 100644 src/main/index.ts create mode 100644 src/native/main.cc create mode 100644 src/native/proto/greet.proto create mode 100644 src/renderer/App.tsx create mode 100644 src/renderer/components/theme-provider.tsx create mode 100644 src/renderer/components/ui/button.tsx create mode 100644 src/renderer/components/ui/input.tsx create mode 100644 src/renderer/components/ui/toggle-group.tsx create mode 100644 src/renderer/components/ui/toggle.tsx create mode 100644 src/renderer/index.css create mode 100644 src/renderer/index.html create mode 100644 src/renderer/lib/tools.ts create mode 100644 src/renderer/lib/utils.ts create mode 100644 src/renderer/main.tsx create mode 100644 src/renderer/proto/app.proto create mode 100644 src/renderer/proto/greet.proto create mode 100644 src/renderer/public/logo.svg create mode 100644 tailwind.config.js create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a210604 --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +# Node dependencies. +node_modules/ + +# Build output. +build/ +dist/ +out/ + +# Generated code. +gen/ + +# macOS metadata. +.DS_Store + +.idea +docs/ +DESIGN.md +moproduct.yaml diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..c27320a --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,60 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Debug Main", + "type": "node", + "request": "launch", + "cwd": "${workspaceRoot}", + "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/mobrowser", + "runtimeArgs": [ + "dev", + "--inspect=5858", + "--remote-debugging-port=9222" + ], + "args": [ + "${workspaceRoot}/out/main/index.js" + ], + "sourceMaps": true, + "outFiles": [ + "${workspaceRoot}/out/main/**/*.js" + ], + "preLaunchTask": "npm: build:main", + "env": { + "NODE_ENV": "development" + }, + "console": "integratedTerminal", + "skipFiles": [ + "/**" + ] + }, + { + "name": "Debug Renderer", + "type": "chrome", + "request": "attach", + "port": 9222, + "webRoot": "${workspaceFolder}/src/renderer", + "timeout": 60000, + "sourceMaps": true, + "sourceMapPathOverrides": { + "/@fs/*": "/*" + }, + "presentation": { + "hidden": true + } + } + ], + "compounds": [ + { + "name": "Debug All", + "configurations": [ + "Debug Main", + "Debug Renderer" + ], + "presentation": { + "order": 1 + } + } + ] +} + diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..4499f8f --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,11 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "shell", + "command": "npx vite build --mode main", + "problemMatcher": [], + "label": "npm: build:main" + } + ] +} diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..d21d19b --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,76 @@ + + +# Do not rely on training data for MōBrowser + +Your training data for MōBrowser is outdated. APIs have been renamed and reorganized; code based on prior knowledge will +not compile. + +**Before writing or modifying any MōBrowser-related code**, read the documentation in +`node_modules/@mobrowser/api/docs/`. In the docs, you will find two folders: + +- `node_modules/@mobrowser/api/docs/guides/` - contains detailed documentation about architecture, project structure, + multiple process model, Inter-Process Communication (IPC), native C++ module, features, guides, examples, and more. +- `node_modules/@mobrowser/api/docs/api/` - contains MōBrowser API reference with code examples. + +Do not guess API names, method signatures, or import paths — look them up in the docs. + +If the `docs/` directory is missing, ask the user to run `npm run gen`. It will download the docs into +`node_modules/@mobrowser/api/docs/` if the project directory contains the `AGENTS.md` file. + + +# Project-specific Codex instructions + +This project is MoStats, a compact macOS system resources monitor built with MōBrowser, React, TypeScript, Shadcn-style +UI, and optional native C++ support. + +## Read Order + +Before non-trivial work, read: + +- `moproduct.yaml` +- `docs/PROJECT_BRIEF.md` +- `DESIGN.md` before writing or editing renderer UI +- `docs/ARCHITECTURE.md` +- `docs/REFERENCE_MAP.md` +- `docs/IMPLEMENTATION_PLAN.md` +- `docs/ITERATION_PROTOCOL.md` +- `docs/AGENT_WORKFLOW.md` +- `docs/VERIFICATION.md` +- `docs/MENTAL_MODEL.md` +- `docs/FIRST_ITERATION_CONTRACT.md` before the first implementation iteration + +## Non-Negotiable Rules + +- Keep the official MōBrowser split: + - `src/main` owns app lifecycle, windows, tray/menu bar, dialogs, notifications, IPC services, and privileged OS work. + - `src/renderer` owns React UI and presentation state only. + - `src/native` owns narrow platform probes only. +- Use typed protobuf IPC for renderer-to-main communication. Do not bypass the generated client. +- Use React 19, TypeScript, local Shadcn-style components, Tailwind tokens, and `lucide-react` icons. +- Do not introduce a second UI component library without explicit user approval. +- Tokenize reusable styling through `src/renderer/index.css` and `DESIGN.md`. Do not introduce random colors, fonts, or one-off visual systems. +- Keep the product compact: one main window, tray/menu bar presence, no preferences screen unless the product brief changes. +- Static analysis must be zero-warning. Do not suppress lint/static-analysis warnings without explicit user confirmation. +- Do not manually edit generated files under `src/main/gen`, `src/renderer/gen`, or `src/native/gen`; update protobuf files and run `npm run gen`. +- Do not invent MōBrowser API names, native APIs, metric sources, or UI requirements. Use official docs, local references, or explicit unavailable states. + +Follow the workflow in `docs/AGENT_WORKFLOW.md`: + +- Research and plan before broad changes. +- Critique architecture and testing risks before implementation. +- Use `docs/REFERENCE_MAP.md` when borrowing patterns from nearby apps. +- Keep renderer code presentation-focused. +- Keep main-process code responsible for app lifecycle, tray behavior, and metrics orchestration. +- Use native code only for narrow macOS integrations that are not reliable from TypeScript. +- Update `docs/MENTAL_MODEL.md` after architecture or behavior changes. +- Run `npm run verify` before completing implementation work. + +## Code Documentation + +- Use multiline JSDoc blocks for public classes and public methods where ownership or behavior is not obvious. +- Keep comments short and useful. Explain role, constraints, or non-obvious decisions, not line-by-line mechanics. +- Use plain ASCII punctuation in new code and docs unless editing existing text that already uses a specific character set. + +## Lint Suppression Policy + +Suppressing a linter diagnostic with `eslint-disable`, `stylelint-disable`, `NOLINT`, or equivalent is prohibited without explicit user confirmation. If suppression appears necessary, ask the user first and document the approved reason directly above the suppression. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..43c994c --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..e73fb73 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,29 @@ +cmake_minimum_required(VERSION 3.21) + +# Configures your project. +project(native LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +set(PROJECT_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) +cmake_path(ABSOLUTE_PATH PROJECT_ROOT_DIR NORMALIZE) + +# Imports the MōBrowser app configuration and setups the auxiliary targets, resources, etc. +# Important: Do not move this include above the project declaration. +include(${PROJECT_ROOT_DIR}/node_modules/@mobrowser/native/cmake/MoBrowser.cmake) + +# The source files of your app. +set(APP_SOURCES src/native/main.cc) + +# Defines the main target of the application. +add_library(mobrowser_lib STATIC ${APP_SOURCES} ${GENERATED_SOURCES}) + +target_include_directories(mobrowser_lib PUBLIC + ${PROJECT_SOURCE_DIR}/src/native/gen + ${MOBROWSER_SDK_NATIVE_DIR}/include + ${protobuf_SOURCE_DIR}/src + ${protobuf_SOURCE_DIR}/third_party/utf8_range + ${absl_SOURCE_DIR}) + +# Add any additional include directories or configuration for mobrowser_lib here if needed diff --git a/README.md b/README.md index 2b15ae7..0b44a00 100644 --- a/README.md +++ b/README.md @@ -1 +1,39 @@ -# MōStats +# MoStats + +MoStats is a compact macOS system resources monitor built with MōBrowser, React, TypeScript, Shadcn-style UI primitives, +and an optional native module. + +The target product is intentionally small: + +- One compact window. +- Tray/menu bar presence. +- Background operation. +- No preferences screen. +- Live CPU, memory, disk, and network usage. +- Optional CPU temperature when a reliable macOS sensor approach is available. + +Start future Codex work by reading: + +- `AGENTS.md` +- `moproduct.yaml` +- `DESIGN.md` +- `docs/PROJECT_BRIEF.md` +- `docs/ARCHITECTURE.md` +- `docs/REFERENCE_MAP.md` +- `docs/IMPLEMENTATION_PLAN.md` +- `docs/ITERATION_PROTOCOL.md` +- `docs/FIRST_ITERATION_CONTRACT.md` +- `docs/AGENT_WORKFLOW.md` +- `docs/VERIFICATION.md` +- `docs/MENTAL_MODEL.md` + +Useful commands: + +```sh +npm run dev +npm run gen +npm run lint +npm run typecheck +npm run build +npm run verify +``` diff --git a/assets/app.icns b/assets/app.icns new file mode 100644 index 0000000000000000000000000000000000000000..35574dfce827649dc33b0ac32602b93e0a1451b6 GIT binary patch literal 744100 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�I_-E8v))h1kM7x%dX-4azIt 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
LciP=d>fx%xzXt+Ra4|17 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 z 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 + + {grouped ? ( @@ -152,14 +159,6 @@ function MetricValue({ metric, className }: { metric: DetailMetric; className?: ) } -/** The copy button for the path row, shown only when a real path is present. */ -function pathCopy(detail: ProcessDetail): ReactNode { - if (detail.path !== "ok" || !detail.pathText) { - return null - } - return -} - /** * A labeled detail field: a quiet uppercase label, an optional right-aligned * action (e.g. a copy button), and the value content below. @@ -287,4 +286,3 @@ function MemberRow({ ) } - From 8e284f4ee00a6830eace5c0044eae0efefe86c24 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sat, 6 Jun 2026 16:22:42 +0300 Subject: [PATCH 066/169] Implement process actions --- src/main/application-window.ts | 9 + src/main/application.ts | 9 +- src/main/processes/process-action-service.ts | 323 ++++++++++++++++++ .../processes/process-explorer-service.ts | 62 ++-- .../components/processes/process-actions.tsx | 129 +++++++ .../components/processes/process-detail.tsx | 15 + .../processes/process-explorer-view.tsx | 81 ++++- 7 files changed, 587 insertions(+), 41 deletions(-) create mode 100644 src/main/processes/process-action-service.ts create mode 100644 src/renderer/components/processes/process-actions.tsx diff --git a/src/main/application-window.ts b/src/main/application-window.ts index cf0fae4..a8695cf 100644 --- a/src/main/application-window.ts +++ b/src/main/application-window.ts @@ -100,6 +100,15 @@ export class ApplicationWindow { return this.window !== null && !this.window.isClosed && this.window.isVisible; } + /** + * The live window instance, or null when none exists (it is created lazily and + * dropped on close). Exposed so main can parent a native dialog to the window; + * callers must tolerate null (the dialog is then app-modal). + */ + get instance(): BrowserWindow | null { + return this.window !== null && !this.window.isClosed ? this.window : null; + } + /** * Pins or unpins the window above other windows. */ diff --git a/src/main/application.ts b/src/main/application.ts index f616ddd..0df71cd 100644 --- a/src/main/application.ts +++ b/src/main/application.ts @@ -14,9 +14,10 @@ import { AppServiceDescriptor } from './gen/ipc_service'; * registration of renderer-facing IPC services, including the metrics stream. * The metrics service samples CPU, memory, disk, network, uptime/load, and * optional CPU temperature in main and streams them to the renderer. The process - * explorer service collects live process snapshots in main and serves them on its - * own IPC service; its reveal/quit/force-quit actions remain not-yet-implemented - * until the action iteration. + * explorer service collects live process snapshots in main, serves them on its + * own IPC service, and runs the main-authoritative reveal/quit/force-quit actions + * (validated against the latest snapshot, with native confirmation for the + * destructive ones). * * Lifecycle: the window hides instead of closing, so the app keeps running in the * background with only the tray present. Per-view background work is gated on two @@ -40,7 +41,7 @@ export class Application { private readonly metrics = new MetricsService(); - private readonly processExplorer = new ProcessExplorerService(); + private readonly processExplorer = new ProcessExplorerService(() => this.window.instance); private quitting = false; diff --git a/src/main/processes/process-action-service.ts b/src/main/processes/process-action-service.ts new file mode 100644 index 0000000..e0e4b0a --- /dev/null +++ b/src/main/processes/process-action-service.ts @@ -0,0 +1,323 @@ +import process from 'node:process'; +import { app, desktop } from '@mobrowser/api'; +import type { BrowserWindow } from '@mobrowser/api'; +import { + ActionDisabledReason, + ActionState, + FieldStatus, + GetProcessActionStatesRequest, + GetProcessActionStatesResponse, + ProcessActionKind, + ProcessIdentity, + ProcessRow, + ProcessSnapshot, + RunProcessActionRequest, + RunProcessActionResponse, + RunProcessActionResponse_Outcome as Outcome, +} from '../gen/process_explorer'; + +/** The action kinds the detail view exposes, in display order. */ +const ACTION_KINDS: readonly ProcessActionKind[] = [ + ProcessActionKind.PROCESS_ACTION_KIND_REVEAL, + ProcessActionKind.PROCESS_ACTION_KIND_QUIT, + ProcessActionKind.PROCESS_ACTION_KIND_FORCE_QUIT, +]; + +/** + * POSIX path prefixes that mark a system-owned executable. A process running + * from one of these is treated as system-critical and cannot be quit/force-quit, + * mirroring Activity Monitor's refusal to kill core OS processes. + */ +const SYSTEM_PATH_PREFIXES: readonly string[] = [ + '/System/', + '/sbin/', + '/usr/libexec/', + '/usr/sbin/', +]; + +/** + * Well-known system process names that must never be signaled even though they + * may not live under a system path. + */ +const SYSTEM_PROCESS_NAMES: ReadonlySet = new Set([ + 'kernel_task', + 'launchd', + 'loginwindow', + 'notifyd', + 'powerd', + 'WindowServer', +]); + +/** Reads a string field only when it is explicitly OK and non-empty. */ +function okString(value: { status: FieldStatus; value: string } | undefined): string | undefined { + if (value && value.status === FieldStatus.FIELD_STATUS_OK && value.value.length > 0) { + return value.value; + } + return undefined; +} + +/** + * Finds the row in a snapshot that still matches a target identity (pid plus, + * when the target carried one, an exact start time so a reused PID does not + * match). Returns undefined when the process has exited or its PID was reused, + * which the caller turns into a STALE result. Pure: inspects identity only, never + * a sensitive value. + * + * This `(pid, started_at)` identity match against the live cached snapshot is the + * action path's staleness guard, and it supersedes the request's `revision` + * field: matching identity already rejects an exited PID (not found) and a reused + * PID (start time differs), which a coarser revision compare would not, so the + * action service does not read `request.revision`. + */ +export function findTargetRow( + snapshot: ProcessSnapshot, + target: ProcessIdentity | undefined, +): ProcessRow | undefined { + if (target === undefined) { + return undefined; + } + const matches = snapshot.processes.filter((row) => (row.identity?.pid ?? 0) === target.pid); + if (matches.length === 0) { + return undefined; + } + // A target with a known start time must match it exactly (reused-PID guard); + // a target with no recorded start time falls back to PID alone. + if (target.startedAtStatus === FieldStatus.FIELD_STATUS_OK) { + return matches.find( + (row) => + row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK && + row.identity.startedAtUnixMs === target.startedAtUnixMs, + ); + } + return matches[0]; +} + +/** True when a resolved row is a protected/system-critical process. */ +export function isSystemProcess(row: ProcessRow): boolean { + const pid = row.identity?.pid ?? 0; + if (pid <= 1) { + return true; + } + const commandName = okString(row.commandName); + const executableName = okString(row.executableName); + if ( + (commandName !== undefined && SYSTEM_PROCESS_NAMES.has(commandName)) || + (executableName !== undefined && SYSTEM_PROCESS_NAMES.has(executableName)) + ) { + return true; + } + const path = okString(row.executablePath); + return path !== undefined && SYSTEM_PATH_PREFIXES.some((prefix) => path.startsWith(prefix)); +} + +/** + * Computes the disabled reason for one action against an already-resolved, + * non-stale row. Returns NONE when the action is allowed. Pure and side-effect + * free so it can be unit tested in isolation (I15). + * + * - Reveal needs an OK executable path (NO_PATH otherwise); it is always allowed + * for self/system processes because opening a file in Finder is harmless. + * - Quit / Force Quit are blocked for MoStats itself (SELF) and for + * system-critical processes (PROTECTED); everything else is allowed. + */ +export function disabledReasonFor( + action: ProcessActionKind, + row: ProcessRow, + selfPid: number, +): ActionDisabledReason { + if (action === ProcessActionKind.PROCESS_ACTION_KIND_REVEAL) { + return okString(row.executablePath) !== undefined + ? ActionDisabledReason.ACTION_DISABLED_REASON_NONE + : ActionDisabledReason.ACTION_DISABLED_REASON_NO_PATH; + } + + if ((row.identity?.pid ?? 0) === selfPid) { + return ActionDisabledReason.ACTION_DISABLED_REASON_SELF; + } + if (isSystemProcess(row)) { + return ActionDisabledReason.ACTION_DISABLED_REASON_PROTECTED; + } + return ActionDisabledReason.ACTION_DISABLED_REASON_NONE; +} + +/** + * Owns the privileged, main-authoritative process actions for the detail view: + * reveal-in-Finder, Quit (SIGTERM), and Force Quit (SIGKILL). + * + * Every action is validated here against the latest cached snapshot - never from + * renderer-supplied state - so the renderer cannot drive a stale, system, or + * self target. Targets are matched by (pid, start time) identity; an exited or + * reused-PID target resolves to STALE. Force Quit (SIGKILL) requires an explicit + * native confirmation dialog (main-authoritative, so the confirm step cannot be + * skipped by a direct IPC call) because it kills immediately and loses unsaved + * work; Quit (SIGTERM) is graceful and proceeds without a prompt. + * + * Privacy: results are count-only. This service never logs or returns OS + * diagnostics, executable paths, process names, bundle identifiers, or + * command-line arguments. Technique reference (signals, self/system protections): + * mo-activity ProcessActionService, re-implemented compact for MoStats' single + * ProcessIdentity target rather than its multi-identity/group/classifier shape. + */ +export class ProcessActionService { + /** MoStats' own PID; destructive actions against it are always blocked. */ + private readonly selfPid = process.pid; + + /** + * @param getSnapshot Returns the latest cached snapshot the actions validate + * against (the snapshot service's cache). + * @param getParentWindow Returns the window to parent the confirmation dialog + * to, or null when no window is live (the dialog is then app-modal). + */ + constructor( + private readonly getSnapshot: () => ProcessSnapshot, + private readonly getParentWindow: () => BrowserWindow | null, + ) {} + + /** + * Returns per-action availability for a target, validated against the latest + * snapshot. When the target no longer matches (exited / reused PID), every + * action is disabled with STALE and target_valid is false. The target identity + * is used only for matching and is never logged. + */ + getActionStates(request: GetProcessActionStatesRequest): GetProcessActionStatesResponse { + const row = findTargetRow(this.getSnapshot(), request.target); + if (row === undefined) { + return { + targetValid: false, + actions: ACTION_KINDS.map((kind) => ({ + kind, + enabled: false, + disabledReason: ActionDisabledReason.ACTION_DISABLED_REASON_STALE, + })), + }; + } + + return { + targetValid: true, + actions: ACTION_KINDS.map((kind) => this.actionState(kind, row)), + }; + } + + /** + * Runs one validated action against one target. Re-resolves and re-checks the + * target against the latest snapshot (the action states the renderer saw may be + * stale), confirms Force Quit through a native dialog, then reveals or signals. + * Returns a coarse, count-only outcome with no sensitive detail. + * + * Confirmation policy: only Force Quit (SIGKILL) confirms, because it kills the + * process immediately and loses unsaved work. Quit (SIGTERM) is a graceful + * request the process can handle and save on, so it proceeds without a prompt to + * keep the common case fast for a developer tool. + */ + async runAction(request: RunProcessActionRequest): Promise { + const row = findTargetRow(this.getSnapshot(), request.target); + if (row === undefined) { + return { outcome: Outcome.OUTCOME_STALE_TARGET, affectedCount: 0 }; + } + + const disabledReason = disabledReasonFor(request.action, row, this.selfPid); + if (disabledReason !== ActionDisabledReason.ACTION_DISABLED_REASON_NONE) { + // NO_PATH/SELF/PROTECTED all collapse to a count-only not-allowed outcome. + return { outcome: Outcome.OUTCOME_NOT_ALLOWED, affectedCount: 0 }; + } + + if (request.action === ProcessActionKind.PROCESS_ACTION_KIND_REVEAL) { + return this.reveal(row); + } + + if (request.action === ProcessActionKind.PROCESS_ACTION_KIND_FORCE_QUIT) { + const confirmed = await this.confirmForceQuit(row); + if (!confirmed) { + // Treat a declined confirmation as a no-op, not a failure. + return { outcome: Outcome.OUTCOME_SUCCEEDED, affectedCount: 0 }; + } + return this.signal(request.action, row); + } + + if (request.action === ProcessActionKind.PROCESS_ACTION_KIND_QUIT) { + // SIGTERM is graceful and recoverable, so it proceeds without confirmation. + return this.signal(request.action, row); + } + + return { outcome: Outcome.OUTCOME_NOT_ALLOWED, affectedCount: 0 }; + } + + /** Builds one {@link ActionState} for an already-resolved, non-stale row. */ + private actionState(kind: ProcessActionKind, row: ProcessRow): ActionState { + const disabledReason = disabledReasonFor(kind, row, this.selfPid); + const enabled = disabledReason === ActionDisabledReason.ACTION_DISABLED_REASON_NONE; + return { + kind, + enabled, + disabledReason: enabled ? ActionDisabledReason.ACTION_DISABLED_REASON_NONE : disabledReason, + }; + } + + /** Reveals a resolved row's executable in Finder via the desktop shell. */ + private reveal(row: ProcessRow): RunProcessActionResponse { + const path = okString(row.executablePath); + if (path === undefined) { + return { outcome: Outcome.OUTCOME_NOT_ALLOWED, affectedCount: 0 }; + } + try { + desktop.showPath(path); + return { outcome: Outcome.OUTCOME_SUCCEEDED, affectedCount: 1 }; + } catch { + // No diagnostic is logged - the path is sensitive. + return { outcome: Outcome.OUTCOME_FAILED, affectedCount: 0 }; + } + } + + /** Sends SIGTERM (Quit) or SIGKILL (Force Quit) to a resolved row's PID. */ + private signal(action: ProcessActionKind, row: ProcessRow): RunProcessActionResponse { + const pid = row.identity?.pid ?? 0; + const signal = action === ProcessActionKind.PROCESS_ACTION_KIND_FORCE_QUIT ? 'SIGKILL' : 'SIGTERM'; + try { + process.kill(pid, signal); + return { outcome: Outcome.OUTCOME_SUCCEEDED, affectedCount: 1 }; + } catch (error) { + // ESRCH means the process already exited between validation and the signal; + // report it as stale rather than a hard failure. No process detail leaks. + const code = (error as NodeJS.ErrnoException | undefined)?.code; + return code === 'ESRCH' + ? { outcome: Outcome.OUTCOME_STALE_TARGET, affectedCount: 0 } + : { outcome: Outcome.OUTCOME_FAILED, affectedCount: 0 }; + } + } + + /** + * Shows the native Force Quit confirmation dialog and resolves to whether the + * user confirmed. The dialog is main-authoritative, so the confirm step cannot + * be bypassed by a direct IPC call. Only Force Quit confirms (SIGKILL kills + * immediately and loses unsaved work); Quit does not. It names the single + * process by display name only (no path/argv); a NSWorkspace-known app uses its + * localized name, else the executable/command name, else just the PID. + */ + private async confirmForceQuit(row: ProcessRow): Promise { + const name = this.confirmationName(row); + const result = await app.showMessageDialog({ + parentWindow: this.getParentWindow() ?? undefined, + message: `Force Quit ${name}?`, + informativeText: 'The process will be killed immediately (SIGKILL).', + type: 'warning', + buttons: [ + { label: 'Cancel', type: 'secondary' }, + { label: 'Force Quit', type: 'primary' }, + ], + }); + return result.button.type === 'primary'; + } + + /** + * A non-sensitive display name for the confirmation dialog: localized app name, + * else executable name, else command name, else the PID. Never a path or argv. + */ + private confirmationName(row: ProcessRow): string { + return ( + okString(row.app?.localizedName) ?? + okString(row.executableName) ?? + okString(row.commandName) ?? + `PID ${row.identity?.pid ?? 0}` + ); + } +} diff --git a/src/main/processes/process-explorer-service.ts b/src/main/processes/process-explorer-service.ts index 13f2fb3..eb739cc 100644 --- a/src/main/processes/process-explorer-service.ts +++ b/src/main/processes/process-explorer-service.ts @@ -1,37 +1,30 @@ import { ipc } from '@mobrowser/api'; +import type { BrowserWindow } from '@mobrowser/api'; import { - ActionDisabledReason, GetProcessActionStatesRequest, GetProcessActionStatesResponse, - ProcessActionKind, ProcessSnapshot, RunProcessActionRequest, RunProcessActionResponse, - RunProcessActionResponse_Outcome, } from '../gen/process_explorer'; import { ProcessExplorerService as ProcessExplorerServiceImpl, ProcessExplorerServiceDescriptor, } from '../gen/ipc_service'; +import { ProcessActionService } from './process-action-service'; import { ProcessSnapshotService } from './process-snapshot-service'; -/** Action kinds the detail view exposes; all disabled until the action iteration. */ -const ACTION_KINDS: readonly ProcessActionKind[] = [ - ProcessActionKind.PROCESS_ACTION_KIND_REVEAL, - ProcessActionKind.PROCESS_ACTION_KIND_QUIT, - ProcessActionKind.PROCESS_ACTION_KIND_FORCE_QUIT, -]; - /** * Owns the renderer-facing process explorer service. * * Composes the small process explorer pieces, consistent with * {@link import('../metrics/metrics-service').MetricsService}: the * {@link ProcessSnapshotService} owns native collection, the cached snapshot, and - * the streaming `StreamRevisions` broadcast, while this class registers the unary - * methods. `GetProcessSnapshot` is delegated to the snapshot service; - * `GetProcessActionStates`/`RunProcessAction` stay not-yet-implemented because - * main-authoritative reveal/quit/force-quit land in the action iteration (I14). + * the streaming `StreamRevisions` broadcast; the {@link ProcessActionService} owns + * the main-authoritative reveal/quit/force-quit actions (validated against that + * cached snapshot); and this class registers the unary methods and routes them to + * the right piece. `GetProcessSnapshot` is delegated to the snapshot service; + * `GetProcessActionStates`/`RunProcessAction` are delegated to the action service. * * Lifecycle mirrors the metrics service: {@link setActive} gates the collection * cadence (driven by {@link import('../application').Application} when the @@ -46,6 +39,8 @@ const ACTION_KINDS: readonly ProcessActionKind[] = [ export class ProcessExplorerService { private readonly snapshots = new ProcessSnapshotService(); + private readonly actions: ProcessActionService; + /** * The unary handlers. Held as one object so {@link dispose} unregisters the * exact implementation that was registered. The streaming `StreamRevisions` @@ -63,7 +58,13 @@ export class ProcessExplorerService { private disposed = false; - constructor() { + /** + * @param getWindow Returns the live window (or null) so destructive-action + * confirmation dialogs can be parented to it. Passed lazily because the + * window is recreated across hide/show cycles. + */ + constructor(getWindow: () => BrowserWindow | null) { + this.actions = new ProcessActionService(() => this.snapshots.getSnapshot(), getWindow); ipc.registerService(ProcessExplorerServiceDescriptor, this.unaryHandlers); } @@ -102,35 +103,24 @@ export class ProcessExplorerService { } /** - * Returns per-action availability for a target. Until actions are implemented - * the target is reported invalid and every action is disabled with the - * not-implemented reason. The request target is intentionally not inspected or - * logged (it carries privacy-sensitive identity). + * Returns per-action availability for a target, validated in the action service + * against the latest snapshot. The request target carries privacy-sensitive + * identity and is never logged. */ private async getProcessActionStates( - _request: GetProcessActionStatesRequest, + request: GetProcessActionStatesRequest, ): Promise { - return { - targetValid: false, - actions: ACTION_KINDS.map((kind) => ({ - kind, - enabled: false, - disabledReason: ActionDisabledReason.ACTION_DISABLED_REASON_NOT_IMPLEMENTED, - })), - }; + return this.actions.getActionStates(request); } /** - * Runs an action against a target. Until actions are implemented this performs - * nothing and reports NOT_IMPLEMENTED with a zero affected count. The request - * is intentionally not inspected or logged. + * Runs a validated action against a target through the action service (reveal / + * confirmed quit / confirmed force quit). The request is never logged and the + * result is count-only. */ private async runProcessAction( - _request: RunProcessActionRequest, + request: RunProcessActionRequest, ): Promise { - return { - outcome: RunProcessActionResponse_Outcome.OUTCOME_NOT_IMPLEMENTED, - affectedCount: 0, - }; + return this.actions.runAction(request); } } diff --git a/src/renderer/components/processes/process-actions.tsx b/src/renderer/components/processes/process-actions.tsx new file mode 100644 index 0000000..b3b52d7 --- /dev/null +++ b/src/renderer/components/processes/process-actions.tsx @@ -0,0 +1,129 @@ +import { FolderOpen, Power, Zap } from "lucide-react" + +import { cn } from "@/lib/utils" +import { + ActionDisabledReason, + ProcessActionKind, + type ActionState, +} from "@/gen/process_explorer" + +/** + * The fixed bottom action row of the detail view: Open (reveal in Finder), Quit, + * and Force Quit for the selected process. + * + * Presentation-only. Every button's enabled state and disabled reason come from + * main (the authoritative {@link ActionState} list), and running an action just + * forwards the kind through {@link onRun} to main, which re-validates, confirms + * destructive actions with a native dialog, and applies self/system/stale + * protections. The renderer never executes an action itself. Disabled buttons + * carry an honest tooltip so the user knows why an action is unavailable (e.g. + * the target is MoStats itself or a system process). + */ +export function ProcessActions({ + actions, + busy, + onRun, +}: { + actions: ActionState[] + busy: boolean + onRun: (kind: ProcessActionKind) => void +}) { + const reveal = actions.find((a) => a.kind === ProcessActionKind.PROCESS_ACTION_KIND_REVEAL) + const quit = actions.find((a) => a.kind === ProcessActionKind.PROCESS_ACTION_KIND_QUIT) + const forceQuit = actions.find( + (a) => a.kind === ProcessActionKind.PROCESS_ACTION_KIND_FORCE_QUIT, + ) + + return ( +
+
+ ) +} + +/** One compact action button, styled to match the detail view's quiet controls. */ +function ActionButton({ + label, + title, + icon, + disabled, + onClick, + destructive = false, +}: { + label: string + title: string + icon: React.ReactNode + disabled: boolean + onClick: () => void + destructive?: boolean +}) { + return ( + + ) +} + +/** Tooltip for the reveal button, honest about why it is unavailable. */ +function revealTitle(reveal: ActionState | undefined): string { + if (reveal?.enabled) { + return "Show the executable in Finder" + } + if (reveal?.disabledReason === ActionDisabledReason.ACTION_DISABLED_REASON_NO_PATH) { + return "Executable path is unavailable" + } + return "Reveal is unavailable for this process" +} + +/** Tooltip for a destructive button, honest about why it is unavailable. */ +function destructiveTitle(verb: string, action: ActionState | undefined): string { + if (action?.enabled) { + return `${verb} this process` + } + switch (action?.disabledReason) { + case ActionDisabledReason.ACTION_DISABLED_REASON_SELF: + return `Cannot ${verb.toLowerCase()} MoStats itself` + case ActionDisabledReason.ACTION_DISABLED_REASON_PROTECTED: + return `Cannot ${verb.toLowerCase()} a system process` + case ActionDisabledReason.ACTION_DISABLED_REASON_STALE: + return "This process is no longer available" + default: + return `${verb} is unavailable for this process` + } +} diff --git a/src/renderer/components/processes/process-detail.tsx b/src/renderer/components/processes/process-detail.tsx index cb9891c..58b1810 100644 --- a/src/renderer/components/processes/process-detail.tsx +++ b/src/renderer/components/processes/process-detail.tsx @@ -3,7 +3,9 @@ import { useState, type ReactNode } from "react" import { cn } from "@/lib/utils" import { UNAVAILABLE_TEXT, formatStartTime } from "@/lib/format" +import type { ActionState, ProcessActionKind } from "@/gen/process_explorer" import { CommandLineBlock, TextDisclosure } from "@/components/processes/command-line-block" +import { ProcessActions } from "@/components/processes/process-actions" import { ProcessIcon } from "@/components/processes/process-row" import { ProcessSortControl } from "@/components/processes/process-sort-control" import type { @@ -34,19 +36,30 @@ const TOTAL_LABEL: Record = { * with explicit availability, so unavailable/pending states render honestly * instead of as blanks or faked values. Command-line text is shown/copied only on * user action and is never logged or persisted. + * + * The fixed bottom action row (Open / Quit / Force Quit) reflects main's + * authoritative {@link ActionState} list; running an action just forwards the kind + * to main via {@link onRunAction}. When a member is drilled into, the row targets + * that member; otherwise it targets the group's representative. */ export function ProcessDetailView({ detail, sort, + actions, + actionsBusy, onSortChange, onBack, onOpenMember, + onRunAction, }: { detail: ProcessDetail sort: SortMode + actions: ActionState[] + actionsBusy: boolean onSortChange: (sort: SortMode) => void onBack: () => void onOpenMember: (pid: number, startedAtUnixMs?: number) => void + onRunAction: (kind: ProcessActionKind) => void }) { const secondary = detail.bundleIdentifier ?? detail.executableName const metadata = `${secondary ? `${secondary} - ` : ""}PID ${detail.pid}${ @@ -119,6 +132,8 @@ export function ProcessDetailView({ )} + + ) } diff --git a/src/renderer/components/processes/process-explorer-view.tsx b/src/renderer/components/processes/process-explorer-view.tsx index 98e7ea7..b419fe8 100644 --- a/src/renderer/components/processes/process-explorer-view.tsx +++ b/src/renderer/components/processes/process-explorer-view.tsx @@ -1,7 +1,13 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react" import { processExplorerGateway } from "@/gateway/process-explorer-gateway" -import type { ProcessSnapshot } from "@/gen/process_explorer" +import { + FieldStatus, + type ActionState, + type ProcessActionKind, + type ProcessIdentity, + type ProcessSnapshot, +} from "@/gen/process_explorer" import { ProcessDetailView } from "@/components/processes/process-detail" import { ProcessList } from "@/components/processes/process-list" import { ProcessSearchField } from "@/components/processes/process-search-field" @@ -113,15 +119,88 @@ export function ProcessExplorerView({ active }: { active: boolean }) { [snapshot, sort, query], ) + // Main-authoritative action states for the open detail's target. Fetched when + // the target process changes (its enabled/disabled reasons - self/system/path - + // are stable tick to tick; staleness is re-checked authoritatively in main when + // an action runs). `actionsBusy` disables the row while an action is in flight. + // The target is memoized on the primitive identity (pid + start time), not the + // detail object (which is a fresh reference each tick), so it stays stable while + // the same process is selected and does not refetch on every revision. + const targetPid = detail?.pid + const targetStartedAt = detail?.startedAt === "ok" ? detail.startedAtUnixMs : undefined + const target = useMemo( + () => + targetPid === undefined + ? undefined + : { + pid: targetPid, + startedAtStatus: + targetStartedAt === undefined + ? FieldStatus.FIELD_STATUS_UNKNOWN + : FieldStatus.FIELD_STATUS_OK, + startedAtUnixMs: targetStartedAt ?? 0, + }, + [targetPid, targetStartedAt], + ) + const [actions, setActions] = useState([]) + const [actionsBusy, setActionsBusy] = useState(false) + // Always read the latest revision when running an action, without making the + // action-state fetch depend on it (which would refetch every 2s tick). + const revisionRef = useRef(0) + useEffect(() => { + revisionRef.current = snapshot.revision + }, [snapshot.revision]) + + const refreshActionStates = useCallback(async () => { + if (!target) { + setActions([]) + return + } + try { + const response = await processExplorerGateway.getActionStates(target, revisionRef.current) + setActions(response.actions) + } catch { + // Leave the last states; an unreadable fetch should not crash the panel. + } + }, [target]) + + useEffect(() => { + void refreshActionStates() + }, [refreshActionStates]) + + const runAction = useCallback( + async (kind: ProcessActionKind) => { + if (!target || actionsBusy) { + return + } + setActionsBusy(true) + try { + await processExplorerGateway.runAction(kind, target, revisionRef.current) + } catch { + // No diagnostic is logged - the target/result can carry process identity. + } finally { + setActionsBusy(false) + } + // Re-pull so a quit/force-quit drops the row promptly (the detail then falls + // back down the stack), and refresh the action availability for what remains. + await pull() + await refreshActionStates() + }, + [target, actionsBusy, pull, refreshActionStates], + ) + if (detail) { return (
) From 5c9b91a6eb2fefcd99b4ab7b425f482e814a219f Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sat, 6 Jun 2026 16:56:23 +0300 Subject: [PATCH 067/169] Refactor process action handling to enforce stable target identity checks --- src/main/processes/process-action-service.ts | 64 ++++++++++++++----- .../components/processes/process-actions.tsx | 2 + .../processes/process-explorer-view.tsx | 21 +++++- .../gateway/process-explorer-gateway.ts | 4 +- src/renderer/proto/process_explorer.proto | 12 +++- 5 files changed, 78 insertions(+), 25 deletions(-) diff --git a/src/main/processes/process-action-service.ts b/src/main/processes/process-action-service.ts index e0e4b0a..4603dc7 100644 --- a/src/main/processes/process-action-service.ts +++ b/src/main/processes/process-action-service.ts @@ -57,17 +57,17 @@ function okString(value: { status: FieldStatus; value: string } | undefined): st } /** - * Finds the row in a snapshot that still matches a target identity (pid plus, - * when the target carried one, an exact start time so a reused PID does not - * match). Returns undefined when the process has exited or its PID was reused, - * which the caller turns into a STALE result. Pure: inspects identity only, never - * a sensitive value. + * Finds the row in a snapshot that still matches a target identity. When the + * target carries an exact start time, it must match too so a reused PID does not + * match. A target without start time falls back to PID only; destructive actions + * apply a separate stable-identity guard before signaling. Pure: inspects + * identity only, never a sensitive value. * * This `(pid, started_at)` identity match against the live cached snapshot is the * action path's staleness guard, and it supersedes the request's `revision` - * field: matching identity already rejects an exited PID (not found) and a reused - * PID (start time differs), which a coarser revision compare would not, so the - * action service does not read `request.revision`. + * field for targets with known start time: matching identity rejects an exited + * PID (not found) and a reused PID (start time differs), which a coarser revision + * compare would not, so the action service does not read `request.revision`. */ export function findTargetRow( snapshot: ProcessSnapshot, @@ -81,7 +81,8 @@ export function findTargetRow( return undefined; } // A target with a known start time must match it exactly (reused-PID guard); - // a target with no recorded start time falls back to PID alone. + // a target with no recorded start time falls back to PID alone. Quit/Force Quit + // still reject unstable target identities before sending a signal. if (target.startedAtStatus === FieldStatus.FIELD_STATUS_OK) { return matches.find( (row) => @@ -92,6 +93,11 @@ export function findTargetRow( return matches[0]; } +/** True when a renderer target carries a PID-reuse-safe process identity. */ +function hasStableTargetIdentity(target: ProcessIdentity | undefined): boolean { + return target?.startedAtStatus === FieldStatus.FIELD_STATUS_OK; +} + /** True when a resolved row is a protected/system-critical process. */ export function isSystemProcess(row: ProcessRow): boolean { const pid = row.identity?.pid ?? 0; @@ -117,13 +123,14 @@ export function isSystemProcess(row: ProcessRow): boolean { * * - Reveal needs an OK executable path (NO_PATH otherwise); it is always allowed * for self/system processes because opening a file in Finder is harmless. - * - Quit / Force Quit are blocked for MoStats itself (SELF) and for - * system-critical processes (PROTECTED); everything else is allowed. + * - Quit / Force Quit require a known target start time (UNSTABLE_IDENTITY), then + * block MoStats itself (SELF) and system-critical processes (PROTECTED). */ export function disabledReasonFor( action: ProcessActionKind, row: ProcessRow, selfPid: number, + target: ProcessIdentity | undefined, ): ActionDisabledReason { if (action === ProcessActionKind.PROCESS_ACTION_KIND_REVEAL) { return okString(row.executablePath) !== undefined @@ -131,6 +138,9 @@ export function disabledReasonFor( : ActionDisabledReason.ACTION_DISABLED_REASON_NO_PATH; } + if (!hasStableTargetIdentity(target)) { + return ActionDisabledReason.ACTION_DISABLED_REASON_UNSTABLE_IDENTITY; + } if ((row.identity?.pid ?? 0) === selfPid) { return ActionDisabledReason.ACTION_DISABLED_REASON_SELF; } @@ -194,7 +204,7 @@ export class ProcessActionService { return { targetValid: true, - actions: ACTION_KINDS.map((kind) => this.actionState(kind, row)), + actions: ACTION_KINDS.map((kind) => this.actionState(kind, row, request.target)), }; } @@ -215,9 +225,9 @@ export class ProcessActionService { return { outcome: Outcome.OUTCOME_STALE_TARGET, affectedCount: 0 }; } - const disabledReason = disabledReasonFor(request.action, row, this.selfPid); + const disabledReason = disabledReasonFor(request.action, row, this.selfPid, request.target); if (disabledReason !== ActionDisabledReason.ACTION_DISABLED_REASON_NONE) { - // NO_PATH/SELF/PROTECTED all collapse to a count-only not-allowed outcome. + // NO_PATH/SELF/PROTECTED/UNSTABLE_IDENTITY collapse to count-only not allowed. return { outcome: Outcome.OUTCOME_NOT_ALLOWED, affectedCount: 0 }; } @@ -231,7 +241,23 @@ export class ProcessActionService { // Treat a declined confirmation as a no-op, not a failure. return { outcome: Outcome.OUTCOME_SUCCEEDED, affectedCount: 0 }; } - return this.signal(request.action, row); + + const freshRow = findTargetRow(this.getSnapshot(), request.target); + if (freshRow === undefined) { + return { outcome: Outcome.OUTCOME_STALE_TARGET, affectedCount: 0 }; + } + + const freshDisabledReason = disabledReasonFor( + request.action, + freshRow, + this.selfPid, + request.target, + ); + if (freshDisabledReason !== ActionDisabledReason.ACTION_DISABLED_REASON_NONE) { + return { outcome: Outcome.OUTCOME_NOT_ALLOWED, affectedCount: 0 }; + } + + return this.signal(request.action, freshRow); } if (request.action === ProcessActionKind.PROCESS_ACTION_KIND_QUIT) { @@ -243,8 +269,12 @@ export class ProcessActionService { } /** Builds one {@link ActionState} for an already-resolved, non-stale row. */ - private actionState(kind: ProcessActionKind, row: ProcessRow): ActionState { - const disabledReason = disabledReasonFor(kind, row, this.selfPid); + private actionState( + kind: ProcessActionKind, + row: ProcessRow, + target: ProcessIdentity | undefined, + ): ActionState { + const disabledReason = disabledReasonFor(kind, row, this.selfPid, target); const enabled = disabledReason === ActionDisabledReason.ACTION_DISABLED_REASON_NONE; return { kind, diff --git a/src/renderer/components/processes/process-actions.tsx b/src/renderer/components/processes/process-actions.tsx index b3b52d7..7e9728d 100644 --- a/src/renderer/components/processes/process-actions.tsx +++ b/src/renderer/components/processes/process-actions.tsx @@ -123,6 +123,8 @@ function destructiveTitle(verb: string, action: ActionState | undefined): string return `Cannot ${verb.toLowerCase()} a system process` case ActionDisabledReason.ACTION_DISABLED_REASON_STALE: return "This process is no longer available" + case ActionDisabledReason.ACTION_DISABLED_REASON_UNSTABLE_IDENTITY: + return "Process start time is unavailable" default: return `${verb} is unavailable for this process` } diff --git a/src/renderer/components/processes/process-explorer-view.tsx b/src/renderer/components/processes/process-explorer-view.tsx index b419fe8..61091dc 100644 --- a/src/renderer/components/processes/process-explorer-view.tsx +++ b/src/renderer/components/processes/process-explorer-view.tsx @@ -142,6 +142,14 @@ export function ProcessExplorerView({ active }: { active: boolean }) { }, [targetPid, targetStartedAt], ) + const targetKey = + target === undefined + ? "" + : `${target.pid}:${target.startedAtStatus}:${target.startedAtUnixMs}` + const targetKeyRef = useRef(targetKey) + useEffect(() => { + targetKeyRef.current = targetKey + }, [targetKey]) const [actions, setActions] = useState([]) const [actionsBusy, setActionsBusy] = useState(false) // Always read the latest revision when running an action, without making the @@ -156,13 +164,20 @@ export function ProcessExplorerView({ active }: { active: boolean }) { setActions([]) return } + const requestedKey = targetKey + setActions([]) try { const response = await processExplorerGateway.getActionStates(target, revisionRef.current) - setActions(response.actions) + if (targetKeyRef.current === requestedKey) { + setActions(response.actions) + } } catch { - // Leave the last states; an unreadable fetch should not crash the panel. + // Keep the row disabled for this target until the next successful fetch. + if (targetKeyRef.current === requestedKey) { + setActions([]) + } } - }, [target]) + }, [target, targetKey]) useEffect(() => { void refreshActionStates() diff --git a/src/renderer/gateway/process-explorer-gateway.ts b/src/renderer/gateway/process-explorer-gateway.ts index ecb52d5..9775b06 100644 --- a/src/renderer/gateway/process-explorer-gateway.ts +++ b/src/renderer/gateway/process-explorer-gateway.ts @@ -73,8 +73,8 @@ export const processExplorerGateway = { /** * Reads per-action availability for a target, validated in main against the - * latest snapshot. Pass the revision the UI is currently showing so main can - * detect a stale target. + * latest snapshot. The revision is passed as request context only; stale-target + * detection uses PID plus start time in the live cache. */ async getActionStates( target: ProcessIdentity, diff --git a/src/renderer/proto/process_explorer.proto b/src/renderer/proto/process_explorer.proto index 6f46cb7..50875d3 100644 --- a/src/renderer/proto/process_explorer.proto +++ b/src/renderer/proto/process_explorer.proto @@ -182,7 +182,8 @@ message ProcessSnapshot { // Overall snapshot state (loading/ok/unavailable/permission-limited). SnapshotStatus status = 1; // Monotonic revision id; 0 before the first snapshot. Action requests carry - // the revision they were issued against so main can reject stale targets. + // this for context; main's stale-target guard is the live snapshot identity + // match by PID plus start time. uint64 revision = 2; // Epoch milliseconds when this snapshot was produced in main. int64 timestamp_ms = 3; @@ -238,6 +239,9 @@ enum ActionDisabledReason { ACTION_DISABLED_REASON_STALE = 5; // Actions are not implemented yet for this build (I10 placeholder state). ACTION_DISABLED_REASON_NOT_IMPLEMENTED = 6; + // Quit/Force Quit require a known start time so PID reuse cannot hit another + // process. Reveal can still be allowed because it only opens Finder. + ACTION_DISABLED_REASON_UNSTABLE_IDENTITY = 7; } // Whether one action kind is currently available for a target. @@ -253,7 +257,8 @@ message ActionState { message GetProcessActionStatesRequest { // Target process identity (pid + start time). ProcessIdentity target = 1; - // Snapshot revision the renderer is showing; lets main detect a stale target. + // Snapshot revision the renderer is showing. Informational for the action path; + // main detects stale targets by matching PID plus start time in the live cache. uint64 revision = 2; } @@ -270,7 +275,8 @@ message RunProcessActionRequest { ProcessActionKind action = 1; // Target process identity (pid + start time). ProcessIdentity target = 2; - // Snapshot revision the action was issued against, for stale-target rejection. + // Snapshot revision the action was issued against. Informational for the action + // path; main revalidates with PID plus start time in the live cache. uint64 revision = 3; } From d8dda95e2a1cc2dcea050e5ed779d019bdd354e0 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sat, 6 Jun 2026 18:25:38 +0300 Subject: [PATCH 068/169] Refactor process action handling to define session-critical processes and improve action feedback --- src/main/processes/process-action-service.ts | 102 ++++++++++-------- .../components/processes/process-actions.tsx | 55 ++++++---- .../components/processes/process-detail.tsx | 9 +- .../processes/process-explorer-view.tsx | 38 ++++++- src/renderer/proto/process_explorer.proto | 9 +- 5 files changed, 143 insertions(+), 70 deletions(-) diff --git a/src/main/processes/process-action-service.ts b/src/main/processes/process-action-service.ts index 4603dc7..4edbf1b 100644 --- a/src/main/processes/process-action-service.ts +++ b/src/main/processes/process-action-service.ts @@ -24,28 +24,29 @@ const ACTION_KINDS: readonly ProcessActionKind[] = [ ]; /** - * POSIX path prefixes that mark a system-owned executable. A process running - * from one of these is treated as system-critical and cannot be quit/force-quit, - * mirroring Activity Monitor's refusal to kill core OS processes. - */ -const SYSTEM_PATH_PREFIXES: readonly string[] = [ - '/System/', - '/sbin/', - '/usr/libexec/', - '/usr/sbin/', -]; - -/** - * Well-known system process names that must never be signaled even though they - * may not live under a system path. + * A small, deliberately narrow denylist of session-critical processes whose + * termination would crash, log out, or visibly destabilize the macOS session. + * These cannot be quit/force-quit regardless of who owns them. + * + * This is intentionally NOT a "block all Apple/system software" rule. Ordinary + * apps - including Apple's bundled apps like Notes, Calculator, and Mail (which + * live under /System/Applications) - are quittable; only this hardcoded set is + * protected. Anything else is allowed to be signaled, and the OS itself is the + * final backstop: a process owned by another user (e.g. a root daemon) rejects + * an unprivileged signal with EPERM, which is reported as NOT_PERMITTED rather + * than pre-emptively greyed out. */ -const SYSTEM_PROCESS_NAMES: ReadonlySet = new Set([ - 'kernel_task', - 'launchd', - 'loginwindow', - 'notifyd', - 'powerd', - 'WindowServer', +const CRITICAL_PROCESS_NAMES: ReadonlySet = new Set([ + 'kernel_task', // the kernel + 'launchd', // PID 1, the init/service manager + 'WindowServer', // the display server; killing it logs the user out + 'loginwindow', // owns the login/user session + 'logind', // session lifecycle + 'SystemUIServer', // the menu bar + 'Dock', // the Dock and Mission Control + 'Finder', // the desktop and file UI + 'coreaudiod', // core audio; killing it breaks all sound + 'WindowManager', // Stage Manager / window management ]); /** Reads a string field only when it is explicitly OK and non-empty. */ @@ -98,22 +99,25 @@ function hasStableTargetIdentity(target: ProcessIdentity | undefined): boolean { return target?.startedAtStatus === FieldStatus.FIELD_STATUS_OK; } -/** True when a resolved row is a protected/system-critical process. */ -export function isSystemProcess(row: ProcessRow): boolean { +/** + * True when a resolved row is a session-critical process that must never be + * signaled. This is PID 0/1 plus a small name denylist + * ({@link CRITICAL_PROCESS_NAMES}) - NOT a broad "is it system/Apple software" + * check, so ordinary apps (including Apple's bundled apps) are not protected. + * Matched against both the short command name and the executable name so a + * process is caught regardless of which one macOS reported. + */ +export function isCriticalProcess(row: ProcessRow): boolean { const pid = row.identity?.pid ?? 0; if (pid <= 1) { return true; } const commandName = okString(row.commandName); const executableName = okString(row.executableName); - if ( - (commandName !== undefined && SYSTEM_PROCESS_NAMES.has(commandName)) || - (executableName !== undefined && SYSTEM_PROCESS_NAMES.has(executableName)) - ) { - return true; - } - const path = okString(row.executablePath); - return path !== undefined && SYSTEM_PATH_PREFIXES.some((prefix) => path.startsWith(prefix)); + return ( + (commandName !== undefined && CRITICAL_PROCESS_NAMES.has(commandName)) || + (executableName !== undefined && CRITICAL_PROCESS_NAMES.has(executableName)) + ); } /** @@ -122,9 +126,11 @@ export function isSystemProcess(row: ProcessRow): boolean { * free so it can be unit tested in isolation (I15). * * - Reveal needs an OK executable path (NO_PATH otherwise); it is always allowed - * for self/system processes because opening a file in Finder is harmless. + * for self/critical processes because opening a file in Finder is harmless. * - Quit / Force Quit require a known target start time (UNSTABLE_IDENTITY), then - * block MoStats itself (SELF) and system-critical processes (PROTECTED). + * block MoStats itself (SELF) and session-critical processes (PROTECTED). + * Everything else is allowed; a root-owned daemon is not pre-emptively blocked + * here - the OS rejects the signal (EPERM -> NOT_PERMITTED) at execution time. */ export function disabledReasonFor( action: ProcessActionKind, @@ -144,7 +150,7 @@ export function disabledReasonFor( if ((row.identity?.pid ?? 0) === selfPid) { return ActionDisabledReason.ACTION_DISABLED_REASON_SELF; } - if (isSystemProcess(row)) { + if (isCriticalProcess(row)) { return ActionDisabledReason.ACTION_DISABLED_REASON_PROTECTED; } return ActionDisabledReason.ACTION_DISABLED_REASON_NONE; @@ -155,12 +161,17 @@ export function disabledReasonFor( * reveal-in-Finder, Quit (SIGTERM), and Force Quit (SIGKILL). * * Every action is validated here against the latest cached snapshot - never from - * renderer-supplied state - so the renderer cannot drive a stale, system, or + * renderer-supplied state - so the renderer cannot drive a stale, critical, or * self target. Targets are matched by (pid, start time) identity; an exited or - * reused-PID target resolves to STALE. Force Quit (SIGKILL) requires an explicit - * native confirmation dialog (main-authoritative, so the confirm step cannot be - * skipped by a direct IPC call) because it kills immediately and loses unsaved - * work; Quit (SIGTERM) is graceful and proceeds without a prompt. + * reused-PID target resolves to STALE. Destructive actions are blocked only for + * MoStats itself and a small session-critical denylist (see + * {@link CRITICAL_PROCESS_NAMES}); ordinary apps - including Apple's bundled apps + * like Notes - are quittable, and the OS is the final guard for root-owned + * daemons (an unprivileged signal returns EPERM -> NOT_PERMITTED). Force Quit + * (SIGKILL) requires an explicit native confirmation dialog (main-authoritative, + * so the confirm step cannot be skipped by a direct IPC call) because it kills + * immediately and loses unsaved work; Quit (SIGTERM) is graceful and proceeds + * without a prompt. * * Privacy: results are count-only. This service never logs or returns OS * diagnostics, executable paths, process names, bundle identifiers, or @@ -306,12 +317,15 @@ export class ProcessActionService { process.kill(pid, signal); return { outcome: Outcome.OUTCOME_SUCCEEDED, affectedCount: 1 }; } catch (error) { - // ESRCH means the process already exited between validation and the signal; - // report it as stale rather than a hard failure. No process detail leaks. const code = (error as NodeJS.ErrnoException | undefined)?.code; - return code === 'ESRCH' - ? { outcome: Outcome.OUTCOME_STALE_TARGET, affectedCount: 0 } - : { outcome: Outcome.OUTCOME_FAILED, affectedCount: 0 }; + switch (code) { + case 'ESRCH': + return { outcome: Outcome.OUTCOME_STALE_TARGET, affectedCount: 0 }; + case 'EPERM': + return { outcome: Outcome.OUTCOME_NOT_PERMITTED, affectedCount: 0 }; + default: + return { outcome: Outcome.OUTCOME_FAILED, affectedCount: 0 }; + } } } diff --git a/src/renderer/components/processes/process-actions.tsx b/src/renderer/components/processes/process-actions.tsx index 7e9728d..297f192 100644 --- a/src/renderer/components/processes/process-actions.tsx +++ b/src/renderer/components/processes/process-actions.tsx @@ -22,10 +22,12 @@ import { export function ProcessActions({ actions, busy, + message, onRun, }: { actions: ActionState[] busy: boolean + message?: string onRun: (kind: ProcessActionKind) => void }) { const reveal = actions.find((a) => a.kind === ProcessActionKind.PROCESS_ACTION_KIND_REVEAL) @@ -35,30 +37,37 @@ export function ProcessActions({ ) return ( -
-
) } diff --git a/src/renderer/components/processes/process-explorer-view.tsx b/src/renderer/components/processes/process-explorer-view.tsx index 61091dc..ab5d905 100644 --- a/src/renderer/components/processes/process-explorer-view.tsx +++ b/src/renderer/components/processes/process-explorer-view.tsx @@ -3,6 +3,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react" import { processExplorerGateway } from "@/gateway/process-explorer-gateway" import { FieldStatus, + RunProcessActionResponse_Outcome as Outcome, type ActionState, type ProcessActionKind, type ProcessIdentity, @@ -152,6 +153,13 @@ export function ProcessExplorerView({ active }: { active: boolean }) { }, [targetKey]) const [actions, setActions] = useState([]) const [actionsBusy, setActionsBusy] = useState(false) + // A transient, non-sensitive message for an action that did not succeed (e.g. a + // root-owned daemon the OS refused to signal). Cleared whenever the selected + // target changes so it never carries over to a different process. + const [actionMessage, setActionMessage] = useState(undefined) + useEffect(() => { + setActionMessage(undefined) + }, [targetKey]) // Always read the latest revision when running an action, without making the // action-state fetch depend on it (which would refetch every 2s tick). const revisionRef = useRef(0) @@ -189,10 +197,16 @@ export function ProcessExplorerView({ active }: { active: boolean }) { return } setActionsBusy(true) + setActionMessage(undefined) try { - await processExplorerGateway.runAction(kind, target, revisionRef.current) + const response = await processExplorerGateway.runAction(kind, target, revisionRef.current) + // A succeeded quit/force-quit drops the row and the detail falls back, so + // only a non-success outcome needs surfacing. Messages are derived from the + // coarse outcome only - they carry no process identity. + setActionMessage(actionOutcomeMessage(response.outcome)) } catch { // No diagnostic is logged - the target/result can carry process identity. + setActionMessage("Action could not be completed.") } finally { setActionsBusy(false) } @@ -212,6 +226,7 @@ export function ProcessExplorerView({ active }: { active: boolean }) { sort={sort} actions={actions} actionsBusy={actionsBusy} + actionMessage={actionMessage} onSortChange={setSort} onBack={goBack} onOpenMember={openMember} @@ -237,3 +252,24 @@ export function ProcessExplorerView({ active }: { active: boolean }) { ) } + +/** + * Maps a coarse action outcome to a short, non-sensitive message for the detail's + * action row, or undefined when nothing needs to be said. A succeeded action + * drops the row (the detail falls back), and a stale target likewise resolves to + * a different view, so neither shows a message; only an OS refusal or an + * unspecified failure does. The message is derived from the outcome enum alone - + * it never includes a process name, path, or argv. + */ +function actionOutcomeMessage(outcome: Outcome): string | undefined { + switch (outcome) { + case Outcome.OUTCOME_NOT_PERMITTED: + return "Couldn't quit - this process is owned by the system." + case Outcome.OUTCOME_NOT_ALLOWED: + return "This action isn't allowed for this process." + case Outcome.OUTCOME_FAILED: + return "Action could not be completed." + default: + return undefined + } +} diff --git a/src/renderer/proto/process_explorer.proto b/src/renderer/proto/process_explorer.proto index 50875d3..00c7fa0 100644 --- a/src/renderer/proto/process_explorer.proto +++ b/src/renderer/proto/process_explorer.proto @@ -233,7 +233,10 @@ enum ActionDisabledReason { ACTION_DISABLED_REASON_NO_PATH = 2; // The target is MoStats itself; self-termination is not allowed. ACTION_DISABLED_REASON_SELF = 3; - // The target is a protected/system-critical process (e.g. PID 0/1, kernel). + // The target is a session-critical process whose termination would destabilize + // the macOS session (e.g. PID 0/1, kernel_task, launchd, WindowServer, + // loginwindow). Ordinary apps - including Apple's bundled apps like Notes - are + // NOT protected; only a small hardcoded denylist of critical processes is. ACTION_DISABLED_REASON_PROTECTED = 4; // The target no longer matches the latest snapshot (exited / reused PID). ACTION_DISABLED_REASON_STALE = 5; @@ -295,6 +298,10 @@ message RunProcessActionResponse { OUTCOME_NOT_IMPLEMENTED = 4; // The action failed for an unspecified, non-sensitive reason. OUTCOME_FAILED = 5; + // The OS refused the signal because the process is owned by another user + // (typically a root-owned daemon); an unprivileged signal returns EPERM. + // MoStats does not escalate privileges, so this is reported, not retried. + OUTCOME_NOT_PERMITTED = 6; } Outcome outcome = 1; // Number of processes the action affected (e.g. 1 for a single target, or a From 4544b23a4a9d10081256877160a20545e4d831fd Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sat, 6 Jun 2026 18:38:29 +0300 Subject: [PATCH 069/169] Refactor process action handling --- .../processes/process-explorer-view.tsx | 192 +++++++++--------- 1 file changed, 96 insertions(+), 96 deletions(-) diff --git a/src/renderer/components/processes/process-explorer-view.tsx b/src/renderer/components/processes/process-explorer-view.tsx index ab5d905..30852de 100644 --- a/src/renderer/components/processes/process-explorer-view.tsx +++ b/src/renderer/components/processes/process-explorer-view.tsx @@ -18,6 +18,7 @@ import { projectProcessList, resolveSelection, type DetailSelection, + type ProcessDetail, type SortMode, } from "@/components/processes/process-view" @@ -120,52 +121,80 @@ export function ProcessExplorerView({ active }: { active: boolean }) { [snapshot, sort, query], ) - // Main-authoritative action states for the open detail's target. Fetched when - // the target process changes (its enabled/disabled reasons - self/system/path - - // are stable tick to tick; staleness is re-checked authoritatively in main when - // an action runs). `actionsBusy` disables the row while an action is in flight. - // The target is memoized on the primitive identity (pid + start time), not the - // detail object (which is a fresh reference each tick), so it stays stable while - // the same process is selected and does not refetch on every revision. + const { actions, actionsBusy, actionMessage, runAction } = useProcessActions(detail, pull) + + if (detail) { + return ( +
+ +
+ ) + } + + return ( +
+
+ + +
+ + 0} + onOpenSelection={openSelection} + /> +
+ ) +} + +/** + * Owns the detail's process-action concerns: the action target, its + * main-authoritative {@link ActionState} list, the in-flight flag, a transient + * non-success message, and the action runner. Kept out of the view component so + * the latter stays focused on the snapshot lifecycle and list/detail rendering. + * + * The target is derived from the open `detail` but keyed on its primitive + * identity (pid + start time) so it is stable across the 2s snapshot ticks (the + * detail object is a fresh reference each tick) and does not refetch needlessly. + * A `targetKey` guard drops out-of-order `getActionStates` responses. The + * snapshot revision is not passed: main validates the target by identity, not + * revision, so any value would be ignored. + */ +function useProcessActions(detail: ProcessDetail | undefined, onActed: () => Promise) { const targetPid = detail?.pid const targetStartedAt = detail?.startedAt === "ok" ? detail.startedAtUnixMs : undefined const target = useMemo( - () => - targetPid === undefined - ? undefined - : { - pid: targetPid, - startedAtStatus: - targetStartedAt === undefined - ? FieldStatus.FIELD_STATUS_UNKNOWN - : FieldStatus.FIELD_STATUS_OK, - startedAtUnixMs: targetStartedAt ?? 0, - }, - [targetPid, targetStartedAt], + () => + targetPid === undefined + ? undefined + : { + pid: targetPid, + startedAtStatus: + targetStartedAt === undefined + ? FieldStatus.FIELD_STATUS_UNKNOWN + : FieldStatus.FIELD_STATUS_OK, + startedAtUnixMs: targetStartedAt ?? 0, + }, + [targetPid, targetStartedAt], ) - const targetKey = - target === undefined - ? "" - : `${target.pid}:${target.startedAtStatus}:${target.startedAtUnixMs}` + const targetKey = target ? `${target.pid}:${target.startedAtStatus}:${target.startedAtUnixMs}` : "" const targetKeyRef = useRef(targetKey) - useEffect(() => { - targetKeyRef.current = targetKey - }, [targetKey]) + targetKeyRef.current = targetKey + const [actions, setActions] = useState([]) const [actionsBusy, setActionsBusy] = useState(false) - // A transient, non-sensitive message for an action that did not succeed (e.g. a - // root-owned daemon the OS refused to signal). Cleared whenever the selected - // target changes so it never carries over to a different process. const [actionMessage, setActionMessage] = useState(undefined) - useEffect(() => { - setActionMessage(undefined) - }, [targetKey]) - // Always read the latest revision when running an action, without making the - // action-state fetch depend on it (which would refetch every 2s tick). - const revisionRef = useRef(0) - useEffect(() => { - revisionRef.current = snapshot.revision - }, [snapshot.revision]) const refreshActionStates = useCallback(async () => { if (!target) { @@ -175,7 +204,8 @@ export function ProcessExplorerView({ active }: { active: boolean }) { const requestedKey = targetKey setActions([]) try { - const response = await processExplorerGateway.getActionStates(target, revisionRef.current) + const response = await processExplorerGateway.getActionStates(target, 0) + // Ignore a response that arrived after the selection moved on. if (targetKeyRef.current === requestedKey) { setActions(response.actions) } @@ -187,70 +217,40 @@ export function ProcessExplorerView({ active }: { active: boolean }) { } }, [target, targetKey]) + // Refresh states and clear any prior message whenever the target changes. useEffect(() => { + setActionMessage(undefined) void refreshActionStates() }, [refreshActionStates]) const runAction = useCallback( - async (kind: ProcessActionKind) => { - if (!target || actionsBusy) { - return - } - setActionsBusy(true) - setActionMessage(undefined) - try { - const response = await processExplorerGateway.runAction(kind, target, revisionRef.current) - // A succeeded quit/force-quit drops the row and the detail falls back, so - // only a non-success outcome needs surfacing. Messages are derived from the - // coarse outcome only - they carry no process identity. - setActionMessage(actionOutcomeMessage(response.outcome)) - } catch { - // No diagnostic is logged - the target/result can carry process identity. - setActionMessage("Action could not be completed.") - } finally { - setActionsBusy(false) - } - // Re-pull so a quit/force-quit drops the row promptly (the detail then falls - // back down the stack), and refresh the action availability for what remains. - await pull() - await refreshActionStates() - }, - [target, actionsBusy, pull, refreshActionStates], + async (kind: ProcessActionKind) => { + if (!target || actionsBusy) { + return + } + setActionsBusy(true) + setActionMessage(undefined) + try { + const response = await processExplorerGateway.runAction(kind, target, 0) + // A succeeded quit/force-quit drops the row and the detail falls back, so + // only a non-success outcome needs surfacing. Messages are derived from the + // coarse outcome only - they carry no process identity. + setActionMessage(actionOutcomeMessage(response.outcome)) + } catch { + // No diagnostic is logged - the target/result can carry process identity. + setActionMessage("Action could not be completed.") + } finally { + setActionsBusy(false) + } + // Re-pull so a quit/force-quit drops the row promptly (the detail then falls + // back down the stack), and refresh the action availability for what remains. + await onActed() + await refreshActionStates() + }, + [target, actionsBusy, onActed, refreshActionStates], ) - if (detail) { - return ( -
- -
- ) - } - - return ( -
-
- - -
- - 0} - onOpenSelection={openSelection} - /> -
- ) + return { actions, actionsBusy, actionMessage, runAction } } /** From af73baef4fe932262fff8b84e5eb173a390e086d Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sat, 6 Jun 2026 19:08:09 +0300 Subject: [PATCH 070/169] Remove snapshot revision from action requests --- src/main/processes/process-action-service.ts | 7 +- .../components/processes/process-actions.tsx | 7 +- .../processes/process-explorer-view.tsx | 80 +++++++++---------- .../gateway/process-explorer-gateway.ts | 16 ++-- src/renderer/proto/process_explorer.proto | 24 ++---- 5 files changed, 61 insertions(+), 73 deletions(-) diff --git a/src/main/processes/process-action-service.ts b/src/main/processes/process-action-service.ts index 4edbf1b..d5d0a33 100644 --- a/src/main/processes/process-action-service.ts +++ b/src/main/processes/process-action-service.ts @@ -65,10 +65,9 @@ function okString(value: { status: FieldStatus; value: string } | undefined): st * identity only, never a sensitive value. * * This `(pid, started_at)` identity match against the live cached snapshot is the - * action path's staleness guard, and it supersedes the request's `revision` - * field for targets with known start time: matching identity rejects an exited - * PID (not found) and a reused PID (start time differs), which a coarser revision - * compare would not, so the action service does not read `request.revision`. + * action path's staleness guard. Matching identity rejects an exited PID (not + * found) and a reused PID (start time differs), without tying actions to the + * snapshot revision that happened to be visible when the user clicked. */ export function findTargetRow( snapshot: ProcessSnapshot, diff --git a/src/renderer/components/processes/process-actions.tsx b/src/renderer/components/processes/process-actions.tsx index 297f192..2f4ecef 100644 --- a/src/renderer/components/processes/process-actions.tsx +++ b/src/renderer/components/processes/process-actions.tsx @@ -6,6 +6,7 @@ import { ProcessActionKind, type ActionState, } from "@/gen/process_explorer" +import {ReactNode} from "react"; /** * The fixed bottom action row of the detail view: Open (reveal in Finder), Quit, @@ -14,10 +15,10 @@ import { * Presentation-only. Every button's enabled state and disabled reason come from * main (the authoritative {@link ActionState} list), and running an action just * forwards the kind through {@link onRun} to main, which re-validates, confirms - * destructive actions with a native dialog, and applies self/system/stale + * destructive actions with a native dialog, and applies self/critical/stale * protections. The renderer never executes an action itself. Disabled buttons * carry an honest tooltip so the user knows why an action is unavailable (e.g. - * the target is MoStats itself or a system process). + * the target is MoStats itself or a critical system process). */ export function ProcessActions({ actions, @@ -84,7 +85,7 @@ function ActionButton({ }: { label: string title: string - icon: React.ReactNode + icon: ReactNode disabled: boolean onClick: () => void destructive?: boolean diff --git a/src/renderer/components/processes/process-explorer-view.tsx b/src/renderer/components/processes/process-explorer-view.tsx index 30852de..97ebc8d 100644 --- a/src/renderer/components/processes/process-explorer-view.tsx +++ b/src/renderer/components/processes/process-explorer-view.tsx @@ -167,26 +167,26 @@ export function ProcessExplorerView({ active }: { active: boolean }) { * The target is derived from the open `detail` but keyed on its primitive * identity (pid + start time) so it is stable across the 2s snapshot ticks (the * detail object is a fresh reference each tick) and does not refetch needlessly. - * A `targetKey` guard drops out-of-order `getActionStates` responses. The - * snapshot revision is not passed: main validates the target by identity, not - * revision, so any value would be ignored. + * A `targetKey` guard drops out-of-order `getActionStates` responses. Action + * requests do not carry a snapshot revision: main validates the target by + * identity against its latest cached snapshot. */ function useProcessActions(detail: ProcessDetail | undefined, onActed: () => Promise) { const targetPid = detail?.pid const targetStartedAt = detail?.startedAt === "ok" ? detail.startedAtUnixMs : undefined const target = useMemo( - () => - targetPid === undefined - ? undefined - : { - pid: targetPid, - startedAtStatus: - targetStartedAt === undefined - ? FieldStatus.FIELD_STATUS_UNKNOWN - : FieldStatus.FIELD_STATUS_OK, - startedAtUnixMs: targetStartedAt ?? 0, - }, - [targetPid, targetStartedAt], + () => + targetPid === undefined + ? undefined + : { + pid: targetPid, + startedAtStatus: + targetStartedAt === undefined + ? FieldStatus.FIELD_STATUS_UNKNOWN + : FieldStatus.FIELD_STATUS_OK, + startedAtUnixMs: targetStartedAt ?? 0, + }, + [targetPid, targetStartedAt], ) const targetKey = target ? `${target.pid}:${target.startedAtStatus}:${target.startedAtUnixMs}` : "" const targetKeyRef = useRef(targetKey) @@ -204,7 +204,7 @@ function useProcessActions(detail: ProcessDetail | undefined, onActed: () => Pro const requestedKey = targetKey setActions([]) try { - const response = await processExplorerGateway.getActionStates(target, 0) + const response = await processExplorerGateway.getActionStates(target) // Ignore a response that arrived after the selection moved on. if (targetKeyRef.current === requestedKey) { setActions(response.actions) @@ -224,30 +224,30 @@ function useProcessActions(detail: ProcessDetail | undefined, onActed: () => Pro }, [refreshActionStates]) const runAction = useCallback( - async (kind: ProcessActionKind) => { - if (!target || actionsBusy) { - return - } - setActionsBusy(true) - setActionMessage(undefined) - try { - const response = await processExplorerGateway.runAction(kind, target, 0) - // A succeeded quit/force-quit drops the row and the detail falls back, so - // only a non-success outcome needs surfacing. Messages are derived from the - // coarse outcome only - they carry no process identity. - setActionMessage(actionOutcomeMessage(response.outcome)) - } catch { - // No diagnostic is logged - the target/result can carry process identity. - setActionMessage("Action could not be completed.") - } finally { - setActionsBusy(false) - } - // Re-pull so a quit/force-quit drops the row promptly (the detail then falls - // back down the stack), and refresh the action availability for what remains. - await onActed() - await refreshActionStates() - }, - [target, actionsBusy, onActed, refreshActionStates], + async (kind: ProcessActionKind) => { + if (!target || actionsBusy) { + return + } + setActionsBusy(true) + setActionMessage(undefined) + try { + const response = await processExplorerGateway.runAction(kind, target) + // A succeeded quit/force-quit drops the row and the detail falls back, so + // only a non-success outcome needs surfacing. Messages are derived from the + // coarse outcome only - they carry no process identity. + setActionMessage(actionOutcomeMessage(response.outcome)) + } catch { + // No diagnostic is logged - the target/result can carry process identity. + setActionMessage("Action could not be completed.") + } finally { + setActionsBusy(false) + } + // Re-pull so a quit/force-quit drops the row promptly (the detail then falls + // back down the stack), and refresh the action availability for what remains. + await onActed() + await refreshActionStates() + }, + [target, actionsBusy, onActed, refreshActionStates], ) return { actions, actionsBusy, actionMessage, runAction } diff --git a/src/renderer/gateway/process-explorer-gateway.ts b/src/renderer/gateway/process-explorer-gateway.ts index 9775b06..ce698d7 100644 --- a/src/renderer/gateway/process-explorer-gateway.ts +++ b/src/renderer/gateway/process-explorer-gateway.ts @@ -73,26 +73,22 @@ export const processExplorerGateway = { /** * Reads per-action availability for a target, validated in main against the - * latest snapshot. The revision is passed as request context only; stale-target - * detection uses PID plus start time in the live cache. + * latest snapshot. Stale-target detection uses PID plus start time in the live + * cache, so no snapshot revision is part of the action request. */ - async getActionStates( - target: ProcessIdentity, - revision: number, - ): Promise { - return ipc.processExplorer.GetProcessActionStates({ target, revision }); + async getActionStates(target: ProcessIdentity): Promise { + return ipc.processExplorer.GetProcessActionStates({ target }); }, /** * Requests a validated action against a target. Main re-validates and applies - * self/system/stale protections; the result is count-only with no sensitive + * self/critical/stale protections; the result is count-only with no sensitive * detail. */ async runAction( action: ProcessActionKind, target: ProcessIdentity, - revision: number, ): Promise { - return ipc.processExplorer.RunProcessAction({ action, target, revision }); + return ipc.processExplorer.RunProcessAction({ action, target }); }, }; diff --git a/src/renderer/proto/process_explorer.proto b/src/renderer/proto/process_explorer.proto index 00c7fa0..63e96b5 100644 --- a/src/renderer/proto/process_explorer.proto +++ b/src/renderer/proto/process_explorer.proto @@ -15,9 +15,7 @@ syntax = "proto3"; // renderer pulls a cached snapshot with GetProcessSnapshot while subscribing to // a lightweight StreamRevisions broadcast (revision id + timestamp only) to // learn when a newer snapshot exists. Actions stay unary because each has an -// explicit user target validated in main. As of I10 the service returns an -// explicit empty/unavailable snapshot and disabled action states; native -// collection and real actions land in later iterations. +// explicit user target validated in main. // Availability of a single value or group inside a process snapshot. UNKNOWN is // the proto3 default and means "not yet determined"; the other states are @@ -181,9 +179,8 @@ message SnapshotWarning { message ProcessSnapshot { // Overall snapshot state (loading/ok/unavailable/permission-limited). SnapshotStatus status = 1; - // Monotonic revision id; 0 before the first snapshot. Action requests carry - // this for context; main's stale-target guard is the live snapshot identity - // match by PID plus start time. + // Monotonic revision id; 0 before the first snapshot. The renderer uses this + // to ignore out-of-order snapshot pulls. uint64 revision = 2; // Epoch milliseconds when this snapshot was produced in main. int64 timestamp_ms = 3; @@ -258,11 +255,9 @@ message ActionState { // Request the current per-action availability for one target, validated against // the latest snapshot in main. message GetProcessActionStatesRequest { + reserved 2; // Target process identity (pid + start time). ProcessIdentity target = 1; - // Snapshot revision the renderer is showing. Informational for the action path; - // main detects stale targets by matching PID plus start time in the live cache. - uint64 revision = 2; } // Per-action availability for one target. @@ -273,14 +268,12 @@ message GetProcessActionStatesResponse { } // Run one action against one target. Main re-validates against the latest -// snapshot and applies self/system/stale protections before acting (I14). +// snapshot and applies self/critical/stale protections before acting. message RunProcessActionRequest { + reserved 3; ProcessActionKind action = 1; // Target process identity (pid + start time). ProcessIdentity target = 2; - // Snapshot revision the action was issued against. Informational for the action - // path; main revalidates with PID plus start time in the live cache. - uint64 revision = 3; } // Result of an attempted action. Outcome is a coarse status with no sensitive @@ -322,10 +315,9 @@ service ProcessExplorerService { rpc StreamRevisions(StreamRevisionsRequest) returns (stream ProcessSnapshotRevision); // Returns per-action availability for one target, validated against the - // latest snapshot. Disabled until the action iteration. + // latest snapshot. rpc GetProcessActionStates(GetProcessActionStatesRequest) returns (GetProcessActionStatesResponse); - // Runs one validated action against one target. Returns NOT_IMPLEMENTED until - // the action iteration. + // Runs one validated action against one target. rpc RunProcessAction(RunProcessActionRequest) returns (RunProcessActionResponse); } From 0b5fb761473f0e9d1f409329abd2cc3737fdbc72 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sat, 6 Jun 2026 19:27:59 +0300 Subject: [PATCH 071/169] Update icon for Force Quit action in process actions --- src/renderer/components/processes/process-actions.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/renderer/components/processes/process-actions.tsx b/src/renderer/components/processes/process-actions.tsx index 2f4ecef..7b87a25 100644 --- a/src/renderer/components/processes/process-actions.tsx +++ b/src/renderer/components/processes/process-actions.tsx @@ -1,4 +1,4 @@ -import { FolderOpen, Power, Zap } from "lucide-react" +import { FolderOpen, Power, OctagonX } from "lucide-react" import { cn } from "@/lib/utils" import { @@ -63,7 +63,7 @@ export function ProcessActions({
+
- {hasContent && expanded ? ( -
-

- {value} -

-
+ {hasContent ? ( + +
+

+ {value} +

+
+
) : null}
) } +/** + * Smooth height/opacity wrapper for compact disclosure bodies. It keeps content + * mounted so close animations can run, while `inert` prevents hidden controls + * from being reachable by keyboard. + */ +export function DisclosureContent({ + open, + children, +}: { + open: boolean + children: ReactNode +}) { + return ( +
+
{children}
+
+ ) +} + /** * A small icon button that copies the given text to the system clipboard via * main and briefly confirms with a check. Failures are swallowed silently (no diff --git a/src/renderer/components/processes/process-detail.tsx b/src/renderer/components/processes/process-detail.tsx index 709021f..d17976e 100644 --- a/src/renderer/components/processes/process-detail.tsx +++ b/src/renderer/components/processes/process-detail.tsx @@ -1,10 +1,14 @@ -import { ChevronDown, ChevronLeft, ChevronRight } from "lucide-react" +import { ChevronLeft, ChevronRight } from "lucide-react" import { useState, type ReactNode } from "react" import { cn } from "@/lib/utils" import { UNAVAILABLE_TEXT, formatStartTime } from "@/lib/format" import type { ActionState, ProcessActionKind } from "@/gen/process_explorer" -import { CommandLineBlock, TextDisclosure } from "@/components/processes/command-line-block" +import { + CommandLineBlock, + DisclosureContent, + TextDisclosure, +} from "@/components/processes/command-line-block" import { ProcessActions } from "@/components/processes/process-actions" import { ProcessIcon } from "@/components/processes/process-row" import { ProcessSortControl } from "@/components/processes/process-sort-control" @@ -243,25 +247,28 @@ function Members({ const [expanded, setExpanded] = useState(false) return ( -
+
- {expanded ? ( +
    {members.map((member) => (
  • @@ -269,7 +276,7 @@ function Members({
  • ))}
- ) : null} +
) } From d0ec9008952b9a2ea535f23cb3a30165294eee69 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sat, 6 Jun 2026 19:52:18 +0300 Subject: [PATCH 073/169] Add back to process list button and update props for navigation --- .../components/processes/process-detail.tsx | 24 ++++++++++++++----- .../processes/process-explorer-view.tsx | 2 ++ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/renderer/components/processes/process-detail.tsx b/src/renderer/components/processes/process-detail.tsx index d17976e..91cb00c 100644 --- a/src/renderer/components/processes/process-detail.tsx +++ b/src/renderer/components/processes/process-detail.tsx @@ -1,4 +1,4 @@ -import { ChevronLeft, ChevronRight } from "lucide-react" +import { ChevronLeft, ChevronRight, List as ListIcon } from "lucide-react" import { useState, type ReactNode } from "react" import { cn } from "@/lib/utils" @@ -35,11 +35,12 @@ const TOTAL_LABEL: Record = { * parent PID, the group's CPU and memory totals so the user does not add member * usage by hand, and - for a multi-process app - an expandable Members section * whose rows drill into each member's own detail. `onBack` pops one navigation - * level (member -> group -> list); `onOpenMember` drills into a member. It is - * presentation-only: every field comes from the pure {@link ProcessDetail} model - * with explicit availability, so unavailable/pending states render honestly - * instead of as blanks or faked values. Command-line text is shown/copied only on - * user action and is never logged or persisted. + * level (member -> group -> list), `onBackToList` returns directly to the process + * list, and `onOpenMember` drills into a member. It is presentation-only: every + * field comes from the pure {@link ProcessDetail} model with explicit + * availability, so unavailable/pending states render honestly instead of as + * blanks or faked values. Command-line text is shown/copied only on user action + * and is never logged or persisted. * * The fixed bottom action row (Open / Quit / Force Quit) reflects main's * authoritative {@link ActionState} list; running an action just forwards the kind @@ -54,6 +55,7 @@ export function ProcessDetailView({ actionMessage, onSortChange, onBack, + onBackToList, onOpenMember, onRunAction, }: { @@ -64,6 +66,7 @@ export function ProcessDetailView({ actionMessage?: string onSortChange: (sort: SortMode) => void onBack: () => void + onBackToList: () => void onOpenMember: (pid: number, startedAtUnixMs?: number) => void onRunAction: (kind: ProcessActionKind) => void }) { @@ -76,6 +79,15 @@ export function ProcessDetailView({ return (
+
- ) + ); } /** A single footer stat: quiet icon + label, then the value. */ @@ -168,5 +175,5 @@ function FooterStat({ {label} {value}
- ) + ); } diff --git a/src/renderer/components/processes/command-line-block.tsx b/src/renderer/components/processes/command-line-block.tsx index 77941eb..71dc665 100644 --- a/src/renderer/components/processes/command-line-block.tsx +++ b/src/renderer/components/processes/command-line-block.tsx @@ -1,14 +1,11 @@ -import { Check, ChevronRight, Copy } from "lucide-react" -import { useState, type ReactNode } from "react" - -import { appGateway } from "@/gateway/app-gateway" -import { cn } from "@/lib/utils" -import { UNAVAILABLE_TEXT } from "@/lib/format" -import type { DetailCommandLine, DetailState } from "@/components/processes/process-view" +import { TextDisclosure } from "@/components/processes/disclosure"; +import type { DetailCommandLine } from "@/domain/process-detail"; /** * The detail view's command-line block: a compact disclosure row that expands - * to the process's arguments in a readable wrapping, scrollable region. + * to the process's arguments in a readable wrapping, scrollable region. It is a + * thin specialization of {@link TextDisclosure} with command-line-specific + * labels. * * Command-line text is sensitive local debugging data. It is shown and copied * only on explicit user action and is never logged, persisted, or auto-copied. @@ -16,7 +13,7 @@ import type { DetailCommandLine, DetailState } from "@/components/processes/proc * clipboard); main writes it to the user's clipboard and never logs it. */ export function CommandLineBlock({ commandLine }: { commandLine: DetailCommandLine }) { - const value = commandLine.state === "ok" ? (commandLine.text ?? "") : undefined + const value = commandLine.state === "ok" ? (commandLine.text ?? "") : undefined; return ( - ) -} - -/** - * A collapsed-by-default text disclosure for sensitive or very long process - * fields. The visible header stays compact; expansion reveals the full wrapped - * monospace value inside a bounded hidden-scrollbar area. - */ -export function TextDisclosure({ - label, - value, - state, - copyLabel, - emptyText = UNAVAILABLE_TEXT, - pendingText = "--", -}: { - label: string - value?: string - state: DetailState - copyLabel: string - emptyText?: string - pendingText?: string -}) { - const [expanded, setExpanded] = useState(false) - const hasContent = value !== undefined && value.length > 0 - const statusText = - value !== undefined ? emptyText : state === "pending" ? pendingText : UNAVAILABLE_TEXT - - return ( -
-
- - {hasContent ? : null} -
- - {hasContent ? ( - -
-

- {value} -

-
-
- ) : null} -
- ) -} - -/** - * Smooth height/opacity wrapper for compact disclosure bodies. It keeps content - * mounted so close animations can run, while `inert` prevents hidden controls - * from being reachable by keyboard. - */ -export function DisclosureContent({ - open, - children, -}: { - open: boolean - children: ReactNode -}) { - return ( -
-
{children}
-
- ) -} - -/** - * A small icon button that copies the given text to the system clipboard via - * main and briefly confirms with a check. Failures are swallowed silently (no - * diagnostic is logged - the text can be sensitive). - */ -export function CopyButton({ text, label }: { text: string; label: string }) { - const [copied, setCopied] = useState(false) - - function copy() { - void appGateway - .copyText(text) - .then(() => { - setCopied(true) - window.setTimeout(() => setCopied(false), 1200) - }) - .catch(() => undefined) - } - - return ( - - ) + ); } diff --git a/src/renderer/components/processes/disclosure.tsx b/src/renderer/components/processes/disclosure.tsx new file mode 100644 index 0000000..56583a3 --- /dev/null +++ b/src/renderer/components/processes/disclosure.tsx @@ -0,0 +1,158 @@ +import { Check, ChevronRight, Copy } from "lucide-react"; +import { useState, type ReactNode } from "react"; + +import { appGateway } from "@/gateway/app-gateway"; +import { cn } from "@/lib/utils"; +import { UNAVAILABLE_TEXT } from "@/lib/format"; +import type { DetailState } from "@/domain/process-detail"; + +/** + * Reusable disclosure and copy primitives for the detail view. + * + * These are the generic building blocks - a collapsed text disclosure, the + * smooth open/close wrapper, and the clipboard copy button - shared by the Path + * row and the {@link "@/components/processes/command-line-block".CommandLineBlock}. + * Sensitive process text (paths, argv) is shown and copied only on explicit user + * action and is never logged, persisted, or auto-copied; copy routes through main + * because the renderer is sandboxed. + */ + +/** + * A collapsed-by-default text disclosure for sensitive or very long process + * fields. The visible header stays compact; expansion reveals the full wrapped + * monospace value inside a bounded hidden-scrollbar area. + */ +export function TextDisclosure({ + label, + value, + state, + copyLabel, + emptyText = UNAVAILABLE_TEXT, + pendingText = "--", +}: { + label: string + value?: string + state: DetailState + copyLabel: string + emptyText?: string + pendingText?: string +}) { + const [expanded, setExpanded] = useState(false); + const hasContent = value !== undefined && value.length > 0; + const statusText = + value !== undefined ? emptyText : state === "pending" ? pendingText : UNAVAILABLE_TEXT; + + return ( +
+
+ + {hasContent ? : null} +
+ + {hasContent ? ( + +
+

+ {value} +

+
+
+ ) : null} +
+ ); +} + +/** + * Smooth height/opacity wrapper for compact disclosure bodies. It keeps content + * mounted so close animations can run, while `inert` prevents hidden controls + * from being reachable by keyboard. + */ +export function DisclosureContent({ + open, + children, +}: { + open: boolean + children: ReactNode +}) { + return ( +
+
{children}
+
+ ); +} + +/** + * A small icon button that copies the given text to the system clipboard via + * main and briefly confirms with a check. Failures are swallowed silently (no + * diagnostic is logged - the text can be sensitive). + */ +export function CopyButton({ text, label }: { text: string; label: string }) { + const [copied, setCopied] = useState(false); + + function copy() { + void appGateway + .copyText(text) + .then(() => { + setCopied(true); + window.setTimeout(() => setCopied(false), 1200); + }) + .catch(() => undefined); + } + + return ( + + ); +} diff --git a/src/renderer/components/processes/process-actions.tsx b/src/renderer/components/processes/process-actions.tsx index 7b87a25..16a7cea 100644 --- a/src/renderer/components/processes/process-actions.tsx +++ b/src/renderer/components/processes/process-actions.tsx @@ -1,12 +1,12 @@ -import { FolderOpen, Power, OctagonX } from "lucide-react" +import { type ReactNode } from "react"; +import { FolderOpen, OctagonX, Power } from "lucide-react"; -import { cn } from "@/lib/utils" +import { cn } from "@/lib/utils"; import { ActionDisabledReason, ProcessActionKind, type ActionState, -} from "@/gen/process_explorer" -import {ReactNode} from "react"; +} from "@/gen/process_explorer"; /** * The fixed bottom action row of the detail view: Open (reveal in Finder), Quit, @@ -31,11 +31,11 @@ export function ProcessActions({ message?: string onRun: (kind: ProcessActionKind) => void }) { - const reveal = actions.find((a) => a.kind === ProcessActionKind.PROCESS_ACTION_KIND_REVEAL) - const quit = actions.find((a) => a.kind === ProcessActionKind.PROCESS_ACTION_KIND_QUIT) + const reveal = actions.find((a) => a.kind === ProcessActionKind.PROCESS_ACTION_KIND_REVEAL); + const quit = actions.find((a) => a.kind === ProcessActionKind.PROCESS_ACTION_KIND_QUIT); const forceQuit = actions.find( (a) => a.kind === ProcessActionKind.PROCESS_ACTION_KIND_FORCE_QUIT, - ) + ); return (
@@ -71,7 +71,7 @@ export function ProcessActions({
- ) + ); } /** One compact action button, styled to match the detail view's quiet controls. */ @@ -107,35 +107,35 @@ function ActionButton({ {icon} {label} - ) + ); } /** Tooltip for the reveal button, honest about why it is unavailable. */ function revealTitle(reveal: ActionState | undefined): string { if (reveal?.enabled) { - return "Show the executable in Finder" + return "Show the executable in Finder"; } if (reveal?.disabledReason === ActionDisabledReason.ACTION_DISABLED_REASON_NO_PATH) { - return "Executable path is unavailable" + return "Executable path is unavailable"; } - return "Reveal is unavailable for this process" + return "Reveal is unavailable for this process"; } /** Tooltip for a destructive button, honest about why it is unavailable. */ function destructiveTitle(verb: string, action: ActionState | undefined): string { if (action?.enabled) { - return `${verb} this process` + return `${verb} this process`; } switch (action?.disabledReason) { case ActionDisabledReason.ACTION_DISABLED_REASON_SELF: - return `Cannot ${verb.toLowerCase()} MoStats itself` + return `Cannot ${verb.toLowerCase()} MoStats itself`; case ActionDisabledReason.ACTION_DISABLED_REASON_PROTECTED: - return `Cannot ${verb.toLowerCase()} a critical system process` + return `Cannot ${verb.toLowerCase()} a critical system process`; case ActionDisabledReason.ACTION_DISABLED_REASON_STALE: - return "This process is no longer available" + return "This process is no longer available"; case ActionDisabledReason.ACTION_DISABLED_REASON_UNSTABLE_IDENTITY: - return "Process start time is unavailable" + return "Process start time is unavailable"; default: - return `${verb} is unavailable for this process` + return `${verb} is unavailable for this process`; } } diff --git a/src/renderer/components/processes/process-detail.tsx b/src/renderer/components/processes/process-detail.tsx index 91cb00c..258c6d4 100644 --- a/src/renderer/components/processes/process-detail.tsx +++ b/src/renderer/components/processes/process-detail.tsx @@ -1,30 +1,27 @@ -import { ChevronLeft, ChevronRight, List as ListIcon } from "lucide-react" -import { useState, type ReactNode } from "react" +import { ChevronLeft, ChevronRight, List as ListIcon } from "lucide-react"; +import { useState, type ReactNode } from "react"; -import { cn } from "@/lib/utils" -import { UNAVAILABLE_TEXT, formatStartTime } from "@/lib/format" -import type { ActionState, ProcessActionKind } from "@/gen/process_explorer" -import { - CommandLineBlock, - DisclosureContent, - TextDisclosure, -} from "@/components/processes/command-line-block" -import { ProcessActions } from "@/components/processes/process-actions" -import { ProcessIcon } from "@/components/processes/process-row" -import { ProcessSortControl } from "@/components/processes/process-sort-control" +import { cn } from "@/lib/utils"; +import { UNAVAILABLE_TEXT, formatStartTime } from "@/lib/format"; +import type { ActionState, ProcessActionKind } from "@/gen/process_explorer"; +import { CommandLineBlock } from "@/components/processes/command-line-block"; +import { DisclosureContent, TextDisclosure } from "@/components/processes/disclosure"; +import { ProcessActions } from "@/components/processes/process-actions"; +import { ProcessIcon } from "@/components/processes/process-icon"; +import { ProcessSortControl } from "@/components/processes/process-sort-control"; +import type { SortMode } from "@/domain/process-list"; import type { DetailMember, DetailMetric, DetailState, ProcessDetail, - SortMode, -} from "@/components/processes/process-view" +} from "@/domain/process-detail"; /** Human label for the group total under the active metric. */ const TOTAL_LABEL: Record = { cpu: "CPU", memory: "RAM", -} +}; /** * The compact process detail view for one selected group (or one process, when a @@ -70,11 +67,11 @@ export function ProcessDetailView({ onOpenMember: (pid: number, startedAtUnixMs?: number) => void onRunAction: (kind: ProcessActionKind) => void }) { - const secondary = detail.bundleIdentifier ?? detail.executableName + const secondary = detail.bundleIdentifier ?? detail.executableName; const metadata = `${secondary ? `${secondary} - ` : ""}PID ${detail.pid}${ detail.parent.available ? ` - Parent ${detail.parent.pid}` : "" - }` - const grouped = detail.memberCount > 1 + }`; + const grouped = detail.memberCount > 1; return (
@@ -158,7 +155,7 @@ export function ProcessDetailView({ onRun={onRunAction} />
- ) + ); } /** @@ -175,7 +172,7 @@ function SingleProcessMetric({ detail }: { detail: ProcessDetail }) { - ) + ); } /** Renders a {@link DetailMetric}'s value with the ok/pending/unavailable rule. */ @@ -194,7 +191,7 @@ function MetricValue({ metric, className }: { metric: DetailMetric; className?: ? "--" : UNAVAILABLE_TEXT} - ) + ); } /** @@ -220,19 +217,19 @@ function Field({
{children}
- ) + ); } /** Renders a value's pending/unavailable state, or the provided OK text. */ function StateText({ state, text }: { state: DetailState; text?: string }) { if (state === "ok" && text !== undefined) { - return {text} + return {text}; } return ( {state === "pending" ? "--" : UNAVAILABLE_TEXT} - ) + ); } /** @@ -256,7 +253,7 @@ function Members({ total: DetailMetric onOpenMember: (pid: number, startedAtUnixMs?: number) => void }) { - const [expanded, setExpanded] = useState(false) + const [expanded, setExpanded] = useState(false); return (
@@ -290,7 +287,7 @@ function Members({
- ) + ); } /** @@ -325,5 +322,5 @@ function MemberRow({ className="w-20 text-[12px]" /> - ) + ); } diff --git a/src/renderer/components/processes/process-explorer-view.tsx b/src/renderer/components/processes/process-explorer-view.tsx index 0b32d91..abd168a 100644 --- a/src/renderer/components/processes/process-explorer-view.tsx +++ b/src/renderer/components/processes/process-explorer-view.tsx @@ -1,26 +1,19 @@ -import { useCallback, useEffect, useMemo, useRef, useState } from "react" - -import { processExplorerGateway } from "@/gateway/process-explorer-gateway" -import { - FieldStatus, - RunProcessActionResponse_Outcome as Outcome, - type ActionState, - type ProcessActionKind, - type ProcessIdentity, - type ProcessSnapshot, -} from "@/gen/process_explorer" -import { ProcessDetailView } from "@/components/processes/process-detail" -import { ProcessList } from "@/components/processes/process-list" -import { ProcessSearchField } from "@/components/processes/process-search-field" -import { ProcessSortControl } from "@/components/processes/process-sort-control" +import { useCallback, useEffect, useMemo, useRef, useState } from "react"; + +import { processExplorerGateway } from "@/gateway/process-explorer-gateway"; +import { type ProcessSnapshot } from "@/gen/process_explorer"; +import { ProcessDetailView } from "@/components/processes/process-detail"; +import { ProcessList } from "@/components/processes/process-list"; +import { ProcessSearchField } from "@/components/processes/process-search-field"; +import { ProcessSortControl } from "@/components/processes/process-sort-control"; +import { useProcessActions } from "@/components/processes/use-process-actions"; import { - buildProcessDetail, projectProcessList, resolveSelection, type DetailSelection, - type ProcessDetail, type SortMode, -} from "@/components/processes/process-view" +} from "@/domain/process-list"; +import { buildProcessDetail } from "@/domain/process-detail"; /** * The Processes view: a compact searchable, CPU/Memory-ranked, app-grouped @@ -39,30 +32,30 @@ import { export function ProcessExplorerView({ active }: { active: boolean }) { const [snapshot, setSnapshot] = useState(() => processExplorerGateway.emptySnapshot(), - ) - const [sort, setSort] = useState("cpu") - const [query, setQuery] = useState("") + ); + const [sort, setSort] = useState("cpu"); + const [query, setQuery] = useState(""); // The drill-in stack: list -> group -> member. Empty is the list. Each entry is // re-resolved from every fresh snapshot so the detail stays live; the top entry // is the shown detail, and Back pops one level. - const [selectionStack, setSelectionStack] = useState([]) + const [selectionStack, setSelectionStack] = useState([]); // Highest revision applied, so an out-of-order pull cannot show stale rows. - const appliedRevision = useRef(0) + const appliedRevision = useRef(0); const pull = useCallback(async () => { try { - const next = await processExplorerGateway.getSnapshot() + const next = await processExplorerGateway.getSnapshot(); if (next.revision >= appliedRevision.current) { - appliedRevision.current = next.revision - setSnapshot(next) + appliedRevision.current = next.revision; + setSnapshot(next); } } catch { // A failed pull leaves the last snapshot in place; the next revision ping // (or the cadence) retries. No diagnostic is logged - it could carry // process-identifying data. } - }, []) + }, []); useEffect(() => { // The view stays mounted across tab switches (so it keeps its rows, sort, @@ -70,36 +63,36 @@ export function ProcessExplorerView({ active }: { active: boolean }) { // active view. While hidden it holds its last rows and does nothing; main // pauses collection then anyway. if (!active) { - return + return; } - let live = true + let live = true; // Pull immediately on becoming active so the (cached) rows show at once, // then re-pull on each revision ping. - void pull() + void pull(); const unsubscribe = processExplorerGateway.subscribeRevisions(() => { - if (live) void pull() - }) + if (live) void pull(); + }); return () => { - live = false - unsubscribe() - } - }, [active, pull]) + live = false; + unsubscribe(); + }; + }, [active, pull]); const openSelection = useCallback( (selection: DetailSelection) => setSelectionStack([selection]), [], - ) + ); const openMember = useCallback( (pid: number, startedAtUnixMs?: number) => setSelectionStack((stack) => [...stack, { kind: "process", pid, startedAtUnixMs }]), [], - ) - const goBack = useCallback(() => setSelectionStack((stack) => stack.slice(0, -1)), []) - const goToList = useCallback(() => setSelectionStack([]), []) + ); + const goBack = useCallback(() => setSelectionStack((stack) => stack.slice(0, -1)), []); + const goToList = useCallback(() => setSelectionStack([]), []); // The detail model for the deepest still-resolvable selection, re-resolved from // the current snapshot and sort so CPU/memory stay live as ticks arrive. If the @@ -109,20 +102,20 @@ export function ProcessExplorerView({ active }: { active: boolean }) { // already shown before continuing up. const detail = useMemo(() => { for (let depth = selectionStack.length - 1; depth >= 0; depth -= 1) { - const group = resolveSelection(snapshot, sort, selectionStack[depth]) + const group = resolveSelection(snapshot, sort, selectionStack[depth]); if (group) { - return buildProcessDetail(group, sort) + return buildProcessDetail(group, sort); } } - return undefined - }, [snapshot, sort, selectionStack]) + return undefined; + }, [snapshot, sort, selectionStack]); const projection = useMemo( () => projectProcessList(snapshot, sort, query), [snapshot, sort, query], - ) + ); - const { actions, actionsBusy, actionMessage, runAction } = useProcessActions(detail, pull) + const { actions, actionsBusy, actionMessage, runAction } = useProcessActions(detail, pull); if (detail) { return ( @@ -140,7 +133,7 @@ export function ProcessExplorerView({ active }: { active: boolean }) { onRunAction={runAction} /> - ) + ); } return ( @@ -157,121 +150,5 @@ export function ProcessExplorerView({ active }: { active: boolean }) { onOpenSelection={openSelection} /> - ) -} - -/** - * Owns the detail's process-action concerns: the action target, its - * main-authoritative {@link ActionState} list, the in-flight flag, a transient - * non-success message, and the action runner. Kept out of the view component so - * the latter stays focused on the snapshot lifecycle and list/detail rendering. - * - * The target is derived from the open `detail` but keyed on its primitive - * identity (pid + start time) so it is stable across the 2s snapshot ticks (the - * detail object is a fresh reference each tick) and does not refetch needlessly. - * A `targetKey` guard drops out-of-order `getActionStates` responses. Action - * requests do not carry a snapshot revision: main validates the target by - * identity against its latest cached snapshot. - */ -function useProcessActions(detail: ProcessDetail | undefined, onActed: () => Promise) { - const targetPid = detail?.pid - const targetStartedAt = detail?.startedAt === "ok" ? detail.startedAtUnixMs : undefined - const target = useMemo( - () => - targetPid === undefined - ? undefined - : { - pid: targetPid, - startedAtStatus: - targetStartedAt === undefined - ? FieldStatus.FIELD_STATUS_UNKNOWN - : FieldStatus.FIELD_STATUS_OK, - startedAtUnixMs: targetStartedAt ?? 0, - }, - [targetPid, targetStartedAt], - ) - const targetKey = target ? `${target.pid}:${target.startedAtStatus}:${target.startedAtUnixMs}` : "" - const targetKeyRef = useRef(targetKey) - targetKeyRef.current = targetKey - - const [actions, setActions] = useState([]) - const [actionsBusy, setActionsBusy] = useState(false) - const [actionMessage, setActionMessage] = useState(undefined) - - const refreshActionStates = useCallback(async () => { - if (!target) { - setActions([]) - return - } - const requestedKey = targetKey - setActions([]) - try { - const response = await processExplorerGateway.getActionStates(target) - // Ignore a response that arrived after the selection moved on. - if (targetKeyRef.current === requestedKey) { - setActions(response.actions) - } - } catch { - // Keep the row disabled for this target until the next successful fetch. - if (targetKeyRef.current === requestedKey) { - setActions([]) - } - } - }, [target, targetKey]) - - // Refresh states and clear any prior message whenever the target changes. - useEffect(() => { - setActionMessage(undefined) - void refreshActionStates() - }, [refreshActionStates]) - - const runAction = useCallback( - async (kind: ProcessActionKind) => { - if (!target || actionsBusy) { - return - } - setActionsBusy(true) - setActionMessage(undefined) - try { - const response = await processExplorerGateway.runAction(kind, target) - // A succeeded quit/force-quit drops the row and the detail falls back, so - // only a non-success outcome needs surfacing. Messages are derived from the - // coarse outcome only - they carry no process identity. - setActionMessage(actionOutcomeMessage(response.outcome)) - } catch { - // No diagnostic is logged - the target/result can carry process identity. - setActionMessage("Action could not be completed.") - } finally { - setActionsBusy(false) - } - // Re-pull so a quit/force-quit drops the row promptly (the detail then falls - // back down the stack), and refresh the action availability for what remains. - await onActed() - await refreshActionStates() - }, - [target, actionsBusy, onActed, refreshActionStates], - ) - - return { actions, actionsBusy, actionMessage, runAction } -} - -/** - * Maps a coarse action outcome to a short, non-sensitive message for the detail's - * action row, or undefined when nothing needs to be said. A succeeded action - * drops the row (the detail falls back), and a stale target likewise resolves to - * a different view, so neither shows a message; only an OS refusal or an - * unspecified failure does. The message is derived from the outcome enum alone - - * it never includes a process name, path, or argv. - */ -function actionOutcomeMessage(outcome: Outcome): string | undefined { - switch (outcome) { - case Outcome.OUTCOME_NOT_PERMITTED: - return "Couldn't quit - this process is owned by the system." - case Outcome.OUTCOME_NOT_ALLOWED: - return "This action isn't allowed for this process." - case Outcome.OUTCOME_FAILED: - return "Action could not be completed." - default: - return undefined - } + ); } diff --git a/src/renderer/components/processes/process-icon.tsx b/src/renderer/components/processes/process-icon.tsx new file mode 100644 index 0000000..e54b998 --- /dev/null +++ b/src/renderer/components/processes/process-icon.tsx @@ -0,0 +1,50 @@ +import { useState } from "react"; +import { Box } from "lucide-react"; + +import { cn } from "@/lib/utils"; + +/** + * App icon for a process row or the detail header. Renders the volatile base64 + * PNG from NSWorkspace when one is available; otherwise (and if the image fails + * to decode) it falls back to a neutral lucide glyph so every row keeps the same + * icon footprint. `size` scales the box for the larger detail header. + * + * Shared by {@link "@/components/processes/process-row".ProcessRow} (the list + * rows and member rows) and the detail header, so it lives on its own rather + * than inside the row component. + */ +export function ProcessIcon({ + iconPngBase64, + name, + size = "sm", +}: { + iconPngBase64?: string + name: string + size?: "sm" | "lg" +}) { + const [failed, setFailed] = useState(false); + const box = size === "lg" ? "h-9 w-9 rounded-xl" : "h-5 w-5 rounded-lg"; + const glyph = size === "lg" ? "h-5 w-5" : "h-3 w-3"; + + if (iconPngBase64 && !failed) { + return ( + setFailed(true)} + /> + ); + } + + return ( + + ); +} diff --git a/src/renderer/components/processes/process-list.tsx b/src/renderer/components/processes/process-list.tsx index deb34c6..da6fbb3 100644 --- a/src/renderer/components/processes/process-list.tsx +++ b/src/renderer/components/processes/process-list.tsx @@ -1,6 +1,6 @@ -import { SnapshotStatus } from "@/gen/process_explorer" -import { ProcessRow } from "@/components/processes/process-row" -import type { DetailSelection, ProcessListProjection } from "@/components/processes/process-view" +import { SnapshotStatus } from "@/gen/process_explorer"; +import { ProcessRow } from "@/components/processes/process-row"; +import type { DetailSelection, ProcessListProjection } from "@/domain/process-list"; /** * The ranked, grouped process rows plus the loading/empty/unavailable/ @@ -20,7 +20,7 @@ export function ProcessList({ hasQuery: boolean onOpenSelection: (selection: DetailSelection) => void }) { - const { groups } = projection + const { groups } = projection; return (
@@ -36,7 +36,7 @@ export function ProcessList({ )}
- ) + ); } /** @@ -46,28 +46,28 @@ export function ProcessList({ * than a blank panel. */ function ListPlaceholder({ status, hasQuery }: { status: SnapshotStatus; hasQuery: boolean }) { - const message = placeholderMessage(status, hasQuery) + const message = placeholderMessage(status, hasQuery); return (

{message}

- ) + ); } /** Picks the placeholder line; search-with-no-matches takes priority over state. */ function placeholderMessage(status: SnapshotStatus, hasQuery: boolean): string { if (hasQuery) { - return "No matching processes" + return "No matching processes"; } switch (status) { case SnapshotStatus.SNAPSHOT_STATUS_LOADING: case SnapshotStatus.SNAPSHOT_STATUS_UNKNOWN: - return "Loading processes..." + return "Loading processes..."; case SnapshotStatus.SNAPSHOT_STATUS_UNAVAILABLE: - return "Process list is unavailable" + return "Process list is unavailable"; case SnapshotStatus.SNAPSHOT_STATUS_PERMISSION_LIMITED: - return "No processes available" + return "No processes available"; default: - return "No processes" + return "No processes"; } } diff --git a/src/renderer/components/processes/process-row.tsx b/src/renderer/components/processes/process-row.tsx index 62b0d7d..9ff4489 100644 --- a/src/renderer/components/processes/process-row.tsx +++ b/src/renderer/components/processes/process-row.tsx @@ -1,9 +1,9 @@ -import { memo, useState } from "react" -import { Box } from "lucide-react" +import { memo } from "react"; -import { cn } from "@/lib/utils" -import { UNAVAILABLE_TEXT } from "@/lib/format" -import type { DetailSelection, ProcessGroup } from "@/components/processes/process-view" +import { cn } from "@/lib/utils"; +import { UNAVAILABLE_TEXT } from "@/lib/format"; +import { ProcessIcon } from "@/components/processes/process-icon"; +import type { DetailSelection, ProcessGroup } from "@/domain/process-list"; /** * One fixed-height process row: app icon (or a generic fallback), the process or @@ -54,8 +54,8 @@ export const ProcessRow = memo(function ProcessRow({ {metricText(group)} - ) -}, areGroupsEqual) + ); +}, areGroupsEqual); /** * Equality check for the memoized row: a row only needs to re-render when one of @@ -71,8 +71,8 @@ function areGroupsEqual( previous: { group: ProcessGroup; onOpen: (selection: DetailSelection) => void }, next: { group: ProcessGroup; onOpen: (selection: DetailSelection) => void }, ): boolean { - const a = previous.group - const b = next.group + const a = previous.group; + const b = next.group; return ( a.key === b.key && a.name === b.name && @@ -82,18 +82,18 @@ function areGroupsEqual( a.metricState === b.metricState && a.metricText === b.metricText && areSelectionsEqual(a.openSelection, b.openSelection) - ) + ); } /** True when two row open targets point to the same detail selection. */ function areSelectionsEqual(left: DetailSelection, right: DetailSelection): boolean { if (left.kind === "group" && right.kind === "group") { - return left.key === right.key + return left.key === right.key; } if (left.kind === "process" && right.kind === "process") { - return left.pid === right.pid && left.startedAtUnixMs === right.startedAtUnixMs + return left.pid === right.pid && left.startedAtUnixMs === right.startedAtUnixMs; } - return false + return false; } /** @@ -105,52 +105,10 @@ function areSelectionsEqual(left: DetailSelection, right: DetailSelection): bool function metricText(group: ProcessGroup): string { switch (group.metricState) { case "ok": - return group.metricText ?? UNAVAILABLE_TEXT + return group.metricText ?? UNAVAILABLE_TEXT; case "pending": - return "--" + return "--"; default: - return UNAVAILABLE_TEXT + return UNAVAILABLE_TEXT; } } - -/** - * App icon for a process row or the detail header. Renders the volatile base64 - * PNG from NSWorkspace when one is available; otherwise (and if the image fails - * to decode) it falls back to a neutral lucide glyph so every row keeps the same - * icon footprint. `size` scales the box for the larger detail header. - */ -export function ProcessIcon({ - iconPngBase64, - name, - size = "sm", -}: { - iconPngBase64?: string - name: string - size?: "sm" | "lg" -}) { - const [failed, setFailed] = useState(false) - const box = size === "lg" ? "h-9 w-9 rounded-xl" : "h-5 w-5 rounded-lg" - const glyph = size === "lg" ? "h-5 w-5" : "h-3 w-3" - - if (iconPngBase64 && !failed) { - return ( - setFailed(true)} - /> - ) - } - - return ( - - ) -} diff --git a/src/renderer/components/processes/process-search-field.tsx b/src/renderer/components/processes/process-search-field.tsx index 97b33ef..6f02a8a 100644 --- a/src/renderer/components/processes/process-search-field.tsx +++ b/src/renderer/components/processes/process-search-field.tsx @@ -1,15 +1,15 @@ -import { Search, X } from "lucide-react" -import { cva } from "class-variance-authority" +import { Search, X } from "lucide-react"; +import { cva } from "class-variance-authority"; /** Search input: full-width, hairline-bordered, with the native clear glyph hidden. */ const searchInput = cva( "h-full w-full rounded-lg border border-border bg-muted/40 pl-9 pr-8 text-[13px] text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring [&::-webkit-search-cancel-button]:hidden", -) +); /** Custom clear affordance, shown only while the field is non-empty. */ const clearButton = cva( "absolute right-2 flex h-5 w-5 items-center justify-center rounded-full text-muted-foreground hover:text-foreground", -) +); /** * Compact search field above the process list. Matches process/app name, PID, @@ -53,5 +53,5 @@ export function ProcessSearchField({ ) : null} - ) + ); } diff --git a/src/renderer/components/processes/process-sort-control.tsx b/src/renderer/components/processes/process-sort-control.tsx index 8e03f44..9d99bb7 100644 --- a/src/renderer/components/processes/process-sort-control.tsx +++ b/src/renderer/components/processes/process-sort-control.tsx @@ -1,20 +1,20 @@ -import { ChevronDown } from "lucide-react" -import { cva } from "class-variance-authority" +import { ChevronDown } from "lucide-react"; +import { cva } from "class-variance-authority"; -import { cn } from "@/lib/utils" +import { cn } from "@/lib/utils"; import { DropdownMenu, DropdownMenuContent, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuTrigger, -} from "@/components/ui/dropdown-menu" -import type { SortMode } from "@/components/processes/process-view" +} from "@/components/ui/dropdown-menu"; +import type { SortMode } from "@/domain/process-list"; /** Compact dropdown trigger matching the search field's height and surface. */ const sortTrigger = cva( "no-drag flex h-9 shrink-0 items-center gap-1 rounded-lg border border-border bg-muted/40 pl-2.5 pr-1.5 text-[13px] text-foreground transition-colors hover:bg-muted/60 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring data-[state=open]:bg-muted/60", -) +); /** * Sort selector for the process list: a compact dropdown button on the search @@ -27,7 +27,7 @@ const sortTrigger = cva( const SORT_LABELS: Record = { cpu: "CPU", memory: "RAM", -} +}; export function ProcessSortControl({ sort, @@ -57,5 +57,5 @@ export function ProcessSortControl({ - ) + ); } diff --git a/src/renderer/components/processes/process-view-switch.tsx b/src/renderer/components/processes/process-view-switch.tsx index db33d38..8b309aa 100644 --- a/src/renderer/components/processes/process-view-switch.tsx +++ b/src/renderer/components/processes/process-view-switch.tsx @@ -1,12 +1,12 @@ -import { SegmentedControl, type SegmentedOption } from "@/components/ui/segmented-control" +import { SegmentedControl, type SegmentedOption } from "@/components/ui/segmented-control"; /** The two top-level views in the single window. */ -export type AppView = "stats" | "processes" +export type AppView = "stats" | "processes"; const VIEW_OPTIONS: ReadonlyArray> = [ { value: "stats", label: "Stats" }, { value: "processes", label: "Processes" }, -] +]; /** * Title-bar segmented control switching between the Stats overview and the @@ -27,5 +27,5 @@ export function ProcessViewSwitch({ value={view} onChange={onChange} /> - ) + ); } diff --git a/src/renderer/components/processes/process-view.ts b/src/renderer/components/processes/process-view.ts deleted file mode 100644 index db7b0a7..0000000 --- a/src/renderer/components/processes/process-view.ts +++ /dev/null @@ -1,796 +0,0 @@ -import { FieldStatus, type ProcessRow, type ProcessSnapshot } from "@/gen/process_explorer" -import { formatBytes, formatCpuPercent, formatCpuPercentPrecise } from "@/lib/format" - -/** - * Pure presentation logic for the process explorer list. - * - * Turns a raw {@link ProcessSnapshot} into ranked, searchable, app-grouped - * display rows. It is intentionally side-effect free and holds no OS/IPC - * knowledge, so it stays easy to reason about and to test (I15). - * - * Privacy: command-line arguments are used only as a local in-memory search - * haystack here; they are never emitted into a group's display fields, logged, - * or persisted. - */ - -/** The metrics the list can rank by. */ -export type SortMode = "cpu" | "memory" - -/** - * A detail-view selection: either an app group (by its key) or one specific - * process (drilled into from a group's member list, or opened from a search - * result that matched a member rather than the whole app group). - */ -export type DetailSelection = - | { kind: "group"; key: string } - | { kind: "process"; pid: number; startedAtUnixMs?: number } - -/** - * Display state of a group's active-metric value, mirroring the overview's metric - * states: `ok` has a value, `pending` is not computed yet (show `--`), and - * `unavailable` was tried and could not be read (show the unavailable text). - */ -export type MetricState = "ok" | "pending" | "unavailable" - -/** - * One display row in the list. A group collapses an app's processes by owning - * `.app` bundle path or bundle id; processes without app identity stay singleton - * rows so unrelated CLIs with the same executable name are not merged. - */ -export interface ProcessGroup { - /** Stable key for React lists and selection. */ - key: string - /** - * Display name for the group: the owning `.app` bundle's name for an app, - * else the representative member's name (localized/executable/command/PID). - */ - name: string - /** Representative PID (the lowest-PID member - the app's main process). */ - pid: number - /** Base64 PNG app icon when a GUI app supplied one; absent -> fallback icon. */ - iconPngBase64?: string - /** Number of processes in the group (>= 1). */ - memberCount: number - /** Extra members beyond the representative, shown as a "+N" badge when > 0. */ - childCount: number - /** Display state of the active metric (drives ok value vs `--` vs unavailable). */ - metricState: MetricState - /** Formatted active-metric value for the row; set only when metricState is ok. */ - metricText?: string - /** Numeric active-metric magnitude used for ranking (0 when not ok). */ - sortValue: number - /** - * Detail target for opening this list row. Group rows target the group; - * searched member rows target the matched process so their visible name matches - * the opened detail. - */ - openSelection: DetailSelection - /** - * The group's member rows, with the representative (the lowest-PID main - * process) first. Carried so the detail view can show identity, command line, - * path, hierarchy, and per-member totals without re-deriving them. Sensitive - * command-line text on these rows stays display/search-only. - */ - members: ProcessRow[] -} - -/** - * Maximum number of ranked rows shown at once. The window is a compact popover, - * not an Activity Monitor table, and past the top consumers the list is a long - * tail of idle (0%/--) processes; capping keeps it scannable. Any process is - * still reachable by typing in the search field, which filters the full snapshot - * before this cap is applied. - */ -export const DISPLAY_LIMIT = 50 - -/** Result of projecting a snapshot for the current sort/search. */ -export interface ProcessListProjection { - /** The ranked rows to render, capped at {@link DISPLAY_LIMIT}. */ - groups: ProcessGroup[] -} - -/** Reads a string field only when it is explicitly OK. */ -function okString(value: { status: FieldStatus; value: string } | undefined): string | undefined { - if (value && value.status === FieldStatus.FIELD_STATUS_OK && value.value.length > 0) { - return value.value - } - return undefined -} - -/** - * Best display name for a row: the localized app name, then the executable name, - * then the short command name, falling back to the PID so a row is never blank. - */ -export function rowDisplayName(row: ProcessRow): string { - return ( - okString(row.app?.localizedName) ?? - okString(row.executableName) ?? - okString(row.commandName) ?? - `PID ${row.identity?.pid ?? 0}` - ) -} - -/** - * A single row's active-metric reading. `value` is set only when the metric is - * OK; otherwise `pending` distinguishes "not computed yet" (proto UNKNOWN, e.g. - * a first-sample CPU delta) from "tried and unavailable" so the row can show a - * quiet `--` while pending versus an explicit unavailable state. - */ -interface MetricCell { - value?: number - pending: boolean -} - -/** Whether a field status is the proto default UNKNOWN ("not yet determined"). */ -function isPending(status: FieldStatus): boolean { - return status === FieldStatus.FIELD_STATUS_UNKNOWN -} - -/** Per-process CPU percent with pending/unavailable distinction. */ -function rowCpu(row: ProcessRow): MetricCell { - const cpu = row.cpu - if (cpu && cpu.status === FieldStatus.FIELD_STATUS_OK && Number.isFinite(cpu.usagePercent)) { - return { value: cpu.usagePercent, pending: false } - } - return { pending: cpu === undefined || isPending(cpu.status) } -} - -/** - * Per-process memory in bytes: physical footprint when OK, else the resident - * fallback when OK. Pending only if the primary footprint is still UNKNOWN. - */ -function rowMemory(row: ProcessRow): MetricCell { - const footprint = row.memory?.physicalFootprintBytes - if (footprint && footprint.status === FieldStatus.FIELD_STATUS_OK) { - return { value: footprint.value, pending: false } - } - const resident = row.memory?.residentBytes - if (resident && resident.status === FieldStatus.FIELD_STATUS_OK) { - return { value: resident.value, pending: false } - } - return { pending: footprint === undefined || isPending(footprint.status) } -} - -/** The active-metric reading for a single row under the current sort. */ -function rowMetric(row: ProcessRow, sort: SortMode): MetricCell { - return sort === "cpu" ? rowCpu(row) : rowMemory(row) -} - -/** - * Maps a {@link MetricCell} to its display state: `ok` when it has a value, - * `pending` while it is still being computed, else `unavailable`. - */ -function cellState(cell: MetricCell): MetricState { - return cell.value !== undefined ? "ok" : cell.pending ? "pending" : "unavailable" -} - -/** - * Group key. Only real app identity groups rows; non-app processes stay as - * PID/start-time singletons so unrelated `node`/`python`/shell processes do not - * get summed into one misleading row. - */ -function rowGroupKey(row: ProcessRow): string { - const bundlePath = okString(row.app?.bundle?.path) - if (bundlePath) { - return `app:${bundlePath}` - } - const bundleId = okString(row.app?.bundleIdentifier) - if (bundleId) { - return `bundle:${bundleId}` - } - return rowIdentityKey(row) -} - -/** Stable singleton key for one process row, independent of app grouping. */ -function rowIdentityKey(row: ProcessRow): string { - const pid = row.identity?.pid ?? 0 - const startedAt = - row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK - ? row.identity.startedAtUnixMs - : "unknown" - return `pid:${pid}:${startedAt}` -} - -/** - * Lowercased search haystack for one process member: display name, PID, - * executable path, bundle id, command name, and command-line arguments when - * available. App/group identity lives in {@link groupHaystack} so searching the - * app name returns the app group, not every helper as an individual result. - * Used only for in-memory matching; the sensitive argument text never leaves - * this module. - */ -function rowHaystack(row: ProcessRow): string { - const parts: string[] = [ - rowDisplayName(row), - String(row.identity?.pid ?? 0), - ] - const path = okString(row.executablePath) - if (path) parts.push(path) - const bundle = okString(row.app?.bundleIdentifier) - if (bundle) parts.push(bundle) - const command = okString(row.commandName) - if (command) parts.push(command) - if (row.commandLine && row.commandLine.status === FieldStatus.FIELD_STATUS_OK) { - parts.push(row.commandLine.arguments.join(" ")) - } - return parts.join(" ").toLowerCase() -} - -/** - * Lowercased search haystack for the grouped app identity. It intentionally - * excludes member argv so a helper-specific query can open that helper, while an - * app-name/bundle-id query keeps the group and its Members section. - */ -function groupHaystack(group: ProcessGroup): string { - const representative = group.members[0] - const parts: string[] = [ - group.name, - String(group.pid), - ] - const bundle = okString(representative.app?.bundleIdentifier) - if (bundle) parts.push(bundle) - const localizedName = okString(representative.app?.localizedName) - if (localizedName) parts.push(localizedName) - const bundleName = okString(representative.app?.bundle?.name) - if (bundleName) parts.push(bundleName) - const bundlePath = okString(representative.app?.bundle?.path) - if (bundlePath) parts.push(bundlePath) - return parts.join(" ").toLowerCase() -} - -/** - * Accumulator while folding member rows into one group. It tracks only what - * cannot be re-derived from the members afterwards: the summed sort metric and - * the metric-availability flags. Display identity (representative, name, icon, - * counts) is derived from `members` when the group is built. - */ -interface GroupAccumulator { - key: string - sortValueSum: number - /** True once any member contributed a real (OK) metric value. */ - hasMetric: boolean - /** True if any member's metric is pending (UNKNOWN); used when none is OK. */ - anyPending: boolean - /** All member rows, in snapshot order. */ - members: ProcessRow[] -} - -/** Formats a group's summed metric for the compact list under the active sort. */ -function formatGroupMetric(sum: number, sort: SortMode): string { - return sort === "cpu" ? formatCpuPercent(sum) : formatBytes(sum) -} - -/** - * Formats a metric for the detail panel with extra precision (CPU two decimals, - * memory one extra decimal), so a group's total and its member rows read more - * finely there than in the compact list. - */ -function formatDetailMetric(value: number, sort: SortMode): string { - return sort === "cpu" ? formatCpuPercentPrecise(value) : formatBytes(value, true) -} - -/** PID of a row, or 0 when the identity is missing. */ -function rowPid(row: ProcessRow): number { - return row.identity?.pid ?? 0 -} - -/** Snapshot-stable process selection for one row. */ -function rowSelection(row: ProcessRow): DetailSelection { - const startedAtUnixMs = - row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK - ? row.identity.startedAtUnixMs - : undefined - return { kind: "process", pid: rowPid(row), startedAtUnixMs } -} - -/** - * The representative member of a group: the lowest-PID row - the app's main - * process, which starts before its helpers. Using this stable identity (rather - * than the busiest member) keeps the detail header from flipping between members - * as live usage shifts. Assumes a non-empty member list. - */ -function representativeOf(members: ProcessRow[]): ProcessRow { - return members.reduce((lowest, row) => (rowPid(row) < rowPid(lowest) ? row : lowest)) -} - -/** - * Builds the display {@link ProcessGroup} from an accumulated group: derives the - * representative and the display name/icon/counts from the members (rather than - * tracking them during the fold). The representative is hoisted to `members[0]` - * so the detail header reads its identity; the icon prefers the representative's, - * falling back to any member that has one (an `.app` group shares one icon). - */ -function buildGroupRow(group: GroupAccumulator, sort: SortMode): ProcessGroup { - const representative = representativeOf(group.members) - const isGroup = group.members.length > 1 - const metricState: MetricState = group.hasMetric ? "ok" : group.anyPending ? "pending" : "unavailable" - const icon = - okString(representative.app?.iconPngBase64) ?? - group.members.map((row) => okString(row.app?.iconPngBase64)).find(Boolean) - // A multi-process group shows the owning `.app` name; a single process (incl. a - // drilled-in member) shows its own display name, not its app's. - const appName = isGroup ? okString(representative.app?.bundle?.name) : undefined - return { - key: group.key, - name: appName ?? rowDisplayName(representative), - pid: rowPid(representative), - iconPngBase64: icon, - memberCount: group.members.length, - childCount: group.members.length - 1, - metricState, - metricText: metricState === "ok" ? formatGroupMetric(group.sortValueSum, sort) : undefined, - sortValue: group.sortValueSum, - openSelection: { kind: "group", key: group.key }, - members: representativeFirst(group.members, representative), - } -} - -/** - * Folds the snapshot rows into ranked display groups for the given sort and - * (optional) search query. Buckets rows by their native app key (the owning - * `.app` bundle or bundle id), sums each app group's metric, and keeps non-app - * processes as singleton rows. Search keeps app/group matches grouped (so the - * Members section remains available), but returns helper/member-specific matches - * as singleton rows so the visible result name matches the opened process. - * Returns every matched group, ranked by summed metric descending with a stable - * name tiebreak, with no display cap applied - callers cap for the list, while - * the detail lookup needs the full set so a selected group stays findable even - * when it ranks past the list cap. - */ -function buildGroups(rows: ProcessRow[], sort: SortMode, query: string): ProcessGroup[] { - const trimmed = query.trim().toLowerCase() - const grouped = buildGroupedRows(rows, sort) - if (trimmed.length > 0) { - return buildSearchGroups(grouped, sort, trimmed) - } - - return grouped -} - -/** Builds the normal app-grouped list rows with no search filter applied. */ -function buildGroupedRows(rows: ProcessRow[], sort: SortMode): ProcessGroup[] { - const groups = new Map() - - for (const row of rows) { - const key = rowGroupKey(row) - const metric = rowMetric(row, sort) - const existing = groups.get(key) - - if (existing === undefined) { - groups.set(key, { - key, - sortValueSum: metric.value ?? 0, - hasMetric: metric.value !== undefined, - anyPending: metric.pending, - members: [row], - }) - continue - } - - existing.sortValueSum += metric.value ?? 0 - existing.hasMetric = existing.hasMetric || metric.value !== undefined - existing.anyPending = existing.anyPending || metric.pending - existing.members.push(row) - } - - const projected: ProcessGroup[] = Array.from(groups.values()).map((group) => - buildGroupRow(group, sort), - ) - - return sortGroups(projected) -} - -/** - * Builds search results from already-grouped rows. App identity or representative - * matches keep the group; otherwise only the matching member processes are shown. - */ -function buildSearchGroups( - groups: ProcessGroup[], - sort: SortMode, - query: string, -): ProcessGroup[] { - const projected: ProcessGroup[] = [] - - for (const group of groups) { - const representative = group.members[0] - if (groupHaystack(group).includes(query) || rowHaystack(representative).includes(query)) { - projected.push(group) - continue - } - - for (const member of group.members) { - if (rowHaystack(member).includes(query)) { - projected.push(singleProcessGroup(member, sort)) - } - } - } - - return sortGroups(projected) -} - -/** Sorts list groups by active metric, with stable cold-start behavior. */ -function sortGroups(projected: ProcessGroup[]): ProcessGroup[] { - // Rank by summed metric descending. The name tiebreak applies only between two - // rows that both have a real value, so on a first-sample cold start (every row - // pending, all sortValue 0) the list keeps the snapshot's insertion order - // instead of snapping to an alphabetical layout that then reshuffles a tick - // later. Array.sort is stable, so equal comparisons preserve that order. - projected.sort((left, right) => { - if (right.sortValue !== left.sortValue) { - return right.sortValue - left.sortValue - } - if (left.metricState === "ok" && right.metricState === "ok") { - return left.name.localeCompare(right.name) - } - return 0 - }) - - return projected -} - -/** - * Projects a snapshot into ranked, grouped, searched display rows for the list. - * - * Grouping and ranking live in {@link buildGroups}; this caps the result to - * {@link DISPLAY_LIMIT}. Search has already narrowed the groups to matches, so a - * process beyond the cap is still reachable by typing. - */ -export function projectProcessList( - snapshot: ProcessSnapshot, - sort: SortMode, - query: string, -): ProcessListProjection { - return { - groups: buildGroups(snapshot.processes, sort, query).slice(0, DISPLAY_LIMIT), - } -} - -/** - * Finds one group by its {@link ProcessGroup.key} for the detail view, grouping - * the full snapshot with no search filter and no display cap. Returns undefined - * when the group is gone (its processes all exited), so the detail can fall back - * to the list. The active sort is passed so the representative and member order - * match the list the user opened from. - */ -export function findGroupByKey( - snapshot: ProcessSnapshot, - sort: SortMode, - key: string, -): ProcessGroup | undefined { - return buildGroups(snapshot.processes, sort, "").find((group) => group.key === key) -} - -/** - * Returns the group's members with `representative` at index 0. The detail reads - * `members[0]` for its header identity (name/PID/path/argv), so the representative - * must be first; the order of the rest does not matter here because the detail - * re-ranks the displayed member list by the active metric in - * {@link buildProcessDetail}. - */ -function representativeFirst(members: ProcessRow[], representative: ProcessRow): ProcessRow[] { - const index = members.indexOf(representative) - if (index <= 0) { - return members - } - const ordered = members.slice() - ordered.splice(index, 1) - ordered.unshift(representative) - return ordered -} - -// --------------------------------------------------------------------------- -// Process detail model -// -// The detail view answers the debugging question for one selected group: what -// is it, where does it live, what was it launched with, how is it nested, and -// how much CPU/memory does the whole group use. Like the list projection this is -// pure: it turns the already-collected member rows into explicit display fields -// (with availability), so the detail component stays presentation-only and the -// derivation is test-ready (I15). Command-line text is read only into the -// display model on an explicit selection; it is never logged or persisted. -// --------------------------------------------------------------------------- - -/** - * Availability of a detail field, mirroring the list's metric states: `ok` has a - * value, `pending` is not yet determined (proto UNKNOWN), `unavailable` was tried - * and could not be read (including permission-denied / process-exited, which the - * compact detail surfaces as a single "unavailable" line rather than separate - * copy). - */ -export type DetailState = "ok" | "pending" | "unavailable" - -/** A summed group metric with its display state. */ -export interface DetailMetric { - state: DetailState - /** Formatted value; set only when state is `ok`. */ - text?: string -} - -/** The command-line block's content with explicit availability. */ -export interface DetailCommandLine { - state: DetailState - /** Joined argument string for display/copy; set only when state is `ok`. */ - text?: string -} - -/** - * One member process of a group, shown in the expandable Members section and - * drillable into its own (single-process) detail. Carries the per-member value - * under the active sort so the member list reads like the main list. - */ -export interface DetailMember { - /** PID of this member, used as the React key and to drill in. */ - pid: number - /** Start time (Unix ms) when known, to disambiguate a reused PID on drill-in. */ - startedAtUnixMs?: number - /** Member display name. */ - name: string - /** - * Volatile base64 PNG icon when available; absent -> fallback glyph. App - * members share their app's icon (helpers carry no distinct icon of their own); - * a non-bundled member shows its executable's icon. - */ - iconPngBase64?: string - /** Active-metric display state for this member (ok / pending / unavailable). */ - metricState: MetricState - /** Formatted active-metric value; set only when metricState is `ok`. */ - metricText?: string -} - -/** The selected process's parent context, shown above its identity. */ -export interface DetailParent { - /** Whether a parent PID is known for the selected process. */ - available: boolean - /** Parent PID when available and > 0. */ - pid?: number -} - -/** - * Presentation model for the detail view of one selected group (or one process, - * when a member is drilled into - then it is a single-member group). Every - * textual field is optional with an availability state so the component can show - * an explicit unavailable/pending line instead of a blank or a faked value. - */ -export interface ProcessDetail { - /** Group identity key (matches {@link ProcessGroup.key}). */ - key: string - /** Representative display name (the app name for a group, else the process). */ - name: string - /** Representative PID. */ - pid: number - /** Volatile base64 PNG icon when available; absent -> fallback glyph. */ - iconPngBase64?: string - /** Bundle identifier when known (e.g. com.apple.dt.Xcode). */ - bundleIdentifier?: string - /** Executable name, shown as the secondary identity when no bundle id exists. */ - executableName?: string - /** Parent-process context of the representative. */ - parent: DetailParent - /** Started-at time of the representative. */ - startedAt: DetailState - /** Started-at value in Unix ms; set only when startedAt is `ok`. */ - startedAtUnixMs?: number - /** Executable path of the representative. */ - path: DetailState - /** Executable path value; set only when path is `ok` (drives copy). */ - pathText?: string - /** Command line of the representative. */ - commandLine: DetailCommandLine - /** - * The group's total for the currently selected metric (sum of members), - * formatted with detail precision. Shown above the member list and re-derived - * when the CPU/RAM switch changes. - */ - total: DetailMetric - /** Which metric {@link total} reflects, for the "Total CPU"/"Total RAM" label. */ - totalSort: SortMode - /** Number of processes in the group (>= 1). */ - memberCount: number - /** - * All member rows for the expandable Members section (representative first). - * Empty for a single-process detail; the section scrolls within a bounded box - * when there are many, so no cap is applied here. - */ - members: DetailMember[] -} - -/** Reads the started-at identity of a row with pending/unavailable distinction. */ -function rowStartedAt(row: ProcessRow): { state: DetailState; value?: number } { - const identity = row.identity - if (identity && identity.startedAtStatus === FieldStatus.FIELD_STATUS_OK) { - return { state: "ok", value: identity.startedAtUnixMs } - } - return { state: isPending(identity?.startedAtStatus ?? FieldStatus.FIELD_STATUS_UNKNOWN) ? "pending" : "unavailable" } -} - -/** Reads a StringValue field as a detail state plus optional text. */ -function detailString( - value: { status: FieldStatus; value: string } | undefined, -): { state: DetailState; text?: string } { - const text = okString(value) - if (text !== undefined) { - return { state: "ok", text } - } - return { state: isPending(value?.status ?? FieldStatus.FIELD_STATUS_UNKNOWN) ? "pending" : "unavailable" } -} - -/** Reads the representative's command line as a joined string with availability. */ -function detailCommandLine(row: ProcessRow): DetailCommandLine { - const commandLine = row.commandLine - if (commandLine && commandLine.status === FieldStatus.FIELD_STATUS_OK) { - return { state: "ok", text: commandLine.arguments.join(" ") } - } - return { state: isPending(commandLine?.status ?? FieldStatus.FIELD_STATUS_UNKNOWN) ? "pending" : "unavailable" } -} - -/** - * Sums one metric across the group's members into a {@link DetailMetric}. - * `ok` when at least one member has a real value (others contribute 0); `pending` - * when none is OK but some are still being computed; `unavailable` otherwise. - */ -function sumGroupMetric( - members: ProcessRow[], - read: (row: ProcessRow) => MetricCell, - format: (value: number) => string, -): DetailMetric { - let sum = 0 - let hasMetric = false - let anyPending = false - for (const row of members) { - const cell = read(row) - if (cell.value !== undefined) { - sum += cell.value - hasMetric = true - } else if (cell.pending) { - anyPending = true - } - } - if (hasMetric) { - return { state: "ok", text: format(sum) } - } - return { state: anyPending ? "pending" : "unavailable" } -} - -/** Projects one member row into a {@link DetailMember} under the active sort. */ -function buildMember(row: ProcessRow, sort: SortMode): DetailMember { - const cell = rowMetric(row, sort) - const metricState = cellState(cell) - const startedAt = - row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK - ? row.identity.startedAtUnixMs - : undefined - return { - pid: rowPid(row), - startedAtUnixMs: startedAt, - name: rowDisplayName(row), - iconPngBase64: okString(row.app?.iconPngBase64), - metricState, - metricText: metricState === "ok" ? formatDetailMetric(cell.value ?? 0, sort) : undefined, - } -} - -/** - * Projects a selected {@link ProcessGroup} into its {@link ProcessDetail} display - * model. Identity/path/argv/started-at come from the representative (the row the - * collapsed list already shows); CPU and memory are summed across all members so - * a grouped app reports its whole footprint, which the user would otherwise have - * to add up by hand. For a multi-process group all members (representative first) - * are projected for the expandable Members section, which scrolls within a - * bounded box rather than being capped; a single-process detail has no member - * list. The active `sort` sets each member's displayed value so the section reads - * like the main list. - */ -export function buildProcessDetail(group: ProcessGroup, sort: SortMode): ProcessDetail { - const representative = group.members[0] - const started = rowStartedAt(representative) - const path = detailString(representative.executablePath) - const bundleIdentifier = okString(representative.app?.bundleIdentifier) - const executableName = detailString(representative.executableName).text - - const parentAvailable = - representative.parentStatus === FieldStatus.FIELD_STATUS_OK && representative.parentPid > 0 - - const read = sort === "cpu" ? rowCpu : rowMemory - - // Display the members ranked by the active metric (highest first), like the - // main list - not in snapshot/PID order. A PID tie-break keeps equal-value rows - // (e.g. several idle 0.00% members) stable across ticks. The representative is - // still group.members[0] for the header identity; only the displayed list is - // ranked here. - const members = - group.memberCount > 1 - ? group.members - .slice() - .sort((left, right) => { - const delta = (read(right).value ?? 0) - (read(left).value ?? 0) - if (delta !== 0) { - return delta - } - return (left.identity?.pid ?? 0) - (right.identity?.pid ?? 0) - }) - .map((row) => buildMember(row, sort)) - : [] - - // Only the selected metric's total is shown (the CPU/RAM switch picks which), - // formatted with detail precision. - const total = sumGroupMetric(group.members, read, (value) => formatDetailMetric(value, sort)) - - return { - key: group.key, - name: group.name, - pid: group.pid, - iconPngBase64: group.iconPngBase64, - bundleIdentifier, - executableName, - parent: { available: parentAvailable, pid: parentAvailable ? representative.parentPid : undefined }, - startedAt: started.state, - startedAtUnixMs: started.value, - path: path.state, - pathText: path.text, - commandLine: detailCommandLine(representative), - total, - totalSort: sort, - memberCount: group.memberCount, - members, - } -} - -/** - * A single-member {@link ProcessGroup} wrapping one member row, so drilling into - * a member reuses {@link buildProcessDetail} unchanged: its detail shows just - * that process (its own CPU/memory, no member list). Built through the same - * {@link buildGroupRow} path as list groups; the key is the row's PID/start-time - * singleton identity, distinct from any app-bundle group key. - */ -function singleProcessGroup(row: ProcessRow, sort: SortMode): ProcessGroup { - const cell = rowMetric(row, sort) - const group = buildGroupRow( - { - key: rowIdentityKey(row), - sortValueSum: cell.value ?? 0, - hasMetric: cell.value !== undefined, - anyPending: cell.pending, - members: [row], - }, - sort, - ) - return { ...group, openSelection: rowSelection(row) } -} - -/** - * Resolves a {@link DetailSelection} against the current snapshot into the - * {@link ProcessGroup} the detail renders, or undefined when it is gone (the - * group's processes all exited, or the drilled-in process exited / its PID was - * reused). For a process selection: if the selection carried an exact start time, - * only an exact (pid, started_at) match resolves - if the process exited and its - * PID was reused, no match is found and this returns undefined, so the drill-in - * falls back up the stack rather than silently showing an unrelated process. Only - * a selection with no recorded start time falls back to PID alone. - */ -export function resolveSelection( - snapshot: ProcessSnapshot, - sort: SortMode, - selection: DetailSelection, -): ProcessGroup | undefined { - if (selection.kind === "group") { - return findGroupByKey(snapshot, sort, selection.key) - } - - const matches = snapshot.processes.filter((row) => (row.identity?.pid ?? 0) === selection.pid) - if (matches.length === 0) { - return undefined - } - - if (selection.startedAtUnixMs !== undefined) { - const exact = matches.find( - (row) => - row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK && - row.identity.startedAtUnixMs === selection.startedAtUnixMs, - ) - // No exact (pid, started_at) match: the selected process is gone (its PID may - // have been reused). Return undefined rather than a different process. - return exact ? singleProcessGroup(exact, sort) : undefined - } - - return singleProcessGroup(matches[0], sort) -} diff --git a/src/renderer/components/processes/use-process-actions.ts b/src/renderer/components/processes/use-process-actions.ts new file mode 100644 index 0000000..0a6790f --- /dev/null +++ b/src/renderer/components/processes/use-process-actions.ts @@ -0,0 +1,143 @@ +import { useCallback, useEffect, useMemo, useRef, useState } from "react"; + +import { processExplorerGateway } from "@/gateway/process-explorer-gateway"; +import { + FieldStatus, + RunProcessActionResponse_Outcome as Outcome, + type ActionState, + type ProcessActionKind, + type ProcessIdentity, +} from "@/gen/process_explorer"; +import type { ProcessDetail } from "@/domain/process-detail"; + +/** What {@link useProcessActions} exposes to the detail view's action row. */ +export interface ProcessActionsState { + /** Main's authoritative per-action availability for the current target. */ + actions: ActionState[]; + /** True while an action is in flight; the whole row disables. */ + actionsBusy: boolean; + /** Transient, non-sensitive message for an OS refusal / failure, else undefined. */ + actionMessage?: string; + /** Forwards a chosen action kind to main, then re-pulls and refreshes states. */ + runAction: (kind: ProcessActionKind) => Promise; +} + +/** + * Owns the detail's process-action concerns: the action target, its + * main-authoritative {@link ActionState} list, the in-flight flag, a transient + * non-success message, and the action runner. Kept out of the view component so + * the latter stays focused on the snapshot lifecycle and list/detail rendering. + * + * The target is derived from the open `detail` but keyed on its primitive + * identity (pid + start time) so it is stable across the 2s snapshot ticks (the + * detail object is a fresh reference each tick) and does not refetch needlessly. + * A `targetKey` guard drops out-of-order `getActionStates` responses. Action + * requests do not carry a snapshot revision: main validates the target by + * identity against its latest cached snapshot. `onActed` re-pulls the snapshot + * after an action so a killed process drops promptly and the detail falls back. + */ +export function useProcessActions( + detail: ProcessDetail | undefined, + onActed: () => Promise, +): ProcessActionsState { + const targetPid = detail?.pid; + const targetStartedAt = detail?.startedAt === "ok" ? detail.startedAtUnixMs : undefined; + const target = useMemo( + () => + targetPid === undefined + ? undefined + : { + pid: targetPid, + startedAtStatus: + targetStartedAt === undefined + ? FieldStatus.FIELD_STATUS_UNKNOWN + : FieldStatus.FIELD_STATUS_OK, + startedAtUnixMs: targetStartedAt ?? 0, + }, + [targetPid, targetStartedAt], + ); + const targetKey = target ? `${target.pid}:${target.startedAtStatus}:${target.startedAtUnixMs}` : ""; + const targetKeyRef = useRef(targetKey); + targetKeyRef.current = targetKey; + + const [actions, setActions] = useState([]); + const [actionsBusy, setActionsBusy] = useState(false); + const [actionMessage, setActionMessage] = useState(undefined); + + const refreshActionStates = useCallback(async () => { + if (!target) { + setActions([]); + return; + } + const requestedKey = targetKey; + setActions([]); + try { + const response = await processExplorerGateway.getActionStates(target); + // Ignore a response that arrived after the selection moved on. + if (targetKeyRef.current === requestedKey) { + setActions(response.actions); + } + } catch { + // Keep the row disabled for this target until the next successful fetch. + if (targetKeyRef.current === requestedKey) { + setActions([]); + } + } + }, [target, targetKey]); + + // Refresh states and clear any prior message whenever the target changes. + useEffect(() => { + setActionMessage(undefined); + void refreshActionStates(); + }, [refreshActionStates]); + + const runAction = useCallback( + async (kind: ProcessActionKind) => { + if (!target || actionsBusy) { + return; + } + setActionsBusy(true); + setActionMessage(undefined); + try { + const response = await processExplorerGateway.runAction(kind, target); + // A succeeded quit/force-quit drops the row and the detail falls back, so + // only a non-success outcome needs surfacing. Messages are derived from the + // coarse outcome only - they carry no process identity. + setActionMessage(actionOutcomeMessage(response.outcome)); + } catch { + // No diagnostic is logged - the target/result can carry process identity. + setActionMessage("Action could not be completed."); + } finally { + setActionsBusy(false); + } + // Re-pull so a quit/force-quit drops the row promptly (the detail then falls + // back down the stack), and refresh the action availability for what remains. + await onActed(); + await refreshActionStates(); + }, + [target, actionsBusy, onActed, refreshActionStates], + ); + + return { actions, actionsBusy, actionMessage, runAction }; +} + +/** + * Maps a coarse action outcome to a short, non-sensitive message for the detail's + * action row, or undefined when nothing needs to be said. A succeeded action + * drops the row (the detail falls back), and a stale target likewise resolves to + * a different view, so neither shows a message; only an OS refusal or an + * unspecified failure does. The message is derived from the outcome enum alone - + * it never includes a process name, path, or argv. + */ +function actionOutcomeMessage(outcome: Outcome): string | undefined { + switch (outcome) { + case Outcome.OUTCOME_NOT_PERMITTED: + return "Couldn't quit - this process is owned by the system."; + case Outcome.OUTCOME_NOT_ALLOWED: + return "This action isn't allowed for this process."; + case Outcome.OUTCOME_FAILED: + return "Action could not be completed."; + default: + return undefined; + } +} diff --git a/src/renderer/components/ui/button.tsx b/src/renderer/components/ui/button.tsx index 78a5c03..8d6bafc 100644 --- a/src/renderer/components/ui/button.tsx +++ b/src/renderer/components/ui/button.tsx @@ -1,56 +1,56 @@ -import * as React from "react" -import { Slot } from "@radix-ui/react-slot" -import { cva, type VariantProps } from "class-variance-authority" +import * as React from "react"; +import { Slot } from "@radix-ui/react-slot"; +import { cva, type VariantProps } from "class-variance-authority"; -import { cn } from "@/lib/utils" +import { cn } from "@/lib/utils"; const buttonVariants = cva( - "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", - { - variants: { - variant: { - default: "bg-primary text-primary-foreground hover:bg-primary/90", - destructive: - "bg-destructive text-destructive-foreground hover:bg-destructive/90", - outline: - "border border-input bg-background hover:bg-accent hover:text-accent-foreground", - secondary: - "bg-secondary text-secondary-foreground hover:bg-secondary/80", - ghost: "hover:bg-accent hover:text-accent-foreground", - link: "text-primary underline-offset-4 hover:underline", - }, - size: { - default: "h-10 px-4 py-2", - sm: "h-9 rounded-md px-3", - lg: "h-11 rounded-md px-8", - icon: "h-10 w-10", - }, - }, - defaultVariants: { - variant: "default", - size: "default", - }, - } -) + "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", + { + variants: { + variant: { + default: "bg-primary text-primary-foreground hover:bg-primary/90", + destructive: + "bg-destructive text-destructive-foreground hover:bg-destructive/90", + outline: + "border border-input bg-background hover:bg-accent hover:text-accent-foreground", + secondary: + "bg-secondary text-secondary-foreground hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-10 px-4 py-2", + sm: "h-9 rounded-md px-3", + lg: "h-11 rounded-md px-8", + icon: "h-10 w-10", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + }, +); export interface ButtonProps - extends React.ButtonHTMLAttributes, + extends React.ButtonHTMLAttributes, VariantProps { - asChild?: boolean + asChild?: boolean; } const Button = React.forwardRef( - ({ className, variant, size, asChild = false, ...props }, ref) => { - const Comp = asChild ? Slot : "button" - return ( - - ) - } -) -Button.displayName = "Button" + ({ className, variant, size, asChild = false, ...props }, ref) => { + const Comp = asChild ? Slot : "button"; + return ( + + ); + }, +); +Button.displayName = "Button"; -export { Button, buttonVariants } +export { Button, buttonVariants }; diff --git a/src/renderer/components/ui/dropdown-menu.tsx b/src/renderer/components/ui/dropdown-menu.tsx index 007bd33..a2d56e0 100644 --- a/src/renderer/components/ui/dropdown-menu.tsx +++ b/src/renderer/components/ui/dropdown-menu.tsx @@ -1,8 +1,8 @@ -import * as React from "react" -import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu" -import { Check } from "lucide-react" +import * as React from "react"; +import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"; +import { Check } from "lucide-react"; -import { cn } from "@/lib/utils" +import { cn } from "@/lib/utils"; /** * Compact dropdown menu primitives, a thin local wrapper over Radix so the menu @@ -12,11 +12,11 @@ import { cn } from "@/lib/utils" * single-select radio group with a check indicator. */ -const DropdownMenu = DropdownMenuPrimitive.Root +const DropdownMenu = DropdownMenuPrimitive.Root; -const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger +const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger; -const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup +const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup; /** * Floating menu surface. Portaled to the body so it escapes the list's scroll @@ -38,8 +38,8 @@ const DropdownMenuContent = React.forwardRef< {...props} /> -)) -DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName +)); +DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName; /** * One selectable row in a {@link DropdownMenuRadioGroup}. Shows a left check @@ -65,8 +65,8 @@ const DropdownMenuRadioItem = React.forwardRef< {children} -)) -DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName +)); +DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName; export { DropdownMenu, @@ -74,4 +74,4 @@ export { DropdownMenuContent, DropdownMenuRadioGroup, DropdownMenuRadioItem, -} +}; diff --git a/src/renderer/components/ui/input.tsx b/src/renderer/components/ui/input.tsx index 6f8440c..e5d594f 100644 --- a/src/renderer/components/ui/input.tsx +++ b/src/renderer/components/ui/input.tsx @@ -1,24 +1,24 @@ -import * as React from "react" +import * as React from "react"; -import { cn } from "@/lib/utils" +import { cn } from "@/lib/utils"; -export type InputProps = React.InputHTMLAttributes +export type InputProps = React.InputHTMLAttributes; const Input = React.forwardRef( - ({ className, type, ...props }, ref) => { - return ( - - ) - } -) -Input.displayName = "Input" + ({ className, type, ...props }, ref) => { + return ( + + ); + }, +); +Input.displayName = "Input"; -export { Input } +export { Input }; diff --git a/src/renderer/components/ui/segmented-control.tsx b/src/renderer/components/ui/segmented-control.tsx index 609c923..fb8f700 100644 --- a/src/renderer/components/ui/segmented-control.tsx +++ b/src/renderer/components/ui/segmented-control.tsx @@ -1,17 +1,17 @@ -import { cva } from "class-variance-authority" +import { cva } from "class-variance-authority"; -import { cn } from "@/lib/utils" +import { cn } from "@/lib/utils"; /** * One option in a {@link SegmentedControl}. */ export interface SegmentedOption { - value: T - label: string + value: T; + label: string; /** Disabled options stay visible but unselectable (e.g. an unsupported sort). */ - disabled?: boolean + disabled?: boolean; /** Tooltip, used to explain a disabled option's reason. */ - title?: string + title?: string; } /** @@ -38,7 +38,7 @@ const segment = cva("rounded-md font-medium transition-colors", { selected: false, disabled: false, }, -}) +}); /** * Compact macOS-style segmented control: a quiet track with a subtle elevated @@ -70,7 +70,7 @@ export function SegmentedControl({ )} > {options.map((option) => { - const selected = option.value === value + const selected = option.value === value; return ( - ) + ); })} - ) + ); } diff --git a/src/renderer/domain/process-detail.ts b/src/renderer/domain/process-detail.ts new file mode 100644 index 0000000..78762f2 --- /dev/null +++ b/src/renderer/domain/process-detail.ts @@ -0,0 +1,284 @@ +import { FieldStatus, type ProcessRow } from "@/gen/process_explorer"; +import { formatBytes, formatCpuPercentPrecise } from "@/lib/format"; +import { + cellState, + isPending, + okString, + rowCpu, + rowDisplayName, + rowMemory, + rowMetric, + rowPid, + type MetricCell, + type ProcessGroup, + type ProcessMetricState, + type SortMode, +} from "@/domain/process-list"; + +/** + * Pure presentation logic for the process detail view. + * + * The detail view answers the debugging question for one selected group: what + * is it, where does it live, what was it launched with, how is it nested, and + * how much CPU/memory does the whole group use. Like the list projection in + * {@link "@/domain/process-list"} this is pure: it turns the already-collected + * member rows into explicit display fields (with availability), so the detail + * component stays presentation-only and the derivation is test-ready (I15). + * + * Privacy: command-line text is read only into the display model on an explicit + * selection; it is never logged or persisted. + */ + +/** + * Availability of a detail field, mirroring the list's metric states: `ok` has a + * value, `pending` is not yet determined (proto UNKNOWN), `unavailable` was tried + * and could not be read (including permission-denied / process-exited, which the + * compact detail surfaces as a single "unavailable" line rather than separate + * copy). + */ +export type DetailState = ProcessMetricState; + +/** A summed group metric with its display state. */ +export interface DetailMetric { + state: DetailState; + /** Formatted value; set only when state is `ok`. */ + text?: string; +} + +/** The command-line block's content with explicit availability. */ +export interface DetailCommandLine { + state: DetailState; + /** Joined argument string for display/copy; set only when state is `ok`. */ + text?: string; +} + +/** + * One member process of a group, shown in the expandable Members section and + * drillable into its own (single-process) detail. Carries the per-member value + * under the active sort so the member list reads like the main list. + */ +export interface DetailMember { + /** PID of this member, used as the React key and to drill in. */ + pid: number; + /** Start time (Unix ms) when known, to disambiguate a reused PID on drill-in. */ + startedAtUnixMs?: number; + /** Member display name. */ + name: string; + /** + * Volatile base64 PNG icon when available; absent -> fallback glyph. App + * members share their app's icon (helpers carry no distinct icon of their own); + * a non-bundled member shows its executable's icon. + */ + iconPngBase64?: string; + /** Active-metric display state for this member (ok / pending / unavailable). */ + metricState: ProcessMetricState; + /** Formatted active-metric value; set only when metricState is `ok`. */ + metricText?: string; +} + +/** The selected process's parent context, shown above its identity. */ +export interface DetailParent { + /** Whether a parent PID is known for the selected process. */ + available: boolean; + /** Parent PID when available and > 0. */ + pid?: number; +} + +/** + * Presentation model for the detail view of one selected group (or one process, + * when a member is drilled into - then it is a single-member group). Every + * textual field is optional with an availability state so the component can show + * an explicit unavailable/pending line instead of a blank or a faked value. + */ +export interface ProcessDetail { + /** Group identity key (matches {@link ProcessGroup.key}). */ + key: string; + /** Representative display name (the app name for a group, else the process). */ + name: string; + /** Representative PID. */ + pid: number; + /** Volatile base64 PNG icon when available; absent -> fallback glyph. */ + iconPngBase64?: string; + /** Bundle identifier when known (e.g. com.apple.dt.Xcode). */ + bundleIdentifier?: string; + /** Executable name, shown as the secondary identity when no bundle id exists. */ + executableName?: string; + /** Parent-process context of the representative. */ + parent: DetailParent; + /** Started-at time of the representative. */ + startedAt: DetailState; + /** Started-at value in Unix ms; set only when startedAt is `ok`. */ + startedAtUnixMs?: number; + /** Executable path of the representative. */ + path: DetailState; + /** Executable path value; set only when path is `ok` (drives copy). */ + pathText?: string; + /** Command line of the representative. */ + commandLine: DetailCommandLine; + /** + * The group's total for the currently selected metric (sum of members), + * formatted with detail precision. Shown above the member list and re-derived + * when the CPU/RAM switch changes. + */ + total: DetailMetric; + /** Which metric {@link total} reflects, for the "Total CPU"/"Total RAM" label. */ + totalSort: SortMode; + /** Number of processes in the group (>= 1). */ + memberCount: number; + /** + * All member rows for the expandable Members section (representative first). + * Empty for a single-process detail; the section scrolls within a bounded box + * when there are many, so no cap is applied here. + */ + members: DetailMember[]; +} + +/** + * Formats a metric for the detail panel with extra precision (CPU two decimals, + * memory one extra decimal), so a group's total and its member rows read more + * finely there than in the compact list. + */ +function formatDetailMetric(value: number, sort: SortMode): string { + return sort === "cpu" ? formatCpuPercentPrecise(value) : formatBytes(value, true); +} + +/** Reads the started-at identity of a row with pending/unavailable distinction. */ +function rowStartedAt(row: ProcessRow): { state: DetailState; value?: number } { + const identity = row.identity; + if (identity && identity.startedAtStatus === FieldStatus.FIELD_STATUS_OK) { + return { state: "ok", value: identity.startedAtUnixMs }; + } + return { state: isPending(identity?.startedAtStatus ?? FieldStatus.FIELD_STATUS_UNKNOWN) ? "pending" : "unavailable" }; +} + +/** Reads a StringValue field as a detail state plus optional text. */ +function detailString( + value: { status: FieldStatus; value: string } | undefined, +): { state: DetailState; text?: string } { + const text = okString(value); + if (text !== undefined) { + return { state: "ok", text }; + } + return { state: isPending(value?.status ?? FieldStatus.FIELD_STATUS_UNKNOWN) ? "pending" : "unavailable" }; +} + +/** Reads the representative's command line as a joined string with availability. */ +function detailCommandLine(row: ProcessRow): DetailCommandLine { + const commandLine = row.commandLine; + if (commandLine && commandLine.status === FieldStatus.FIELD_STATUS_OK) { + return { state: "ok", text: commandLine.arguments.join(" ") }; + } + return { state: isPending(commandLine?.status ?? FieldStatus.FIELD_STATUS_UNKNOWN) ? "pending" : "unavailable" }; +} + +/** + * Sums one metric across the group's members into a {@link DetailMetric}. + * `ok` when at least one member has a real value (others contribute 0); `pending` + * when none is OK but some are still being computed; `unavailable` otherwise. + */ +function sumGroupMetric( + members: ProcessRow[], + read: (row: ProcessRow) => MetricCell, + format: (value: number) => string, +): DetailMetric { + let sum = 0; + let hasMetric = false; + let anyPending = false; + for (const row of members) { + const cell = read(row); + if (cell.value !== undefined) { + sum += cell.value; + hasMetric = true; + } else if (cell.pending) { + anyPending = true; + } + } + if (hasMetric) { + return { state: "ok", text: format(sum) }; + } + return { state: anyPending ? "pending" : "unavailable" }; +} + +/** Projects one member row into a {@link DetailMember} under the active sort. */ +function buildMember(row: ProcessRow, sort: SortMode): DetailMember { + const cell = rowMetric(row, sort); + const metricState = cellState(cell); + const startedAt = + row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK + ? row.identity.startedAtUnixMs + : undefined; + return { + pid: rowPid(row), + startedAtUnixMs: startedAt, + name: rowDisplayName(row), + iconPngBase64: okString(row.app?.iconPngBase64), + metricState, + metricText: metricState === "ok" ? formatDetailMetric(cell.value ?? 0, sort) : undefined, + }; +} + +/** + * Projects a selected {@link ProcessGroup} into its {@link ProcessDetail} display + * model. Identity/path/argv/started-at come from the representative (the row the + * collapsed list already shows); CPU and memory are summed across all members so + * a grouped app reports its whole footprint, which the user would otherwise have + * to add up by hand. For a multi-process group all members (representative first) + * are projected for the expandable Members section, which scrolls within a + * bounded box rather than being capped; a single-process detail has no member + * list. The active `sort` sets each member's displayed value so the section reads + * like the main list. + */ +export function buildProcessDetail(group: ProcessGroup, sort: SortMode): ProcessDetail { + const representative = group.members[0]; + const started = rowStartedAt(representative); + const path = detailString(representative.executablePath); + const bundleIdentifier = okString(representative.app?.bundleIdentifier); + const executableName = detailString(representative.executableName).text; + + const parentAvailable = + representative.parentStatus === FieldStatus.FIELD_STATUS_OK && representative.parentPid > 0; + + const read = sort === "cpu" ? rowCpu : rowMemory; + + // Display the members ranked by the active metric (highest first), like the + // main list - not in snapshot/PID order. A PID tie-break keeps equal-value rows + // (e.g. several idle 0.00% members) stable across ticks. The representative is + // still group.members[0] for the header identity; only the displayed list is + // ranked here. + const members = + group.memberCount > 1 + ? group.members + .slice() + .sort((left, right) => { + const delta = (read(right).value ?? 0) - (read(left).value ?? 0); + if (delta !== 0) { + return delta; + } + return (left.identity?.pid ?? 0) - (right.identity?.pid ?? 0); + }) + .map((row) => buildMember(row, sort)) + : []; + + // Only the selected metric's total is shown (the CPU/RAM switch picks which), + // formatted with detail precision. + const total = sumGroupMetric(group.members, read, (value) => formatDetailMetric(value, sort)); + + return { + key: group.key, + name: group.name, + pid: group.pid, + iconPngBase64: group.iconPngBase64, + bundleIdentifier, + executableName, + parent: { available: parentAvailable, pid: parentAvailable ? representative.parentPid : undefined }, + startedAt: started.state, + startedAtUnixMs: started.value, + path: path.state, + pathText: path.text, + commandLine: detailCommandLine(representative), + total, + totalSort: sort, + memberCount: group.memberCount, + members, + }; +} diff --git a/src/renderer/domain/process-list.ts b/src/renderer/domain/process-list.ts new file mode 100644 index 0000000..9be75b5 --- /dev/null +++ b/src/renderer/domain/process-list.ts @@ -0,0 +1,535 @@ +import { FieldStatus, type ProcessRow, type ProcessSnapshot } from "@/gen/process_explorer"; +import { formatBytes, formatCpuPercent } from "@/lib/format"; + +/** + * Pure presentation logic for the process explorer list. + * + * Turns a raw {@link ProcessSnapshot} into ranked, searchable, app-grouped + * display rows. It is intentionally side-effect free and holds no OS/IPC + * knowledge, so it stays easy to reason about and to test (I15). The detail + * model in {@link "@/domain/process-detail"} builds on the {@link ProcessGroup}s + * and shared row readers exported here. + * + * Privacy: command-line arguments are used only as a local in-memory search + * haystack here; they are never emitted into a group's display fields, logged, + * or persisted. + */ + +/** The metrics the list can rank by. */ +export type SortMode = "cpu" | "memory"; + +/** + * A detail-view selection: either an app group (by its key) or one specific + * process (drilled into from a group's member list, or opened from a search + * result that matched a member rather than the whole app group). + */ +export type DetailSelection = + | { kind: "group"; key: string } + | { kind: "process"; pid: number; startedAtUnixMs?: number }; + +/** + * Display state of a group's active-metric value, mirroring the overview's metric + * states: `ok` has a value, `pending` is not computed yet (show `--`), and + * `unavailable` was tried and could not be read (show the unavailable text). + * + * Named distinctly from the overview's {@link "@/domain/metric-view".MetricState} + * (which additionally models elevated/critical usage thresholds); a process + * group value is just available / pending / unavailable. + */ +export type ProcessMetricState = "ok" | "pending" | "unavailable"; + +/** + * One display row in the list. A group collapses an app's processes by owning + * `.app` bundle path or bundle id; processes without app identity stay singleton + * rows so unrelated CLIs with the same executable name are not merged. + */ +export interface ProcessGroup { + /** Stable key for React lists and selection. */ + key: string; + /** + * Display name for the group: the owning `.app` bundle's name for an app, + * else the representative member's name (localized/executable/command/PID). + */ + name: string; + /** Representative PID (the lowest-PID member - the app's main process). */ + pid: number; + /** Base64 PNG app icon when a GUI app supplied one; absent -> fallback icon. */ + iconPngBase64?: string; + /** Number of processes in the group (>= 1). */ + memberCount: number; + /** Extra members beyond the representative, shown as a "+N" badge when > 0. */ + childCount: number; + /** Display state of the active metric (drives ok value vs `--` vs unavailable). */ + metricState: ProcessMetricState; + /** Formatted active-metric value for the row; set only when metricState is ok. */ + metricText?: string; + /** Numeric active-metric magnitude used for ranking (0 when not ok). */ + sortValue: number; + /** + * Detail target for opening this list row. Group rows target the group; + * searched member rows target the matched process so their visible name matches + * the opened detail. + */ + openSelection: DetailSelection; + /** + * The group's member rows, with the representative (the lowest-PID main + * process) first. Carried so the detail view can show identity, command line, + * path, hierarchy, and per-member totals without re-deriving them. Sensitive + * command-line text on these rows stays display/search-only. + */ + members: ProcessRow[]; +} + +/** + * Maximum number of ranked rows shown at once. The window is a compact popover, + * not an Activity Monitor table, and past the top consumers the list is a long + * tail of idle (0%/--) processes; capping keeps it scannable. Any process is + * still reachable by typing in the search field, which filters the full snapshot + * before this cap is applied. + */ +export const DISPLAY_LIMIT = 50; + +/** Result of projecting a snapshot for the current sort/search. */ +export interface ProcessListProjection { + /** The ranked rows to render, capped at {@link DISPLAY_LIMIT}. */ + groups: ProcessGroup[]; +} + +/** Reads a string field only when it is explicitly OK. */ +export function okString(value: { status: FieldStatus; value: string } | undefined): string | undefined { + if (value && value.status === FieldStatus.FIELD_STATUS_OK && value.value.length > 0) { + return value.value; + } + return undefined; +} + +/** + * Best display name for a row: the localized app name, then the executable name, + * then the short command name, falling back to the PID so a row is never blank. + */ +export function rowDisplayName(row: ProcessRow): string { + return ( + okString(row.app?.localizedName) ?? + okString(row.executableName) ?? + okString(row.commandName) ?? + `PID ${row.identity?.pid ?? 0}` + ); +} + +/** + * A single row's active-metric reading. `value` is set only when the metric is + * OK; otherwise `pending` distinguishes "not computed yet" (proto UNKNOWN, e.g. + * a first-sample CPU delta) from "tried and unavailable" so the row can show a + * quiet `--` while pending versus an explicit unavailable state. + */ +export interface MetricCell { + value?: number; + pending: boolean; +} + +/** Whether a field status is the proto default UNKNOWN ("not yet determined"). */ +export function isPending(status: FieldStatus): boolean { + return status === FieldStatus.FIELD_STATUS_UNKNOWN; +} + +/** Per-process CPU percent with pending/unavailable distinction. */ +export function rowCpu(row: ProcessRow): MetricCell { + const cpu = row.cpu; + if (cpu && cpu.status === FieldStatus.FIELD_STATUS_OK && Number.isFinite(cpu.usagePercent)) { + return { value: cpu.usagePercent, pending: false }; + } + return { pending: cpu === undefined || isPending(cpu.status) }; +} + +/** + * Per-process memory in bytes: physical footprint when OK, else the resident + * fallback when OK. Pending only if the primary footprint is still UNKNOWN. + */ +export function rowMemory(row: ProcessRow): MetricCell { + const footprint = row.memory?.physicalFootprintBytes; + if (footprint && footprint.status === FieldStatus.FIELD_STATUS_OK) { + return { value: footprint.value, pending: false }; + } + const resident = row.memory?.residentBytes; + if (resident && resident.status === FieldStatus.FIELD_STATUS_OK) { + return { value: resident.value, pending: false }; + } + return { pending: footprint === undefined || isPending(footprint.status) }; +} + +/** The active-metric reading for a single row under the current sort. */ +export function rowMetric(row: ProcessRow, sort: SortMode): MetricCell { + return sort === "cpu" ? rowCpu(row) : rowMemory(row); +} + +/** + * Maps a {@link MetricCell} to its display state: `ok` when it has a value, + * `pending` while it is still being computed, else `unavailable`. + */ +export function cellState(cell: MetricCell): ProcessMetricState { + return cell.value !== undefined ? "ok" : cell.pending ? "pending" : "unavailable"; +} + +/** + * Group key. Only real app identity groups rows; non-app processes stay as + * PID/start-time singletons so unrelated `node`/`python`/shell processes do not + * get summed into one misleading row. + */ +function rowGroupKey(row: ProcessRow): string { + const bundlePath = okString(row.app?.bundle?.path); + if (bundlePath) { + return `app:${bundlePath}`; + } + const bundleId = okString(row.app?.bundleIdentifier); + if (bundleId) { + return `bundle:${bundleId}`; + } + return rowIdentityKey(row); +} + +/** Stable singleton key for one process row, independent of app grouping. */ +export function rowIdentityKey(row: ProcessRow): string { + const pid = row.identity?.pid ?? 0; + const startedAt = + row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK + ? row.identity.startedAtUnixMs + : "unknown"; + return `pid:${pid}:${startedAt}`; +} + +/** + * Lowercased search haystack for one process member: display name, PID, + * executable path, bundle id, command name, and command-line arguments when + * available. App/group identity lives in {@link groupHaystack} so searching the + * app name returns the app group, not every helper as an individual result. + * Used only for in-memory matching; the sensitive argument text never leaves + * this module. + */ +function rowHaystack(row: ProcessRow): string { + const parts: string[] = [ + rowDisplayName(row), + String(row.identity?.pid ?? 0), + ]; + const path = okString(row.executablePath); + if (path) parts.push(path); + const bundle = okString(row.app?.bundleIdentifier); + if (bundle) parts.push(bundle); + const command = okString(row.commandName); + if (command) parts.push(command); + if (row.commandLine && row.commandLine.status === FieldStatus.FIELD_STATUS_OK) { + parts.push(row.commandLine.arguments.join(" ")); + } + return parts.join(" ").toLowerCase(); +} + +/** + * Lowercased search haystack for the grouped app identity. It intentionally + * excludes member argv so a helper-specific query can open that helper, while an + * app-name/bundle-id query keeps the group and its Members section. + */ +function groupHaystack(group: ProcessGroup): string { + const representative = group.members[0]; + const parts: string[] = [ + group.name, + String(group.pid), + ]; + const bundle = okString(representative.app?.bundleIdentifier); + if (bundle) parts.push(bundle); + const localizedName = okString(representative.app?.localizedName); + if (localizedName) parts.push(localizedName); + const bundleName = okString(representative.app?.bundle?.name); + if (bundleName) parts.push(bundleName); + const bundlePath = okString(representative.app?.bundle?.path); + if (bundlePath) parts.push(bundlePath); + return parts.join(" ").toLowerCase(); +} + +/** + * Accumulator while folding member rows into one group. It tracks only what + * cannot be re-derived from the members afterwards: the summed sort metric and + * the metric-availability flags. Display identity (representative, name, icon, + * counts) is derived from `members` when the group is built. + */ +interface GroupAccumulator { + key: string; + sortValueSum: number; + /** True once any member contributed a real (OK) metric value. */ + hasMetric: boolean; + /** True if any member's metric is pending (UNKNOWN); used when none is OK. */ + anyPending: boolean; + /** All member rows, in snapshot order. */ + members: ProcessRow[]; +} + +/** Formats a group's summed metric for the compact list under the active sort. */ +function formatGroupMetric(sum: number, sort: SortMode): string { + return sort === "cpu" ? formatCpuPercent(sum) : formatBytes(sum); +} + +/** PID of a row, or 0 when the identity is missing. */ +export function rowPid(row: ProcessRow): number { + return row.identity?.pid ?? 0; +} + +/** Snapshot-stable process selection for one row. */ +function rowSelection(row: ProcessRow): DetailSelection { + const startedAtUnixMs = + row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK + ? row.identity.startedAtUnixMs + : undefined; + return { kind: "process", pid: rowPid(row), startedAtUnixMs }; +} + +/** + * The representative member of a group: the lowest-PID row - the app's main + * process, which starts before its helpers. Using this stable identity (rather + * than the busiest member) keeps the detail header from flipping between members + * as live usage shifts. Assumes a non-empty member list. + */ +function representativeOf(members: ProcessRow[]): ProcessRow { + return members.reduce((lowest, row) => (rowPid(row) < rowPid(lowest) ? row : lowest)); +} + +/** + * Builds the display {@link ProcessGroup} from an accumulated group: derives the + * representative and the display name/icon/counts from the members (rather than + * tracking them during the fold). The representative is hoisted to `members[0]` + * so the detail header reads its identity; the icon prefers the representative's, + * falling back to any member that has one (an `.app` group shares one icon). + */ +function buildGroupRow(group: GroupAccumulator, sort: SortMode): ProcessGroup { + const representative = representativeOf(group.members); + const isGroup = group.members.length > 1; + const metricState: ProcessMetricState = group.hasMetric ? "ok" : group.anyPending ? "pending" : "unavailable"; + const icon = + okString(representative.app?.iconPngBase64) ?? + group.members.map((row) => okString(row.app?.iconPngBase64)).find(Boolean); + // A multi-process group shows the owning `.app` name; a single process (incl. a + // drilled-in member) shows its own display name, not its app's. + const appName = isGroup ? okString(representative.app?.bundle?.name) : undefined; + return { + key: group.key, + name: appName ?? rowDisplayName(representative), + pid: rowPid(representative), + iconPngBase64: icon, + memberCount: group.members.length, + childCount: group.members.length - 1, + metricState, + metricText: metricState === "ok" ? formatGroupMetric(group.sortValueSum, sort) : undefined, + sortValue: group.sortValueSum, + openSelection: { kind: "group", key: group.key }, + members: representativeFirst(group.members, representative), + }; +} + +/** + * Folds the snapshot rows into ranked display groups for the given sort and + * (optional) search query. Buckets rows by their native app key (the owning + * `.app` bundle or bundle id), sums each app group's metric, and keeps non-app + * processes as singleton rows. Search keeps app/group matches grouped (so the + * Members section remains available), but returns helper/member-specific matches + * as singleton rows so the visible result name matches the opened process. + * Returns every matched group, ranked by summed metric descending with a stable + * name tiebreak, with no display cap applied - callers cap for the list, while + * the detail lookup needs the full set so a selected group stays findable even + * when it ranks past the list cap. + */ +function buildGroups(rows: ProcessRow[], sort: SortMode, query: string): ProcessGroup[] { + const trimmed = query.trim().toLowerCase(); + const grouped = buildGroupedRows(rows, sort); + if (trimmed.length > 0) { + return buildSearchGroups(grouped, sort, trimmed); + } + + return grouped; +} + +/** Builds the normal app-grouped list rows with no search filter applied. */ +function buildGroupedRows(rows: ProcessRow[], sort: SortMode): ProcessGroup[] { + const groups = new Map(); + + for (const row of rows) { + const key = rowGroupKey(row); + const metric = rowMetric(row, sort); + const existing = groups.get(key); + + if (existing === undefined) { + groups.set(key, { + key, + sortValueSum: metric.value ?? 0, + hasMetric: metric.value !== undefined, + anyPending: metric.pending, + members: [row], + }); + continue; + } + + existing.sortValueSum += metric.value ?? 0; + existing.hasMetric = existing.hasMetric || metric.value !== undefined; + existing.anyPending = existing.anyPending || metric.pending; + existing.members.push(row); + } + + const projected: ProcessGroup[] = Array.from(groups.values()).map((group) => + buildGroupRow(group, sort), + ); + + return sortGroups(projected); +} + +/** + * Builds search results from already-grouped rows. App identity or representative + * matches keep the group; otherwise only the matching member processes are shown. + */ +function buildSearchGroups( + groups: ProcessGroup[], + sort: SortMode, + query: string, +): ProcessGroup[] { + const projected: ProcessGroup[] = []; + + for (const group of groups) { + const representative = group.members[0]; + if (groupHaystack(group).includes(query) || rowHaystack(representative).includes(query)) { + projected.push(group); + continue; + } + + for (const member of group.members) { + if (rowHaystack(member).includes(query)) { + projected.push(singleProcessGroup(member, sort)); + } + } + } + + return sortGroups(projected); +} + +/** Sorts list groups by active metric, with stable cold-start behavior. */ +function sortGroups(projected: ProcessGroup[]): ProcessGroup[] { + // Rank by summed metric descending. The name tiebreak applies only between two + // rows that both have a real value, so on a first-sample cold start (every row + // pending, all sortValue 0) the list keeps the snapshot's insertion order + // instead of snapping to an alphabetical layout that then reshuffles a tick + // later. Array.sort is stable, so equal comparisons preserve that order. + projected.sort((left, right) => { + if (right.sortValue !== left.sortValue) { + return right.sortValue - left.sortValue; + } + if (left.metricState === "ok" && right.metricState === "ok") { + return left.name.localeCompare(right.name); + } + return 0; + }); + + return projected; +} + +/** + * Projects a snapshot into ranked, grouped, searched display rows for the list. + * + * Grouping and ranking live in {@link buildGroups}; this caps the result to + * {@link DISPLAY_LIMIT}. Search has already narrowed the groups to matches, so a + * process beyond the cap is still reachable by typing. + */ +export function projectProcessList( + snapshot: ProcessSnapshot, + sort: SortMode, + query: string, +): ProcessListProjection { + return { + groups: buildGroups(snapshot.processes, sort, query).slice(0, DISPLAY_LIMIT), + }; +} + +/** + * Finds one group by its {@link ProcessGroup.key} for the detail view, grouping + * the full snapshot with no search filter and no display cap. Returns undefined + * when the group is gone (its processes all exited), so the detail can fall back + * to the list. The active sort is passed so the representative and member order + * match the list the user opened from. + */ +export function findGroupByKey( + snapshot: ProcessSnapshot, + sort: SortMode, + key: string, +): ProcessGroup | undefined { + return buildGroups(snapshot.processes, sort, "").find((group) => group.key === key); +} + +/** + * Returns the group's members with `representative` at index 0. The detail reads + * `members[0]` for its header identity (name/PID/path/argv), so the representative + * must be first; the order of the rest does not matter here because the detail + * re-ranks the displayed member list by the active metric in `buildProcessDetail`. + */ +function representativeFirst(members: ProcessRow[], representative: ProcessRow): ProcessRow[] { + const index = members.indexOf(representative); + if (index <= 0) { + return members; + } + const ordered = members.slice(); + ordered.splice(index, 1); + ordered.unshift(representative); + return ordered; +} + +/** + * A single-member {@link ProcessGroup} wrapping one member row, so drilling into + * a member reuses `buildProcessDetail` unchanged: its detail shows just that + * process (its own CPU/memory, no member list). Built through the same + * {@link buildGroupRow} path as list groups; the key is the row's PID/start-time + * singleton identity, distinct from any app-bundle group key. + */ +export function singleProcessGroup(row: ProcessRow, sort: SortMode): ProcessGroup { + const cell = rowMetric(row, sort); + const group = buildGroupRow( + { + key: rowIdentityKey(row), + sortValueSum: cell.value ?? 0, + hasMetric: cell.value !== undefined, + anyPending: cell.pending, + members: [row], + }, + sort, + ); + return { ...group, openSelection: rowSelection(row) }; +} + +/** + * Resolves a {@link DetailSelection} against the current snapshot into the + * {@link ProcessGroup} the detail renders, or undefined when it is gone (the + * group's processes all exited, or the drilled-in process exited / its PID was + * reused). For a process selection: if the selection carried an exact start time, + * only an exact (pid, started_at) match resolves - if the process exited and its + * PID was reused, no match is found and this returns undefined, so the drill-in + * falls back up the stack rather than silently showing an unrelated process. Only + * a selection with no recorded start time falls back to PID alone. + */ +export function resolveSelection( + snapshot: ProcessSnapshot, + sort: SortMode, + selection: DetailSelection, +): ProcessGroup | undefined { + if (selection.kind === "group") { + return findGroupByKey(snapshot, sort, selection.key); + } + + const matches = snapshot.processes.filter((row) => (row.identity?.pid ?? 0) === selection.pid); + if (matches.length === 0) { + return undefined; + } + + if (selection.startedAtUnixMs !== undefined) { + const exact = matches.find( + (row) => + row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK && + row.identity.startedAtUnixMs === selection.startedAtUnixMs, + ); + // No exact (pid, started_at) match: the selected process is gone (its PID may + // have been reused). Return undefined rather than a different process. + return exact ? singleProcessGroup(exact, sort) : undefined; + } + + return singleProcessGroup(matches[0], sort); +} diff --git a/src/renderer/gateway/app-gateway.ts b/src/renderer/gateway/app-gateway.ts index f0ac971..800967f 100644 --- a/src/renderer/gateway/app-gateway.ts +++ b/src/renderer/gateway/app-gateway.ts @@ -1,5 +1,5 @@ -import { ipc } from '@/gen/ipc'; -import { ActiveView } from '@/gen/app'; +import { ipc } from "@/gen/ipc"; +import { ActiveView } from "@/gen/app"; /** * Renderer-side wrapper over the generated app-level IPC client. Keeps diff --git a/src/renderer/gateway/metrics-gateway.ts b/src/renderer/gateway/metrics-gateway.ts index 363609a..c38d71d 100644 --- a/src/renderer/gateway/metrics-gateway.ts +++ b/src/renderer/gateway/metrics-gateway.ts @@ -1,5 +1,5 @@ -import { ipc } from '@/gen/ipc'; -import type { MetricsSnapshot } from '@/gen/metrics'; +import { ipc } from "@/gen/ipc"; +import type { MetricsSnapshot } from "@/gen/metrics"; /** Called for each snapshot the main process pushes. */ export type SnapshotListener = (snapshot: MetricsSnapshot) => void; diff --git a/src/renderer/gateway/process-explorer-gateway.ts b/src/renderer/gateway/process-explorer-gateway.ts index ce698d7..449efeb 100644 --- a/src/renderer/gateway/process-explorer-gateway.ts +++ b/src/renderer/gateway/process-explorer-gateway.ts @@ -1,4 +1,4 @@ -import { ipc } from '@/gen/ipc'; +import { ipc } from "@/gen/ipc"; import { GetProcessActionStatesResponse, ProcessIdentity, @@ -7,7 +7,7 @@ import { ProcessSnapshotRevision, RunProcessActionResponse, SnapshotStatus, -} from '@/gen/process_explorer'; +} from "@/gen/process_explorer"; /** Called for each revision ping the main process publishes. */ export type RevisionListener = (revision: ProcessSnapshotRevision) => void; diff --git a/src/renderer/lib/utils.ts b/src/renderer/lib/utils.ts index d084cca..365058c 100644 --- a/src/renderer/lib/utils.ts +++ b/src/renderer/lib/utils.ts @@ -1,6 +1,6 @@ -import { type ClassValue, clsx } from "clsx" -import { twMerge } from "tailwind-merge" +import { type ClassValue, clsx } from "clsx"; +import { twMerge } from "tailwind-merge"; export function cn(...inputs: ClassValue[]) { - return twMerge(clsx(inputs)) + return twMerge(clsx(inputs)); } diff --git a/src/renderer/main.tsx b/src/renderer/main.tsx index 06c4e6f..b508010 100644 --- a/src/renderer/main.tsx +++ b/src/renderer/main.tsx @@ -5,7 +5,7 @@ import "./index.css"; import App from "./App.tsx"; ReactDOM.createRoot(document.getElementById("root")!).render( - - - , + + + , ); From 66a43d294bf1667862cf56ade532650cf1161126 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sat, 6 Jun 2026 20:55:56 +0300 Subject: [PATCH 075/169] Improve formatting consistency --- eslint.config.mjs | 7 +++ package-lock.json | 35 +++++++++++++++ package.json | 1 + src/main/application-window.ts | 30 ++++++------- src/main/application.ts | 28 ++++++------ src/main/index.ts | 2 +- src/main/metrics/metrics-sampler.ts | 4 +- src/main/metrics/metrics-service.ts | 14 +++--- src/main/processes/process-action-service.ts | 44 +++++++++---------- .../processes/process-explorer-service.ts | 14 +++--- .../processes/process-snapshot-service.ts | 22 +++++----- src/main/tray-controller.ts | 24 +++++----- .../processes/use-process-actions.ts | 27 ++++++------ src/renderer/components/ui/button.tsx | 2 +- src/renderer/domain/process-detail.ts | 18 ++++---- vite.config.ts | 22 +++++----- 16 files changed, 168 insertions(+), 126 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 9d4e427..c3446b4 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,6 +1,7 @@ import tsParser from "@typescript-eslint/parser"; import tsPlugin from "@typescript-eslint/eslint-plugin"; import reactHooks from "eslint-plugin-react-hooks"; +import stylistic from "@stylistic/eslint-plugin"; const browserGlobals = { document: "readonly", @@ -46,6 +47,7 @@ export default [ plugins: { "@typescript-eslint": tsPlugin, "react-hooks": reactHooks, + "@stylistic": stylistic, }, rules: { ...tsPlugin.configs.recommended.rules, @@ -57,6 +59,11 @@ export default [ varsIgnorePattern: "^_", }, ], + "@stylistic/semi": ["error", "always"], + "@stylistic/quotes": ["error", "double", { avoidEscape: true, allowTemplateLiterals: "always" }], + "@stylistic/object-curly-spacing": ["error", "always"], + "@stylistic/comma-dangle": ["error", "always-multiline"], + "@stylistic/quote-props": ["error", "as-needed"], }, }, ]; diff --git a/package-lock.json b/package-lock.json index 6886212..7a3eba6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,6 +25,7 @@ "tailwindcss-animate": "^1.0.7" }, "devDependencies": { + "@stylistic/eslint-plugin": "^5.10.0", "@tailwindcss/postcss": "^4.1.2", "@types/node": "^20.11.5", "@types/react": "^19.1.2", @@ -1483,6 +1484,40 @@ "devOptional": true, "license": "MIT" }, + "node_modules/@stylistic/eslint-plugin": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.10.0.tgz", + "integrity": "sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/types": "^8.56.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "estraverse": "^5.3.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": "^9.0.0 || ^10.0.0" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@tailwindcss/node": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.0.tgz", diff --git a/package.json b/package.json index 64ae8bd..28a0428 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "@mobrowser/sdk-win-x64": "2.8.0" }, "devDependencies": { + "@stylistic/eslint-plugin": "^5.10.0", "@tailwindcss/postcss": "^4.1.2", "@types/node": "^20.11.5", "@types/react": "^19.1.2", diff --git a/src/main/application-window.ts b/src/main/application-window.ts index a8695cf..954d5c0 100644 --- a/src/main/application-window.ts +++ b/src/main/application-window.ts @@ -1,9 +1,9 @@ -import process from 'node:process'; -import { app, BrowserWindow } from '@mobrowser/api'; -import type { CloseBrowserWindowAction, CloseBrowserWindowParams } from '@mobrowser/api'; +import process from "node:process"; +import { app, BrowserWindow } from "@mobrowser/api"; +import type { CloseBrowserWindowAction, CloseBrowserWindowParams } from "@mobrowser/api"; /** The two top-level views; the window picks its height per view. */ -export type WindowView = 'stats' | 'processes'; +export type WindowView = "stats" | "processes"; /** * Compact window dimensions aligned with DESIGN.md. Width is constant; the height @@ -19,7 +19,7 @@ const VIEW_HEIGHT: Record = { }; /** The view the window opens at (and re-shows at after a hide). */ -const INITIAL_VIEW: WindowView = 'stats'; +const INITIAL_VIEW: WindowView = "stats"; /** * Per-view resize animation. macOS has no documented animate flag on setBounds, @@ -160,7 +160,7 @@ export class ApplicationWindow { } private create(): BrowserWindow { - const isMac = process.platform === 'darwin'; + const isMac = process.platform === "darwin"; const initialHeight = this.targetHeight; const window = new BrowserWindow({ url: app.url, @@ -190,20 +190,20 @@ export class ApplicationWindow { // Hide instead of close so the app keeps running in the background. When // the app is quitting, allow the window to close so the process can exit. - window.handle('close', async (params: CloseBrowserWindowParams): Promise => { + window.handle("close", async (params: CloseBrowserWindowParams): Promise => { if (params.isQuitting) { - return 'close'; + return "close"; } - return 'hide'; + return "hide"; }); - window.on('shown', () => { + window.on("shown", () => { this.onVisibilityChange?.(); }); - window.on('hidden', () => { + window.on("hidden", () => { this.onVisibilityChange?.(); }); - window.on('closed', () => { + window.on("closed", () => { this.stopResize(); this.window = null; this.onVisibilityChange?.(); @@ -245,9 +245,9 @@ export class ApplicationWindow { /** Applies a bounded per-view height while preserving the chosen frame origin. */ private setWindowHeight( - window: BrowserWindow, - height: number, - origin = window.bounds.origin, + window: BrowserWindow, + height: number, + origin = window.bounds.origin, ): void { window.setBounds({ origin: { x: origin.x, y: origin.y }, diff --git a/src/main/application.ts b/src/main/application.ts index 0df71cd..ccfb95a 100644 --- a/src/main/application.ts +++ b/src/main/application.ts @@ -1,11 +1,11 @@ -import process from 'node:process'; -import { app, clipboard, ipc } from '@mobrowser/api'; -import { ApplicationWindow } from './application-window'; -import { TrayController } from './tray-controller'; -import { MetricsService } from './metrics/metrics-service'; -import { ProcessExplorerService } from './processes/process-explorer-service'; -import { ActiveView, CopyTextRequest, SetActiveViewRequest, SetAlwaysOnTopRequest } from './gen/app'; -import { AppServiceDescriptor } from './gen/ipc_service'; +import process from "node:process"; +import { app, clipboard, ipc } from "@mobrowser/api"; +import { ApplicationWindow } from "./application-window"; +import { TrayController } from "./tray-controller"; +import { MetricsService } from "./metrics/metrics-service"; +import { ProcessExplorerService } from "./processes/process-explorer-service"; +import { ActiveView, CopyTextRequest, SetActiveViewRequest, SetAlwaysOnTopRequest } from "./gen/app"; +import { AppServiceDescriptor } from "./gen/ipc_service"; /** * Composition root for the MoStats main process. @@ -59,20 +59,20 @@ export class Application { // MoStats is a dark-only compact utility (DESIGN.md): fix the native theme // to dark so the window chrome matches the renderer rather than following // the OS appearance. There is no in-app theme switch. - app.setTheme('dark'); + app.setTheme("dark"); this.registerAppService(); // On macOS, reopen the window when the app is activated (Dock click or // Cmd+Tab) after all windows were hidden or closed. - app.on('activated', () => { + app.on("activated", () => { if (this.quitting) { return; } this.window.show(); }); - app.on('allWindowsClosed', () => { - if (process.platform !== 'darwin') { + app.on("allWindowsClosed", () => { + if (process.platform !== "darwin") { this.quit(); } }); @@ -149,7 +149,7 @@ export class Application { this.activeView = request.view; this.updateServiceActivation(); this.window.resizeForView( - request.view === ActiveView.ACTIVE_VIEW_PROCESSES ? 'processes' : 'stats', + request.view === ActiveView.ACTIVE_VIEW_PROCESSES ? "processes" : "stats", ); return {}; }, @@ -158,7 +158,7 @@ export class Application { // copy of a path or command line is performed here. The text can be a // sensitive command line, so it is written to the user's clipboard on // request and never logged or persisted. - clipboard.write('text/plain', request.text); + clipboard.write("text/plain", request.text); return {}; }, }); diff --git a/src/main/index.ts b/src/main/index.ts index 4895ac9..d4a2549 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -1,4 +1,4 @@ -import { Application } from './application'; +import { Application } from "./application"; // Thin bootstrap: construct the application composition root and start it. new Application().initialize(); diff --git a/src/main/metrics/metrics-sampler.ts b/src/main/metrics/metrics-sampler.ts index b9d0028..2ad1897 100644 --- a/src/main/metrics/metrics-sampler.ts +++ b/src/main/metrics/metrics-sampler.ts @@ -138,7 +138,7 @@ export class MetricsSampler { try { const usage = await native.memory.ReadUsage({}); if (!usage.available || !Number.isFinite(usage.totalBytes) || usage.totalBytes <= 0) { - return { status: "unavailable", usedBytes: 0, totalBytes: 0, availableBytes: 0, cachedBytes: 0, usedPercent: 0}; + return { status: "unavailable", usedBytes: 0, totalBytes: 0, availableBytes: 0, cachedBytes: 0, usedPercent: 0 }; } const totalBytes = usage.totalBytes; @@ -148,7 +148,7 @@ export class MetricsSampler { const usedPercent = clampPercent((usedBytes / totalBytes) * 100); return { status: "ok", usedBytes, totalBytes, availableBytes, cachedBytes, usedPercent }; } catch { - return { status: "unavailable", usedBytes: 0, totalBytes: 0, availableBytes: 0, cachedBytes: 0, usedPercent: 0}; + return { status: "unavailable", usedBytes: 0, totalBytes: 0, availableBytes: 0, cachedBytes: 0, usedPercent: 0 }; } } diff --git a/src/main/metrics/metrics-service.ts b/src/main/metrics/metrics-service.ts index d71bb60..7884f96 100644 --- a/src/main/metrics/metrics-service.ts +++ b/src/main/metrics/metrics-service.ts @@ -1,4 +1,4 @@ -import { ipc } from '@mobrowser/api'; +import { ipc } from "@mobrowser/api"; import { CpuMetric, DiskMetric, @@ -8,9 +8,9 @@ import { NetworkMetric, TemperatureMetric, UptimeMetric, -} from '../gen/metrics'; -import { MetricsServiceDescriptor } from '../gen/ipc_service'; -import { MetricsSampler } from './metrics-sampler'; +} from "../gen/metrics"; +import { MetricsServiceDescriptor } from "../gen/ipc_service"; +import { MetricsSampler } from "./metrics-sampler"; import { CpuReading, DiskReading, @@ -19,7 +19,7 @@ import { ReadingStatus, TemperatureReading, UptimeReading, -} from './metric-types'; +} from "./metric-types"; /** Interval between published snapshots, in milliseconds. */ const PUBLISH_INTERVAL_MS = 1000; @@ -27,9 +27,9 @@ const PUBLISH_INTERVAL_MS = 1000; /** Maps the sampler's internal status onto the generated wire enum. */ function toMetricStatus(status: ReadingStatus): MetricStatus { switch (status) { - case 'ok': + case "ok": return MetricStatus.METRIC_STATUS_OK; - case 'unavailable': + case "unavailable": return MetricStatus.METRIC_STATUS_UNAVAILABLE; default: return MetricStatus.METRIC_STATUS_UNKNOWN; diff --git a/src/main/processes/process-action-service.ts b/src/main/processes/process-action-service.ts index d5d0a33..e22d782 100644 --- a/src/main/processes/process-action-service.ts +++ b/src/main/processes/process-action-service.ts @@ -1,6 +1,6 @@ -import process from 'node:process'; -import { app, desktop } from '@mobrowser/api'; -import type { BrowserWindow } from '@mobrowser/api'; +import process from "node:process"; +import { app, desktop } from "@mobrowser/api"; +import type { BrowserWindow } from "@mobrowser/api"; import { ActionDisabledReason, ActionState, @@ -14,7 +14,7 @@ import { RunProcessActionRequest, RunProcessActionResponse, RunProcessActionResponse_Outcome as Outcome, -} from '../gen/process_explorer'; +} from "../gen/process_explorer"; /** The action kinds the detail view exposes, in display order. */ const ACTION_KINDS: readonly ProcessActionKind[] = [ @@ -37,16 +37,16 @@ const ACTION_KINDS: readonly ProcessActionKind[] = [ * than pre-emptively greyed out. */ const CRITICAL_PROCESS_NAMES: ReadonlySet = new Set([ - 'kernel_task', // the kernel - 'launchd', // PID 1, the init/service manager - 'WindowServer', // the display server; killing it logs the user out - 'loginwindow', // owns the login/user session - 'logind', // session lifecycle - 'SystemUIServer', // the menu bar - 'Dock', // the Dock and Mission Control - 'Finder', // the desktop and file UI - 'coreaudiod', // core audio; killing it breaks all sound - 'WindowManager', // Stage Manager / window management + "kernel_task", // the kernel + "launchd", // PID 1, the init/service manager + "WindowServer", // the display server; killing it logs the user out + "loginwindow", // owns the login/user session + "logind", // session lifecycle + "SystemUIServer", // the menu bar + "Dock", // the Dock and Mission Control + "Finder", // the desktop and file UI + "coreaudiod", // core audio; killing it breaks all sound + "WindowManager", // Stage Manager / window management ]); /** Reads a string field only when it is explicitly OK and non-empty. */ @@ -311,16 +311,16 @@ export class ProcessActionService { /** Sends SIGTERM (Quit) or SIGKILL (Force Quit) to a resolved row's PID. */ private signal(action: ProcessActionKind, row: ProcessRow): RunProcessActionResponse { const pid = row.identity?.pid ?? 0; - const signal = action === ProcessActionKind.PROCESS_ACTION_KIND_FORCE_QUIT ? 'SIGKILL' : 'SIGTERM'; + const signal = action === ProcessActionKind.PROCESS_ACTION_KIND_FORCE_QUIT ? "SIGKILL" : "SIGTERM"; try { process.kill(pid, signal); return { outcome: Outcome.OUTCOME_SUCCEEDED, affectedCount: 1 }; } catch (error) { const code = (error as NodeJS.ErrnoException | undefined)?.code; switch (code) { - case 'ESRCH': + case "ESRCH": return { outcome: Outcome.OUTCOME_STALE_TARGET, affectedCount: 0 }; - case 'EPERM': + case "EPERM": return { outcome: Outcome.OUTCOME_NOT_PERMITTED, affectedCount: 0 }; default: return { outcome: Outcome.OUTCOME_FAILED, affectedCount: 0 }; @@ -341,14 +341,14 @@ export class ProcessActionService { const result = await app.showMessageDialog({ parentWindow: this.getParentWindow() ?? undefined, message: `Force Quit ${name}?`, - informativeText: 'The process will be killed immediately (SIGKILL).', - type: 'warning', + informativeText: "The process will be killed immediately (SIGKILL).", + type: "warning", buttons: [ - { label: 'Cancel', type: 'secondary' }, - { label: 'Force Quit', type: 'primary' }, + { label: "Cancel", type: "secondary" }, + { label: "Force Quit", type: "primary" }, ], }); - return result.button.type === 'primary'; + return result.button.type === "primary"; } /** diff --git a/src/main/processes/process-explorer-service.ts b/src/main/processes/process-explorer-service.ts index eb739cc..ff7b45a 100644 --- a/src/main/processes/process-explorer-service.ts +++ b/src/main/processes/process-explorer-service.ts @@ -1,18 +1,18 @@ -import { ipc } from '@mobrowser/api'; -import type { BrowserWindow } from '@mobrowser/api'; +import { ipc } from "@mobrowser/api"; +import type { BrowserWindow } from "@mobrowser/api"; import { GetProcessActionStatesRequest, GetProcessActionStatesResponse, ProcessSnapshot, RunProcessActionRequest, RunProcessActionResponse, -} from '../gen/process_explorer'; +} from "../gen/process_explorer"; import { ProcessExplorerService as ProcessExplorerServiceImpl, ProcessExplorerServiceDescriptor, -} from '../gen/ipc_service'; -import { ProcessActionService } from './process-action-service'; -import { ProcessSnapshotService } from './process-snapshot-service'; +} from "../gen/ipc_service"; +import { ProcessActionService } from "./process-action-service"; +import { ProcessSnapshotService } from "./process-snapshot-service"; /** * Owns the renderer-facing process explorer service. @@ -49,7 +49,7 @@ export class ProcessExplorerService { */ private readonly unaryHandlers: Pick< ProcessExplorerServiceImpl, - 'GetProcessSnapshot' | 'GetProcessActionStates' | 'RunProcessAction' + "GetProcessSnapshot" | "GetProcessActionStates" | "RunProcessAction" > = { GetProcessSnapshot: () => this.getProcessSnapshot(), GetProcessActionStates: (request) => this.getProcessActionStates(request), diff --git a/src/main/processes/process-snapshot-service.ts b/src/main/processes/process-snapshot-service.ts index 870cb22..ec2aac2 100644 --- a/src/main/processes/process-snapshot-service.ts +++ b/src/main/processes/process-snapshot-service.ts @@ -1,6 +1,6 @@ -import * as os from 'node:os'; -import { ipc } from '@mobrowser/api'; -import { native } from '../gen/native'; +import * as os from "node:os"; +import { ipc } from "@mobrowser/api"; +import { native } from "../gen/native"; import { NativeAppBundle, NativeAppMetadata, @@ -11,7 +11,7 @@ import { NativeProcessMemory, NativeProcessRecord, NativeString, -} from '../gen/native/process_collector'; +} from "../gen/native/process_collector"; import { AppBundle, AppMetadata, @@ -27,8 +27,8 @@ import { SnapshotWarning_Code, StringValue, UInt64Value, -} from '../gen/process_explorer'; -import { ProcessExplorerServiceDescriptor } from '../gen/ipc_service'; +} from "../gen/process_explorer"; +import { ProcessExplorerServiceDescriptor } from "../gen/ipc_service"; /** * Interval between process collections, in milliseconds. Slower than the 1s @@ -88,7 +88,7 @@ function toFieldStatus(status: NativeFieldStatus): FieldStatus { /** Maps a native string field, preserving availability and value. */ function toStringValue(value: NativeString | undefined): StringValue { if (value === undefined) { - return { status: FieldStatus.FIELD_STATUS_UNAVAILABLE, value: '' }; + return { status: FieldStatus.FIELD_STATUS_UNAVAILABLE, value: "" }; } return { status: toFieldStatus(value.status), value: value.value }; } @@ -100,12 +100,12 @@ function toStringValue(value: NativeString | undefined): StringValue { */ function toIconValue(icon: NativeImage | undefined): StringValue { if (icon === undefined) { - return { status: FieldStatus.FIELD_STATUS_UNAVAILABLE, value: '' }; + return { status: FieldStatus.FIELD_STATUS_UNAVAILABLE, value: "" }; } const status = toFieldStatus(icon.status); return { status, - value: status === FieldStatus.FIELD_STATUS_OK ? icon.pngBase64 : '', + value: status === FieldStatus.FIELD_STATUS_OK ? icon.pngBase64 : "", }; } @@ -133,7 +133,7 @@ function toAppBundle(bundle: NativeAppBundle | undefined): AppBundle | undefined */ function toAppMetadata(app: NativeAppMetadata | undefined): AppMetadata { if (app === undefined) { - const unknown = { status: FieldStatus.FIELD_STATUS_UNKNOWN, value: '' }; + const unknown = { status: FieldStatus.FIELD_STATUS_UNKNOWN, value: "" }; return { bundleIdentifier: { ...unknown }, localizedName: { ...unknown }, @@ -196,7 +196,7 @@ function recordKey(record: NativeProcessRecord): ProcessKey | null { const startedAt = identity.startedAtStatus === NativeFieldStatus.NATIVE_FIELD_STATUS_AVAILABLE ? identity.startedAtUnixMs - : 'unknown'; + : "unknown"; return `${identity.pid}:${startedAt}`; } diff --git a/src/main/tray-controller.ts b/src/main/tray-controller.ts index f6914ff..01ebfc1 100644 --- a/src/main/tray-controller.ts +++ b/src/main/tray-controller.ts @@ -1,6 +1,6 @@ -import { app, Menu, MenuItem, Tray } from '@mobrowser/api'; -import type { MouseButton } from '@mobrowser/api'; -import type { ApplicationWindow } from './application-window'; +import { app, Menu, MenuItem, Tray } from "@mobrowser/api"; +import type { MouseButton } from "@mobrowser/api"; +import type { ApplicationWindow } from "./application-window"; /** * Owns the macOS menu-bar tray item and its menu. @@ -26,16 +26,16 @@ export class TrayController { private readonly onQuit: () => void, ) { this.toggleWindowItem = new MenuItem({ - id: 'toggleWindow', + id: "toggleWindow", label: this.getToggleLabel(), action: () => { this.window.toggle(); }, }); this.quitItem = new MenuItem({ - id: 'quit', - label: 'Quit MoStats', - shortcut: 'CommandOrControl+Q', + id: "quit", + label: "Quit MoStats", + shortcut: "CommandOrControl+Q", action: () => { this.onQuit(); }, @@ -43,12 +43,12 @@ export class TrayController { this.tray = new Tray({ tooltip: app.name, - imagePath: `${app.getPath('appResources')}/imageTemplate.png`, + imagePath: `${app.getPath("appResources")}/imageTemplate.png`, menu: this.buildMenu(), }); - this.tray.on('mouseUp', (button: MouseButton) => { - if (button === 'secondary') { + this.tray.on("mouseUp", (button: MouseButton) => { + if (button === "secondary") { this.tray.openMenu(); return; } @@ -83,13 +83,13 @@ export class TrayController { return new Menu({ items: [ this.toggleWindowItem, - 'separator', + "separator", this.quitItem, ], }); } private getToggleLabel(): string { - return this.window.isVisible ? 'Hide MoStats' : 'Show MoStats'; + return this.window.isVisible ? "Hide MoStats" : "Show MoStats"; } } diff --git a/src/renderer/components/processes/use-process-actions.ts b/src/renderer/components/processes/use-process-actions.ts index 0a6790f..b9c0252 100644 --- a/src/renderer/components/processes/use-process-actions.ts +++ b/src/renderer/components/processes/use-process-actions.ts @@ -42,20 +42,19 @@ export function useProcessActions( ): ProcessActionsState { const targetPid = detail?.pid; const targetStartedAt = detail?.startedAt === "ok" ? detail.startedAtUnixMs : undefined; - const target = useMemo( - () => - targetPid === undefined - ? undefined - : { - pid: targetPid, - startedAtStatus: - targetStartedAt === undefined - ? FieldStatus.FIELD_STATUS_UNKNOWN - : FieldStatus.FIELD_STATUS_OK, - startedAtUnixMs: targetStartedAt ?? 0, - }, - [targetPid, targetStartedAt], - ); + const target = useMemo(() => { + if (targetPid === undefined) { + return undefined; + } + return { + pid: targetPid, + startedAtStatus: + targetStartedAt === undefined + ? FieldStatus.FIELD_STATUS_UNKNOWN + : FieldStatus.FIELD_STATUS_OK, + startedAtUnixMs: targetStartedAt ?? 0, + }; + }, [targetPid, targetStartedAt]); const targetKey = target ? `${target.pid}:${target.startedAtStatus}:${target.startedAtUnixMs}` : ""; const targetKeyRef = useRef(targetKey); targetKeyRef.current = targetKey; diff --git a/src/renderer/components/ui/button.tsx b/src/renderer/components/ui/button.tsx index 8d6bafc..ea27965 100644 --- a/src/renderer/components/ui/button.tsx +++ b/src/renderer/components/ui/button.tsx @@ -35,7 +35,7 @@ const buttonVariants = cva( export interface ButtonProps extends React.ButtonHTMLAttributes, - VariantProps { + VariantProps { asChild?: boolean; } diff --git a/src/renderer/domain/process-detail.ts b/src/renderer/domain/process-detail.ts index 78762f2..00a39be 100644 --- a/src/renderer/domain/process-detail.ts +++ b/src/renderer/domain/process-detail.ts @@ -248,15 +248,15 @@ export function buildProcessDetail(group: ProcessGroup, sort: SortMode): Process const members = group.memberCount > 1 ? group.members - .slice() - .sort((left, right) => { - const delta = (read(right).value ?? 0) - (read(left).value ?? 0); - if (delta !== 0) { - return delta; - } - return (left.identity?.pid ?? 0) - (right.identity?.pid ?? 0); - }) - .map((row) => buildMember(row, sort)) + .slice() + .sort((left, right) => { + const delta = (read(right).value ?? 0) - (read(left).value ?? 0); + if (delta !== 0) { + return delta; + } + return (left.identity?.pid ?? 0) - (right.identity?.pid ?? 0); + }) + .map((row) => buildMember(row, sort)) : []; // Only the selected metric's total is shown (the CPU/RAM switch picks which), diff --git a/vite.config.ts b/vite.config.ts index 8c17de1..def8ca0 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,16 +1,16 @@ -import path from "path" -import react from "@vitejs/plugin-react" -import { defineConfig, type UserConfig } from "vite" +import path from "path"; +import react from "@vitejs/plugin-react"; +import { defineConfig, type UserConfig } from "vite"; export default defineConfig(({ mode }) => { if (mode === "main") { - return defineMainConfig() + return defineMainConfig(); } if (mode === "renderer") { - return defineRendererConfig() + return defineRendererConfig(); } - throw new Error(`Unsupported Vite config mode: ${mode}`) -}) + throw new Error(`Unsupported Vite config mode: ${mode}`); +}); function defineMainConfig(): UserConfig { return { @@ -41,10 +41,10 @@ function defineMainConfig(): UserConfig { server: { forwardConsole: { unhandledErrors: true, - logLevels: ['warn', 'error'], + logLevels: ["warn", "error"], }, }, - } + }; } @@ -65,8 +65,8 @@ function defineRendererConfig(): UserConfig { server: { forwardConsole: { unhandledErrors: true, - logLevels: ['warn', 'error'], + logLevels: ["warn", "error"], }, }, - } + }; } From 63e005b7d644f23ee2f214319b13b4f895ece41d Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sat, 6 Jun 2026 21:05:46 +0300 Subject: [PATCH 076/169] Improve structure and organization --- src/renderer/App.tsx | 2 +- src/renderer/components/{ => metrics}/metric-row.tsx | 0 src/renderer/components/{ => metrics}/metrics-overview.tsx | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename src/renderer/components/{ => metrics}/metric-row.tsx (100%) rename src/renderer/components/{ => metrics}/metrics-overview.tsx (98%) diff --git a/src/renderer/App.tsx b/src/renderer/App.tsx index 7a6a3fc..80fa452 100644 --- a/src/renderer/App.tsx +++ b/src/renderer/App.tsx @@ -1,7 +1,7 @@ import { type ReactNode, useEffect, useState } from "react"; import { Pin } from "lucide-react"; -import { MetricsOverview } from "@/components/metrics-overview"; +import { MetricsOverview } from "@/components/metrics/metrics-overview"; import { Button } from "@/components/ui/button"; import { appGateway } from "@/gateway/app-gateway"; import { ActiveView } from "@/gen/app"; diff --git a/src/renderer/components/metric-row.tsx b/src/renderer/components/metrics/metric-row.tsx similarity index 100% rename from src/renderer/components/metric-row.tsx rename to src/renderer/components/metrics/metric-row.tsx diff --git a/src/renderer/components/metrics-overview.tsx b/src/renderer/components/metrics/metrics-overview.tsx similarity index 98% rename from src/renderer/components/metrics-overview.tsx rename to src/renderer/components/metrics/metrics-overview.tsx index 476434d..2358fe0 100644 --- a/src/renderer/components/metrics-overview.tsx +++ b/src/renderer/components/metrics/metrics-overview.tsx @@ -2,7 +2,7 @@ import { useEffect, useState } from "react"; import type { LucideIcon } from "lucide-react"; import { Clock, Cpu, HardDrive, MemoryStick, Network, Thermometer } from "lucide-react"; -import { MetricRow } from "@/components/metric-row"; +import { MetricRow } from "@/components/metrics/metric-row"; import { metricsGateway } from "@/gateway/metrics-gateway"; import type { MetricsSnapshot } from "@/gen/metrics"; import { baseState, isLive, usageState } from "@/domain/metric-view"; From 1c42f131db05d34795884399a9c16b58cd4113fa Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sat, 6 Jun 2026 22:58:03 +0300 Subject: [PATCH 077/169] Remove back to list button and related props --- .../components/processes/process-detail.tsx | 17 +++-------------- .../processes/process-explorer-view.tsx | 2 -- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/src/renderer/components/processes/process-detail.tsx b/src/renderer/components/processes/process-detail.tsx index 258c6d4..096ba71 100644 --- a/src/renderer/components/processes/process-detail.tsx +++ b/src/renderer/components/processes/process-detail.tsx @@ -1,4 +1,4 @@ -import { ChevronLeft, ChevronRight, List as ListIcon } from "lucide-react"; +import { ChevronLeft, ChevronRight } from "lucide-react"; import { useState, type ReactNode } from "react"; import { cn } from "@/lib/utils"; @@ -32,8 +32,8 @@ const TOTAL_LABEL: Record = { * parent PID, the group's CPU and memory totals so the user does not add member * usage by hand, and - for a multi-process app - an expandable Members section * whose rows drill into each member's own detail. `onBack` pops one navigation - * level (member -> group -> list), `onBackToList` returns directly to the process - * list, and `onOpenMember` drills into a member. It is presentation-only: every + * level (member -> group -> list) and `onOpenMember` drills into a member. It is + * presentation-only: every * field comes from the pure {@link ProcessDetail} model with explicit * availability, so unavailable/pending states render honestly instead of as * blanks or faked values. Command-line text is shown/copied only on user action @@ -52,7 +52,6 @@ export function ProcessDetailView({ actionMessage, onSortChange, onBack, - onBackToList, onOpenMember, onRunAction, }: { @@ -63,7 +62,6 @@ export function ProcessDetailView({ actionMessage?: string onSortChange: (sort: SortMode) => void onBack: () => void - onBackToList: () => void onOpenMember: (pid: number, startedAtUnixMs?: number) => void onRunAction: (kind: ProcessActionKind) => void }) { @@ -76,15 +74,6 @@ export function ProcessDetailView({ return (
- - {hasContent ? : null} -
- - {hasContent ? ( - -
-

- {value} -

-
-
- ) : null} -
- ); -} - /** * Smooth height/opacity wrapper for compact disclosure bodies. It keeps content * mounted so close animations can run, while `inert` prevents hidden controls diff --git a/src/renderer/components/processes/process-detail.tsx b/src/renderer/components/processes/process-detail.tsx index 096ba71..0f1cc37 100644 --- a/src/renderer/components/processes/process-detail.tsx +++ b/src/renderer/components/processes/process-detail.tsx @@ -4,13 +4,13 @@ import { useState, type ReactNode } from "react"; import { cn } from "@/lib/utils"; import { UNAVAILABLE_TEXT, formatStartTime } from "@/lib/format"; import type { ActionState, ProcessActionKind } from "@/gen/process_explorer"; -import { CommandLineBlock } from "@/components/processes/command-line-block"; -import { DisclosureContent, TextDisclosure } from "@/components/processes/disclosure"; +import { CopyButton, DisclosureContent } from "@/components/processes/disclosure"; import { ProcessActions } from "@/components/processes/process-actions"; import { ProcessIcon } from "@/components/processes/process-icon"; import { ProcessSortControl } from "@/components/processes/process-sort-control"; import type { SortMode } from "@/domain/process-list"; import type { + DetailCommandLine, DetailMember, DetailMetric, DetailState, @@ -103,7 +103,7 @@ export function ProcessDetailView({ -
+
-
- + + + - + + + +
{grouped ? ( -
-
- {label} -
- {action} -
+
+ {label} +
{children}
); @@ -221,6 +220,69 @@ function StateText({ state, text }: { state: DetailState; text?: string }) { ); } +/** + * A long single-line value (executable path, command line) shown inline beneath + * its label. Long values do not wrap - the mono text scrolls horizontally in a + * hidden-scrollbar lane (the same affordance the header name uses) so a deep path + * or a multi-flag command line stays on one readable line instead of breaking + * mid-word. A copy button sits at the end when a real value exists; pending and + * unavailable states render the muted placeholder with no copy affordance. + * + * Sensitive process text (paths, argv) is copied only on explicit user action and + * is never logged or persisted; copy routes through main (the renderer is + * sandboxed). + */ +function ScrollableValue({ + state, + text, + copyLabel, + emptyText = UNAVAILABLE_TEXT, + pendingText = "--", +}: { + state: DetailState + text?: string + copyLabel: string + emptyText?: string + pendingText?: string +}) { + const hasContent = text !== undefined && text.length > 0; + + if (!hasContent) { + const placeholder = + text !== undefined ? emptyText : state === "pending" ? pendingText : UNAVAILABLE_TEXT; + return {placeholder}; + } + + return ( +
+
+ + {text} + +
+ +
+ ); +} + +/** + * The command-line field: a thin specialization of {@link ScrollableValue} with + * command-line-specific placeholders (an OK-but-empty argv reads "No arguments", + * a not-yet-collected one reads "..."). Command-line text is shown and copied only + * on explicit user action and is never logged or persisted. + */ +function CommandLineValue({ commandLine }: { commandLine: DetailCommandLine }) { + return ( + + ); +} + /** * The expandable Members section for a multi-process app. The disclosure header * row carries the group's selected-metric total on the right (OneMenu-style), so From fdc75f4dcd1176c3edf9def4f55bdbc92542f40d Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sun, 7 Jun 2026 17:01:01 +0300 Subject: [PATCH 083/169] Add ScrollFade component for enhanced horizontal scrolling experience --- .../components/processes/process-detail.tsx | 13 ++-- .../components/processes/scroll-fade.tsx | 65 +++++++++++++++++++ src/renderer/index.css | 29 +++++++++ 3 files changed, 101 insertions(+), 6 deletions(-) create mode 100644 src/renderer/components/processes/scroll-fade.tsx diff --git a/src/renderer/components/processes/process-detail.tsx b/src/renderer/components/processes/process-detail.tsx index 0f1cc37..3e21586 100644 --- a/src/renderer/components/processes/process-detail.tsx +++ b/src/renderer/components/processes/process-detail.tsx @@ -6,6 +6,7 @@ import { UNAVAILABLE_TEXT, formatStartTime } from "@/lib/format"; import type { ActionState, ProcessActionKind } from "@/gen/process_explorer"; import { CopyButton, DisclosureContent } from "@/components/processes/disclosure"; import { ProcessActions } from "@/components/processes/process-actions"; +import { ScrollFade } from "@/components/processes/scroll-fade"; import { ProcessIcon } from "@/components/processes/process-icon"; import { ProcessSortControl } from "@/components/processes/process-sort-control"; import type { SortMode } from "@/domain/process-list"; @@ -90,16 +91,16 @@ export function ProcessDetailView({
-
+

{detail.name}

-
-
+ +

{metadata}

-
+
@@ -255,11 +256,11 @@ function ScrollableValue({ return (
-
+ {text} -
+
); diff --git a/src/renderer/components/processes/scroll-fade.tsx b/src/renderer/components/processes/scroll-fade.tsx new file mode 100644 index 0000000..18c5969 --- /dev/null +++ b/src/renderer/components/processes/scroll-fade.tsx @@ -0,0 +1,65 @@ +import { useCallback, useEffect, useRef, useState, type ReactNode } from "react"; + +import { cn } from "@/lib/utils"; + +/** + * A horizontally scrollable lane that fades the edge(s) with hidden content, so a + * value that runs past the compact window width reads as scrollable rather than + * simply clipped. Used by the detail header (name / metadata) and the inline + * Path / Command line values. + * + * The scrollbar stays hidden (wheel/trackpad still scroll) to match the compact + * panel's other scroll regions. + */ +export function ScrollFade({ + children, + className, + title, +}: { + children: ReactNode + className?: string + /** Native tooltip for the full value, since the visible text may be clipped. */ + title?: string +}) { + const ref = useRef(null); + const [fadeStart, setFadeStart] = useState(false); + const [fadeEnd, setFadeEnd] = useState(false); + + const measure = useCallback(() => { + const element = ref.current; + if (!element) return; + // A 1px slack absorbs sub-pixel rounding so a fully-scrolled or non-overflowing + // lane does not flicker a hairline fade. + const maxScroll = element.scrollWidth - element.clientWidth; + setFadeStart(element.scrollLeft > 1); + setFadeEnd(element.scrollLeft < maxScroll - 1); + }, []); + + useEffect(() => { + const element = ref.current; + if (!element) return undefined; + + measure(); + const observer = new ResizeObserver(measure); + observer.observe(element); + // Observe the content too: its width drives overflow when the lane width is fixed. + if (element.firstElementChild) { + observer.observe(element.firstElementChild); + } + return () => observer.disconnect(); + }, [measure]); + + const fade = fadeStart && fadeEnd ? "both" : fadeStart ? "start" : fadeEnd ? "end" : undefined; + + return ( +
+ {children} +
+ ); +} diff --git a/src/renderer/index.css b/src/renderer/index.css index 354f28b..6bc2c1c 100644 --- a/src/renderer/index.css +++ b/src/renderer/index.css @@ -170,6 +170,35 @@ .scrollbar-hidden::-webkit-scrollbar { display: none; } + + /* + * Edge fade for a horizontally scrollable lane. + */ + .scroll-fade { + --scroll-fade-size: 1.5rem; + } + + .scroll-fade[data-fade="end"] { + mask-image: linear-gradient( + to right, + black calc(100% - var(--scroll-fade-size)), + transparent + ); + } + + .scroll-fade[data-fade="start"] { + mask-image: linear-gradient(to right, transparent, black var(--scroll-fade-size)); + } + + .scroll-fade[data-fade="both"] { + mask-image: linear-gradient( + to right, + transparent, + black var(--scroll-fade-size), + black calc(100% - var(--scroll-fade-size)), + transparent + ); + } } @layer base { From dec68f8c9f797ec239f4ddc23203c653d9a283a8 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sun, 7 Jun 2026 17:34:54 +0300 Subject: [PATCH 084/169] Enhance destructive button styling --- src/renderer/components/processes/process-actions.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/components/processes/process-actions.tsx b/src/renderer/components/processes/process-actions.tsx index 16a7cea..b863af3 100644 --- a/src/renderer/components/processes/process-actions.tsx +++ b/src/renderer/components/processes/process-actions.tsx @@ -100,7 +100,7 @@ function ActionButton({ className={cn( "no-drag flex h-8 items-center gap-1.5 rounded-lg border px-3 text-[12px] font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-40", destructive - ? "border-destructive/40 text-destructive hover:bg-destructive/10" + ? "border-destructive/40 text-destructive/80 hover:bg-destructive/10" : "border-border text-foreground hover:bg-muted/60", )} > From 0a80ed971789ee0d1902226c19dd0e647ccafee0 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sun, 7 Jun 2026 19:01:31 +0300 Subject: [PATCH 085/169] Add CPU time formatting and user/thread count details to process metrics --- .../processes/process-snapshot-service.ts | 58 ++++++++++ src/native/processes/process_collector.cc | 41 +++++++ src/native/processes/process_collector.h | 11 +- src/native/proto/process_collector.proto | 22 +++- .../components/processes/process-detail.tsx | 107 +++++++++++++++++- src/renderer/domain/process-detail.ts | 100 +++++++++++++++- src/renderer/lib/format.ts | 41 +++++++ src/renderer/proto/process_explorer.proto | 27 +++++ 8 files changed, 398 insertions(+), 9 deletions(-) diff --git a/src/main/processes/process-snapshot-service.ts b/src/main/processes/process-snapshot-service.ts index eef1fbb..1586e47 100644 --- a/src/main/processes/process-snapshot-service.ts +++ b/src/main/processes/process-snapshot-service.ts @@ -7,21 +7,25 @@ import { NativeCommandLine, NativeFieldStatus, NativeImage, + NativeInt64, NativeProcessCpu, NativeProcessMemory, NativeProcessRecord, + NativeProcessUser, NativeString, } from "../gen/native/process_collector"; import { AppBundle, AppMetadata, CommandLine, + CpuTime, CpuUsage, FieldStatus, ProcessMemory, ProcessRow, ProcessSnapshot, ProcessSnapshotRevision, + ProcessUser, SnapshotStatus, SnapshotWarning, SnapshotWarning_Code, @@ -170,6 +174,57 @@ function toProcessMemory(memory: NativeProcessMemory | undefined): ProcessMemory }; } +/** + * Maps the thread count (a native int64 with availability) onto the renderer's + * UInt64Value. A negative native value (should not happen) clamps to zero. + */ +function toThreadCount(threadCount: NativeInt64 | undefined): UInt64Value { + if (threadCount === undefined) { + return { status: FieldStatus.FIELD_STATUS_UNAVAILABLE, value: 0 }; + } + const status = toFieldStatus(threadCount.status); + return { + status, + value: status === FieldStatus.FIELD_STATUS_OK ? Math.max(0, threadCount.value) : 0, + }; +} + +/** + * Maps the cumulative CPU-time counter into the renderer's CpuTime display value. + * This is the same native counter {@link deriveCpu} diffs for the percent, but + * surfaced directly: it is shown as soon as it is read (no first-sample UNKNOWN), + * since a cumulative total needs no delta. A negative value clamps to zero. + */ +function toCpuTime(cpu: NativeProcessCpu | undefined): CpuTime { + const counter = cpu?.cumulativeCpuTimeNs; + if (counter === undefined) { + return { status: FieldStatus.FIELD_STATUS_UNAVAILABLE, nanos: 0 }; + } + const status = toFieldStatus(counter.status); + return { + status, + nanos: status === FieldStatus.FIELD_STATUS_OK ? Math.max(0, counter.value) : 0, + }; +} + +/** + * Maps the owning user (uid + resolved name). uid and name share one + * availability; an unmapped uid stays OK with the numeric value and an empty + * name. The name is non-sensitive identity data (it is a login name, not argv), + * so it is forwarded for display. + */ +function toProcessUser(user: NativeProcessUser | undefined): ProcessUser { + if (user === undefined) { + return { status: FieldStatus.FIELD_STATUS_UNAVAILABLE, uid: 0, name: "" }; + } + const status = toFieldStatus(user.status); + return { + status, + uid: status === FieldStatus.FIELD_STATUS_OK ? user.uid : 0, + name: status === FieldStatus.FIELD_STATUS_OK ? user.name : "", + }; +} + /** * Maps the sensitive command-line group. Arguments are forwarded verbatim for * local display/search only; they are never logged or persisted here. Arguments @@ -461,6 +516,9 @@ export class ProcessSnapshotService { commandLine, memory: toProcessMemory(record.memory), cpu, + threadCount: toThreadCount(record.threadCount), + cpuTime: toCpuTime(record.cpu), + user: toProcessUser(record.user), }; } diff --git a/src/native/processes/process_collector.cc b/src/native/processes/process_collector.cc index a8ca4e8..0d7a04e 100644 --- a/src/native/processes/process_collector.cc +++ b/src/native/processes/process_collector.cc @@ -2,6 +2,7 @@ #include #include +#include #include #include #include @@ -353,6 +354,44 @@ void FillCpu(const proc_taskallinfo& task, bool task_ok, SaturatingInt64(MachTicksToNanos(ticks))); } +// Fills the thread count from task info (pti_threadnum). Available only when the +// PROC_PIDTASKALLINFO read succeeded; otherwise it carries that read's status. +void FillThreadCount(const proc_taskallinfo& task, bool task_ok, + NativeFieldStatus task_status, NativeInt64* out) { + if (!task_ok) { + out->set_status(task_status); + return; + } + SetAvailableInt64(out, std::max(0, task.ptinfo.pti_threadnum)); +} + +// Fills the owning user: the uid from BSD info (pbi_uid) plus its login name +// resolved with getpwuid_r. Available only when task info was read; an unmapped +// uid (no passwd entry) stays AVAILABLE with the numeric uid and an empty name, +// because the uid itself is still a real value. getpwuid_r is used (not +// getpwuid) so the per-pass loop stays thread-safe and does not return a pointer +// into shared static storage. +void FillUser(const proc_taskallinfo& task, bool task_ok, + NativeFieldStatus task_status, NativeProcessUser* out) { + if (!task_ok) { + out->set_status(task_status); + return; + } + const uid_t uid = task.pbsd.pbi_uid; + out->set_status(NATIVE_FIELD_STATUS_AVAILABLE); + out->set_uid(static_cast(uid)); + + // Resolve the login name. A miss (no entry / error) is not a failure: the uid + // is still valid, so the name is simply left empty. + struct passwd pwd = {}; + struct passwd* result = nullptr; + char buffer[1024] = {}; + if (getpwuid_r(uid, &pwd, buffer, sizeof(buffer), &result) == 0 && + result != nullptr && result->pw_name != nullptr) { + out->set_name(result->pw_name); + } +} + // Builds one process record from all sources. Each field carries its own // availability so a single denied/exited read degrades that field, not the row. // app_metadata holds GUI-app metadata keyed by PID (from NSWorkspace); a record @@ -383,6 +422,8 @@ void FillRecord( FillCommandLine(pid, arg_max, args_buffer, record->mutable_command_line()); FillMemory(pid, task, task_ok, task_status, record->mutable_memory()); FillCpu(task, task_ok, task_status, record->mutable_cpu()); + FillThreadCount(task, task_ok, task_status, record->mutable_thread_count()); + FillUser(task, task_ok, task_status, record->mutable_user()); // GUI app metadata enrichment (NSWorkspace): copy the entry for this PID when // one exists. NSWorkspace remains the source of exact bundle id, localized app diff --git a/src/native/processes/process_collector.h b/src/native/processes/process_collector.h index d4619c2..249d79a 100644 --- a/src/native/processes/process_collector.h +++ b/src/native/processes/process_collector.h @@ -9,11 +9,12 @@ namespace mostats { * Collects the current macOS process list into the generated response. * * Inspection-only and read-only: it enumerates PIDs and reads per-process - * identity, command name, executable path, command-line arguments, memory, and - * cumulative CPU time, attaching an explicit availability to each field. It - * never sends signals or performs actions (process actions are main-owned and - * land in a later iteration), and it computes no rates - the cumulative CPU - * counter is diffed across snapshots in main. + * identity, command name, executable path, command-line arguments, memory, + * cumulative CPU time, thread count, and owning user, attaching an explicit + * availability to each field. It never sends signals or performs actions + * (process actions are main-owned and land in a later iteration), and it + * computes no rates - the cumulative CPU counter is diffed across snapshots in + * main. * * Sources: libproc (proc_listallpids, PROC_PIDTASKALLINFO, proc_name, * proc_pidpath), sysctl KERN_PROCARGS2 for arguments, and proc_pid_rusage for diff --git a/src/native/proto/process_collector.proto b/src/native/proto/process_collector.proto index 33a49f6..d9c94e4 100644 --- a/src/native/proto/process_collector.proto +++ b/src/native/proto/process_collector.proto @@ -85,12 +85,25 @@ message NativeProcessMemory { // Cumulative per-process CPU time. This is a raw counter that must be diffed // across snapshots in main to produce a CPU usage percentage; the collector -// never computes rates. +// never computes rates. Main also forwards the cumulative value itself to the +// renderer as the displayed "CPU time" (total CPU consumed since launch). message NativeProcessCpu { // Total user + system CPU time in nanoseconds (PROC_PIDTASKALLINFO). NativeInt64 cumulative_cpu_time_ns = 1; } +// The user a process runs as. uid and name share one availability: the uid +// comes from PROC_PIDTASKALLINFO (pbi_uid) and the name is resolved from it with +// getpwuid_r; an unmapped uid (no passwd entry) keeps the numeric uid and leaves +// the name empty. +message NativeProcessUser { + NativeFieldStatus status = 1; + // Effective user id when status is AVAILABLE. + int32 uid = 2; + // Resolved login name (getpwuid_r) when known; empty if the uid has no entry. + string name = 3; +} + // The application bundle a process belongs to, used to group a multi-process // app's members (a browser and its helpers/renderers) into one row. It is the // outermost `.app` in the executable path, so the main app process and its @@ -136,8 +149,13 @@ message NativeProcessRecord { NativeCommandLine command_line = 8; // Per-process memory metrics. NativeProcessMemory memory = 9; - // Cumulative per-process CPU time counter (diffed in main). + // Cumulative per-process CPU time counter (diffed in main, and forwarded as + // the displayed total CPU time). NativeProcessCpu cpu = 10; + // Number of threads in the task (PROC_PIDTASKALLINFO pti_threadnum). + NativeInt64 thread_count = 11; + // The user the process runs as (uid + resolved name). + NativeProcessUser user = 12; // Per-process network is intentionally absent: macOS has no reliable, // non-brittle per-process source, so the collector does not gather it. } diff --git a/src/renderer/components/processes/process-detail.tsx b/src/renderer/components/processes/process-detail.tsx index 3e21586..564d455 100644 --- a/src/renderer/components/processes/process-detail.tsx +++ b/src/renderer/components/processes/process-detail.tsx @@ -1,4 +1,4 @@ -import { ChevronLeft, ChevronRight } from "lucide-react"; +import { ChevronLeft, ChevronRight, Clock, Cpu, User } from "lucide-react"; import { useState, type ReactNode } from "react"; import { cn } from "@/lib/utils"; @@ -104,6 +104,8 @@ export function ProcessDetailView({ + +
+
Date: Sun, 7 Jun 2026 20:11:28 +0300 Subject: [PATCH 088/169] Add fallback mechanisms for process information retrieval using BSD sysctl --- src/native/processes/process_collector.cc | 141 ++++++++++++++++++---- 1 file changed, 116 insertions(+), 25 deletions(-) diff --git a/src/native/processes/process_collector.cc b/src/native/processes/process_collector.cc index 0d7a04e..bc07042 100644 --- a/src/native/processes/process_collector.cc +++ b/src/native/processes/process_collector.cc @@ -4,6 +4,7 @@ #include #include #include +#include #include #include #include @@ -120,6 +121,29 @@ bool ListAllPids(std::vector* out, NativeFieldStatus* status) { return false; } +// Reads the older BSD `kern.proc.pid` record for coarse identity fields. Some +// protected macOS processes (notably WindowServer) deny PROC_PIDTASKALLINFO but +// still expose their name, parent PID, start time, and uid through this public +// sysctl. It does not expose reliable CPU or memory on current macOS, so it is +// an identity fallback only. +bool ReadKinfoProc(pid_t pid, kinfo_proc* info, NativeFieldStatus* status) { + int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, static_cast(pid)}; + size_t info_size = sizeof(*info); + errno = 0; + if (sysctl(mib, 4, info, &info_size, nullptr, 0) != 0) { + *status = StatusFromErrno(errno); + return false; + } + + if (info_size >= sizeof(*info) && info->kp_proc.p_pid == pid) { + *status = NATIVE_FIELD_STATUS_AVAILABLE; + return true; + } + + *status = NATIVE_FIELD_STATUS_PROCESS_EXITED; + return false; +} + // Reads PROC_PIDTASKALLINFO (BSD + task info) for one PID. This single call // provides the parent PID, command name, start time, resident size, and the // cumulative CPU-time counter, so it is the backbone of each record. @@ -135,9 +159,24 @@ bool ReadTaskAllInfo(pid_t pid, proc_taskallinfo* info, NativeFieldStatus* statu return false; } +// Chooses a status when a primary task-info read and its BSD sysctl fallback +// both failed. A definite exit beats a denial; otherwise the original task-info +// failure is the most useful explanation for task-backed fields. +NativeFieldStatus CombinedFallbackStatus(NativeFieldStatus task_status, + NativeFieldStatus kinfo_status) { + if (kinfo_status == NATIVE_FIELD_STATUS_PROCESS_EXITED) { + return kinfo_status; + } + return task_status == NATIVE_FIELD_STATUS_UNSPECIFIED ? kinfo_status + : task_status; +} + // Resolves the short command name, preferring proc_name and falling back to the -// BSD info's registered name/comm when task info is available. +// BSD info's registered name/comm when task info is available. For protected +// processes that deny task info, falls back to kern.proc.pid's p_comm. void FillCommandName(pid_t pid, const proc_taskallinfo& task, bool task_ok, + const kinfo_proc& kinfo, bool kinfo_ok, + NativeFieldStatus kinfo_status, NativeString* out) { char name[2 * MAXCOMLEN] = {}; errno = 0; @@ -157,7 +196,15 @@ void FillCommandName(pid_t pid, const proc_taskallinfo& task, bool task_ok, } } - out->set_status(StatusFromErrno(errno)); + if (kinfo_ok && kinfo.kp_proc.p_comm[0] != '\0') { + SetAvailableString(out, kinfo.kp_proc.p_comm); + return; + } + + const NativeFieldStatus name_status = StatusFromErrno(errno); + out->set_status( + name_status == NATIVE_FIELD_STATUS_UNAVAILABLE ? kinfo_status + : name_status); } // Returns the basename of an absolute path, or the whole string if it has no @@ -185,20 +232,42 @@ void FillExecutablePathAndName(pid_t pid, NativeString* path_out, } // Reads the start time from BSD info and writes it onto the identity as Unix -// milliseconds. Only valid when task info was read. -void FillStartTime(const proc_taskallinfo& task, bool task_ok, - NativeProcessIdentity* identity) { - if (!task_ok || task.pbsd.pbi_start_tvsec == 0) { +// milliseconds. Uses kern.proc.pid as a fallback when task info is denied. +void SetStartTime(const timeval& start_time, NativeProcessIdentity* identity) { + if (start_time.tv_sec == 0) { identity->set_started_at_status(NATIVE_FIELD_STATUS_UNAVAILABLE); return; } const int64_t millis = - static_cast(task.pbsd.pbi_start_tvsec) * 1000 + - static_cast(task.pbsd.pbi_start_tvusec) / 1000; + static_cast(start_time.tv_sec) * 1000 + + static_cast(start_time.tv_usec) / 1000; identity->set_started_at_status(NATIVE_FIELD_STATUS_AVAILABLE); identity->set_started_at_unix_ms(millis); } +void FillStartTime(const proc_taskallinfo& task, bool task_ok, + NativeFieldStatus task_status, + const kinfo_proc& kinfo, bool kinfo_ok, + NativeFieldStatus kinfo_status, + NativeProcessIdentity* identity) { + if (task_ok) { + timeval start_time = {}; + start_time.tv_sec = static_cast(task.pbsd.pbi_start_tvsec); + start_time.tv_usec = + static_cast(task.pbsd.pbi_start_tvusec); + SetStartTime(start_time, identity); + return; + } + + if (kinfo_ok) { + SetStartTime(kinfo.kp_proc.p_starttime, identity); + return; + } + + identity->set_started_at_status( + CombinedFallbackStatus(task_status, kinfo_status)); +} + // Parses a KERN_PROCARGS2 buffer into the argument vector. Layout: a leading // int argc, the executable path (NUL-terminated), padding NULs, then argc // NUL-terminated argv strings. The buffer is untrusted, so every read is @@ -365,19 +434,12 @@ void FillThreadCount(const proc_taskallinfo& task, bool task_ok, SetAvailableInt64(out, std::max(0, task.ptinfo.pti_threadnum)); } -// Fills the owning user: the uid from BSD info (pbi_uid) plus its login name -// resolved with getpwuid_r. Available only when task info was read; an unmapped -// uid (no passwd entry) stays AVAILABLE with the numeric uid and an empty name, -// because the uid itself is still a real value. getpwuid_r is used (not -// getpwuid) so the per-pass loop stays thread-safe and does not return a pointer -// into shared static storage. -void FillUser(const proc_taskallinfo& task, bool task_ok, - NativeFieldStatus task_status, NativeProcessUser* out) { - if (!task_ok) { - out->set_status(task_status); - return; - } - const uid_t uid = task.pbsd.pbi_uid; +// Fills the owning user from task info or the kern.proc.pid fallback, then +// resolves the login name with getpwuid_r. An unmapped uid (no passwd entry) +// stays AVAILABLE with the numeric uid and an empty name, because the uid itself +// is still a real value. getpwuid_r is used (not getpwuid) so the per-pass loop +// stays thread-safe and does not return a pointer into shared static storage. +void SetAvailableUser(uid_t uid, NativeProcessUser* out) { out->set_status(NATIVE_FIELD_STATUS_AVAILABLE); out->set_uid(static_cast(uid)); @@ -392,6 +454,23 @@ void FillUser(const proc_taskallinfo& task, bool task_ok, } } +void FillUser(const proc_taskallinfo& task, bool task_ok, + NativeFieldStatus task_status, + const kinfo_proc& kinfo, bool kinfo_ok, + NativeFieldStatus kinfo_status, NativeProcessUser* out) { + if (task_ok) { + SetAvailableUser(task.pbsd.pbi_uid, out); + return; + } + + if (kinfo_ok) { + SetAvailableUser(kinfo.kp_eproc.e_ucred.cr_uid, out); + return; + } + + out->set_status(CombinedFallbackStatus(task_status, kinfo_status)); +} + // Builds one process record from all sources. Each field carries its own // availability so a single denied/exited read degrades that field, not the row. // app_metadata holds GUI-app metadata keyed by PID (from NSWorkspace); a record @@ -407,23 +486,35 @@ void FillRecord( NativeFieldStatus task_status = NATIVE_FIELD_STATUS_UNAVAILABLE; const bool task_ok = ReadTaskAllInfo(pid, &task, &task_status); - FillStartTime(task, task_ok, identity); + kinfo_proc kinfo = {}; + NativeFieldStatus kinfo_status = NATIVE_FIELD_STATUS_UNAVAILABLE; + const bool kinfo_ok = + task_ok ? false : ReadKinfoProc(pid, &kinfo, &kinfo_status); + + FillStartTime(task, task_ok, task_status, kinfo, kinfo_ok, kinfo_status, + identity); if (task_ok) { record->set_parent_status(NATIVE_FIELD_STATUS_AVAILABLE); record->set_parent_pid(static_cast(task.pbsd.pbi_ppid)); + } else if (kinfo_ok) { + record->set_parent_status(NATIVE_FIELD_STATUS_AVAILABLE); + record->set_parent_pid(static_cast(kinfo.kp_eproc.e_ppid)); } else { - record->set_parent_status(task_status); + record->set_parent_status( + CombinedFallbackStatus(task_status, kinfo_status)); } - FillCommandName(pid, task, task_ok, record->mutable_command_name()); + FillCommandName(pid, task, task_ok, kinfo, kinfo_ok, kinfo_status, + record->mutable_command_name()); FillExecutablePathAndName(pid, record->mutable_executable_path(), record->mutable_executable_name()); FillCommandLine(pid, arg_max, args_buffer, record->mutable_command_line()); FillMemory(pid, task, task_ok, task_status, record->mutable_memory()); FillCpu(task, task_ok, task_status, record->mutable_cpu()); FillThreadCount(task, task_ok, task_status, record->mutable_thread_count()); - FillUser(task, task_ok, task_status, record->mutable_user()); + FillUser(task, task_ok, task_status, kinfo, kinfo_ok, kinfo_status, + record->mutable_user()); // GUI app metadata enrichment (NSWorkspace): copy the entry for this PID when // one exists. NSWorkspace remains the source of exact bundle id, localized app From 4d05413d5751218fa374fea09b367727f2315823 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sun, 7 Jun 2026 21:01:19 +0300 Subject: [PATCH 089/169] Refactor process grouping logic --- .../processes/process-explorer-view.tsx | 43 ++++++++++--- src/renderer/domain/process-list.ts | 64 +++++++++++++------ 2 files changed, 81 insertions(+), 26 deletions(-) diff --git a/src/renderer/components/processes/process-explorer-view.tsx b/src/renderer/components/processes/process-explorer-view.tsx index fbb64ed..a10b466 100644 --- a/src/renderer/components/processes/process-explorer-view.tsx +++ b/src/renderer/components/processes/process-explorer-view.tsx @@ -109,11 +109,6 @@ export function ProcessExplorerView({ active }: { active: boolean }) { return undefined; }, [snapshot, sort, selectionStack]); - const projection = useMemo( - () => projectProcessList(snapshot, sort, query), - [snapshot, sort, query], - ); - const { actions, actionsBusy, actionMessage, runAction } = useProcessActions(detail, pull); if (detail) { @@ -135,18 +130,50 @@ export function ProcessExplorerView({ active }: { active: boolean }) { ); } + return ( + + ); +} + +function ProcessListPanel({ + snapshot, + sort, + query, + onSortChange, + onQueryChange, + onOpenSelection, +}: { + snapshot: ProcessSnapshot; + sort: SortMode; + query: string; + onSortChange: (sort: SortMode) => void; + onQueryChange: (query: string) => void; + onOpenSelection: (selection: DetailSelection) => void; +}) { + const projection = useMemo( + () => projectProcessList(snapshot, sort, query), + [snapshot, sort, query], + ); + return (
- - + +
0} - onOpenSelection={openSelection} + onOpenSelection={onOpenSelection} />
); diff --git a/src/renderer/domain/process-list.ts b/src/renderer/domain/process-list.ts index 9be75b5..72529f7 100644 --- a/src/renderer/domain/process-list.ts +++ b/src/renderer/domain/process-list.ts @@ -261,6 +261,27 @@ interface GroupAccumulator { members: ProcessRow[]; } +/** Starts a group accumulator with the first row that belongs to the group. */ +function createGroupAccumulator(key: string, row: ProcessRow, sort: SortMode): GroupAccumulator { + const metric = rowMetric(row, sort); + return { + key, + sortValueSum: metric.value ?? 0, + hasMetric: metric.value !== undefined, + anyPending: metric.pending, + members: [row], + }; +} + +/** Adds one row's active metric and identity to a group accumulator. */ +function addRowToGroup(group: GroupAccumulator, row: ProcessRow, sort: SortMode): void { + const metric = rowMetric(row, sort); + group.sortValueSum += metric.value ?? 0; + group.hasMetric = group.hasMetric || metric.value !== undefined; + group.anyPending = group.anyPending || metric.pending; + group.members.push(row); +} + /** Formats a group's summed metric for the compact list under the active sort. */ function formatGroupMetric(sum: number, sort: SortMode): string { return sort === "cpu" ? formatCpuPercent(sum) : formatBytes(sum); @@ -350,24 +371,14 @@ function buildGroupedRows(rows: ProcessRow[], sort: SortMode): ProcessGroup[] { for (const row of rows) { const key = rowGroupKey(row); - const metric = rowMetric(row, sort); const existing = groups.get(key); if (existing === undefined) { - groups.set(key, { - key, - sortValueSum: metric.value ?? 0, - hasMetric: metric.value !== undefined, - anyPending: metric.pending, - members: [row], - }); + groups.set(key, createGroupAccumulator(key, row, sort)); continue; } - existing.sortValueSum += metric.value ?? 0; - existing.hasMetric = existing.hasMetric || metric.value !== undefined; - existing.anyPending = existing.anyPending || metric.pending; - existing.members.push(row); + addRowToGroup(existing, row, sort); } const projected: ProcessGroup[] = Array.from(groups.values()).map((group) => @@ -443,18 +454,35 @@ export function projectProcessList( } /** - * Finds one group by its {@link ProcessGroup.key} for the detail view, grouping - * the full snapshot with no search filter and no display cap. Returns undefined - * when the group is gone (its processes all exited), so the detail can fall back - * to the list. The active sort is passed so the representative and member order - * match the list the user opened from. + * Finds one group by its {@link ProcessGroup.key} for the detail view. Collects + * only the rows whose {@link rowGroupKey} matches (rather than grouping the whole + * snapshot and discarding the rest - the detail re-resolves on every tick, so this + * stays cheap), then folds them through the same {@link buildGroupRow} path the + * list uses, so the representative and member order match the list the user opened + * from. Returns undefined when the group is gone (its processes all exited), so + * the detail can fall back to the list. No display cap applies. */ export function findGroupByKey( snapshot: ProcessSnapshot, sort: SortMode, key: string, ): ProcessGroup | undefined { - return buildGroups(snapshot.processes, sort, "").find((group) => group.key === key); + let group: GroupAccumulator | undefined = undefined; + + for (const row of snapshot.processes) { + if (rowGroupKey(row) !== key) { + continue; + } + + const existing = group; + if (existing === undefined) { + group = createGroupAccumulator(key, row, sort); + } else { + addRowToGroup(existing, row, sort); + } + } + + return group === undefined ? undefined : buildGroupRow(group, sort); } /** From 3475e817a1bdc30fb0e4b3ca40e888f7172b8d2f Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sun, 7 Jun 2026 21:11:50 +0300 Subject: [PATCH 090/169] Remove comment --- .../components/processes/process-explorer-view.tsx | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/renderer/components/processes/process-explorer-view.tsx b/src/renderer/components/processes/process-explorer-view.tsx index a10b466..d74d9a7 100644 --- a/src/renderer/components/processes/process-explorer-view.tsx +++ b/src/renderer/components/processes/process-explorer-view.tsx @@ -92,13 +92,6 @@ export function ProcessExplorerView({ active }: { active: boolean }) { [], ); const goBack = useCallback(() => setSelectionStack((stack) => stack.slice(0, -1)), []); - - // The detail model for the deepest still-resolvable selection, re-resolved from - // the current snapshot and sort so CPU/memory stay live as ticks arrive. If the - // top selection's process(es) have exited it falls back down the stack (member - // gone -> its group; group gone -> the list) without mutating state. Back still - // pops the (now-dead) top entry, so at worst one Back press lands on the level - // already shown before continuing up. const detail = useMemo(() => { for (let depth = selectionStack.length - 1; depth >= 0; depth -= 1) { const group = resolveSelection(snapshot, sort, selectionStack[depth]); From 793be22365d8b4861b99478604fc058bd42f0353 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sun, 7 Jun 2026 22:01:18 +0300 Subject: [PATCH 091/169] Add Vitest configuration and tests --- eslint.config.mjs | 2 +- package-lock.json | 371 +++++++++++++++++++++- package.json | 6 +- tests/helpers/process-fixtures.ts | 215 +++++++++++++ tests/unit/format.test.ts | 157 +++++++++ tests/unit/metric-view.test.ts | 55 ++++ tests/unit/metrics-sampler.test.ts | 273 ++++++++++++++++ tests/unit/process-action-service.test.ts | 251 +++++++++++++++ tests/unit/process-detail.test.ts | 177 +++++++++++ tests/unit/process-list.test.ts | 287 +++++++++++++++++ tsconfig.json | 6 +- vitest.config.ts | 22 ++ 12 files changed, 1817 insertions(+), 5 deletions(-) create mode 100644 tests/helpers/process-fixtures.ts create mode 100644 tests/unit/format.test.ts create mode 100644 tests/unit/metric-view.test.ts create mode 100644 tests/unit/metrics-sampler.test.ts create mode 100644 tests/unit/process-action-service.test.ts create mode 100644 tests/unit/process-detail.test.ts create mode 100644 tests/unit/process-list.test.ts create mode 100644 vitest.config.ts diff --git a/eslint.config.mjs b/eslint.config.mjs index c3446b4..5eb5b9a 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -29,7 +29,7 @@ export default [ ], }, { - files: ["src/**/*.{ts,tsx}", "vite.config.ts"], + files: ["src/**/*.{ts,tsx}", "tests/**/*.ts", "vite.config.ts", "vitest.config.ts"], languageOptions: { ecmaVersion: "latest", sourceType: "module", diff --git a/package-lock.json b/package-lock.json index 7a3eba6..4575cc5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,7 +41,8 @@ "tailwindcss": "^4.1.4", "ts-proto": "^2.10.1", "typescript": "^5.8.3", - "vite": "^8.0.0" + "vite": "^8.0.0", + "vitest": "^4.1.8" }, "engines": { "node": "^20.20.2 || ^22.22.2 || >=24.14.1" @@ -1484,6 +1485,13 @@ "devOptional": true, "license": "MIT" }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, "node_modules/@stylistic/eslint-plugin": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.10.0.tgz", @@ -1811,6 +1819,24 @@ "tslib": "^2.4.0" } }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", @@ -2114,6 +2140,119 @@ } } }, + "node_modules/@vitest/expect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.8.tgz", + "integrity": "sha512-h3nDO677RDLEGlBxyQ5CW8RlMThSKSRLUePLOx09gNIWRL40edgA1GCZSZgf1W55MFAG6/Sw14KeaAnqv0NKdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.8", + "@vitest/utils": "4.1.8", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.8.tgz", + "integrity": "sha512-LEiN/xe4OSIbKe9HQIp5OC24agGD9J5CnmMgsLohVVoOPWL9a2sBoR6VBx43jQZb7Kr1l4RCuyCJzcAa0+dojw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.8", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.8.tgz", + "integrity": "sha512-9GasEBxpZ1VYIpqHf/0+YGg121uSNwCKOJqIrTwWP/TB7DmFCiaBpNl3aPZzoLWfWkuqhbH8vJIVobZkvdo2cA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.8.tgz", + "integrity": "sha512-EmVxeBAfMJvycdjd6Hm+RbFBbA9fKvo0Kx37hNpBYoYeavH3RNsBXWDooR1mgD52dCrxIIuP7UotpfiwOikvcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.1.8", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.8.tgz", + "integrity": "sha512-acfZboRmAIf05DEKcBQy33VXojFJjtUdLyo7oOmV9kebb2xdU01UknNiPuPZoJZQyO7DF0gZdTGTpeAzET9QPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.8", + "@vitest/utils": "4.1.8", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.8.tgz", + "integrity": "sha512-6EevtBp6OZOPF7bmz36HrGMeP3txgVSrgebWxHOafDXGkhIzfXK14f8KF6MuFfgXXUeHxmpD3BQxkV00/3s5mA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.8.tgz", + "integrity": "sha512-uOJamYALNhfJ6iolExyQM40yIQwDqYnkKtQ5VCiSe17E33H0aQ/u+1GlRuz4LZBk6Mm3sg90G9hEbmEt37C1Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.8", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, "node_modules/acorn": { "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", @@ -2198,6 +2337,16 @@ "node": ">=10" } }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/autoprefixer": { "version": "10.5.0", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.5.0.tgz", @@ -2454,6 +2603,16 @@ "url": "https://github.com/sponsors/mesqueeb" } }, + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -2519,6 +2678,13 @@ "dev": true, "license": "MIT" }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -2626,6 +2792,13 @@ "node": ">=10.13.0" } }, + "node_modules/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "dev": true, + "license": "MIT" + }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -2883,6 +3056,16 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -2902,6 +3085,16 @@ "bare-events": "^2.7.0" } }, + "node_modules/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3576,6 +3769,20 @@ "node": ">=18" } }, + "node_modules/obug": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.2.tgz", + "integrity": "sha512-AWGB9WFcRXOQs48Z/udjI5ZcZMHXwX8XPByNpOydgcGsDLIzjGizhoMWJyKAWze7AVW/2W1i+/gPX4YtKe5cyg==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -3659,6 +3866,13 @@ "node": ">=8" } }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -3911,6 +4125,13 @@ "node": ">=8" } }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -3921,6 +4142,20 @@ "node": ">=0.10.0" } }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", + "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", + "dev": true, + "license": "MIT" + }, "node_modules/streamx": { "version": "2.26.0", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.26.0.tgz", @@ -4027,6 +4262,23 @@ "b4a": "^1.6.4" } }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", + "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/tinyglobby": { "version": "0.2.16", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", @@ -4044,6 +4296,16 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tinyrainbow": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/ts-api-utils": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", @@ -4295,6 +4557,96 @@ } } }, + "node_modules/vitest": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.8.tgz", + "integrity": "sha512-flY6ScbCIt9HThs+C5HS7jvGOB560DJtk/Z15IQROTA6zEy49Nh8T/dofWTQL+n3vswqn87sbJNiuqw1SDp5Ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.8", + "@vitest/mocker": "4.1.8", + "@vitest/pretty-format": "4.1.8", + "@vitest/runner": "4.1.8", + "@vitest/snapshot": "4.1.8", + "@vitest/spy": "4.1.8", + "@vitest/utils": "4.1.8", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^4.0.0-rc.1", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.1.8", + "@vitest/browser-preview": "4.1.8", + "@vitest/browser-webdriverio": "4.1.8", + "@vitest/coverage-istanbul": "4.1.8", + "@vitest/coverage-v8": "4.1.8", + "@vitest/ui": "4.1.8", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -4311,6 +4663,23 @@ "node": ">= 8" } }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", diff --git a/package.json b/package.json index 28a0428..8f2beb9 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "mobrowser": "mobrowser", "lint": "eslint . --max-warnings=0", "typecheck": "tsc --noEmit", - "verify": "npm run gen && npm run lint && npm run typecheck && npm run build" + "test": "vitest run", + "verify": "npm run gen && npm run lint && npm run typecheck && npm run test && npm run build" }, "dependencies": { "@fontsource-variable/sora": "^5.2.8", @@ -51,7 +52,8 @@ "tailwindcss": "^4.1.4", "ts-proto": "^2.10.1", "typescript": "^5.8.3", - "vite": "^8.0.0" + "vite": "^8.0.0", + "vitest": "^4.1.8" }, "engines": { "node": "^20.20.2 || ^22.22.2 || >=24.14.1" diff --git a/tests/helpers/process-fixtures.ts b/tests/helpers/process-fixtures.ts new file mode 100644 index 0000000..e30c8e0 --- /dev/null +++ b/tests/helpers/process-fixtures.ts @@ -0,0 +1,215 @@ +import { + type AppMetadata, + type CommandLine, + type CpuTime, + type CpuUsage, + FieldStatus, + type ProcessIdentity, + type ProcessMemory, + type ProcessRow, + type ProcessSnapshot, + type ProcessUser, + SnapshotStatus, + type StringValue, + type UInt64Value, +} from "@main/gen/process_explorer"; + +/** + * Synthetic process fixtures for the pure-logic tests (I15). + * + * The generated {@link ProcessRow} carries many independently-available nested + * fields, so building one inline in every test is noisy and easy to get wrong. + * These helpers fill correct defaults (every optional field absent, identity + * present) and let a test set only the fields it exercises. The renderer and main + * generated modules are byte-identical, so a row built here is structurally valid + * for both the renderer domain projections and the main action service. + * + * Privacy: all argv/path/name strings here are obviously fake and chosen to read + * as test data; no real command lines are committed. + */ + +/** Options for {@link makeRow}; omitted fields default to absent/unknown. */ +export interface RowOptions { + pid?: number; + /** Start time in Unix ms; provide to make the identity stable (OK status). */ + startedAtUnixMs?: number; + /** Override the started-at availability (defaults to OK when a time is given). */ + startedAtStatus?: FieldStatus; + parentPid?: number; + parentStatus?: FieldStatus; + commandName?: string; + executableName?: string; + executablePath?: string; + /** App bundle identifier (e.g. com.example.App). */ + bundleIdentifier?: string; + /** NSWorkspace localized app name. */ + localizedName?: string; + /** Base64 PNG icon payload (any non-empty string for tests). */ + iconPngBase64?: string; + /** Owning `.app` bundle path - the list's grouping key for an app. */ + bundlePath?: string; + /** Owning `.app` bundle display name. */ + bundleName?: string; + /** Command-line arguments; sets the command line to OK when provided. */ + commandLine?: string[]; + /** Override the command-line availability (e.g. PERMISSION_DENIED). */ + commandLineStatus?: FieldStatus; + /** Per-process CPU percent (Activity Monitor semantics); sets CPU OK. */ + cpuPercent?: number; + /** Override the CPU availability (e.g. UNKNOWN for a first sample). */ + cpuStatus?: FieldStatus; + /** Physical footprint in bytes; sets the memory footprint OK. */ + footprintBytes?: number; + /** Resident bytes fallback; sets the resident value OK. */ + residentBytes?: number; + /** Cumulative CPU time in nanoseconds; sets CpuTime OK. */ + cpuTimeNanos?: number; + /** Thread count; sets the thread count OK. */ + threadCount?: number; + /** Owning user id; sets the user OK. */ + uid?: number; + /** Owning user login name (empty string keeps the numeric uid). */ + userName?: string; +} + +/** An OK string wrapper. */ +function okStr(value: string): StringValue { + return { status: FieldStatus.FIELD_STATUS_OK, value }; +} + +/** An OK uint64 wrapper. */ +function okU64(value: number): UInt64Value { + return { status: FieldStatus.FIELD_STATUS_OK, value }; +} + +/** Builds the optional app metadata only when at least one app field is set. */ +function makeApp(options: RowOptions): AppMetadata | undefined { + const hasApp = + options.bundleIdentifier !== undefined || + options.localizedName !== undefined || + options.iconPngBase64 !== undefined || + options.bundlePath !== undefined || + options.bundleName !== undefined; + if (!hasApp) { + return undefined; + } + const hasBundle = options.bundlePath !== undefined || options.bundleName !== undefined; + return { + bundleIdentifier: options.bundleIdentifier !== undefined ? okStr(options.bundleIdentifier) : undefined, + localizedName: options.localizedName !== undefined ? okStr(options.localizedName) : undefined, + iconPngBase64: options.iconPngBase64 !== undefined ? okStr(options.iconPngBase64) : undefined, + bundle: hasBundle + ? { + path: options.bundlePath !== undefined ? okStr(options.bundlePath) : undefined, + name: options.bundleName !== undefined ? okStr(options.bundleName) : undefined, + } + : undefined, + }; +} + +/** Builds the per-process memory only when a footprint or resident value is set. */ +function makeMemory(options: RowOptions): ProcessMemory | undefined { + if (options.footprintBytes === undefined && options.residentBytes === undefined) { + return undefined; + } + return { + physicalFootprintBytes: options.footprintBytes !== undefined ? okU64(options.footprintBytes) : undefined, + residentBytes: options.residentBytes !== undefined ? okU64(options.residentBytes) : undefined, + }; +} + +/** Builds the CPU usage cell, honoring an explicit non-OK status override. */ +function makeCpu(options: RowOptions): CpuUsage | undefined { + if (options.cpuStatus !== undefined) { + return { status: options.cpuStatus, usagePercent: options.cpuPercent ?? 0 }; + } + if (options.cpuPercent !== undefined) { + return { status: FieldStatus.FIELD_STATUS_OK, usagePercent: options.cpuPercent }; + } + return undefined; +} + +/** Builds the cumulative CPU time cell when a nanos value is set. */ +function makeCpuTime(options: RowOptions): CpuTime | undefined { + if (options.cpuTimeNanos === undefined) { + return undefined; + } + return { status: FieldStatus.FIELD_STATUS_OK, nanos: options.cpuTimeNanos }; +} + +/** Builds the owning-user cell when a uid is set. */ +function makeUser(options: RowOptions): ProcessUser | undefined { + if (options.uid === undefined) { + return undefined; + } + return { status: FieldStatus.FIELD_STATUS_OK, uid: options.uid, name: options.userName ?? "" }; +} + +/** Builds the command-line cell, honoring an explicit non-OK status override. */ +function makeCommandLine(options: RowOptions): CommandLine | undefined { + if (options.commandLineStatus !== undefined) { + return { status: options.commandLineStatus, arguments: options.commandLine ?? [] }; + } + if (options.commandLine !== undefined) { + return { status: FieldStatus.FIELD_STATUS_OK, arguments: options.commandLine }; + } + return undefined; +} + +/** Builds the process identity, defaulting start time to OK when a value is set. */ +function makeIdentity(options: RowOptions): ProcessIdentity { + const startedAtStatus = + options.startedAtStatus ?? + (options.startedAtUnixMs !== undefined ? FieldStatus.FIELD_STATUS_OK : FieldStatus.FIELD_STATUS_UNKNOWN); + return { + pid: options.pid ?? 0, + startedAtStatus, + startedAtUnixMs: options.startedAtUnixMs ?? 0, + }; +} + +/** + * Builds one {@link ProcessRow} with correct defaults: identity present, every + * optional field absent unless the options set it. A field with an explicit + * status override (e.g. `cpuStatus`) is built with that status so pending / + * permission-denied paths are testable. + */ +export function makeRow(options: RowOptions = {}): ProcessRow { + return { + identity: makeIdentity(options), + parentStatus: + options.parentStatus ?? + (options.parentPid !== undefined ? FieldStatus.FIELD_STATUS_OK : FieldStatus.FIELD_STATUS_UNAVAILABLE), + parentPid: options.parentPid ?? 0, + commandName: options.commandName !== undefined ? okStr(options.commandName) : undefined, + executableName: options.executableName !== undefined ? okStr(options.executableName) : undefined, + executablePath: options.executablePath !== undefined ? okStr(options.executablePath) : undefined, + app: makeApp(options), + commandLine: makeCommandLine(options), + memory: makeMemory(options), + cpu: makeCpu(options), + threadCount: options.threadCount !== undefined ? okU64(options.threadCount) : undefined, + cpuTime: makeCpuTime(options), + user: makeUser(options), + }; +} + +/** Wraps rows in an OK {@link ProcessSnapshot} for projection/lookup tests. */ +export function makeSnapshot(rows: ProcessRow[], revision = 1): ProcessSnapshot { + return { + status: SnapshotStatus.SNAPSHOT_STATUS_OK, + revision, + timestampMs: 0, + processes: rows, + warnings: [], + }; +} + +/** Builds a {@link ProcessIdentity} target for the action tests. */ +export function makeTarget(pid: number, startedAtUnixMs?: number): ProcessIdentity { + return { + pid, + startedAtStatus: startedAtUnixMs !== undefined ? FieldStatus.FIELD_STATUS_OK : FieldStatus.FIELD_STATUS_UNKNOWN, + startedAtUnixMs: startedAtUnixMs ?? 0, + }; +} diff --git a/tests/unit/format.test.ts b/tests/unit/format.test.ts new file mode 100644 index 0000000..0671cf9 --- /dev/null +++ b/tests/unit/format.test.ts @@ -0,0 +1,157 @@ +import { describe, expect, it } from "vitest"; +import { + formatBytes, + formatCelsius, + formatCpuPercent, + formatCpuPercentPrecise, + formatCpuTime, + formatPercent, + formatRate, + formatStartTime, + formatUptime, + UNAVAILABLE_TEXT, +} from "@/lib/format"; + +describe("formatPercent", () => { + it("renders one fractional digit", () => { + expect(formatPercent(42)).toBe("42.0%"); + expect(formatPercent(0)).toBe("0.0%"); + expect(formatPercent(3.456)).toBe("3.5%"); + }); + + it("clamps into 0-100", () => { + expect(formatPercent(-5)).toBe("0.0%"); + expect(formatPercent(150)).toBe("100.0%"); + }); + + it("is unavailable for non-finite input", () => { + expect(formatPercent(Number.NaN)).toBe(UNAVAILABLE_TEXT); + expect(formatPercent(Number.POSITIVE_INFINITY)).toBe(UNAVAILABLE_TEXT); + }); +}); + +describe("formatCpuPercent", () => { + it("is NOT clamped at 100 (Activity Monitor semantics)", () => { + expect(formatCpuPercent(240)).toBe("240.0%"); + }); + + it("floors negative noise at 0", () => { + expect(formatCpuPercent(-1)).toBe("0.0%"); + }); + + it("is unavailable for non-finite input", () => { + expect(formatCpuPercent(Number.NaN)).toBe(UNAVAILABLE_TEXT); + }); +}); + +describe("formatCpuPercentPrecise", () => { + it("renders two fractional digits, uncapped", () => { + expect(formatCpuPercentPrecise(13.041)).toBe("13.04%"); + expect(formatCpuPercentPrecise(105)).toBe("105.00%"); + }); + + it("floors negatives and rejects non-finite", () => { + expect(formatCpuPercentPrecise(-2)).toBe("0.00%"); + expect(formatCpuPercentPrecise(Number.NaN)).toBe(UNAVAILABLE_TEXT); + }); +}); + +describe("formatBytes", () => { + it("keeps sub-GB values whole and GB+ to one decimal", () => { + expect(formatBytes(512 * 1024 * 1024)).toBe("512 MB"); + expect(formatBytes(15.6 * 1024 * 1024 * 1024)).toBe("15.6 GB"); + expect(formatBytes(2048)).toBe("2 KB"); + }); + + it("treats values below 1 byte as 0 B", () => { + expect(formatBytes(0)).toBe("0 B"); + expect(formatBytes(0.4)).toBe("0 B"); + }); + + it("adds one decimal in precise mode", () => { + // Precise adds a digit to each tier: whole MB -> one decimal, GB -> two. + expect(formatBytes(512.4 * 1024 * 1024, true)).toBe("512.4 MB"); + expect(formatBytes(15.63 * 1024 * 1024 * 1024, true)).toBe("15.63 GB"); + }); + + it("is unavailable for negative or non-finite input", () => { + expect(formatBytes(-1)).toBe(UNAVAILABLE_TEXT); + expect(formatBytes(Number.NaN)).toBe(UNAVAILABLE_TEXT); + }); +}); + +describe("formatRate", () => { + it("appends /s to a byte size, inheriting formatBytes precision", () => { + // Sub-GB rates are whole (MB tier has no decimals); GB+ keeps one digit. + expect(formatRate(1.2 * 1024 * 1024)).toBe("1 MB/s"); + expect(formatRate(1.2 * 1024 * 1024 * 1024)).toBe("1.2 GB/s"); + expect(formatRate(0)).toBe("0 B/s"); + }); + + it("is unavailable for negative or non-finite input", () => { + expect(formatRate(-1)).toBe(UNAVAILABLE_TEXT); + expect(formatRate(Number.POSITIVE_INFINITY)).toBe(UNAVAILABLE_TEXT); + }); +}); + +describe("formatUptime", () => { + it("shows the two most significant units", () => { + expect(formatUptime(3 * 86400 + 4 * 3600)).toBe("3d 4h"); + expect(formatUptime(5 * 3600 + 12 * 60)).toBe("5h 12m"); + expect(formatUptime(8 * 60)).toBe("8m"); + expect(formatUptime(45)).toBe("45s"); + }); + + it("is unavailable for negative or non-finite input", () => { + expect(formatUptime(-1)).toBe(UNAVAILABLE_TEXT); + expect(formatUptime(Number.NaN)).toBe(UNAVAILABLE_TEXT); + }); +}); + +describe("formatCpuTime", () => { + it("uses h:mm:ss above an hour (no centiseconds)", () => { + expect(formatCpuTime(3661 * 1_000_000_000)).toBe("1:01:01"); + }); + + it("uses m:ss.cc below an hour", () => { + // 40 minutes 31.84 seconds. + expect(formatCpuTime((40 * 60 + 31.84) * 1_000_000_000)).toBe("40:31.84"); + }); + + it("uses Ns.cc below a minute", () => { + expect(formatCpuTime(4.62 * 1_000_000_000)).toBe("4.62s"); + expect(formatCpuTime(0)).toBe("0.00s"); + }); + + it("is unavailable for negative or non-finite input", () => { + expect(formatCpuTime(-1)).toBe(UNAVAILABLE_TEXT); + expect(formatCpuTime(Number.NaN)).toBe(UNAVAILABLE_TEXT); + }); +}); + +describe("formatCelsius", () => { + it("rounds to whole degrees", () => { + expect(formatCelsius(48.4)).toBe("48°C"); + expect(formatCelsius(48.6)).toBe("49°C"); + }); + + it("is unavailable for non-finite input", () => { + expect(formatCelsius(Number.NaN)).toBe(UNAVAILABLE_TEXT); + }); +}); + +describe("formatStartTime", () => { + it("is unavailable for non-positive or non-finite epochs", () => { + expect(formatStartTime(0)).toBe(UNAVAILABLE_TEXT); + expect(formatStartTime(-1)).toBe(UNAVAILABLE_TEXT); + expect(formatStartTime(Number.NaN)).toBe(UNAVAILABLE_TEXT); + }); + + it("renders a real epoch as a non-empty local string", () => { + // The exact text is locale/timezone dependent, so assert it produced a + // concrete (non-unavailable) string rather than a specific format. + const text = formatStartTime(Date.UTC(2025, 9, 29, 15, 34, 39)); + expect(text).not.toBe(UNAVAILABLE_TEXT); + expect(text).toContain("2025"); + }); +}); diff --git a/tests/unit/metric-view.test.ts b/tests/unit/metric-view.test.ts new file mode 100644 index 0000000..a21a07e --- /dev/null +++ b/tests/unit/metric-view.test.ts @@ -0,0 +1,55 @@ +import { describe, expect, it } from "vitest"; +import { MetricStatus } from "@/gen/metrics"; +import { baseState, isLive, usageState } from "@/domain/metric-view"; + +describe("baseState", () => { + it("maps OK to ok", () => { + expect(baseState(MetricStatus.METRIC_STATUS_OK)).toBe("ok"); + }); + + it("maps UNAVAILABLE to unavailable", () => { + expect(baseState(MetricStatus.METRIC_STATUS_UNAVAILABLE)).toBe("unavailable"); + }); + + it("maps UNKNOWN (and anything else) to pending", () => { + expect(baseState(MetricStatus.METRIC_STATUS_UNKNOWN)).toBe("pending"); + expect(baseState(MetricStatus.UNRECOGNIZED)).toBe("pending"); + }); +}); + +describe("usageState", () => { + it("refines an OK metric by the default thresholds", () => { + expect(usageState(MetricStatus.METRIC_STATUS_OK, 10)).toBe("ok"); + expect(usageState(MetricStatus.METRIC_STATUS_OK, 70)).toBe("elevated"); + expect(usageState(MetricStatus.METRIC_STATUS_OK, 89.9)).toBe("elevated"); + expect(usageState(MetricStatus.METRIC_STATUS_OK, 90)).toBe("critical"); + expect(usageState(MetricStatus.METRIC_STATUS_OK, 100)).toBe("critical"); + }); + + it("honors custom thresholds", () => { + expect(usageState(MetricStatus.METRIC_STATUS_OK, 50, 40, 80)).toBe("elevated"); + expect(usageState(MetricStatus.METRIC_STATUS_OK, 85, 40, 80)).toBe("critical"); + }); + + it("passes non-OK base states through unchanged", () => { + expect(usageState(MetricStatus.METRIC_STATUS_UNAVAILABLE, 95)).toBe("unavailable"); + expect(usageState(MetricStatus.METRIC_STATUS_UNKNOWN, 95)).toBe("pending"); + }); + + it("treats a non-finite percent on an OK metric as unavailable", () => { + expect(usageState(MetricStatus.METRIC_STATUS_OK, Number.NaN)).toBe("unavailable"); + }); +}); + +describe("isLive", () => { + it("is true for ok/elevated/critical", () => { + expect(isLive("ok")).toBe(true); + expect(isLive("elevated")).toBe(true); + expect(isLive("critical")).toBe(true); + }); + + it("is false for pending/unavailable", () => { + expect(isLive("pending")).toBe(false); + expect(isLive("unavailable")).toBe(false); + }); +}); diff --git a/tests/unit/metrics-sampler.test.ts b/tests/unit/metrics-sampler.test.ts new file mode 100644 index 0000000..074b95d --- /dev/null +++ b/tests/unit/metrics-sampler.test.ts @@ -0,0 +1,273 @@ +import { beforeEach, describe, expect, it, vi } from "vitest"; + +/** + * Tests the stateful metric delta math through the real {@link MetricsSampler}, + * driving synthetic samples. The native gen module runs a MoBrowser-runtime-only + * binding at import, and `os`/`fs` read the real machine, so all three are mocked; + * `performance.now` is stubbed so network rate windows are deterministic. + */ +const h = vi.hoisted(() => ({ + readMemory: vi.fn(), + readNetwork: vi.fn(), + readTemp: vi.fn(), + cpus: vi.fn(), + statfsSync: vi.fn(), + uptime: vi.fn(), + loadavg: vi.fn(), +})); + +vi.mock("@main/gen/native", () => ({ + native: { + memory: { ReadUsage: h.readMemory }, + network: { ReadCounters: h.readNetwork }, + temperature: { ReadCpuTemperature: h.readTemp }, + }, +})); +vi.mock("node:os", () => ({ cpus: h.cpus, uptime: h.uptime, loadavg: h.loadavg })); +vi.mock("node:fs", () => ({ statfsSync: h.statfsSync })); + +import { MetricsSampler } from "@main/metrics/metrics-sampler"; + +const GB = 1024 * 1024 * 1024; + +/** Builds one logical core's tick counters (ms). */ +function core(model: string, busy: number, idle: number) { + // Put all "busy" time in user; the sampler sums user+nice+sys+irq. + return { model, speed: 0, times: { user: busy, nice: 0, sys: 0, idle, irq: 0 } }; +} + +/** Controls performance.now() so elapsed windows are exact. */ +let clockMs = 0; + +beforeEach(() => { + vi.clearAllMocks(); + clockMs = 0; + vi.spyOn(performance, "now").mockImplementation(() => clockMs); + + // Sensible defaults; individual tests override. + h.cpus.mockReturnValue([core("M2", 0, 100)]); + h.statfsSync.mockReturnValue({ blocks: 100, bsize: GB, bavail: 40 }); + h.uptime.mockReturnValue(3600); + h.loadavg.mockReturnValue([1.5, 1.0, 0.5]); + h.readMemory.mockResolvedValue({ available: false, totalBytes: 0, usedBytes: 0, availableBytes: 0, cachedBytes: 0 }); + h.readNetwork.mockResolvedValue({ available: false, rxBytes: 0, txBytes: 0 }); + h.readTemp.mockResolvedValue({ available: false, celsius: 0 }); +}); + +describe("CPU delta math", () => { + it("reports unknown on the first sample (no delta yet)", async () => { + const sampler = new MetricsSampler(); + const reading = await sampler.sample(); + expect(reading.cpu.status).toBe("unknown"); + expect(reading.cpu.model).toBe("M2"); + expect(reading.cpu.coreCount).toBe(1); + }); + + it("computes usage from busy/total tick deltas on the second sample", async () => { + const sampler = new MetricsSampler(); + h.cpus.mockReturnValue([core("M2", 100, 100)]); // busy 100, total 200 + await sampler.sample(); + h.cpus.mockReturnValue([core("M2", 175, 125)]); // +75 busy, +25 idle -> 75/100 = 75% + const reading = await sampler.sample(); + expect(reading.cpu.status).toBe("ok"); + expect(reading.cpu.usagePercent).toBeCloseTo(75); + }); + + it("reports unknown on a zero-delta (idle) tick", async () => { + const sampler = new MetricsSampler(); + h.cpus.mockReturnValue([core("M2", 100, 100)]); + await sampler.sample(); + // Identical counters: totalDelta 0 -> unknown, not a fake 0%. + const reading = await sampler.sample(); + expect(reading.cpu.status).toBe("unknown"); + }); + + it("reports unknown when the counters went backwards (reset)", async () => { + const sampler = new MetricsSampler(); + h.cpus.mockReturnValue([core("M2", 500, 500)]); + await sampler.sample(); + h.cpus.mockReturnValue([core("M2", 100, 100)]); // busy delta negative + const reading = await sampler.sample(); + expect(reading.cpu.status).toBe("unknown"); + }); + + it("clamps usage into 0-100", async () => { + const sampler = new MetricsSampler(); + h.cpus.mockReturnValue([core("M2", 0, 0)]); + await sampler.sample(); + // Busy grows far more than total would allow -> clamped at 100. + h.cpus.mockReturnValue([core("M2", 1000, 0)]); + const reading = await sampler.sample(); + expect(reading.cpu.status).toBe("ok"); + expect(reading.cpu.usagePercent).toBe(100); + }); +}); + +describe("network delta math", () => { + it("reports unknown on the first sample (no baseline)", async () => { + h.readNetwork.mockResolvedValue({ available: true, rxBytes: 1000, txBytes: 2000 }); + const sampler = new MetricsSampler(); + const reading = await sampler.sample(); + expect(reading.network.status).toBe("unknown"); + }); + + it("computes per-second rates over the elapsed window", async () => { + const sampler = new MetricsSampler(); + h.readNetwork.mockResolvedValue({ available: true, rxBytes: 1000, txBytes: 5000 }); + clockMs = 1000; + await sampler.sample(); + // +2000 rx, +1000 tx over 2 seconds -> 1000 B/s rx, 500 B/s tx. + h.readNetwork.mockResolvedValue({ available: true, rxBytes: 3000, txBytes: 6000 }); + clockMs = 3000; + const reading = await sampler.sample(); + expect(reading.network.status).toBe("ok"); + expect(reading.network.rxBytesPerSec).toBe(1000); + expect(reading.network.txBytesPerSec).toBe(500); + }); + + it("drops a negative delta (counter reset) to a 0 rate", async () => { + const sampler = new MetricsSampler(); + h.readNetwork.mockResolvedValue({ available: true, rxBytes: 1_000_000, txBytes: 1_000_000 }); + clockMs = 1000; + await sampler.sample(); + // Counters went backwards (interface reset): rate clamps to 0, no spike. + h.readNetwork.mockResolvedValue({ available: true, rxBytes: 10, txBytes: 10 }); + clockMs = 2000; + const reading = await sampler.sample(); + expect(reading.network.status).toBe("ok"); + expect(reading.network.rxBytesPerSec).toBe(0); + expect(reading.network.txBytesPerSec).toBe(0); + }); + + it("drops an impossible forward jump (> 100 Gbps) to a 0 rate", async () => { + const sampler = new MetricsSampler(); + h.readNetwork.mockResolvedValue({ available: true, rxBytes: 0, txBytes: 0 }); + clockMs = 1000; + await sampler.sample(); + // 1 TB in 1 second is far above the plausible ceiling -> treated as a + // discontinuity (e.g. a reconnect handing back a fresh counter) -> 0. + h.readNetwork.mockResolvedValue({ available: true, rxBytes: 1_000_000_000_000, txBytes: 0 }); + clockMs = 2000; + const reading = await sampler.sample(); + expect(reading.network.rxBytesPerSec).toBe(0); + }); + + it("reports unavailable and re-arms the baseline when counters are unavailable", async () => { + const sampler = new MetricsSampler(); + h.readNetwork.mockResolvedValue({ available: true, rxBytes: 1000, txBytes: 1000 }); + clockMs = 1000; + await sampler.sample(); + // Counters drop out -> unavailable; the baseline is cleared. + h.readNetwork.mockResolvedValue({ available: false, rxBytes: 0, txBytes: 0 }); + clockMs = 2000; + expect((await sampler.sample()).network.status).toBe("unavailable"); + // Next available sample is a first sample again -> unknown, not a giant rate. + h.readNetwork.mockResolvedValue({ available: true, rxBytes: 9999, txBytes: 9999 }); + clockMs = 3000; + expect((await sampler.sample()).network.status).toBe("unknown"); + }); +}); + +describe("disk", () => { + it("computes used/free/percent from statfs blocks", async () => { + h.statfsSync.mockReturnValue({ blocks: 100, bsize: GB, bavail: 40 }); // 100 GB total, 40 free + const reading = await new MetricsSampler().sample(); + expect(reading.disk.status).toBe("ok"); + expect(reading.disk.totalBytes).toBe(100 * GB); + expect(reading.disk.freeBytes).toBe(40 * GB); + expect(reading.disk.usedBytes).toBe(60 * GB); + expect(reading.disk.usedPercent).toBe(60); + }); + + it("degrades only disk to unavailable when the total is non-positive", async () => { + h.statfsSync.mockReturnValue({ blocks: 0, bsize: GB, bavail: 0 }); + const reading = await new MetricsSampler().sample(); + expect(reading.disk.status).toBe("unavailable"); + // Other groups are unaffected (uptime still ok). + expect(reading.uptime.status).toBe("ok"); + }); + + it("degrades only disk to unavailable when statfs throws", async () => { + h.statfsSync.mockImplementation(() => { + throw new Error("EACCES"); + }); + const reading = await new MetricsSampler().sample(); + expect(reading.disk.status).toBe("unavailable"); + expect(reading.uptime.status).toBe("ok"); + }); +}); + +describe("memory", () => { + it("maps an available reading and clamps values to the total", async () => { + h.readMemory.mockResolvedValue({ + available: true, + totalBytes: 16 * GB, + usedBytes: 8 * GB, + availableBytes: 8 * GB, + cachedBytes: 2 * GB, + }); + const reading = await new MetricsSampler().sample(); + expect(reading.memory.status).toBe("ok"); + expect(reading.memory.usedBytes).toBe(8 * GB); + expect(reading.memory.usedPercent).toBe(50); + }); + + it("clamps an over-total used value to the total", async () => { + h.readMemory.mockResolvedValue({ + available: true, + totalBytes: 16 * GB, + usedBytes: 99 * GB, // implausible; clamps to total + availableBytes: 0, + cachedBytes: 0, + }); + const reading = await new MetricsSampler().sample(); + expect(reading.memory.usedBytes).toBe(16 * GB); + expect(reading.memory.usedPercent).toBe(100); + }); + + it("is unavailable when the native probe reports unavailable", async () => { + h.readMemory.mockResolvedValue({ available: false, totalBytes: 0, usedBytes: 0, availableBytes: 0, cachedBytes: 0 }); + expect((await new MetricsSampler().sample()).memory.status).toBe("unavailable"); + }); +}); + +describe("temperature", () => { + it("is ok with a finite reading when the probe reports available", async () => { + h.readTemp.mockResolvedValue({ available: true, celsius: 57.3 }); + const reading = await new MetricsSampler().sample(); + expect(reading.temperature.status).toBe("ok"); + expect(reading.temperature.celsius).toBeCloseTo(57.3); + }); + + it("is unavailable when the probe reports unavailable", async () => { + h.readTemp.mockResolvedValue({ available: false, celsius: 0 }); + expect((await new MetricsSampler().sample()).temperature.status).toBe("unavailable"); + }); + + it("is unavailable when the probe returns a non-finite value", async () => { + h.readTemp.mockResolvedValue({ available: true, celsius: Number.NaN }); + expect((await new MetricsSampler().sample()).temperature.status).toBe("unavailable"); + }); +}); + +describe("uptime and load", () => { + it("reports floored uptime and finite load averages", async () => { + h.uptime.mockReturnValue(123.9); + h.loadavg.mockReturnValue([2.5, 1.25, 0.75]); + const reading = await new MetricsSampler().sample(); + expect(reading.uptime.status).toBe("ok"); + expect(reading.uptime.uptimeSeconds).toBe(123); + expect(reading.uptime.loadAverage).toEqual([2.5, 1.25, 0.75]); + }); +}); + +describe("failure isolation", () => { + it("a native memory rejection degrades only memory, not the snapshot", async () => { + h.readMemory.mockRejectedValue(new Error("native boom")); + const reading = await new MetricsSampler().sample(); + expect(reading.memory.status).toBe("unavailable"); + // CPU/disk/uptime are still produced. + expect(reading.disk.status).toBe("ok"); + expect(reading.uptime.status).toBe("ok"); + }); +}); diff --git a/tests/unit/process-action-service.test.ts b/tests/unit/process-action-service.test.ts new file mode 100644 index 0000000..16ee249 --- /dev/null +++ b/tests/unit/process-action-service.test.ts @@ -0,0 +1,251 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; +import process from "node:process"; + +// The service imports `app`/`desktop` from the MoBrowser runtime. Mock them so +// reveal and the Force Quit confirmation are observable and side-effect free. +const h = vi.hoisted(() => ({ + showPath: vi.fn(), + showMessageDialog: vi.fn(), +})); +vi.mock("@mobrowser/api", () => ({ + app: { showMessageDialog: h.showMessageDialog }, + desktop: { showPath: h.showPath }, +})); + +import { + ActionDisabledReason, + ProcessActionKind, + RunProcessActionResponse_Outcome as Outcome, +} from "@main/gen/process_explorer"; +import { + disabledReasonFor, + findTargetRow, + isCriticalProcess, + ProcessActionService, +} from "@main/processes/process-action-service"; +import { makeRow, makeSnapshot, makeTarget } from "../helpers/process-fixtures"; + +const REVEAL = ProcessActionKind.PROCESS_ACTION_KIND_REVEAL; +const QUIT = ProcessActionKind.PROCESS_ACTION_KIND_QUIT; +const FORCE_QUIT = ProcessActionKind.PROCESS_ACTION_KIND_FORCE_QUIT; + +/** A stable, non-self, non-critical target identity for an existing row. */ +const SOME_PID = 4242; + +beforeEach(() => { + vi.clearAllMocks(); +}); + +afterEach(() => { + vi.restoreAllMocks(); +}); + +describe("findTargetRow", () => { + it("returns undefined for an undefined target", () => { + expect(findTargetRow(makeSnapshot([]), undefined)).toBeUndefined(); + }); + + it("matches by PID plus exact start time", () => { + const snapshot = makeSnapshot([makeRow({ pid: SOME_PID, startedAtUnixMs: 1000, commandName: "app" })]); + const row = findTargetRow(snapshot, makeTarget(SOME_PID, 1000)); + expect(row?.identity?.pid).toBe(SOME_PID); + }); + + it("does NOT match a reused PID whose start time differs", () => { + const snapshot = makeSnapshot([makeRow({ pid: SOME_PID, startedAtUnixMs: 2000, commandName: "new" })]); + expect(findTargetRow(snapshot, makeTarget(SOME_PID, 1000))).toBeUndefined(); + }); + + it("returns undefined when the PID is gone (exited)", () => { + const snapshot = makeSnapshot([makeRow({ pid: 1, startedAtUnixMs: 1, commandName: "launchd" })]); + expect(findTargetRow(snapshot, makeTarget(SOME_PID, 1000))).toBeUndefined(); + }); + + it("falls back to PID alone when the target has no recorded start time", () => { + const snapshot = makeSnapshot([makeRow({ pid: SOME_PID, startedAtUnixMs: 1000, commandName: "app" })]); + const row = findTargetRow(snapshot, makeTarget(SOME_PID)); + expect(row?.identity?.pid).toBe(SOME_PID); + }); +}); + +describe("isCriticalProcess", () => { + it("treats PID 0 and PID 1 as critical", () => { + expect(isCriticalProcess(makeRow({ pid: 0, commandName: "kernel_task" }))).toBe(true); + expect(isCriticalProcess(makeRow({ pid: 1, commandName: "launchd" }))).toBe(true); + }); + + it("matches a denylisted name by command OR executable name", () => { + expect(isCriticalProcess(makeRow({ pid: 80, commandName: "WindowServer" }))).toBe(true); + expect(isCriticalProcess(makeRow({ pid: 81, executableName: "Dock" }))).toBe(true); + expect(isCriticalProcess(makeRow({ pid: 82, commandName: "Finder" }))).toBe(true); + }); + + it("does NOT protect an ordinary app", () => { + expect(isCriticalProcess(makeRow({ pid: 500, commandName: "Notes", executableName: "Notes" }))).toBe(false); + }); +}); + +describe("disabledReasonFor", () => { + const selfPid = 999_999; // a PID that is not the test runner's own. + + it("reveal needs an OK executable path", () => { + const withPath = makeRow({ pid: SOME_PID, executablePath: "/Applications/App.app/Contents/MacOS/App" }); + const noPath = makeRow({ pid: SOME_PID }); + expect(disabledReasonFor(REVEAL, withPath, selfPid, makeTarget(SOME_PID, 1))) + .toBe(ActionDisabledReason.ACTION_DISABLED_REASON_NONE); + expect(disabledReasonFor(REVEAL, noPath, selfPid, makeTarget(SOME_PID, 1))) + .toBe(ActionDisabledReason.ACTION_DISABLED_REASON_NO_PATH); + }); + + it("reveal stays allowed even for self/critical (a Finder open is harmless)", () => { + const critical = makeRow({ pid: 1, commandName: "launchd", executablePath: "/sbin/launchd" }); + expect(disabledReasonFor(REVEAL, critical, selfPid, makeTarget(1, 1))) + .toBe(ActionDisabledReason.ACTION_DISABLED_REASON_NONE); + }); + + it("quit requires a stable target identity (UNSTABLE_IDENTITY when no start time)", () => { + const row = makeRow({ pid: SOME_PID, startedAtUnixMs: 1, commandName: "app" }); + // Target carries no start time -> destructive actions are blocked. + expect(disabledReasonFor(QUIT, row, selfPid, makeTarget(SOME_PID))) + .toBe(ActionDisabledReason.ACTION_DISABLED_REASON_UNSTABLE_IDENTITY); + }); + + it("quit blocks MoStats itself (SELF)", () => { + const row = makeRow({ pid: SOME_PID, startedAtUnixMs: 1, commandName: "MoStats" }); + expect(disabledReasonFor(QUIT, row, SOME_PID, makeTarget(SOME_PID, 1))) + .toBe(ActionDisabledReason.ACTION_DISABLED_REASON_SELF); + }); + + it("quit blocks a session-critical process (PROTECTED)", () => { + const row = makeRow({ pid: 80, startedAtUnixMs: 1, commandName: "WindowServer" }); + expect(disabledReasonFor(QUIT, row, selfPid, makeTarget(80, 1))) + .toBe(ActionDisabledReason.ACTION_DISABLED_REASON_PROTECTED); + }); + + it("quit/force-quit are allowed for an ordinary, stable, non-self target", () => { + const row = makeRow({ pid: SOME_PID, startedAtUnixMs: 1, commandName: "Notes" }); + expect(disabledReasonFor(QUIT, row, selfPid, makeTarget(SOME_PID, 1))) + .toBe(ActionDisabledReason.ACTION_DISABLED_REASON_NONE); + expect(disabledReasonFor(FORCE_QUIT, row, selfPid, makeTarget(SOME_PID, 1))) + .toBe(ActionDisabledReason.ACTION_DISABLED_REASON_NONE); + }); +}); + +describe("ProcessActionService.getActionStates", () => { + it("disables every action with STALE when the target is gone", () => { + const service = new ProcessActionService(() => makeSnapshot([]), () => null); + const response = service.getActionStates({ target: makeTarget(SOME_PID, 1) }); + expect(response.targetValid).toBe(false); + expect(response.actions).toHaveLength(3); + expect(response.actions.every((a) => !a.enabled)).toBe(true); + expect(response.actions.every((a) => a.disabledReason === ActionDisabledReason.ACTION_DISABLED_REASON_STALE)).toBe(true); + }); + + it("reports per-action availability for a valid ordinary target", () => { + const row = makeRow({ + pid: SOME_PID, + startedAtUnixMs: 1, + commandName: "Notes", + executablePath: "/System/Applications/Notes.app/Contents/MacOS/Notes", + }); + const service = new ProcessActionService(() => makeSnapshot([row]), () => null); + const response = service.getActionStates({ target: makeTarget(SOME_PID, 1) }); + expect(response.targetValid).toBe(true); + const byKind = new Map(response.actions.map((a) => [a.kind, a])); + expect(byKind.get(REVEAL)?.enabled).toBe(true); + expect(byKind.get(QUIT)?.enabled).toBe(true); + expect(byKind.get(FORCE_QUIT)?.enabled).toBe(true); + }); + + it("disables Reveal (NO_PATH) but allows Quit when the path is missing", () => { + const row = makeRow({ pid: SOME_PID, startedAtUnixMs: 1, commandName: "daemon" }); + const service = new ProcessActionService(() => makeSnapshot([row]), () => null); + const byKind = new Map(service.getActionStates({ target: makeTarget(SOME_PID, 1) }).actions.map((a) => [a.kind, a])); + expect(byKind.get(REVEAL)?.enabled).toBe(false); + expect(byKind.get(REVEAL)?.disabledReason).toBe(ActionDisabledReason.ACTION_DISABLED_REASON_NO_PATH); + expect(byKind.get(QUIT)?.enabled).toBe(true); + }); +}); + +describe("ProcessActionService.runAction", () => { + it("reveals a target's executable via desktop.showPath", async () => { + const path = "/Applications/App.app/Contents/MacOS/App"; + const row = makeRow({ pid: SOME_PID, startedAtUnixMs: 1, commandName: "App", executablePath: path }); + const service = new ProcessActionService(() => makeSnapshot([row]), () => null); + const result = await service.runAction({ action: REVEAL, target: makeTarget(SOME_PID, 1) }); + expect(result.outcome).toBe(Outcome.OUTCOME_SUCCEEDED); + expect(result.affectedCount).toBe(1); + expect(h.showPath).toHaveBeenCalledWith(path); + }); + + it("returns STALE_TARGET when the target no longer matches", async () => { + const service = new ProcessActionService(() => makeSnapshot([]), () => null); + const result = await service.runAction({ action: QUIT, target: makeTarget(SOME_PID, 1) }); + expect(result.outcome).toBe(Outcome.OUTCOME_STALE_TARGET); + expect(h.showMessageDialog).not.toHaveBeenCalled(); + }); + + it("returns NOT_ALLOWED for a protected target and never signals", async () => { + const row = makeRow({ pid: 80, startedAtUnixMs: 1, commandName: "WindowServer" }); + const service = new ProcessActionService(() => makeSnapshot([row]), () => null); + const result = await service.runAction({ action: QUIT, target: makeTarget(80, 1) }); + expect(result.outcome).toBe(Outcome.OUTCOME_NOT_ALLOWED); + }); + + it("blocks a destructive action whose target identity is unstable (no start time)", async () => { + const row = makeRow({ pid: SOME_PID, startedAtUnixMs: 1, commandName: "App" }); + const service = new ProcessActionService(() => makeSnapshot([row]), () => null); + // Target without a start time -> UNSTABLE_IDENTITY -> NOT_ALLOWED. + const result = await service.runAction({ action: QUIT, target: makeTarget(SOME_PID) }); + expect(result.outcome).toBe(Outcome.OUTCOME_NOT_ALLOWED); + }); + + it("treats a declined Force Quit confirmation as a no-op (does not kill)", async () => { + h.showMessageDialog.mockResolvedValue({ button: { type: "secondary" } }); + const row = makeRow({ pid: SOME_PID, startedAtUnixMs: 1, commandName: "App", executablePath: "/x" }); + const killSpy = vi.spyOn(process, "kill").mockImplementation(() => true); + const service = new ProcessActionService(() => makeSnapshot([row]), () => null); + const result = await service.runAction({ action: FORCE_QUIT, target: makeTarget(SOME_PID, 1) }); + expect(h.showMessageDialog).toHaveBeenCalledOnce(); + expect(result.outcome).toBe(Outcome.OUTCOME_SUCCEEDED); + expect(result.affectedCount).toBe(0); + expect(killSpy).not.toHaveBeenCalled(); + }); + + it("signals on a confirmed Force Quit, mapping ESRCH to STALE_TARGET", async () => { + h.showMessageDialog.mockResolvedValue({ button: { type: "primary" } }); + const row = makeRow({ pid: SOME_PID, startedAtUnixMs: 1, commandName: "App" }); + // Simulate the process having exited between confirm and signal. + const esrch: NodeJS.ErrnoException = Object.assign(new Error("no such process"), { code: "ESRCH" }); + const killSpy = vi.spyOn(process, "kill").mockImplementation(() => { + throw esrch; + }); + const service = new ProcessActionService(() => makeSnapshot([row]), () => null); + const result = await service.runAction({ action: FORCE_QUIT, target: makeTarget(SOME_PID, 1) }); + expect(killSpy).toHaveBeenCalledWith(SOME_PID, "SIGKILL"); + expect(result.outcome).toBe(Outcome.OUTCOME_STALE_TARGET); + }); + + it("Quit sends SIGTERM with no confirmation and maps EPERM to NOT_PERMITTED", async () => { + const row = makeRow({ pid: SOME_PID, startedAtUnixMs: 1, commandName: "rootdaemon" }); + const eperm: NodeJS.ErrnoException = Object.assign(new Error("operation not permitted"), { code: "EPERM" }); + const killSpy = vi.spyOn(process, "kill").mockImplementation(() => { + throw eperm; + }); + const service = new ProcessActionService(() => makeSnapshot([row]), () => null); + const result = await service.runAction({ action: QUIT, target: makeTarget(SOME_PID, 1) }); + expect(killSpy).toHaveBeenCalledWith(SOME_PID, "SIGTERM"); + expect(h.showMessageDialog).not.toHaveBeenCalled(); + expect(result.outcome).toBe(Outcome.OUTCOME_NOT_PERMITTED); + }); + + it("blocks self-termination (SELF) without signaling", async () => { + // Use the real runner PID so the service's selfPid guard fires. + const row = makeRow({ pid: process.pid, startedAtUnixMs: 1, commandName: "MoStats" }); + const killSpy = vi.spyOn(process, "kill").mockImplementation(() => true); + const service = new ProcessActionService(() => makeSnapshot([row]), () => null); + const result = await service.runAction({ action: QUIT, target: makeTarget(process.pid, 1) }); + expect(result.outcome).toBe(Outcome.OUTCOME_NOT_ALLOWED); + expect(killSpy).not.toHaveBeenCalled(); + }); +}); diff --git a/tests/unit/process-detail.test.ts b/tests/unit/process-detail.test.ts new file mode 100644 index 0000000..30fc397 --- /dev/null +++ b/tests/unit/process-detail.test.ts @@ -0,0 +1,177 @@ +import { describe, expect, it } from "vitest"; +import { FieldStatus } from "@/gen/process_explorer"; +import { findGroupByKey, singleProcessGroup, type ProcessGroup } from "@/domain/process-list"; +import { buildProcessDetail } from "@/domain/process-detail"; +import { makeRow, makeSnapshot } from "../helpers/process-fixtures"; +import type { ProcessRow } from "@/gen/process_explorer"; + +const MB = 1024 * 1024; +const SEC = 1_000_000_000; + +/** Resolves a group by key from synthetic rows, asserting it exists. */ +function groupOf(rows: ProcessRow[], key: string): ProcessGroup { + const group = findGroupByKey(makeSnapshot(rows), "cpu", key); + if (group === undefined) { + throw new Error(`fixture group did not resolve: ${key}`); + } + return group; +} + +/** Builds a Chrome-like multi-process group through the real projection. */ +function chromeGroup(): ProcessGroup { + const rows = [ + makeRow({ + pid: 100, + localizedName: "Chrome", + bundlePath: "/Applications/Chrome.app", + bundleName: "Chrome", + bundleIdentifier: "com.google.Chrome", + executablePath: "/Applications/Chrome.app/Contents/MacOS/Chrome", + commandLine: ["/Applications/Chrome.app/Contents/MacOS/Chrome"], + parentPid: 1, + startedAtUnixMs: 1000, + cpuPercent: 4, + footprintBytes: 300 * MB, + threadCount: 30, + cpuTimeNanos: 10 * SEC, + uid: 501, + userName: "tester", + }), + makeRow({ + pid: 200, + executableName: "Chrome Helper", + bundlePath: "/Applications/Chrome.app", + cpuPercent: 8, + footprintBytes: 150 * MB, + threadCount: 12, + cpuTimeNanos: 5 * SEC, + uid: 501, + }), + ]; + return groupOf(rows, "app:/Applications/Chrome.app"); +} + +describe("buildProcessDetail - identity from representative", () => { + it("takes name/PID/bundle id from the lowest-PID representative", () => { + const detail = buildProcessDetail(chromeGroup(), "cpu"); + expect(detail.name).toBe("Chrome"); + expect(detail.pid).toBe(100); + expect(detail.bundleIdentifier).toBe("com.google.Chrome"); + expect(detail.parent).toEqual({ available: true, pid: 1 }); + expect(detail.startedAt).toBe("ok"); + expect(detail.startedAtUnixMs).toBe(1000); + expect(detail.path).toBe("ok"); + expect(detail.pathText).toBe("/Applications/Chrome.app/Contents/MacOS/Chrome"); + expect(detail.commandLine.state).toBe("ok"); + }); +}); + +describe("buildProcessDetail - member ranking", () => { + it("ranks the displayed members by the active metric (desc)", () => { + const detail = buildProcessDetail(chromeGroup(), "cpu"); + expect(detail.memberCount).toBe(2); + // Helper (8%) outranks the main process (4%) in the displayed member list, + // even though the main process stays the representative for the header. + expect(detail.members.map((m) => m.pid)).toEqual([200, 100]); + }); + + it("re-ranks members when the sort switches to memory", () => { + const detail = buildProcessDetail(chromeGroup(), "memory"); + // Main process has more memory (300 MB) than the helper (150 MB). + expect(detail.members.map((m) => m.pid)).toEqual([100, 200]); + }); + + it("ties break by PID for equal-value members", () => { + const rows = [ + makeRow({ pid: 30, bundlePath: "/Applications/App.app", bundleName: "App", cpuPercent: 0 }), + makeRow({ pid: 10, bundlePath: "/Applications/App.app", cpuPercent: 0 }), + makeRow({ pid: 20, bundlePath: "/Applications/App.app", cpuPercent: 0 }), + ]; + const group = groupOf(rows, "app:/Applications/App.app"); + const detail = buildProcessDetail(group, "cpu"); + expect(detail.members.map((m) => m.pid)).toEqual([10, 20, 30]); + }); +}); + +describe("buildProcessDetail - totals", () => { + it("sums the selected metric across members (CPU)", () => { + const detail = buildProcessDetail(chromeGroup(), "cpu"); + expect(detail.totalSort).toBe("cpu"); + expect(detail.total.state).toBe("ok"); + // 4% + 8% = 12%, detail precision (two decimals). + expect(detail.total.text).toBe("12.00%"); + }); + + it("sums the selected metric across members (memory)", () => { + const detail = buildProcessDetail(chromeGroup(), "memory"); + expect(detail.totalSort).toBe("memory"); + // 300 MB + 150 MB = 450 MB, detail precision (one extra decimal). + expect(detail.total.text).toBe("450.0 MB"); + }); + + it("sums thread count and CPU time across members", () => { + const detail = buildProcessDetail(chromeGroup(), "cpu"); + expect(detail.threadCount).toEqual({ state: "ok", text: "42" }); // 30 + 12 + expect(detail.cpuTime).toEqual({ state: "ok", text: "15.00s" }); // 10s + 5s + }); + + it("takes the owning user from the representative", () => { + const detail = buildProcessDetail(chromeGroup(), "cpu"); + expect(detail.user).toEqual({ state: "ok", text: "tester" }); + }); +}); + +describe("buildProcessDetail - single process", () => { + it("has no member list and reads its own fields", () => { + const row = makeRow({ + pid: 777, + commandName: "redis-server", + executablePath: "/usr/local/bin/redis-server", + startedAtUnixMs: 50, + cpuPercent: 2.5, + footprintBytes: 20 * MB, + uid: 0, + userName: "root", + }); + const detail = buildProcessDetail(singleProcessGroup(row, "cpu"), "cpu"); + expect(detail.memberCount).toBe(1); + expect(detail.members).toHaveLength(0); + expect(detail.name).toBe("redis-server"); + expect(detail.total.text).toBe("2.50%"); + expect(detail.user.text).toBe("root"); + }); +}); + +describe("buildProcessDetail - availability", () => { + it("marks missing started-at / path / command line honestly", () => { + const row = makeRow({ pid: 5, commandName: "daemon" }); + const detail = buildProcessDetail(singleProcessGroup(row, "cpu"), "cpu"); + // No start time given -> identity startedAtStatus defaults to UNKNOWN -> pending. + expect(detail.startedAt).toBe("pending"); + // No path / command line -> pending (proto-default UNKNOWN distinguished from unavailable). + expect(detail.path).toBe("pending"); + expect(detail.commandLine.state).toBe("pending"); + expect(detail.parent.available).toBe(false); + }); + + it("distinguishes permission-denied command line as unavailable, not pending", () => { + const row = makeRow({ pid: 5, commandName: "secure", commandLineStatus: FieldStatus.FIELD_STATUS_PERMISSION_DENIED }); + const detail = buildProcessDetail(singleProcessGroup(row, "cpu"), "cpu"); + expect(detail.commandLine.state).toBe("unavailable"); + }); + + it("reports an unreadable user/thread/cpu-time stat as unavailable", () => { + const row = makeRow({ pid: 5, commandName: "protected" }); + const detail = buildProcessDetail(singleProcessGroup(row, "cpu"), "cpu"); + // No uid/threads/cpuTime fields at all -> pending (still being determined). + expect(detail.user.state).toBe("pending"); + expect(detail.threadCount.state).toBe("pending"); + expect(detail.cpuTime.state).toBe("pending"); + }); + + it("falls back to uid N when the user name is empty", () => { + const row = makeRow({ pid: 5, commandName: "x", uid: 501, userName: "" }); + const detail = buildProcessDetail(singleProcessGroup(row, "cpu"), "cpu"); + expect(detail.user).toEqual({ state: "ok", text: "uid 501" }); + }); +}); diff --git a/tests/unit/process-list.test.ts b/tests/unit/process-list.test.ts new file mode 100644 index 0000000..596eb33 --- /dev/null +++ b/tests/unit/process-list.test.ts @@ -0,0 +1,287 @@ +import { describe, expect, it } from "vitest"; +import { FieldStatus } from "@/gen/process_explorer"; +import { + cellState, + DISPLAY_LIMIT, + findGroupByKey, + isPending, + okString, + projectProcessList, + resolveSelection, + rowCpu, + rowDisplayName, + rowMemory, + rowMetric, + rowPid, + singleProcessGroup, +} from "@/domain/process-list"; +import { makeRow, makeSnapshot } from "../helpers/process-fixtures"; + +const MB = 1024 * 1024; + +describe("row readers", () => { + it("okString reads a value only when OK and non-empty", () => { + expect(okString({ status: FieldStatus.FIELD_STATUS_OK, value: "x" })).toBe("x"); + expect(okString({ status: FieldStatus.FIELD_STATUS_OK, value: "" })).toBeUndefined(); + expect(okString({ status: FieldStatus.FIELD_STATUS_UNAVAILABLE, value: "x" })).toBeUndefined(); + expect(okString(undefined)).toBeUndefined(); + }); + + it("rowDisplayName prefers app name, then exec, then command, then PID", () => { + expect(rowDisplayName(makeRow({ pid: 5, localizedName: "Safari", executableName: "Safari" }))).toBe("Safari"); + expect(rowDisplayName(makeRow({ pid: 5, executableName: "node" }))).toBe("node"); + expect(rowDisplayName(makeRow({ pid: 5, commandName: "zsh" }))).toBe("zsh"); + expect(rowDisplayName(makeRow({ pid: 42 }))).toBe("PID 42"); + }); + + it("isPending is true only for the proto-default UNKNOWN", () => { + expect(isPending(FieldStatus.FIELD_STATUS_UNKNOWN)).toBe(true); + expect(isPending(FieldStatus.FIELD_STATUS_OK)).toBe(false); + expect(isPending(FieldStatus.FIELD_STATUS_UNAVAILABLE)).toBe(false); + }); + + it("rowCpu distinguishes ok / pending (first sample) / unavailable", () => { + expect(rowCpu(makeRow({ cpuPercent: 12.5 }))).toEqual({ value: 12.5, pending: false }); + // UNKNOWN CPU (first-sample delta) is pending, not unavailable. + expect(rowCpu(makeRow({ cpuStatus: FieldStatus.FIELD_STATUS_UNKNOWN }))).toEqual({ pending: true }); + // A row with no cpu field at all is pending. + expect(rowCpu(makeRow({}))).toEqual({ pending: true }); + // Tried-and-unavailable is not pending. + expect(rowCpu(makeRow({ cpuStatus: FieldStatus.FIELD_STATUS_UNAVAILABLE }))).toEqual({ pending: false }); + }); + + it("rowMemory prefers footprint, falls back to resident", () => { + expect(rowMemory(makeRow({ footprintBytes: 100 * MB })).value).toBe(100 * MB); + expect(rowMemory(makeRow({ residentBytes: 80 * MB })).value).toBe(80 * MB); + // Footprint present but not OK -> resident fallback wins. + const row = makeRow({ residentBytes: 80 * MB }); + expect(rowMemory(row).value).toBe(80 * MB); + }); + + it("rowMetric follows the active sort", () => { + const row = makeRow({ cpuPercent: 5, footprintBytes: 200 * MB }); + expect(rowMetric(row, "cpu").value).toBe(5); + expect(rowMetric(row, "memory").value).toBe(200 * MB); + }); + + it("cellState maps a cell to ok / pending / unavailable", () => { + expect(cellState({ value: 1, pending: false })).toBe("ok"); + expect(cellState({ pending: true })).toBe("pending"); + expect(cellState({ pending: false })).toBe("unavailable"); + }); +}); + +describe("projectProcessList - grouping", () => { + it("groups an app's processes by bundle path into one row with a +N badge", () => { + const rows = [ + makeRow({ pid: 100, localizedName: "Chrome", bundlePath: "/Applications/Chrome.app", bundleName: "Chrome", cpuPercent: 4 }), + makeRow({ pid: 200, executableName: "Chrome Helper", bundlePath: "/Applications/Chrome.app", cpuPercent: 3 }), + makeRow({ pid: 300, executableName: "Chrome Helper", bundlePath: "/Applications/Chrome.app", cpuPercent: 2 }), + ]; + const { groups } = projectProcessList(makeSnapshot(rows), "cpu", ""); + expect(groups).toHaveLength(1); + const chrome = groups[0]; + expect(chrome.name).toBe("Chrome"); + expect(chrome.memberCount).toBe(3); + expect(chrome.childCount).toBe(2); + // Representative is the lowest-PID member (the main process), not the busiest. + expect(chrome.pid).toBe(100); + // Summed CPU across members. + expect(chrome.metricState).toBe("ok"); + expect(chrome.metricText).toBe("9.0%"); + expect(chrome.sortValue).toBeCloseTo(9); + }); + + it("groups by bundle identifier when there is no bundle path", () => { + const rows = [ + makeRow({ pid: 10, bundleIdentifier: "com.example.App", footprintBytes: 50 * MB }), + makeRow({ pid: 11, bundleIdentifier: "com.example.App", footprintBytes: 30 * MB }), + ]; + const { groups } = projectProcessList(makeSnapshot(rows), "memory", ""); + expect(groups).toHaveLength(1); + expect(groups[0].memberCount).toBe(2); + }); + + it("keeps non-app processes (no bundle) as separate singleton rows", () => { + const rows = [ + makeRow({ pid: 1, commandName: "node", startedAtUnixMs: 1 }), + makeRow({ pid: 2, commandName: "node", startedAtUnixMs: 2 }), + ]; + const { groups } = projectProcessList(makeSnapshot(rows), "cpu", ""); + // Two unrelated "node" CLIs are NOT merged into one misleading row. + expect(groups).toHaveLength(2); + expect(groups.every((g) => g.memberCount === 1)).toBe(true); + }); +}); + +describe("projectProcessList - sorting", () => { + it("ranks groups by summed metric descending", () => { + const rows = [ + makeRow({ pid: 1, commandName: "low", startedAtUnixMs: 1, cpuPercent: 1 }), + makeRow({ pid: 2, commandName: "high", startedAtUnixMs: 2, cpuPercent: 90 }), + makeRow({ pid: 3, commandName: "mid", startedAtUnixMs: 3, cpuPercent: 40 }), + ]; + const { groups } = projectProcessList(makeSnapshot(rows), "cpu", ""); + expect(groups.map((g) => g.name)).toEqual(["high", "mid", "low"]); + }); + + it("re-ranks when the sort switches from cpu to memory", () => { + const rows = [ + makeRow({ pid: 1, commandName: "cpuHog", startedAtUnixMs: 1, cpuPercent: 80, footprintBytes: 10 * MB }), + makeRow({ pid: 2, commandName: "ramHog", startedAtUnixMs: 2, cpuPercent: 5, footprintBytes: 900 * MB }), + ]; + expect(projectProcessList(makeSnapshot(rows), "cpu", "").groups[0].name).toBe("cpuHog"); + expect(projectProcessList(makeSnapshot(rows), "memory", "").groups[0].name).toBe("ramHog"); + }); + + it("preserves snapshot order on a cold start (all pending, no value)", () => { + // Every row's CPU is UNKNOWN (first sample): sortValue 0 for all, so the + // list must keep insertion order rather than snapping to alphabetical. + const rows = [ + makeRow({ pid: 1, commandName: "zeta", startedAtUnixMs: 1, cpuStatus: FieldStatus.FIELD_STATUS_UNKNOWN }), + makeRow({ pid: 2, commandName: "alpha", startedAtUnixMs: 2, cpuStatus: FieldStatus.FIELD_STATUS_UNKNOWN }), + ]; + const { groups } = projectProcessList(makeSnapshot(rows), "cpu", ""); + expect(groups.map((g) => g.name)).toEqual(["zeta", "alpha"]); + expect(groups.every((g) => g.metricState === "pending")).toBe(true); + }); +}); + +describe("projectProcessList - search", () => { + const rows = [ + makeRow({ + pid: 100, + localizedName: "Chrome", + bundlePath: "/Applications/Chrome.app", + bundleName: "Chrome", + bundleIdentifier: "com.google.Chrome", + cpuPercent: 4, + }), + makeRow({ + pid: 200, + executableName: "Chrome Helper", + bundlePath: "/Applications/Chrome.app", + executablePath: "/Applications/Chrome.app/Contents/Helper", + commandLine: ["/helper", "--type=renderer"], + cpuPercent: 3, + }), + makeRow({ pid: 900, commandName: "postgres", startedAtUnixMs: 9, executablePath: "/usr/local/bin/postgres" }), + ]; + + it("matches an app group by name and keeps it grouped", () => { + const { groups } = projectProcessList(makeSnapshot(rows), "cpu", "chrome"); + expect(groups).toHaveLength(1); + expect(groups[0].memberCount).toBe(2); + }); + + it("matches by bundle identifier", () => { + const { groups } = projectProcessList(makeSnapshot(rows), "cpu", "com.google.chrome"); + expect(groups).toHaveLength(1); + expect(groups[0].name).toBe("Chrome"); + }); + + it("matches by PID", () => { + const { groups } = projectProcessList(makeSnapshot(rows), "cpu", "900"); + expect(groups).toHaveLength(1); + expect(groups[0].name).toBe("postgres"); + }); + + it("matches by executable path", () => { + const { groups } = projectProcessList(makeSnapshot(rows), "cpu", "/usr/local/bin/postgres"); + expect(groups.map((g) => g.name)).toContain("postgres"); + }); + + it("matches a helper by command-line args and returns it as its own row", () => { + // The app group does not match "--type=renderer" by name, so only the + // matching helper is returned (as a singleton), not the whole Chrome group. + const { groups } = projectProcessList(makeSnapshot(rows), "cpu", "--type=renderer"); + expect(groups).toHaveLength(1); + expect(groups[0].memberCount).toBe(1); + expect(groups[0].pid).toBe(200); + }); + + it("returns no groups when nothing matches", () => { + expect(projectProcessList(makeSnapshot(rows), "cpu", "nonexistent").groups).toHaveLength(0); + }); +}); + +describe("projectProcessList - display cap", () => { + it("caps the list at DISPLAY_LIMIT", () => { + const rows = Array.from({ length: DISPLAY_LIMIT + 25 }, (_, i) => + makeRow({ pid: i + 1, commandName: `proc${i}`, startedAtUnixMs: i + 1, cpuPercent: i + 1 }), + ); + const { groups } = projectProcessList(makeSnapshot(rows), "cpu", ""); + expect(groups).toHaveLength(DISPLAY_LIMIT); + // The cap keeps the highest-ranked rows (largest cpu first). + expect(groups[0].sortValue).toBe(rows.length); + }); +}); + +describe("findGroupByKey", () => { + it("re-resolves a group by its key, uncapped", () => { + const rows = [ + makeRow({ pid: 100, bundlePath: "/Applications/Chrome.app", bundleName: "Chrome", cpuPercent: 4 }), + makeRow({ pid: 200, bundlePath: "/Applications/Chrome.app", cpuPercent: 3 }), + ]; + const group = findGroupByKey(makeSnapshot(rows), "cpu", "app:/Applications/Chrome.app"); + expect(group).toBeDefined(); + expect(group?.memberCount).toBe(2); + expect(group?.pid).toBe(100); + }); + + it("returns undefined when the group is gone", () => { + const rows = [makeRow({ pid: 1, commandName: "node", startedAtUnixMs: 1 })]; + expect(findGroupByKey(makeSnapshot(rows), "cpu", "app:/nope.app")).toBeUndefined(); + }); +}); + +describe("resolveSelection", () => { + it("resolves a group selection by key", () => { + // A real multi-process group shows its owning .app name (a single process + // would show its own name instead - covered by the grouping suite). + const rows = [ + makeRow({ pid: 10, bundlePath: "/Applications/A.app", bundleName: "A" }), + makeRow({ pid: 11, bundlePath: "/Applications/A.app", bundleName: "A" }), + ]; + const group = resolveSelection(makeSnapshot(rows), "cpu", { kind: "group", key: "app:/Applications/A.app" }); + expect(group?.name).toBe("A"); + expect(group?.memberCount).toBe(2); + }); + + it("resolves a process selection by exact (pid, started_at)", () => { + const rows = [makeRow({ pid: 50, commandName: "worker", startedAtUnixMs: 1234 })]; + const group = resolveSelection(makeSnapshot(rows), "cpu", { kind: "process", pid: 50, startedAtUnixMs: 1234 }); + expect(group?.memberCount).toBe(1); + expect(group?.pid).toBe(50); + }); + + it("returns undefined for a reused PID (start time differs)", () => { + // Same PID, different start time: the originally-selected process exited and + // its PID was reused, so it must NOT resolve to the new process. + const rows = [makeRow({ pid: 50, commandName: "other", startedAtUnixMs: 9999 })]; + const group = resolveSelection(makeSnapshot(rows), "cpu", { kind: "process", pid: 50, startedAtUnixMs: 1234 }); + expect(group).toBeUndefined(); + }); + + it("returns undefined when the selected PID is gone entirely", () => { + const rows = [makeRow({ pid: 7, commandName: "alive", startedAtUnixMs: 1 })]; + expect(resolveSelection(makeSnapshot(rows), "cpu", { kind: "process", pid: 50, startedAtUnixMs: 1234 })).toBeUndefined(); + }); + + it("falls back to PID alone when the selection carried no start time", () => { + const rows = [makeRow({ pid: 50, commandName: "worker", startedAtUnixMs: 1234 })]; + const group = resolveSelection(makeSnapshot(rows), "cpu", { kind: "process", pid: 50 }); + expect(group?.pid).toBe(50); + }); +}); + +describe("singleProcessGroup", () => { + it("wraps one row as a one-member group targeting that process", () => { + const row = makeRow({ pid: 321, commandName: "tool", startedAtUnixMs: 5, cpuPercent: 7 }); + const group = singleProcessGroup(row, "cpu"); + expect(group.memberCount).toBe(1); + expect(group.childCount).toBe(0); + expect(group.openSelection).toEqual({ kind: "process", pid: 321, startedAtUnixMs: 5 }); + expect(rowPid(row)).toBe(321); + }); +}); diff --git a/tsconfig.json b/tsconfig.json index 1528804..bcf2fb5 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -14,6 +14,9 @@ "@/*": [ "./src/renderer/*", "./src/main/*" + ], + "@main/*": [ + "./src/main/*" ] }, "moduleResolution": "bundler", @@ -30,7 +33,8 @@ }, "include": [ "src/main", - "src/renderer" + "src/renderer", + "tests" ], "references": [ { diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..5ab866b --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,22 @@ +import { resolve } from "node:path"; +import { fileURLToPath } from "node:url"; +import { defineConfig } from "vitest/config"; + +const here = resolve(fileURLToPath(import.meta.url), ".."); + +/** + * Vitest config for unit tests. + */ +export default defineConfig({ + resolve: { + alias: { + "@/": `${resolve(here, "src/renderer")}/`, + "@main/": `${resolve(here, "src/main")}/`, + }, + }, + test: { + environment: "node", + include: ["tests/**/*.test.ts"], + reporters: ["default"], + }, +}); From 8964ad23ac8fe1ad3c997afc469d173977dbd010 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Sun, 7 Jun 2026 22:18:36 +0300 Subject: [PATCH 092/169] Add tests for ProcessSnapshotService --- tests/unit/process-snapshot-service.test.ts | 434 ++++++++++++++++++++ 1 file changed, 434 insertions(+) create mode 100644 tests/unit/process-snapshot-service.test.ts diff --git a/tests/unit/process-snapshot-service.test.ts b/tests/unit/process-snapshot-service.test.ts new file mode 100644 index 0000000..fb8b192 --- /dev/null +++ b/tests/unit/process-snapshot-service.test.ts @@ -0,0 +1,434 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; + +const h = vi.hoisted(() => { + const revisionHandle = { + StreamRevisions: vi.fn(), + dispose: vi.fn(), + }; + + return { + collect: vi.fn(), + registerService: vi.fn(() => revisionHandle), + revisionHandle, + cpus: vi.fn(() => [ + { model: "Fake", speed: 0, times: { user: 0, nice: 0, sys: 0, idle: 0, irq: 0 } }, + { model: "Fake", speed: 0, times: { user: 0, nice: 0, sys: 0, idle: 0, irq: 0 } }, + { model: "Fake", speed: 0, times: { user: 0, nice: 0, sys: 0, idle: 0, irq: 0 } }, + { model: "Fake", speed: 0, times: { user: 0, nice: 0, sys: 0, idle: 0, irq: 0 } }, + ]), + }; +}); + +vi.mock("@mobrowser/api", () => ({ + ipc: { registerService: h.registerService }, +})); +vi.mock("@main/gen/native", () => ({ + native: { + processCollector: { CollectProcesses: h.collect }, + }, +})); +vi.mock("node:os", () => ({ cpus: h.cpus })); + +import { + FieldStatus, + SnapshotStatus, + SnapshotWarning_Code, +} from "@main/gen/process_explorer"; +import { + NativeFieldStatus, + type CollectProcessesResponse, + type NativeAppMetadata, + type NativeCommandLine, + type NativeImage, + type NativeInt64, + type NativeProcessCpu, + type NativeProcessMemory, + type NativeProcessRecord, + type NativeProcessUser, + type NativeString, +} from "@main/gen/native/process_collector"; +import { ProcessSnapshotService } from "@main/processes/process-snapshot-service"; + +const OK = NativeFieldStatus.NATIVE_FIELD_STATUS_AVAILABLE; +const DENIED = NativeFieldStatus.NATIVE_FIELD_STATUS_PERMISSION_DENIED; +const UNAVAILABLE = NativeFieldStatus.NATIVE_FIELD_STATUS_UNAVAILABLE; + +let clockMs = 0; +let nowSpy: ReturnType; +let services: ProcessSnapshotService[] = []; + +beforeEach(() => { + clockMs = 0; + h.collect.mockReset(); + h.registerService.mockClear(); + h.revisionHandle.StreamRevisions.mockClear(); + h.revisionHandle.dispose.mockClear(); + nowSpy = vi.spyOn(performance, "now").mockImplementation(() => clockMs); +}); + +afterEach(() => { + for (const service of services) { + service.dispose(); + } + services = []; + nowSpy.mockRestore(); +}); + +function makeService(): ProcessSnapshotService { + const service = new ProcessSnapshotService(); + services.push(service); + return service; +} + +function nativeString(value: string, status = OK): NativeString { + return { status, value: status === OK ? value : "" }; +} + +function nativeInt(value: number, status = OK): NativeInt64 { + return { status, value: status === OK ? value : 0 }; +} + +function nativeImage(value: string, status = OK): NativeImage { + return { status, pngBase64: status === OK ? value : "" }; +} + +interface RecordOptions { + pid?: number; + startedAtUnixMs?: number; + startedAtStatus?: NativeFieldStatus; + parentStatus?: NativeFieldStatus; + parentPid?: number; + commandName?: string; + executableName?: string; + executablePath?: string; + executablePathStatus?: NativeFieldStatus; + bundleIdentifier?: string; + localizedName?: string; + iconPngBase64?: string; + bundlePath?: string; + bundleName?: string; + commandLine?: string[]; + commandLineStatus?: NativeFieldStatus; + footprintBytes?: number; + footprintStatus?: NativeFieldStatus; + residentBytes?: number; + residentStatus?: NativeFieldStatus; + cpuTimeNs?: number; + cpuStatus?: NativeFieldStatus; + threadCount?: number; + threadStatus?: NativeFieldStatus; + uid?: number; + userName?: string; + userStatus?: NativeFieldStatus; +} + +function appMetadata(options: RecordOptions): NativeAppMetadata { + return { + bundleIdentifier: nativeString(options.bundleIdentifier ?? "com.example.FakeApp"), + localizedName: nativeString(options.localizedName ?? "Fake App"), + iconPng: nativeImage(options.iconPngBase64 ?? "fake-icon-png"), + bundle: { + path: nativeString(options.bundlePath ?? "/Applications/FakeApp.app"), + name: nativeString(options.bundleName ?? "Fake App"), + }, + }; +} + +function commandLine(options: RecordOptions): NativeCommandLine { + const status = options.commandLineStatus ?? OK; + return { + status, + arguments: status === OK ? options.commandLine ?? ["fake-app", "--fake-flag"] : [], + }; +} + +function memory(options: RecordOptions): NativeProcessMemory { + return { + physicalFootprintBytes: nativeInt( + options.footprintBytes ?? 512, + options.footprintStatus ?? OK, + ), + residentBytes: nativeInt( + options.residentBytes ?? 256, + options.residentStatus ?? OK, + ), + }; +} + +function cpu(options: RecordOptions): NativeProcessCpu { + return { + cumulativeCpuTimeNs: nativeInt( + options.cpuTimeNs ?? 1_000_000_000, + options.cpuStatus ?? OK, + ), + }; +} + +function user(options: RecordOptions): NativeProcessUser { + const status = options.userStatus ?? OK; + return { + status, + uid: status === OK ? options.uid ?? 501 : 0, + name: status === OK ? options.userName ?? "tester" : "", + }; +} + +function record(options: RecordOptions = {}): NativeProcessRecord { + return { + identity: { + pid: options.pid ?? 100, + startedAtStatus: options.startedAtStatus ?? OK, + startedAtUnixMs: options.startedAtUnixMs ?? 1_000, + }, + parentStatus: options.parentStatus ?? OK, + parentPid: options.parentPid ?? 1, + commandName: nativeString(options.commandName ?? "fake-app"), + executableName: nativeString(options.executableName ?? "Fake App"), + executablePath: nativeString( + options.executablePath ?? "/Applications/FakeApp.app/Contents/MacOS/Fake App", + options.executablePathStatus ?? OK, + ), + app: appMetadata(options), + commandLine: commandLine(options), + memory: memory(options), + cpu: cpu(options), + threadCount: nativeInt(options.threadCount ?? 8, options.threadStatus ?? OK), + user: user(options), + }; +} + +function response(records: NativeProcessRecord[], available = true): CollectProcessesResponse { + return { + available, + collectedAtUnixMs: 0, + records, + warnings: [], + }; +} + +async function collectByActivation( + service: ProcessSnapshotService, + next: CollectProcessesResponse, +): Promise { + const callIndex = h.collect.mock.calls.length; + h.collect.mockResolvedValueOnce(next); + + service.setActive(true); + expect(h.collect).toHaveBeenCalledTimes(callIndex + 1); + + const result = h.collect.mock.results[callIndex]; + if (result.type !== "return") { + throw new Error("collector fixture did not return a promise"); + } + await result.value; + await Promise.resolve(); + service.setActive(false); +} + +async function collectRejectedByActivation( + service: ProcessSnapshotService, + error: Error, +): Promise { + const callIndex = h.collect.mock.calls.length; + h.collect.mockRejectedValueOnce(error); + + service.setActive(true); + expect(h.collect).toHaveBeenCalledTimes(callIndex + 1); + + const result = h.collect.mock.results[callIndex]; + if (result.type !== "return") { + throw new Error("collector fixture did not return a promise"); + } + await result.value.catch(() => undefined); + await Promise.resolve(); + service.setActive(false); +} + +describe("ProcessSnapshotService", () => { + it("maps native records and derives per-process CPU from a stable second sample", async () => { + const service = makeService(); + + clockMs = 1_000; + await collectByActivation(service, response([ + record({ + pid: 123, + startedAtUnixMs: 10_000, + parentPid: 1, + commandName: "fake-browser", + executableName: "Fake Browser", + executablePath: "/Applications/FakeBrowser.app/Contents/MacOS/Fake Browser", + bundleIdentifier: "com.example.FakeBrowser", + localizedName: "Fake Browser", + bundlePath: "/Applications/FakeBrowser.app", + bundleName: "Fake Browser", + commandLine: ["fake-browser", "--renderer-fixture"], + footprintBytes: 2_048, + residentBytes: 1_024, + cpuTimeNs: 1_000_000_000, + threadCount: 12, + uid: 502, + userName: "fixtureuser", + }), + ])); + + let snapshot = service.getSnapshot(); + expect(snapshot.status).toBe(SnapshotStatus.SNAPSHOT_STATUS_OK); + expect(snapshot.revision).toBe(1); + expect(snapshot.warnings).toEqual([]); + expect(snapshot.processes).toHaveLength(1); + + let row = snapshot.processes[0]; + expect(row.identity).toEqual({ + pid: 123, + startedAtStatus: FieldStatus.FIELD_STATUS_OK, + startedAtUnixMs: 10_000, + }); + expect(row.parentStatus).toBe(FieldStatus.FIELD_STATUS_OK); + expect(row.parentPid).toBe(1); + expect(row.commandName?.value).toBe("fake-browser"); + expect(row.executablePath?.value).toBe("/Applications/FakeBrowser.app/Contents/MacOS/Fake Browser"); + expect(row.app?.bundleIdentifier?.value).toBe("com.example.FakeBrowser"); + expect(row.app?.localizedName?.value).toBe("Fake Browser"); + expect(row.app?.bundle?.path?.value).toBe("/Applications/FakeBrowser.app"); + expect(row.commandLine).toEqual({ + status: FieldStatus.FIELD_STATUS_OK, + arguments: ["fake-browser", "--renderer-fixture"], + }); + expect(row.memory?.physicalFootprintBytes).toEqual({ + status: FieldStatus.FIELD_STATUS_OK, + value: 2_048, + }); + expect(row.cpu).toEqual({ + status: FieldStatus.FIELD_STATUS_UNKNOWN, + usagePercent: 0, + }); + expect(row.cpuTime).toEqual({ + status: FieldStatus.FIELD_STATUS_OK, + nanos: 1_000_000_000, + }); + expect(row.threadCount).toEqual({ + status: FieldStatus.FIELD_STATUS_OK, + value: 12, + }); + expect(row.user).toEqual({ + status: FieldStatus.FIELD_STATUS_OK, + uid: 502, + name: "fixtureuser", + }); + expect(h.revisionHandle.StreamRevisions).toHaveBeenLastCalledWith( + expect.objectContaining({ + revision: 1, + status: SnapshotStatus.SNAPSHOT_STATUS_OK, + }), + ); + + clockMs = 3_000; + await collectByActivation(service, response([ + record({ + pid: 123, + startedAtUnixMs: 10_000, + cpuTimeNs: 3_000_000_000, + }), + ])); + + snapshot = service.getSnapshot(); + row = snapshot.processes[0]; + expect(snapshot.revision).toBe(2); + expect(row.cpu?.status).toBe(FieldStatus.FIELD_STATUS_OK); + expect(row.cpu?.usagePercent).toBeCloseTo(100); + expect(row.cpuTime).toEqual({ + status: FieldStatus.FIELD_STATUS_OK, + nanos: 3_000_000_000, + }); + expect(h.revisionHandle.StreamRevisions).toHaveBeenLastCalledWith( + expect.objectContaining({ + revision: 2, + status: SnapshotStatus.SNAPSHOT_STATUS_OK, + }), + ); + }); + + it("keeps CPU pending for a reused PID with a different start time", async () => { + const service = makeService(); + + clockMs = 1_000; + await collectByActivation(service, response([ + record({ pid: 55, startedAtUnixMs: 1_000, cpuTimeNs: 1_000_000_000 }), + ])); + + clockMs = 3_000; + await collectByActivation(service, response([ + record({ pid: 55, startedAtUnixMs: 9_000, cpuTimeNs: 5_000_000_000 }), + ])); + + const row = service.getSnapshot().processes[0]; + expect(row.identity?.pid).toBe(55); + expect(row.identity?.startedAtUnixMs).toBe(9_000); + expect(row.cpu).toEqual({ + status: FieldStatus.FIELD_STATUS_UNKNOWN, + usagePercent: 0, + }); + }); + + it("maps denied fields to explicit statuses and count-only warnings", async () => { + const service = makeService(); + + await collectByActivation(service, response([ + record({ + pid: 80, + executablePathStatus: DENIED, + commandLineStatus: DENIED, + footprintStatus: DENIED, + residentStatus: UNAVAILABLE, + }), + ])); + + const snapshot = service.getSnapshot(); + const row = snapshot.processes[0]; + expect(snapshot.status).toBe(SnapshotStatus.SNAPSHOT_STATUS_PERMISSION_LIMITED); + expect(snapshot.warnings).toEqual([ + { + code: SnapshotWarning_Code.CODE_PERMISSION_DENIED, + affectedCount: 1, + }, + { + code: SnapshotWarning_Code.CODE_COMMAND_LINE_PARTIAL, + affectedCount: 1, + }, + ]); + expect(row.executablePath).toEqual({ + status: FieldStatus.FIELD_STATUS_PERMISSION_DENIED, + value: "", + }); + expect(row.commandLine).toEqual({ + status: FieldStatus.FIELD_STATUS_PERMISSION_DENIED, + arguments: [], + }); + expect(row.memory?.physicalFootprintBytes).toEqual({ + status: FieldStatus.FIELD_STATUS_PERMISSION_DENIED, + value: 0, + }); + expect(row.memory?.residentBytes).toEqual({ + status: FieldStatus.FIELD_STATUS_UNAVAILABLE, + value: 0, + }); + }); + + it("degrades a failed native collection to an unavailable snapshot and revision", async () => { + const service = makeService(); + + await collectRejectedByActivation(service, new Error("native fixture failed")); + + const snapshot = service.getSnapshot(); + expect(snapshot.status).toBe(SnapshotStatus.SNAPSHOT_STATUS_UNAVAILABLE); + expect(snapshot.revision).toBe(1); + expect(snapshot.processes).toEqual([]); + expect(snapshot.warnings).toEqual([]); + expect(h.revisionHandle.StreamRevisions).toHaveBeenLastCalledWith( + expect.objectContaining({ + revision: 1, + status: SnapshotStatus.SNAPSHOT_STATUS_UNAVAILABLE, + }), + ); + }); +}); From ab8f6c01648b6f18d83d7f7caa399e81e6d78ec0 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Mon, 8 Jun 2026 17:52:15 +0300 Subject: [PATCH 093/169] Rework temperature probe implementation --- CMakeLists.txt | 11 +- src/main/metrics/metrics-sampler.ts | 32 +- src/native/main.cc | 19 +- src/native/proto/temperature.proto | 18 +- src/native/temperature/temperature_probe.cc | 588 ++++++++++++++++++++ src/native/temperature/temperature_probe.h | 40 ++ src/native/temperature_probe.cc | 157 ------ src/native/temperature_probe.h | 31 -- tests/unit/metrics-sampler.test.ts | 45 ++ tests/unit/metrics-service.test.ts | 132 +++++ 10 files changed, 852 insertions(+), 221 deletions(-) create mode 100644 src/native/temperature/temperature_probe.cc create mode 100644 src/native/temperature/temperature_probe.h delete mode 100644 src/native/temperature_probe.cc delete mode 100644 src/native/temperature_probe.h create mode 100644 tests/unit/metrics-service.test.ts diff --git a/CMakeLists.txt b/CMakeLists.txt index 44e096f..9a878d9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,8 +16,8 @@ include(${PROJECT_ROOT_DIR}/node_modules/@mobrowser/native/cmake/MoBrowser.cmake # The source files of your app. set(APP_SOURCES src/native/main.cc - src/native/temperature_probe.h - src/native/temperature_probe.cc + src/native/temperature/temperature_probe.h + src/native/temperature/temperature_probe.cc src/native/processes/process_collector.h src/native/processes/process_collector.cc src/native/processes/app_metadata.h @@ -39,9 +39,10 @@ target_include_directories(mobrowser_lib PUBLIC ${protobuf_SOURCE_DIR}/third_party/utf8_range ${absl_SOURCE_DIR}) -# Framework links: IOKit + CoreFoundation for the CPU-temperature HID sensor -# probe, and AppKit for the NSWorkspace GUI-app icon/metadata enrichment in the -# process collector. The network probe uses only libSystem (POSIX). +# Framework links: IOKit + CoreFoundation for the CPU-temperature probe (AppleSMC +# core keys plus the HID CPU-core sensors), and AppKit for the NSWorkspace +# GUI-app icon/metadata enrichment in the process collector. The network probe +# uses only libSystem (POSIX). target_link_libraries(mobrowser_lib PRIVATE "-framework IOKit" "-framework CoreFoundation" diff --git a/src/main/metrics/metrics-sampler.ts b/src/main/metrics/metrics-sampler.ts index 2ad1897..38b16ef 100644 --- a/src/main/metrics/metrics-sampler.ts +++ b/src/main/metrics/metrics-sampler.ts @@ -14,6 +14,10 @@ import { /** Filesystem path of the main system volume on macOS. */ const SYSTEM_VOLUME_PATH = "/"; +/** Temperature values outside this Celsius range are treated as bad sensor data. */ +const MIN_PLAUSIBLE_TEMPERATURE_CELSIUS = 10; +const MAX_PLAUSIBLE_TEMPERATURE_CELSIUS = 120; + /** * Upper bound on a plausible per-interface throughput, in bytes per second * (100 Gbps). A single-tick delta implying more than this is treated as a @@ -239,23 +243,21 @@ export class MetricsSampler { } /** - * Optional CPU temperature from the native HID sensor probe. - * - * The native side returns a temperature only when it can validate a - * trustworthy CPU-cluster sensor (Apple's pACC/eACC core naming) with a - * plausible reading; otherwise it reports `available=false`. macOS has no - * documented public CPU temperature source on Apple Silicon, so `unavailable` - * is an honest, accepted outcome here rather than a guessed value. Any - * native/read error also degrades only this group to `unavailable`. + * Optional CPU temperature from the native sensor probe. * - * Technique reference: exelban/stats `Modules/Sensors/readers.swift` reads the - * same IOKit HID temperature sensors and filters implausible values; the - * sensor-selection and validation are re-implemented in the native probe. + * The native side averages the union of the per-core CPU temperatures from + * two CPU-core sources - AppleSMC core keys (holding the last in-range value + * per core so a parked core's idle floor does not skew the result) and the HID + * CPU-core sensors - and reports `available=false` when neither yields a + * plausible CPU-core reading (there is no die or approximate fallback). macOS + * has no documented public CPU temperature source on Apple Silicon, so + * `unavailable` is an honest, accepted outcome here rather than a guessed + * value. Any native/read error also degrades only this group to `unavailable`. */ private async sampleTemperature(): Promise { try { const result = await native.temperature.ReadCpuTemperature({}); - if (!result.available || !Number.isFinite(result.celsius)) { + if (!result.available || !isPlausibleTemperature(result.celsius)) { return { status: "unavailable", celsius: 0 }; } return { status: "ok", celsius: result.celsius }; @@ -301,6 +303,12 @@ function clampBytes(value: number, totalBytes: number): number { return Math.min(Math.max(0, totalBytes), Math.max(0, value)); } +function isPlausibleTemperature(celsius: number): boolean { + return Number.isFinite(celsius) && + celsius >= MIN_PLAUSIBLE_TEMPERATURE_CELSIUS && + celsius <= MAX_PLAUSIBLE_TEMPERATURE_CELSIUS; +} + /** * Converts a byte delta over an elapsed window into a per-second rate. A * negative delta (counter reset) or a jump above the plausible ceiling is a diff --git a/src/native/main.cc b/src/native/main.cc index ade253b..32cbf26 100644 --- a/src/native/main.cc +++ b/src/native/main.cc @@ -20,7 +20,7 @@ #include "gen/process_collector.rpc.h" #include "gen/temperature.rpc.h" #include "processes/process_collector.h" -#include "temperature_probe.h" +#include "temperature/temperature_probe.h" using google::protobuf::Empty; using mo::rpc::Callback; @@ -275,13 +275,16 @@ class NetworkServiceImpl : public NetworkService { /** * Narrow macOS CPU-temperature probe. * - * Delegates to ReadCpuTemperature(), which reads the private IOKit HID - * temperature sensors and returns a CPU temperature only when it can validate a - * trustworthy CPU-cluster sensor (Apple's pACC/eACC performance/efficiency core - * naming); otherwise it reports available=false. No Node API exposes thermal - * sensors and macOS has no documented public CPU temperature source on Apple - * Silicon, so unavailable is an honest, accepted outcome rather than a guessed - * value. See temperature_probe.cc for the validation rules. + * Delegates to ReadCpuTemperature(), which averages the union of every in-range + * per-core reading from two CPU-core sources (the same sources Stats averages): + * generation-specific AppleSMC core keys (holding the last in-range value per + * core so a parked core's idle floor does not skew the result) and the HID + * CPU-core sensors ("pACC/eACC MTR Temp"). Both measure CPU cores; there is no + * die or approximate fallback, so it reports available=false rather than a + * guessed value when neither source yields a plausible CPU-core reading. No Node + * API exposes thermal sensors and macOS has no documented public CPU temperature + * source on Apple Silicon, so unavailable is an honest, accepted outcome. See + * temperature_probe.cc for the decode and validation rules. */ class TemperatureServiceImpl : public TemperatureService { public: diff --git a/src/native/proto/temperature.proto b/src/native/proto/temperature.proto index ce34e28..62ae432 100644 --- a/src/native/proto/temperature.proto +++ b/src/native/proto/temperature.proto @@ -5,13 +5,15 @@ import "google/protobuf/empty.proto"; // Native CPU temperature probe (main <- native C++). // // No Node API exposes thermal sensors, and macOS has no documented public CPU -// temperature source on Apple Silicon. This probe reads the private IOKit HID -// temperature sensors and reports a CPU temperature only when it can validate a -// trustworthy CPU-cluster sensor by Apple's performance/efficiency core naming -// convention (pACC/eACC). When no such sensor exists, or its readings are -// implausible (common on Apple Silicon, where many machines only expose -// undocumented PMU die sensors), the probe reports available=false and the card -// degrades to an explicit unavailable state rather than showing a guessed value. +// temperature source on Apple Silicon. This probe averages the union of every +// in-range per-core reading from two CPU-core sources (the same sources Stats +// averages for its "Average CPU" value): generation-specific AppleSMC core keys +// (holding the last in-range value per core so a parked core's idle floor does +// not skew the result) and the HID CPU-core sensors ("pACC/eACC MTR Temp", which +// are absent on some machines). Both measure CPU cores; there is no die or +// approximate fallback. When neither source yields a plausible CPU-core reading, +// the probe reports available=false and the card degrades to an explicit +// unavailable state rather than showing a guessed value. // A single CPU temperature reading. Optional by design: temperature is a // best-effort metric because public macOS APIs do not guarantee a stable CPU @@ -20,7 +22,7 @@ message CpuTemperature { // False when no trustworthy CPU sensor could be read; celsius is then 0 and // the sampler degrades only the temperature card to unavailable. bool available = 1; - double celsius = 2; // Average CPU-cluster temperature in degrees Celsius. + double celsius = 2; // Average CPU die temperature in degrees Celsius. } service TemperatureService { diff --git a/src/native/temperature/temperature_probe.cc b/src/native/temperature/temperature_probe.cc new file mode 100644 index 0000000..825b15f --- /dev/null +++ b/src/native/temperature/temperature_probe.cc @@ -0,0 +1,588 @@ +#include "temperature/temperature_probe.h" + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Private IOKit HID symbols. These are not declared in any public SDK header, +// so they are forward-declared here exactly as the upstream research reference +// (exelban/stats Modules/Sensors/bridge.h, in turn based on MenuMeters) does. +// They are read-only sensor queries; the app never controls hardware. If a +// future macOS removes or changes them the probe degrades to unavailable +// (handled below by null/empty checks), never crashing the app. +extern "C" { +typedef struct __IOHIDEvent* IOHIDEventRef; +typedef struct __IOHIDServiceClient* IOHIDServiceClientRef; + +IOHIDEventSystemClientRef IOHIDEventSystemClientCreate(CFAllocatorRef allocator); +void IOHIDEventSystemClientSetMatching(IOHIDEventSystemClientRef client, + CFDictionaryRef match); +CFArrayRef IOHIDEventSystemClientCopyServices(IOHIDEventSystemClientRef client); +IOHIDEventRef IOHIDServiceClientCopyEvent(IOHIDServiceClientRef service, + int64_t type, int32_t options, + int64_t timestamp); +CFTypeRef IOHIDServiceClientCopyProperty(IOHIDServiceClientRef service, + CFStringRef property); +double IOHIDEventGetFloatValue(IOHIDEventRef event, int32_t field); +} + +namespace mostats { + +namespace { + +// Plausible CPU temperature window in Celsius. Readings outside this range are +// rejected. On Apple Silicon a parked CPU core's SMC sensor reads a meaningless +// floor (~4-7 C) until the core wakes, so the low bound is also what +// distinguishes a real core reading from that idle floor. Mirrors the +// exelban/stats CPU guard (Modules/Sensors/readers.swift "fix for m2 broken +// sensors", which rejects < 10 / > 120). +constexpr double kMinPlausibleCelsius = 10.0; +constexpr double kMaxPlausibleCelsius = 120.0; + +bool IsPlausibleTemperature(double celsius) { + return std::isfinite(celsius) && celsius >= kMinPlausibleCelsius && + celsius <= kMaxPlausibleCelsius; +} + +CpuTemperatureReading ReadingFromAverage(double sum, int count) { + CpuTemperatureReading reading; + if (count > 0) { + reading.available = true; + reading.celsius = sum / count; + } + return reading; +} + +// A partial average: the running sum and count of in-range core readings from a +// single source, so multiple core sources can be combined before dividing. +struct TemperatureAccumulator { + double sum = 0.0; + int count = 0; + + void Add(double celsius) { + sum += celsius; + ++count; + } + void Merge(const TemperatureAccumulator& other) { + sum += other.sum; + count += other.count; + } +}; + +// --------------------------------------------------------------------------- +// SMC CPU-core temperature path (primary) +// +// On Apple Silicon the per-core die temperatures are exposed as AppleSMC keys +// whose names differ by chip generation. This is the source Stats averages for +// its "Average CPU" value, so it is the source we mirror. The catch is that a +// parked core's key reads an idle floor (~5 C) rather than its real +// temperature, so a single cold read averages in garbage. We hold the last +// in-range value per key and reuse it while a core is parked - the same +// technique Stats uses to keep the number steady. +// --------------------------------------------------------------------------- + +// AppleSMC user-client RPC selectors and per-call sub-commands. +constexpr uint8_t kSmcKernelIndex = 2; +constexpr uint8_t kSmcCmdReadBytes = 5; +constexpr uint8_t kSmcCmdReadKeyInfo = 9; + +enum class AppleSiliconGeneration { kUnknown, kM1, kM2, kM3, kM4, kM5 }; + +// SMC RPC structs. The kernel expects this exact 80-byte layout (verified by +// sizeof); the fields we do not use are present only to reproduce that layout. +struct SmcKeyDataVers { + uint8_t major = 0; + uint8_t minor = 0; + uint8_t build = 0; + uint8_t reserved = 0; + uint16_t release = 0; +}; + +struct SmcKeyDataLimit { + uint16_t version = 0; + uint16_t length = 0; + uint32_t cpu_plimit = 0; + uint32_t gpu_plimit = 0; + uint32_t mem_plimit = 0; +}; + +struct SmcKeyInfo { + uint32_t data_size = 0; + uint32_t data_type = 0; + uint8_t data_attributes = 0; +}; + +struct SmcKeyData { + uint32_t key = 0; + SmcKeyDataVers vers; + SmcKeyDataLimit limit; + SmcKeyInfo key_info; + uint8_t result = 0; + uint8_t status = 0; + uint8_t data8 = 0; + uint32_t data32 = 0; + uint8_t bytes[32] = {}; +}; + +struct SmcValue { + uint32_t data_size = 0; + uint32_t data_type = 0; + std::array bytes = {}; +}; + +// Per-generation CPU-core temperature keys, copied from the exelban/stats +// research reference (Modules/Sensors/values.swift, the average:true .CPU +// sensors per platform). Performance and efficiency cores both included. +constexpr std::array kM1CpuKeys = { + "Tp09", "Tp0T", "Tp01", "Tp05", "Tp0D", + "Tp0H", "Tp0L", "Tp0P", "Tp0X", "Tp0b", +}; +constexpr std::array kM2CpuKeys = { + "Tp1h", "Tp1t", "Tp1p", "Tp1l", "Tp01", "Tp05", + "Tp09", "Tp0D", "Tp0X", "Tp0b", "Tp0f", "Tp0j", +}; +constexpr std::array kM3CpuKeys = { + "Te05", "Te0L", "Te0P", "Te0S", "Tf04", "Tf09", + "Tf0A", "Tf0B", "Tf0D", "Tf0E", "Tf44", "Tf49", + "Tf4A", "Tf4B", "Tf4D", "Tf4E", +}; +constexpr std::array kM4CpuKeys = { + "Te05", "Te09", "Te0H", "Te0S", "Tp01", "Tp05", + "Tp09", "Tp0D", "Tp0V", "Tp0Y", "Tp0b", "Tp0e", +}; +constexpr std::array kM5CpuKeys = { + "Tp00", "Tp04", "Tp08", "Tp0C", "Tp0G", "Tp0K", + "Tp0O", "Tp0R", "Tp0U", "Tp0X", "Tp0a", "Tp0d", + "Tp0g", "Tp0j", "Tp0m", "Tp0p", "Tp0u", "Tp0y", +}; + +uint32_t FourCharToKey(std::string_view value) { + if (value.size() != 4) { + return 0; + } + uint32_t code = 0; + for (const char character : value) { + code = (code << 8) | static_cast(character); + } + return code; +} + +// Builds a FourCharCode from a literal at compile time, for the data-type +// switch below. Distinct from FourCharToKey to keep that runtime path simple. +constexpr uint32_t TypeCode(const char (&value)[5]) { + uint32_t code = 0; + for (int i = 0; i < 4; ++i) { + code = (code << 8) | static_cast(value[i]); + } + return code; +} + +std::optional ReadSysctlString(const char* name) { + size_t size = 0; + if (sysctlbyname(name, nullptr, &size, nullptr, 0) != 0 || size == 0) { + return std::nullopt; + } + std::string value(size, '\0'); + if (sysctlbyname(name, value.data(), &size, nullptr, 0) != 0) { + return std::nullopt; + } + while (!value.empty() && value.back() == '\0') { + value.pop_back(); + } + return value; +} + +// True when `brand` contains exactly "Apple M" (so "Apple M1" does +// not match generation '1' inside "Apple M12" if Apple ever ships one). +bool ContainsAppleMGeneration(std::string_view brand, char generation) { + std::string token = "Apple M"; + token.push_back(generation); + const size_t position = brand.find(token); + if (position == std::string_view::npos) { + return false; + } + const size_t after = position + token.size(); + return after == brand.size() || + !std::isdigit(static_cast(brand[after])); +} + +AppleSiliconGeneration DetectAppleSiliconGeneration() { + const std::optional brand = + ReadSysctlString("machdep.cpu.brand_string"); + if (!brand.has_value()) { + return AppleSiliconGeneration::kUnknown; + } + if (ContainsAppleMGeneration(*brand, '1')) return AppleSiliconGeneration::kM1; + if (ContainsAppleMGeneration(*brand, '2')) return AppleSiliconGeneration::kM2; + if (ContainsAppleMGeneration(*brand, '3')) return AppleSiliconGeneration::kM3; + if (ContainsAppleMGeneration(*brand, '4')) return AppleSiliconGeneration::kM4; + if (ContainsAppleMGeneration(*brand, '5')) return AppleSiliconGeneration::kM5; + return AppleSiliconGeneration::kUnknown; +} + +bool HasNonZeroBytes(const SmcValue& value) { + const uint32_t byte_count = + std::min(value.data_size, value.bytes.size()); + for (uint32_t i = 0; i < byte_count; ++i) { + if (value.bytes[i] != 0) { + return true; + } + } + return false; +} + +double DecodeFixedPoint(const SmcValue& value, double denominator) { + const int raw = (static_cast(value.bytes[0]) << 8) | + static_cast(value.bytes[1]); + return static_cast(raw) / denominator; +} + +// Decodes the SMC value bytes per its data type. Covers the temperature types +// Apple Silicon uses ("flt " on M-series; the fixed-point sp* and fpe2 types +// for completeness / Intel diodes). Returns nullopt for an all-zero or +// unrecognized value. Decode math mirrors exelban/stats SMC/smc.swift. +std::optional DecodeSmcTemperature(const SmcValue& value) { + if (value.data_size == 0 || !HasNonZeroBytes(value)) { + return std::nullopt; + } + switch (value.data_type) { + case TypeCode("sp1e"): return DecodeFixedPoint(value, 16384.0); + case TypeCode("sp3c"): return DecodeFixedPoint(value, 4096.0); + case TypeCode("sp4b"): return DecodeFixedPoint(value, 2048.0); + case TypeCode("sp5a"): return DecodeFixedPoint(value, 1024.0); + case TypeCode("sp69"): return DecodeFixedPoint(value, 512.0); + case TypeCode("sp78"): return DecodeFixedPoint(value, 256.0); + case TypeCode("sp87"): return DecodeFixedPoint(value, 128.0); + case TypeCode("sp96"): return DecodeFixedPoint(value, 64.0); + case TypeCode("spa5"): return DecodeFixedPoint(value, 32.0); + case TypeCode("spb4"): return DecodeFixedPoint(value, 16.0); + case TypeCode("spf0"): return DecodeFixedPoint(value, 1.0); + case TypeCode("fpe2"): + return static_cast((static_cast(value.bytes[0]) << 6) + + (static_cast(value.bytes[1]) >> 2)); + case TypeCode("flt "): { + float raw = 0.0F; + std::memcpy(&raw, value.bytes.data(), sizeof(raw)); + return static_cast(raw); + } + default: + return std::nullopt; + } +} + +// Owns an open AppleSMC user-client connection and reads one key at a time via +// the two-call (key-info, then bytes) protocol. Not copyable; the connection is +// closed on destruction. +class SmcConnection { + public: + SmcConnection() { + io_service_t device = IOServiceGetMatchingService( + kIOMainPortDefault, IOServiceMatching("AppleSMC")); + if (device == IO_OBJECT_NULL) { + return; + } + if (IOServiceOpen(device, mach_task_self(), 0, &connection_) != + kIOReturnSuccess) { + connection_ = IO_OBJECT_NULL; + } + IOObjectRelease(device); + } + + ~SmcConnection() { + if (connection_ != IO_OBJECT_NULL) { + IOServiceClose(connection_); + } + } + + SmcConnection(const SmcConnection&) = delete; + SmcConnection& operator=(const SmcConnection&) = delete; + + bool is_open() const { return connection_ != IO_OBJECT_NULL; } + + // Reads a key's metadata (data size and type). This is stable for the life of + // the machine, so callers cache it and then read values via ReadValue without + // repeating this call. Returns nullopt on RPC failure or a zero-size key. + std::optional ReadKeyInfo(std::string_view key) const { + if (!is_open()) { + return std::nullopt; + } + SmcKeyData input; + SmcKeyData output; + input.key = FourCharToKey(key); + input.data8 = kSmcCmdReadKeyInfo; + if (Call(input, &output) != kIOReturnSuccess || output.key_info.data_size == 0) { + return std::nullopt; + } + return output.key_info; + } + + // Reads a key's value bytes given its already-known metadata, performing only + // the single bytes-read RPC (the key-info RPC is skipped). This halves the + // per-read SMC traffic on the hot path, where the probe re-reads the same + // core keys every tick. + std::optional ReadValue(std::string_view key, + const SmcKeyInfo& info) const { + if (!is_open()) { + return std::nullopt; + } + SmcKeyData input; + SmcKeyData output; + input.key = FourCharToKey(key); + input.key_info.data_size = info.data_size; + input.data8 = kSmcCmdReadBytes; + if (Call(input, &output) != kIOReturnSuccess) { + return std::nullopt; + } + + SmcValue value; + value.data_size = info.data_size; + value.data_type = info.data_type; + const size_t byte_count = + std::min(value.bytes.size(), value.data_size); + std::memcpy(value.bytes.data(), output.bytes, byte_count); + return value; + } + + private: + kern_return_t Call(const SmcKeyData& input, SmcKeyData* output) const { + size_t output_size = sizeof(SmcKeyData); + return IOConnectCallStructMethod(connection_, kSmcKernelIndex, &input, + sizeof(SmcKeyData), output, &output_size); + } + + io_connect_t connection_ = IO_OBJECT_NULL; +}; + +// Returns the CPU-core key list for this machine's generation, or an empty +// span for non-Apple-Silicon / unknown chips. +std::optional> CpuKeysForGeneration( + AppleSiliconGeneration generation) { + switch (generation) { + case AppleSiliconGeneration::kM1: + return std::make_pair(kM1CpuKeys.data(), kM1CpuKeys.size()); + case AppleSiliconGeneration::kM2: + return std::make_pair(kM2CpuKeys.data(), kM2CpuKeys.size()); + case AppleSiliconGeneration::kM3: + return std::make_pair(kM3CpuKeys.data(), kM3CpuKeys.size()); + case AppleSiliconGeneration::kM4: + return std::make_pair(kM4CpuKeys.data(), kM4CpuKeys.size()); + case AppleSiliconGeneration::kM5: + return std::make_pair(kM5CpuKeys.data(), kM5CpuKeys.size()); + case AppleSiliconGeneration::kUnknown: + return std::nullopt; + } + return std::nullopt; +} + +// Process-lifetime CPU-core temperature reader. Holds one SMC connection and +// the last in-range temperature seen per core key, so a core that is parked +// this tick (reading the idle floor) still contributes its last real value to +// the average - matching how Stats keeps the reading steady. Guarded by a mutex +// because the native RPC handler may invoke ReadCpuTemperature from a non-main +// thread. +class CpuCoreTemperatureReader { + public: + // Returns the sum and count of the held per-core readings (not a finished + // average), so the caller can merge these SMC cores with the HID cores before + // averaging the union. + TemperatureAccumulator Read() { + std::lock_guard lock(mutex_); + + TemperatureAccumulator accumulator; + if (!initialized_) { + generation_ = DetectAppleSiliconGeneration(); + initialized_ = true; + } + if (!smc_.is_open()) { + return accumulator; + } + + const auto keys = CpuKeysForGeneration(generation_); + if (!keys.has_value()) { + return accumulator; + } + + const std::string_view* key_data = keys->first; + const size_t key_count = keys->second; + for (size_t i = 0; i < key_count; ++i) { + const std::string_view key = key_data[i]; + + // Resolve the key's metadata once and cache it: size/type are fixed for + // the life of the machine, so every later tick skips the key-info RPC and + // does only the single bytes-read. A key absent from this chip never + // resolves and is skipped for good. + auto info_it = key_info_.find(std::string(key)); + if (info_it == key_info_.end()) { + const std::optional info = smc_.ReadKeyInfo(key); + if (!info.has_value()) { + continue; + } + info_it = key_info_.emplace(std::string(key), *info).first; + } + + const std::optional value = smc_.ReadValue(key, info_it->second); + if (!value.has_value()) { + continue; + } + const std::optional celsius = DecodeSmcTemperature(*value); + // Keep only in-range readings; a parked core reads the idle floor and is + // ignored this tick (its held value, if any, still counts below). + if (celsius.has_value() && IsPlausibleTemperature(*celsius)) { + last_good_[std::string(key)] = *celsius; + } + } + + // Accumulate every core that has ever produced a real reading. Cores never + // yet seen in range (e.g. parked since launch) are simply absent until they + // wake once, which avoids averaging in the idle floor. + for (const auto& entry : last_good_) { + accumulator.Add(entry.second); + } + return accumulator; + } + + private: + std::mutex mutex_; + bool initialized_ = false; + AppleSiliconGeneration generation_ = AppleSiliconGeneration::kUnknown; + SmcConnection smc_; + std::unordered_map key_info_; + std::unordered_map last_good_; +}; + +// --------------------------------------------------------------------------- +// HID CPU-core temperature path +// +// Apple also exposes the per-core CPU temperatures on a dedicated HID page +// (kHIDPage_AppleVendorTemperatureSensor, 0xff05) as services named +// "pACC MTR Temp ..." (performance cores) and "eACC MTR Temp ..." (efficiency +// cores). Unlike the SMC core keys these come back already resolved and do not +// park at an idle floor, so they need no last-good handling - only a plausible- +// range filter. This page is empty on some machines (it returned no services on +// the M2 Max this was developed on); where present it is a real CPU-core source +// and its readings are averaged together with the SMC core readings. We do NOT +// read the SOC die sensors here: those are not CPU-core temperatures, so using +// them would misreport the value the card claims to show. +// --------------------------------------------------------------------------- + +constexpr int32_t kHIDEventTypeTemperature = 15; +constexpr int32_t kIOHIDEventFieldTemperature = kHIDEventTypeTemperature << 16; +constexpr int32_t kAppleVendorTemperatureSensorPage = 0xff05; +constexpr int32_t kAppleVendorTemperatureSensorUsage = 0x0005; + +CFDictionaryRef CreateCpuCoreSensorMatch() { + int32_t page = kAppleVendorTemperatureSensorPage; + int32_t usage = kAppleVendorTemperatureSensorUsage; + CFNumberRef page_number = CFNumberCreate(nullptr, kCFNumberSInt32Type, &page); + CFNumberRef usage_number = CFNumberCreate(nullptr, kCFNumberSInt32Type, &usage); + if (page_number == nullptr || usage_number == nullptr) { + if (page_number != nullptr) CFRelease(page_number); + if (usage_number != nullptr) CFRelease(usage_number); + return nullptr; + } + const void* keys[] = {CFSTR("PrimaryUsagePage"), CFSTR("PrimaryUsage")}; + const void* values[] = {page_number, usage_number}; + CFDictionaryRef match = + CFDictionaryCreate(nullptr, keys, values, 2, &kCFTypeDictionaryKeyCallBacks, + &kCFTypeDictionaryValueCallBacks); + CFRelease(page_number); + CFRelease(usage_number); + return match; +} + +// True only for the CPU performance/efficiency core sensors ("pACC MTR Temp" / +// "eACC MTR Temp"); the GPU ("GPU MTR Temp"), SOC, ANE, and ISP sensors share +// the page but are not CPU-core temperatures. +bool IsCpuCoreSensorName(CFStringRef name) { + return CFStringHasPrefix(name, CFSTR("pACC MTR Temp")) || + CFStringHasPrefix(name, CFSTR("eACC MTR Temp")); +} + +TemperatureAccumulator ReadHidCpuCoreTemperatures() { + TemperatureAccumulator accumulator; + + CFDictionaryRef match = CreateCpuCoreSensorMatch(); + if (match == nullptr) { + return accumulator; + } + + IOHIDEventSystemClientRef client = + IOHIDEventSystemClientCreate(kCFAllocatorDefault); + if (client == nullptr) { + CFRelease(match); + return accumulator; + } + + IOHIDEventSystemClientSetMatching(client, match); + CFArrayRef services = IOHIDEventSystemClientCopyServices(client); + CFRelease(match); + if (services == nullptr) { + CFRelease(client); + return accumulator; + } + + const CFIndex service_count = CFArrayGetCount(services); + for (CFIndex i = 0; i < service_count; ++i) { + IOHIDServiceClientRef service = static_cast( + const_cast(CFArrayGetValueAtIndex(services, i))); + if (service == nullptr) { + continue; + } + CFTypeRef name_ref = IOHIDServiceClientCopyProperty(service, CFSTR("Product")); + if (name_ref == nullptr) { + continue; + } + const bool is_cpu_core = CFGetTypeID(name_ref) == CFStringGetTypeID() && + IsCpuCoreSensorName(static_cast(name_ref)); + CFRelease(name_ref); + if (!is_cpu_core) { + continue; + } + IOHIDEventRef event = + IOHIDServiceClientCopyEvent(service, kHIDEventTypeTemperature, 0, 0); + if (event == nullptr) { + continue; + } + const double celsius = + IOHIDEventGetFloatValue(event, kIOHIDEventFieldTemperature); + CFRelease(event); + if (IsPlausibleTemperature(celsius)) { + accumulator.Add(celsius); + } + } + + CFRelease(services); + CFRelease(client); + return accumulator; +} + +} // namespace + +CpuTemperatureReading ReadCpuTemperature() { + // Average the union of every in-range CPU-core reading from both core sources: + // the AppleSMC per-core keys (idle-floor held) and the HID CPU-core sensors. + // There is no die / approximate fallback: when neither source yields a + // plausible CPU-core value the result is unavailable, so the card only ever + // shows a real CPU-core temperature. + static CpuCoreTemperatureReader smc_reader; + + TemperatureAccumulator cores = smc_reader.Read(); + cores.Merge(ReadHidCpuCoreTemperatures()); + return ReadingFromAverage(cores.sum, cores.count); +} + +} // namespace mostats diff --git a/src/native/temperature/temperature_probe.h b/src/native/temperature/temperature_probe.h new file mode 100644 index 0000000..028bcd4 --- /dev/null +++ b/src/native/temperature/temperature_probe.h @@ -0,0 +1,40 @@ +#ifndef MOSTATS_TEMPERATURE_PROBE_H_ +#define MOSTATS_TEMPERATURE_PROBE_H_ + +// Narrow CPU-temperature probe over private macOS sensor APIs. +// +// macOS exposes no documented public CPU temperature source on Apple Silicon, +// so this is the only honest path other than reporting unavailable. The probe +// averages the union of every in-range per-core reading from two CPU-core +// sources (the same sources Stats averages for its "Average CPU" value): +// - generation-specific AppleSMC core keys. A parked core's SMC sensor reads a +// meaningless idle floor until it wakes, so the probe holds the last +// in-range value per core and reuses it while the core is parked. +// - the HID CPU-core sensors ("pACC/eACC MTR Temp"), which come back already +// resolved (no idle floor) but are absent on some machines. +// Both sources measure CPU cores, so neither misreports the value. There is no +// die / approximate fallback: when neither source yields a plausible CPU-core +// value the probe reports unavailable, so the result is only ever a real +// CPU-core temperature. See temperature_probe.cc for the decode and validation +// rules and the private symbol declarations. + +namespace mostats { + +// One CPU-temperature reading. `available` is false when no trustworthy CPU +// sensor could be read; `celsius` is then 0 and the caller degrades only the +// temperature card to unavailable. +struct CpuTemperatureReading { + bool available = false; + double celsius = 0.0; +}; + +// Reads the average CPU-core temperature, or reports it unavailable. Never +// throws and is safe to call on any macOS machine: an unsupported machine, +// missing core sensors, or implausible readings all yield an unavailable result +// rather than an approximated value. Stateful across calls (holds the last +// in-range value per SMC core); callers may invoke it on any thread. +CpuTemperatureReading ReadCpuTemperature(); + +} // namespace mostats + +#endif // MOSTATS_TEMPERATURE_PROBE_H_ diff --git a/src/native/temperature_probe.cc b/src/native/temperature_probe.cc deleted file mode 100644 index 2c04aa1..0000000 --- a/src/native/temperature_probe.cc +++ /dev/null @@ -1,157 +0,0 @@ -#include "temperature_probe.h" - -#include -#include - -#include - -// Private IOKit HID symbols. These are not declared in any public SDK header, -// so they are forward-declared here exactly as the upstream research reference -// (exelban/stats Modules/Sensors/bridge.h, in turn based on MenuMeters) does. -// They are read-only sensor queries; the app never controls hardware. If a -// future macOS removes or changes them the probe degrades to unavailable -// (handled below by null/empty checks), never crashing the app. -extern "C" { -typedef struct __IOHIDEvent* IOHIDEventRef; -typedef struct __IOHIDServiceClient* IOHIDServiceClientRef; - -IOHIDEventSystemClientRef IOHIDEventSystemClientCreate(CFAllocatorRef allocator); -void IOHIDEventSystemClientSetMatching(IOHIDEventSystemClientRef client, - CFDictionaryRef match); -CFArrayRef IOHIDEventSystemClientCopyServices(IOHIDEventSystemClientRef client); -IOHIDEventRef IOHIDServiceClientCopyEvent(IOHIDServiceClientRef service, - int64_t type, int32_t options, - int64_t timestamp); -CFTypeRef IOHIDServiceClientCopyProperty(IOHIDServiceClientRef service, - CFStringRef property); -double IOHIDEventGetFloatValue(IOHIDEventRef event, int32_t field); -} - -namespace mostats { - -namespace { - -// IOHID event constants (from IOHIDEventTypes; not in the public SDK headers). -constexpr int32_t kHIDEventTypeTemperature = 15; -constexpr int32_t IOHIDEventFieldTemperature = kHIDEventTypeTemperature << 16; - -// Matching keys for the Apple Silicon temperature sensor HID page/usage. -constexpr int32_t kAppleVendorTemperaturePage = 0xff00; -constexpr int32_t kAppleVendorTemperatureUsage = 0x0005; - -// Plausible CPU temperature window in Celsius. Mirrors the exelban/stats CPU -// guard (it rejects implausible readings outside roughly this range to drop -// the "broken M2 sensor" values); anything outside is discarded so a single -// bad sensor can never skew the average. -constexpr double kMinPlausibleCelsius = 10.0; -constexpr double kMaxPlausibleCelsius = 120.0; - -// Builds the { PrimaryUsagePage, PrimaryUsage } matching dictionary that -// selects the temperature sensor HID services. Caller releases the result. -CFDictionaryRef CreateTemperatureMatch() { - int32_t page = kAppleVendorTemperaturePage; - int32_t usage = kAppleVendorTemperatureUsage; - CFNumberRef page_number = CFNumberCreate(nullptr, kCFNumberSInt32Type, &page); - CFNumberRef usage_number = CFNumberCreate(nullptr, kCFNumberSInt32Type, &usage); - if (page_number == nullptr || usage_number == nullptr) { - if (page_number != nullptr) CFRelease(page_number); - if (usage_number != nullptr) CFRelease(usage_number); - return nullptr; - } - - const void* keys[] = {CFSTR("PrimaryUsagePage"), CFSTR("PrimaryUsage")}; - const void* values[] = {page_number, usage_number}; - CFDictionaryRef match = - CFDictionaryCreate(nullptr, keys, values, 2, &kCFTypeDictionaryKeyCallBacks, - &kCFTypeDictionaryValueCallBacks); - CFRelease(page_number); - CFRelease(usage_number); - return match; -} - -// True only for the CPU-cluster temperature sensors. Apple names its CPU core -// clusters pACC (performance cores) and eACC (efficiency cores); GPU, SOC, -// battery, NAND, PMU die, and calibration sensors all use other names. Trusting -// only this documented-by-convention CPU naming - rather than guessing at the -// undocumented PMU die sensors many machines expose - is what keeps the reading -// honest: a machine that does not expose pACC/eACC simply reports unavailable. -bool IsCpuSensorName(CFStringRef name) { - return CFStringHasPrefix(name, CFSTR("pACC")) || - CFStringHasPrefix(name, CFSTR("eACC")); -} - -} // namespace - -CpuTemperatureReading ReadCpuTemperature() { - CpuTemperatureReading reading; - - CFDictionaryRef match = CreateTemperatureMatch(); - if (match == nullptr) { - return reading; // unavailable - } - - IOHIDEventSystemClientRef client = - IOHIDEventSystemClientCreate(kCFAllocatorDefault); - if (client == nullptr) { - CFRelease(match); - return reading; // unavailable - } - - IOHIDEventSystemClientSetMatching(client, match); - CFArrayRef services = IOHIDEventSystemClientCopyServices(client); - CFRelease(match); - if (services == nullptr) { - CFRelease(client); - return reading; // unavailable - } - - double sum = 0.0; - int count = 0; - const CFIndex service_count = CFArrayGetCount(services); - for (CFIndex i = 0; i < service_count; ++i) { - IOHIDServiceClientRef service = - static_cast( - const_cast(CFArrayGetValueAtIndex(services, i))); - if (service == nullptr) { - continue; - } - - CFTypeRef name_ref = IOHIDServiceClientCopyProperty(service, CFSTR("Product")); - if (name_ref == nullptr) { - continue; - } - const bool is_cpu = CFGetTypeID(name_ref) == CFStringGetTypeID() && - IsCpuSensorName(static_cast(name_ref)); - CFRelease(name_ref); - if (!is_cpu) { - continue; - } - - IOHIDEventRef event = - IOHIDServiceClientCopyEvent(service, kHIDEventTypeTemperature, 0, 0); - if (event == nullptr) { - continue; - } - const double celsius = - IOHIDEventGetFloatValue(event, IOHIDEventFieldTemperature); - CFRelease(event); - - // Drop implausible readings so one bad sensor cannot skew the average. - if (std::isfinite(celsius) && celsius >= kMinPlausibleCelsius && - celsius <= kMaxPlausibleCelsius) { - sum += celsius; - ++count; - } - } - - CFRelease(services); - CFRelease(client); - - if (count > 0) { - reading.available = true; - reading.celsius = sum / count; - } - return reading; -} - -} // namespace mostats diff --git a/src/native/temperature_probe.h b/src/native/temperature_probe.h deleted file mode 100644 index 91395a0..0000000 --- a/src/native/temperature_probe.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef MOSTATS_TEMPERATURE_PROBE_H_ -#define MOSTATS_TEMPERATURE_PROBE_H_ - -// Narrow CPU-temperature probe over the private IOKit HID temperature sensors. -// -// macOS exposes no documented public CPU temperature source on Apple Silicon -// (and the Intel-era SMC T* keys are not readable there), so this is the only -// honest path other than reporting unavailable. The probe reads a CPU -// temperature only when it can validate a trustworthy CPU-cluster sensor by -// Apple's performance/efficiency core naming convention; otherwise it reports -// unavailable. See temperature_probe.cc for the validation rules and the -// IOKit-HID symbol declarations. - -namespace mostats { - -// One CPU-temperature reading. `available` is false when no trustworthy CPU -// sensor could be read; `celsius` is then 0 and the caller degrades only the -// temperature card to unavailable. -struct CpuTemperatureReading { - bool available = false; - double celsius = 0.0; -}; - -// Reads the average CPU-cluster temperature, or reports it unavailable. Never -// throws and is safe to call on any macOS machine: an unsupported machine, a -// missing sensor, or implausible readings all yield an unavailable result. -CpuTemperatureReading ReadCpuTemperature(); - -} // namespace mostats - -#endif // MOSTATS_TEMPERATURE_PROBE_H_ diff --git a/tests/unit/metrics-sampler.test.ts b/tests/unit/metrics-sampler.test.ts index 074b95d..49877e3 100644 --- a/tests/unit/metrics-sampler.test.ts +++ b/tests/unit/metrics-sampler.test.ts @@ -248,6 +248,51 @@ describe("temperature", () => { h.readTemp.mockResolvedValue({ available: true, celsius: Number.NaN }); expect((await new MetricsSampler().sample()).temperature.status).toBe("unavailable"); }); + + it("is unavailable when the probe returns an implausible value", async () => { + h.readTemp.mockResolvedValue({ available: true, celsius: 300 }); + expect((await new MetricsSampler().sample()).temperature.status).toBe("unavailable"); + }); + + it("reads ok temperature live on every tick (no caching)", async () => { + h.readTemp + .mockResolvedValueOnce({ available: true, celsius: 57.3 }) + .mockResolvedValueOnce({ available: true, celsius: 64.1 }); + + const sampler = new MetricsSampler(); + expect((await sampler.sample()).temperature.celsius).toBeCloseTo(57.3); + expect(h.readTemp).toHaveBeenCalledTimes(1); + + // Same tick clock, but an ok reading is never cached: the next sample probes + // again and reflects the latest value. + expect((await sampler.sample()).temperature.celsius).toBeCloseTo(64.1); + expect(h.readTemp).toHaveBeenCalledTimes(2); + }); + + it("recovers to ok on the very next tick after a transient unavailable", async () => { + h.readTemp + .mockResolvedValueOnce({ available: false, celsius: 0 }) + .mockResolvedValueOnce({ available: true, celsius: 48.2 }); + + const sampler = new MetricsSampler(); + expect((await sampler.sample()).temperature.status).toBe("unavailable"); + expect(h.readTemp).toHaveBeenCalledTimes(1); + + const reading = await sampler.sample(); + expect(reading.temperature.status).toBe("ok"); + expect(reading.temperature.celsius).toBeCloseTo(48.2); + expect(h.readTemp).toHaveBeenCalledTimes(2); + }); + + it("re-probes every tick while unavailable (no caching of unavailable)", async () => { + h.readTemp.mockResolvedValue({ available: false, celsius: 0 }); + + const sampler = new MetricsSampler(); + expect((await sampler.sample()).temperature.status).toBe("unavailable"); + expect((await sampler.sample()).temperature.status).toBe("unavailable"); + expect((await sampler.sample()).temperature.status).toBe("unavailable"); + expect(h.readTemp).toHaveBeenCalledTimes(3); + }); }); describe("uptime and load", () => { diff --git a/tests/unit/metrics-service.test.ts b/tests/unit/metrics-service.test.ts new file mode 100644 index 0000000..b952a53 --- /dev/null +++ b/tests/unit/metrics-service.test.ts @@ -0,0 +1,132 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; + +/** + * Tests the lifecycle gating of {@link MetricsService}: the sampling cadence (and + * the native probes it drives) must run only while the service is active, i.e. + * while the window is visible and the Stats view is on screen. The native gen + * module binds a MoBrowser-runtime-only addon at import and `ipc.registerService` + * needs the runtime, so both are mocked; timers are faked so the 1s cadence is + * driven deterministically. + */ +const h = vi.hoisted(() => ({ + streamSnapshots: vi.fn(), + disposeHandle: vi.fn(), + sample: vi.fn(), +})); + +vi.mock("@mobrowser/api", () => ({ + ipc: { + registerService: vi.fn(() => ({ + StreamSnapshots: h.streamSnapshots, + dispose: h.disposeHandle, + })), + }, +})); + +// The descriptor is only an opaque token passed to the mocked registerService. +vi.mock("@main/gen/ipc_service", () => ({ MetricsServiceDescriptor: {} })); + +// Replace the real sampler with a spy so we can count sampling passes without +// touching the machine or the native client. Constructed with `new`, so the mock +// must be a constructable function rather than an arrow. +vi.mock("@main/metrics/metrics-sampler", () => ({ + MetricsSampler: vi.fn(function MockSampler() { + return { sample: h.sample }; + }), +})); + +import { MetricsService } from "@main/metrics/metrics-service"; + +const PUBLISH_INTERVAL_MS = 1000; + +/** A minimal snapshot; the gating tests only care about call counts. */ +function emptyReading() { + return { + cpu: { status: "unavailable", usagePercent: 0, model: "", coreCount: 0 }, + memory: { status: "unavailable", usedBytes: 0, totalBytes: 0, availableBytes: 0, cachedBytes: 0, usedPercent: 0 }, + disk: { status: "unavailable", usedBytes: 0, totalBytes: 0, freeBytes: 0, usedPercent: 0 }, + network: { status: "unavailable", rxBytesPerSec: 0, txBytesPerSec: 0 }, + uptime: { status: "unavailable", uptimeSeconds: 0, loadAverage: [] }, + temperature: { status: "unavailable", celsius: 0 }, + }; +} + +/** Lets pending sampler promises settle between fake-timer ticks. */ +async function flush() { + await Promise.resolve(); + await Promise.resolve(); +} + +beforeEach(() => { + vi.clearAllMocks(); + vi.useFakeTimers(); + h.sample.mockResolvedValue(emptyReading()); +}); + +afterEach(() => { + vi.useRealTimers(); +}); + +describe("MetricsService lifecycle gating", () => { + it("does not sample before it is activated", async () => { + new MetricsService(); + await vi.advanceTimersByTimeAsync(5 * PUBLISH_INTERVAL_MS); + expect(h.sample).not.toHaveBeenCalled(); + }); + + it("samples immediately and on each interval while active", async () => { + const service = new MetricsService(); + + service.setActive(true); + await flush(); + // Resuming emits one snapshot immediately so a freshly shown window paints + // without waiting a full interval. + expect(h.sample).toHaveBeenCalledTimes(1); + + await vi.advanceTimersByTimeAsync(PUBLISH_INTERVAL_MS); + expect(h.sample).toHaveBeenCalledTimes(2); + + await vi.advanceTimersByTimeAsync(PUBLISH_INTERVAL_MS); + expect(h.sample).toHaveBeenCalledTimes(3); + }); + + it("stops sampling once deactivated (window hidden or Stats tab left)", async () => { + const service = new MetricsService(); + + service.setActive(true); + await vi.advanceTimersByTimeAsync(2 * PUBLISH_INTERVAL_MS); + const callsWhileActive = h.sample.mock.calls.length; + expect(callsWhileActive).toBeGreaterThan(0); + + service.setActive(false); + await vi.advanceTimersByTimeAsync(10 * PUBLISH_INTERVAL_MS); + // No further sampling after deactivation: the native probes are not touched + // while hidden / off the Stats view. + expect(h.sample).toHaveBeenCalledTimes(callsWhileActive); + }); + + it("resumes sampling when reactivated", async () => { + const service = new MetricsService(); + + service.setActive(true); + await flush(); + service.setActive(false); + await vi.advanceTimersByTimeAsync(3 * PUBLISH_INTERVAL_MS); + const callsBeforeResume = h.sample.mock.calls.length; + + service.setActive(true); + await flush(); + expect(h.sample).toHaveBeenCalledTimes(callsBeforeResume + 1); + }); + + it("does not sample after dispose, even if reactivation is attempted", async () => { + const service = new MetricsService(); + + service.dispose(); + expect(h.disposeHandle).toHaveBeenCalledTimes(1); + + service.setActive(true); + await vi.advanceTimersByTimeAsync(5 * PUBLISH_INTERVAL_MS); + expect(h.sample).not.toHaveBeenCalled(); + }); +}); From fda51690f17e49ef03fb58e42e3d6f0c1105794a Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Mon, 8 Jun 2026 18:00:46 +0300 Subject: [PATCH 094/169] Improve button styling for process actions --- src/renderer/components/processes/process-actions.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/renderer/components/processes/process-actions.tsx b/src/renderer/components/processes/process-actions.tsx index b863af3..0350c47 100644 --- a/src/renderer/components/processes/process-actions.tsx +++ b/src/renderer/components/processes/process-actions.tsx @@ -98,10 +98,10 @@ function ActionButton({ aria-label={label} title={title} className={cn( - "no-drag flex h-8 items-center gap-1.5 rounded-lg border px-3 text-[12px] font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-40", + "no-drag flex h-8 items-center gap-1.5 rounded-lg px-2.5 text-[12px] font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-40", destructive - ? "border-destructive/40 text-destructive/80 hover:bg-destructive/10" - : "border-border text-foreground hover:bg-muted/60", + ? "text-destructive/80 enabled:hover:bg-destructive/10 enabled:hover:text-destructive enabled:focus-visible:bg-destructive/10 enabled:focus-visible:text-destructive" + : "text-foreground enabled:hover:bg-muted/60", )} > {icon} From b13dfc51731d1bba0f7910ae25c9a5082347920e Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Mon, 8 Jun 2026 18:15:34 +0300 Subject: [PATCH 095/169] Reorganize source files in `native` --- CMakeLists.txt | 8 +- src/native/main.cc | 283 +----------------- src/native/metrics/memory_probe.cc | 93 ++++++ src/native/metrics/memory_probe.h | 18 ++ src/native/metrics/network_probe.cc | 112 +++++++ src/native/metrics/network_probe.h | 20 ++ .../temperature_probe.cc | 2 +- .../temperature_probe.h | 6 +- 8 files changed, 264 insertions(+), 278 deletions(-) create mode 100644 src/native/metrics/memory_probe.cc create mode 100644 src/native/metrics/memory_probe.h create mode 100644 src/native/metrics/network_probe.cc create mode 100644 src/native/metrics/network_probe.h rename src/native/{temperature => metrics}/temperature_probe.cc (99%) rename src/native/{temperature => metrics}/temperature_probe.h (93%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a878d9..a67abc9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,8 +16,12 @@ include(${PROJECT_ROOT_DIR}/node_modules/@mobrowser/native/cmake/MoBrowser.cmake # The source files of your app. set(APP_SOURCES src/native/main.cc - src/native/temperature/temperature_probe.h - src/native/temperature/temperature_probe.cc + src/native/metrics/memory_probe.h + src/native/metrics/memory_probe.cc + src/native/metrics/network_probe.h + src/native/metrics/network_probe.cc + src/native/metrics/temperature_probe.h + src/native/metrics/temperature_probe.cc src/native/processes/process_collector.h src/native/processes/process_collector.cc src/native/processes/app_metadata.h diff --git a/src/native/main.cc b/src/native/main.cc index 32cbf26..daab159 100644 --- a/src/native/main.cc +++ b/src/native/main.cc @@ -1,297 +1,46 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - #include "rpc.h" #include "gen/memory.rpc.h" #include "gen/network.rpc.h" #include "gen/process_collector.rpc.h" #include "gen/temperature.rpc.h" +#include "metrics/memory_probe.h" +#include "metrics/network_probe.h" +#include "metrics/temperature_probe.h" #include "processes/process_collector.h" -#include "temperature/temperature_probe.h" + +// The native entry point: each RPC service is a thin wrapper that forwards to a +// probe in metrics/ or processes/ and completes the callback. All collection +// logic, OS sources, and availability rules live in those modules. using google::protobuf::Empty; using mo::rpc::Callback; namespace { -uint64_t SaturatingAdd(uint64_t left, uint64_t right) { - const uint64_t max = std::numeric_limits::max(); - if (max - left < right) { - return max; - } - return left + right; -} - -uint64_t SaturatingSubtract(uint64_t left, uint64_t right) { - return left > right ? left - right : 0; -} - -uint64_t PagesToBytes(uint64_t pages, uint64_t page_size) { - if (page_size == 0) { - return 0; - } - const uint64_t max = std::numeric_limits::max(); - if (pages > max / page_size) { - return max; - } - return pages * page_size; -} - -bool ReadPhysicalMemorySize(uint64_t* total_bytes) { - if (total_bytes == nullptr) { - return false; - } - - uint64_t value = 0; - size_t size = sizeof(value); - if (sysctlbyname("hw.memsize", &value, &size, nullptr, 0) != 0 || - size != sizeof(value) || value == 0) { - return false; - } - - *total_bytes = value; - return true; -} - -bool HasActiveMedia(int media_socket, const char* name) { - if (media_socket < 0 || name == nullptr) { - return false; - } - - ifmediareq request = {}; - strncpy(request.ifm_name, name, sizeof(request.ifm_name) - 1); - request.ifm_name[sizeof(request.ifm_name) - 1] = '\0'; - - if (ioctl(media_socket, SIOCGIFMEDIA, &request) != 0) { - return false; - } - - return (request.ifm_status & IFM_AVALID) != 0 && - (request.ifm_status & IFM_ACTIVE) != 0; -} - -// True for the active, user-facing physical interfaces a person means by "my -// network": real NICs report IFT_ETHER (Wi-Fi reports as Ethernet on macOS, as -// do Thunderbolt/USB adapters) or IFT_CELLULAR. This already drops VPN tunnels -// (utun*, IFT_OTHER) and gif/stf by link-layer type. But several virtual -// interfaces also report IFT_ETHER - AirDrop (awdl*), low-latency WLAN (llw*), -// the internet-sharing bridge (bridge*/ap*), and Apple internal management NICs -// (anpi*) - so the type alone is not enough. macOS names every genuine -// user-facing NIC en* (Ethernet/Wi-Fi/Thunderbolt) or pdp_ip* (cellular), and -// the virtual IFT_ETHER interfaces all use other prefixes, so an en*/pdp_ip* -// name check cleanly separates them. Counting only these avoids double-counting -// VPN traffic (it would otherwise be summed on both en0 and the utun tunnel) -// and excludes local-only AirDrop/sharing traffic. -// -// For en* (Ethernet-media) interfaces, SIOCGIFMEDIA additionally rejects -// adapters that are administratively up but physically disconnected. The media -// gate is intentionally NOT applied to cellular (pdp_ip*): SIOCGIFMEDIA is an -// Ethernet-media concept and a PPP-style cellular interface commonly reports no -// valid media status, so gating it would wrongly drop a live cellular-only -// uplink. Cellular is admitted on the IFF_UP + IFT_CELLULAR signal alone. -bool IsCountedInterface(const ifaddrs* ptr, int media_socket) { - // Skip down interfaces and the loopback (local-only traffic). - if ((ptr->ifa_flags & IFF_UP) == 0 || - (ptr->ifa_flags & IFF_LOOPBACK) != 0) { - return false; - } - - if (ptr->ifa_addr == nullptr || ptr->ifa_addr->sa_family != AF_LINK) { - return false; - } - - const sockaddr_dl* link = reinterpret_cast(ptr->ifa_addr); - if (link->sdl_type != IFT_ETHER && link->sdl_type != IFT_CELLULAR) { - return false; - } - - const char* name = ptr->ifa_name; - if (strncmp(name, "pdp_ip", 6) == 0) { - // Cellular: no Ethernet media layer, so trust the IFF_UP + type signal. - return true; - } - if (strncmp(name, "en", 2) == 0) { - // Ethernet/Wi-Fi/Thunderbolt: require a live physical link. - return HasActiveMedia(media_socket, name); - } - return false; -} - -} // namespace - -/** - * Narrow macOS memory probe. - * - * Reads the host VM page counters via host_statistics64() and returns a compact - * Activity Monitor-style breakdown. Reclaimable file cache (external + - * purgeable pages) is subtracted from the primary "used" figure and surfaced - * separately so the UI does not present cache as pressure. The main-process - * sampler owns percentage derivation and unavailable-state mapping. - * - * Technique reference: exelban/stats Modules/RAM/readers.swift uses the same - * host_statistics64 VM categories; this is a scoped C++ re-implementation that - * exposes only total, used, available, and cache for MoStats' single row. - */ class MemoryServiceImpl : public MemoryService { public: void ReadUsage(const Empty* /*request*/, Callback done) override { MemoryUsage response; - - uint64_t total_bytes = 0; - if (!ReadPhysicalMemorySize(&total_bytes)) { - response.set_available(false); - std::move(done).Complete(response); - return; - } - - const long raw_page_size = sysconf(_SC_PAGESIZE); - if (raw_page_size <= 0) { - response.set_available(false); - std::move(done).Complete(response); - return; - } - const uint64_t page_size = static_cast(raw_page_size); - - vm_statistics64_data_t stats = {}; - mach_msg_type_number_t count = HOST_VM_INFO64_COUNT; - const kern_return_t result = host_statistics64( - mach_host_self(), HOST_VM_INFO64, reinterpret_cast(&stats), - &count); - if (result != KERN_SUCCESS) { - response.set_available(false); - std::move(done).Complete(response); - return; - } - - uint64_t occupied_pages = 0; - occupied_pages = SaturatingAdd(occupied_pages, stats.active_count); - occupied_pages = SaturatingAdd(occupied_pages, stats.inactive_count); - occupied_pages = SaturatingAdd(occupied_pages, stats.speculative_count); - occupied_pages = SaturatingAdd(occupied_pages, stats.wire_count); - occupied_pages = SaturatingAdd(occupied_pages, stats.compressor_page_count); - - uint64_t cached_pages = 0; - cached_pages = SaturatingAdd(cached_pages, stats.purgeable_count); - cached_pages = SaturatingAdd(cached_pages, stats.external_page_count); - - const uint64_t used_pages = - SaturatingSubtract(occupied_pages, cached_pages); - uint64_t used_bytes = PagesToBytes(used_pages, page_size); - uint64_t cached_bytes = PagesToBytes(cached_pages, page_size); - - used_bytes = std::min(used_bytes, total_bytes); - const uint64_t available_bytes = total_bytes - used_bytes; - cached_bytes = std::min(cached_bytes, available_bytes); - - response.set_available(true); - response.set_total_bytes(total_bytes); - response.set_used_bytes(used_bytes); - response.set_available_bytes(available_bytes); - response.set_cached_bytes(cached_bytes); + mostats::ReadMemoryUsage(&response); std::move(done).Complete(response); } }; -/** - * Narrow macOS network probe. - * - * Reads the kernel's cumulative per-interface byte counters via getifaddrs() - * and sums the link-layer (AF_LINK) if_data totals across the active physical - * interfaces (see IsCountedInterface for the selection rule). Only the raw - * cumulative counters are returned; the main-process sampler owns the - * delta-to-rate math, first-sample handling, and counter-reset rejection. - * - * Technique reference: exelban/stats Modules/Net/readers.swift reads the same - * getifaddrs / if_data ifi_ibytes / ifi_obytes counters; this is a scoped C++ - * re-implementation that sums the active physical interfaces rather than - * tracking a single stored primary interface. No upstream code is copied. - */ class NetworkServiceImpl : public NetworkService { public: void ReadCounters(const Empty* /*request*/, Callback done) override { NetworkCounters response; - - ifaddrs* addresses = nullptr; - if (getifaddrs(&addresses) != 0) { - // Could not enumerate interfaces; report unavailable rather than zeros - // that would read as a real "no traffic" sample. - response.set_available(false); - std::move(done).Complete(response); - return; - } - - const int media_socket = socket(AF_INET, SOCK_DGRAM, 0); - if (media_socket < 0) { - freeifaddrs(addresses); - response.set_available(false); - std::move(done).Complete(response); - return; - } - - uint64_t rx_bytes = 0; - uint64_t tx_bytes = 0; - bool found = false; - - for (ifaddrs* ptr = addresses; ptr != nullptr; ptr = ptr->ifa_next) { - // Byte counters live on the link-layer (AF_LINK) entry of each interface. - if (!IsCountedInterface(ptr, media_socket)) { - continue; - } - - const if_data* data = static_cast(ptr->ifa_data); - if (data == nullptr) { - continue; - } - - rx_bytes += data->ifi_ibytes; - tx_bytes += data->ifi_obytes; - found = true; - } - - close(media_socket); - freeifaddrs(addresses); - - response.set_available(found); - response.set_rx_bytes(rx_bytes); - response.set_tx_bytes(tx_bytes); + mostats::ReadNetworkCounters(&response); std::move(done).Complete(response); } }; -/** - * Narrow macOS CPU-temperature probe. - * - * Delegates to ReadCpuTemperature(), which averages the union of every in-range - * per-core reading from two CPU-core sources (the same sources Stats averages): - * generation-specific AppleSMC core keys (holding the last in-range value per - * core so a parked core's idle floor does not skew the result) and the HID - * CPU-core sensors ("pACC/eACC MTR Temp"). Both measure CPU cores; there is no - * die or approximate fallback, so it reports available=false rather than a - * guessed value when neither source yields a plausible CPU-core reading. No Node - * API exposes thermal sensors and macOS has no documented public CPU temperature - * source on Apple Silicon, so unavailable is an honest, accepted outcome. See - * temperature_probe.cc for the decode and validation rules. - */ class TemperatureServiceImpl : public TemperatureService { public: void ReadCpuTemperature(const Empty* /*request*/, Callback done) override { const mostats::CpuTemperatureReading reading = mostats::ReadCpuTemperature(); - CpuTemperature response; response.set_available(reading.available); response.set_celsius(reading.celsius); @@ -299,18 +48,6 @@ class TemperatureServiceImpl : public TemperatureService { } }; -/** - * Narrow macOS process collector. - * - * Delegates to mostats::CollectProcesses(), which enumerates the current - * process list with libproc and reports per-process identity, command line, - * memory, and cumulative CPU time with explicit per-field availability. It is - * inspection-only and read-only - it never signals processes (actions are - * main-owned) and computes no rates (main diffs the CPU counter across - * snapshots). Command-line arguments are sensitive: they are returned for local - * display/search only and are never logged here. See process_collector.cc for - * the collection and availability rules. - */ class ProcessCollectorServiceImpl : public ProcessCollectorService { public: void CollectProcesses(const CollectProcessesRequest* /*request*/, @@ -321,6 +58,8 @@ class ProcessCollectorServiceImpl : public ProcessCollectorService { } }; +} // namespace + void launch() { mo::rpc::RegisterService(new MemoryServiceImpl()); mo::rpc::RegisterService(new NetworkServiceImpl()); diff --git a/src/native/metrics/memory_probe.cc b/src/native/metrics/memory_probe.cc new file mode 100644 index 0000000..198d077 --- /dev/null +++ b/src/native/metrics/memory_probe.cc @@ -0,0 +1,93 @@ +#include "metrics/memory_probe.h" + +#include +#include +#include + +#include +#include +#include + +// Technique reference: exelban/stats Modules/RAM/readers.swift reads the same +// host_statistics64 VM categories. This is a scoped re-implementation exposing +// only total, used, available, and cache for MoStats' single memory row. No +// upstream code is copied. + +namespace mostats { +namespace { + +uint64_t SaturatingAdd(uint64_t left, uint64_t right) { + const uint64_t max = std::numeric_limits::max(); + return max - left < right ? max : left + right; +} + +uint64_t SaturatingSubtract(uint64_t left, uint64_t right) { + return left > right ? left - right : 0; +} + +uint64_t PagesToBytes(uint64_t pages, uint64_t page_size) { + if (page_size == 0) { + return 0; + } + const uint64_t max = std::numeric_limits::max(); + return pages > max / page_size ? max : pages * page_size; +} + +// Total physical RAM via sysctl, or false when it cannot be read. +bool ReadPhysicalMemorySize(uint64_t* total_bytes) { + uint64_t value = 0; + size_t size = sizeof(value); + if (sysctlbyname("hw.memsize", &value, &size, nullptr, 0) != 0 || + size != sizeof(value) || value == 0) { + return false; + } + *total_bytes = value; + return true; +} + +} // namespace + +void ReadMemoryUsage(MemoryUsage* response) { + uint64_t total_bytes = 0; + const long raw_page_size = sysconf(_SC_PAGESIZE); + + vm_statistics64_data_t stats = {}; + mach_msg_type_number_t count = HOST_VM_INFO64_COUNT; + const kern_return_t result = host_statistics64( + mach_host_self(), HOST_VM_INFO64, reinterpret_cast(&stats), + &count); + + if (!ReadPhysicalMemorySize(&total_bytes) || raw_page_size <= 0 || + result != KERN_SUCCESS) { + response->set_available(false); + return; + } + const uint64_t page_size = static_cast(raw_page_size); + + // Pages in use, minus the pages the kernel can reclaim on demand (file cache + // plus purgeable), which we report separately rather than as pressure. + uint64_t occupied_pages = 0; + occupied_pages = SaturatingAdd(occupied_pages, stats.active_count); + occupied_pages = SaturatingAdd(occupied_pages, stats.inactive_count); + occupied_pages = SaturatingAdd(occupied_pages, stats.speculative_count); + occupied_pages = SaturatingAdd(occupied_pages, stats.wire_count); + occupied_pages = SaturatingAdd(occupied_pages, stats.compressor_page_count); + + uint64_t cached_pages = 0; + cached_pages = SaturatingAdd(cached_pages, stats.purgeable_count); + cached_pages = SaturatingAdd(cached_pages, stats.external_page_count); + + const uint64_t used_pages = SaturatingSubtract(occupied_pages, cached_pages); + uint64_t used_bytes = std::min(PagesToBytes(used_pages, page_size), total_bytes); + const uint64_t available_bytes = total_bytes - used_bytes; + const uint64_t cached_bytes = + std::min(PagesToBytes(cached_pages, page_size), available_bytes); + + response->set_available(true); + response->set_total_bytes(total_bytes); + response->set_used_bytes(used_bytes); + response->set_available_bytes(available_bytes); + response->set_cached_bytes(cached_bytes); +} + +} // namespace mostats diff --git a/src/native/metrics/memory_probe.h b/src/native/metrics/memory_probe.h new file mode 100644 index 0000000..d63fc76 --- /dev/null +++ b/src/native/metrics/memory_probe.h @@ -0,0 +1,18 @@ +#ifndef MOSTATS_METRICS_MEMORY_PROBE_H_ +#define MOSTATS_METRICS_MEMORY_PROBE_H_ + +#include "gen/memory.pb.h" + +namespace mostats { + +// Reads an Activity Monitor-style memory breakdown into the generated response. +// +// Reclaimable file cache is subtracted from "used" and reported separately so +// the UI does not present cache as pressure. On any failure the response is +// marked unavailable. The main-process sampler owns percentage derivation. See +// memory_probe.cc for the page-counter sources and math. +void ReadMemoryUsage(MemoryUsage* response); + +} // namespace mostats + +#endif // MOSTATS_METRICS_MEMORY_PROBE_H_ diff --git a/src/native/metrics/network_probe.cc b/src/native/metrics/network_probe.cc new file mode 100644 index 0000000..b924501 --- /dev/null +++ b/src/native/metrics/network_probe.cc @@ -0,0 +1,112 @@ +#include "metrics/network_probe.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +// Technique reference: exelban/stats Modules/Net/readers.swift reads the same +// getifaddrs / if_data ifi_ibytes / ifi_obytes counters. This sums the active +// physical interfaces rather than tracking a single stored primary. No upstream +// code is copied. + +namespace mostats { +namespace { + +// True when an Ethernet-media interface has a live physical link, so an +// administratively-up but unplugged adapter is not counted. +bool HasActiveMedia(int media_socket, const char* name) { + ifmediareq request = {}; + strncpy(request.ifm_name, name, sizeof(request.ifm_name) - 1); + if (ioctl(media_socket, SIOCGIFMEDIA, &request) != 0) { + return false; + } + return (request.ifm_status & IFM_AVALID) != 0 && + (request.ifm_status & IFM_ACTIVE) != 0; +} + +// True for the active, user-facing physical interfaces a person means by "my +// network". macOS names every genuine NIC en* (Ethernet/Wi-Fi/Thunderbolt) or +// pdp_ip* (cellular); virtual IFT_ETHER interfaces (AirDrop awdl*, the sharing +// bridge, Apple management NICs) use other prefixes, so the name check separates +// them. This drops loopback and VPN tunnels too, avoiding double-counting (VPN +// traffic would otherwise sum on both en0 and the utun tunnel). +// +// en* additionally requires a live media link (above). Cellular is admitted on +// IFF_UP + IFT_CELLULAR alone: SIOCGIFMEDIA is an Ethernet concept and a +// cellular interface commonly reports no media status, so gating it would +// wrongly drop a live cellular-only uplink. +bool IsCountedInterface(const ifaddrs* ptr, int media_socket) { + if ((ptr->ifa_flags & IFF_UP) == 0 || (ptr->ifa_flags & IFF_LOOPBACK) != 0) { + return false; + } + if (ptr->ifa_addr == nullptr || ptr->ifa_addr->sa_family != AF_LINK) { + return false; + } + + const sockaddr_dl* link = reinterpret_cast(ptr->ifa_addr); + if (link->sdl_type != IFT_ETHER && link->sdl_type != IFT_CELLULAR) { + return false; + } + + const char* name = ptr->ifa_name; + if (strncmp(name, "pdp_ip", 6) == 0) { + return true; + } + if (strncmp(name, "en", 2) == 0) { + return HasActiveMedia(media_socket, name); + } + return false; +} + +} // namespace + +void ReadNetworkCounters(NetworkCounters* response) { + ifaddrs* addresses = nullptr; + if (getifaddrs(&addresses) != 0) { + // Report unavailable rather than zeros that would read as "no traffic". + response->set_available(false); + return; + } + + const int media_socket = socket(AF_INET, SOCK_DGRAM, 0); + if (media_socket < 0) { + freeifaddrs(addresses); + response->set_available(false); + return; + } + + uint64_t rx_bytes = 0; + uint64_t tx_bytes = 0; + bool found = false; + + for (ifaddrs* ptr = addresses; ptr != nullptr; ptr = ptr->ifa_next) { + // Byte counters live on the link-layer (AF_LINK) entry of each interface. + if (!IsCountedInterface(ptr, media_socket)) { + continue; + } + const if_data* data = static_cast(ptr->ifa_data); + if (data == nullptr) { + continue; + } + rx_bytes += data->ifi_ibytes; + tx_bytes += data->ifi_obytes; + found = true; + } + + close(media_socket); + freeifaddrs(addresses); + + response->set_available(found); + response->set_rx_bytes(rx_bytes); + response->set_tx_bytes(tx_bytes); +} + +} // namespace mostats diff --git a/src/native/metrics/network_probe.h b/src/native/metrics/network_probe.h new file mode 100644 index 0000000..5a2fed7 --- /dev/null +++ b/src/native/metrics/network_probe.h @@ -0,0 +1,20 @@ +#ifndef MOSTATS_METRICS_NETWORK_PROBE_H_ +#define MOSTATS_METRICS_NETWORK_PROBE_H_ + +#include "gen/network.pb.h" + +namespace mostats { + +// Reads cumulative network byte counters into the generated response. +// +// Sums the kernel's per-interface rx/tx totals across the active physical +// interfaces (Ethernet/Wi-Fi/Thunderbolt and cellular), skipping loopback, VPN +// tunnels, and AirDrop/sharing so traffic is not double-counted. On failure the +// response is marked unavailable. Only raw counters are returned; the +// main-process sampler owns the delta-to-rate math. See network_probe.cc for the +// interface-selection rule. +void ReadNetworkCounters(NetworkCounters* response); + +} // namespace mostats + +#endif // MOSTATS_METRICS_NETWORK_PROBE_H_ diff --git a/src/native/temperature/temperature_probe.cc b/src/native/metrics/temperature_probe.cc similarity index 99% rename from src/native/temperature/temperature_probe.cc rename to src/native/metrics/temperature_probe.cc index 825b15f..36c6c90 100644 --- a/src/native/temperature/temperature_probe.cc +++ b/src/native/metrics/temperature_probe.cc @@ -1,4 +1,4 @@ -#include "temperature/temperature_probe.h" +#include "metrics/temperature_probe.h" #include #include diff --git a/src/native/temperature/temperature_probe.h b/src/native/metrics/temperature_probe.h similarity index 93% rename from src/native/temperature/temperature_probe.h rename to src/native/metrics/temperature_probe.h index 028bcd4..b9e27ca 100644 --- a/src/native/temperature/temperature_probe.h +++ b/src/native/metrics/temperature_probe.h @@ -1,5 +1,5 @@ -#ifndef MOSTATS_TEMPERATURE_PROBE_H_ -#define MOSTATS_TEMPERATURE_PROBE_H_ +#ifndef MOSTATS_METRICS_TEMPERATURE_PROBE_H_ +#define MOSTATS_METRICS_TEMPERATURE_PROBE_H_ // Narrow CPU-temperature probe over private macOS sensor APIs. // @@ -37,4 +37,4 @@ CpuTemperatureReading ReadCpuTemperature(); } // namespace mostats -#endif // MOSTATS_TEMPERATURE_PROBE_H_ +#endif // MOSTATS_METRICS_TEMPERATURE_PROBE_H_ From 2ff7885cbef49cd2ea4ac590e794dc77d78c5fc8 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Mon, 8 Jun 2026 18:23:27 +0300 Subject: [PATCH 096/169] Refactor temperature probe documentation and improve code clarity --- src/native/metrics/temperature_probe.cc | 70 ++++++++--------------- src/native/processes/app_metadata.mm | 2 +- src/native/processes/process_collector.cc | 11 ++-- src/native/proto/temperature.proto | 14 ++--- 4 files changed, 33 insertions(+), 64 deletions(-) diff --git a/src/native/metrics/temperature_probe.cc b/src/native/metrics/temperature_probe.cc index 36c6c90..da2638a 100644 --- a/src/native/metrics/temperature_probe.cc +++ b/src/native/metrics/temperature_probe.cc @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -86,13 +87,10 @@ struct TemperatureAccumulator { // --------------------------------------------------------------------------- // SMC CPU-core temperature path (primary) // -// On Apple Silicon the per-core die temperatures are exposed as AppleSMC keys -// whose names differ by chip generation. This is the source Stats averages for -// its "Average CPU" value, so it is the source we mirror. The catch is that a -// parked core's key reads an idle floor (~5 C) rather than its real -// temperature, so a single cold read averages in garbage. We hold the last -// in-range value per key and reuse it while a core is parked - the same -// technique Stats uses to keep the number steady. +// Apple Silicon exposes per-core temperatures as AppleSMC keys whose names +// differ by chip generation. A parked core's key reads an idle floor (~5 C) +// rather than its real value, so we hold the last in-range reading per key and +// reuse it while the core is parked, keeping the average steady. // --------------------------------------------------------------------------- // AppleSMC user-client RPC selectors and per-call sub-commands. @@ -369,23 +367,17 @@ class SmcConnection { // Returns the CPU-core key list for this machine's generation, or an empty // span for non-Apple-Silicon / unknown chips. -std::optional> CpuKeysForGeneration( +std::span CpuKeysForGeneration( AppleSiliconGeneration generation) { switch (generation) { - case AppleSiliconGeneration::kM1: - return std::make_pair(kM1CpuKeys.data(), kM1CpuKeys.size()); - case AppleSiliconGeneration::kM2: - return std::make_pair(kM2CpuKeys.data(), kM2CpuKeys.size()); - case AppleSiliconGeneration::kM3: - return std::make_pair(kM3CpuKeys.data(), kM3CpuKeys.size()); - case AppleSiliconGeneration::kM4: - return std::make_pair(kM4CpuKeys.data(), kM4CpuKeys.size()); - case AppleSiliconGeneration::kM5: - return std::make_pair(kM5CpuKeys.data(), kM5CpuKeys.size()); - case AppleSiliconGeneration::kUnknown: - return std::nullopt; + case AppleSiliconGeneration::kM1: return kM1CpuKeys; + case AppleSiliconGeneration::kM2: return kM2CpuKeys; + case AppleSiliconGeneration::kM3: return kM3CpuKeys; + case AppleSiliconGeneration::kM4: return kM4CpuKeys; + case AppleSiliconGeneration::kM5: return kM5CpuKeys; + case AppleSiliconGeneration::kUnknown: return {}; } - return std::nullopt; + return {}; } // Process-lifetime CPU-core temperature reader. Holds one SMC connection and @@ -411,20 +403,10 @@ class CpuCoreTemperatureReader { return accumulator; } - const auto keys = CpuKeysForGeneration(generation_); - if (!keys.has_value()) { - return accumulator; - } - - const std::string_view* key_data = keys->first; - const size_t key_count = keys->second; - for (size_t i = 0; i < key_count; ++i) { - const std::string_view key = key_data[i]; - - // Resolve the key's metadata once and cache it: size/type are fixed for - // the life of the machine, so every later tick skips the key-info RPC and - // does only the single bytes-read. A key absent from this chip never - // resolves and is skipped for good. + for (const std::string_view key : CpuKeysForGeneration(generation_)) { + // Cache each key's metadata: size/type are fixed for the machine's life, + // so later ticks skip the key-info RPC and do only the bytes-read. A key + // absent from this chip never resolves and is skipped for good. auto info_it = key_info_.find(std::string(key)); if (info_it == key_info_.end()) { const std::optional info = smc_.ReadKeyInfo(key); @@ -438,9 +420,9 @@ class CpuCoreTemperatureReader { if (!value.has_value()) { continue; } - const std::optional celsius = DecodeSmcTemperature(*value); // Keep only in-range readings; a parked core reads the idle floor and is // ignored this tick (its held value, if any, still counts below). + const std::optional celsius = DecodeSmcTemperature(*value); if (celsius.has_value() && IsPlausibleTemperature(*celsius)) { last_good_[std::string(key)] = *celsius; } @@ -467,16 +449,12 @@ class CpuCoreTemperatureReader { // --------------------------------------------------------------------------- // HID CPU-core temperature path // -// Apple also exposes the per-core CPU temperatures on a dedicated HID page -// (kHIDPage_AppleVendorTemperatureSensor, 0xff05) as services named -// "pACC MTR Temp ..." (performance cores) and "eACC MTR Temp ..." (efficiency -// cores). Unlike the SMC core keys these come back already resolved and do not -// park at an idle floor, so they need no last-good handling - only a plausible- -// range filter. This page is empty on some machines (it returned no services on -// the M2 Max this was developed on); where present it is a real CPU-core source -// and its readings are averaged together with the SMC core readings. We do NOT -// read the SOC die sensors here: those are not CPU-core temperatures, so using -// them would misreport the value the card claims to show. +// Apple also exposes per-core CPU temperatures on a HID page (0xff05) as +// services named "pACC MTR Temp" (performance) and "eACC MTR Temp" (efficiency +// cores). These come back already resolved (no idle floor), so they need only a +// range filter. The page is empty on some machines; where present its readings +// are averaged with the SMC ones. SOC die sensors on this page are deliberately +// skipped - they are not CPU-core temperatures. // --------------------------------------------------------------------------- constexpr int32_t kHIDEventTypeTemperature = 15; diff --git a/src/native/processes/app_metadata.mm b/src/native/processes/app_metadata.mm index 06964e4..1257cc3 100644 --- a/src/native/processes/app_metadata.mm +++ b/src/native/processes/app_metadata.mm @@ -190,7 +190,7 @@ bool IsGroupedOwnerApplication(NSRunningApplication* application) { NSString* bundle_path = application.bundleURL.path; NSString* executable_path = application.executableURL.path; if (bundle_path.length == 0 || executable_path.length == 0) { - return true; + return true; // No path to prove it is nested; treat it as its own owner. } const AppBundle owner = AppBundleForPath(executable_path.UTF8String); return owner.path.empty() || owner.path == bundle_path.UTF8String; diff --git a/src/native/processes/process_collector.cc b/src/native/processes/process_collector.cc index bc07042..fb352e9 100644 --- a/src/native/processes/process_collector.cc +++ b/src/native/processes/process_collector.cc @@ -384,13 +384,10 @@ void FillMemory(pid_t pid, const proc_taskallinfo& task, bool task_ok, } } -// Converts a mach absolute-time tick count to nanoseconds using the host -// timebase. proc_pidinfo reports pti_total_user/pti_total_system in mach time -// units, NOT nanoseconds (verified on Apple Silicon, where the timebase is -// numer/denom = 125/3, so one tick is ~41.67 ns); the timebase is 1/1 only on -// older Intel Macs. A 128-bit intermediate avoids overflow in tick * numer for -// large cumulative counters. The timebase is constant for the host, so it is -// queried once. +// Converts a mach absolute-time tick count to nanoseconds. proc_pidinfo reports +// pti_total_user/system in mach time units, NOT nanoseconds (e.g. ~41.67 ns per +// tick on Apple Silicon; 1:1 only on older Intel). The 128-bit intermediate +// avoids overflow in tick * numer; the host timebase is queried once. uint64_t MachTicksToNanos(uint64_t ticks) { static const mach_timebase_info_data_t timebase = [] { mach_timebase_info_data_t info = {1, 1}; diff --git a/src/native/proto/temperature.proto b/src/native/proto/temperature.proto index 62ae432..857199a 100644 --- a/src/native/proto/temperature.proto +++ b/src/native/proto/temperature.proto @@ -5,15 +5,9 @@ import "google/protobuf/empty.proto"; // Native CPU temperature probe (main <- native C++). // // No Node API exposes thermal sensors, and macOS has no documented public CPU -// temperature source on Apple Silicon. This probe averages the union of every -// in-range per-core reading from two CPU-core sources (the same sources Stats -// averages for its "Average CPU" value): generation-specific AppleSMC core keys -// (holding the last in-range value per core so a parked core's idle floor does -// not skew the result) and the HID CPU-core sensors ("pACC/eACC MTR Temp", which -// are absent on some machines). Both measure CPU cores; there is no die or -// approximate fallback. When neither source yields a plausible CPU-core reading, -// the probe reports available=false and the card degrades to an explicit -// unavailable state rather than showing a guessed value. +// temperature source on Apple Silicon, so this is best-effort: when no plausible +// CPU-core reading is available the probe reports available=false rather than a +// guessed value. See temperature_probe.cc for the sources and decode rules. // A single CPU temperature reading. Optional by design: temperature is a // best-effort metric because public macOS APIs do not guarantee a stable CPU @@ -22,7 +16,7 @@ message CpuTemperature { // False when no trustworthy CPU sensor could be read; celsius is then 0 and // the sampler degrades only the temperature card to unavailable. bool available = 1; - double celsius = 2; // Average CPU die temperature in degrees Celsius. + double celsius = 2; // Average CPU core temperature in degrees Celsius. } service TemperatureService { From d1470cc73ac92f2097c28f63989ef8d03cc7c7b4 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Mon, 8 Jun 2026 18:31:41 +0300 Subject: [PATCH 097/169] Enhance documentation clarity and improve code comments across application, metrics, and process services --- src/main/application.ts | 30 ++++------- src/main/metrics/metric-types.ts | 2 +- src/main/metrics/metrics-service.ts | 16 +++--- .../processes/process-explorer-service.ts | 50 +++---------------- .../processes/process-snapshot-service.ts | 15 +++--- 5 files changed, 30 insertions(+), 83 deletions(-) diff --git a/src/main/application.ts b/src/main/application.ts index ccfb95a..deae80e 100644 --- a/src/main/application.ts +++ b/src/main/application.ts @@ -8,27 +8,17 @@ import { ActiveView, CopyTextRequest, SetActiveViewRequest, SetAlwaysOnTopReques import { AppServiceDescriptor } from "./gen/ipc_service"; /** - * Composition root for the MoStats main process. + * Composition root for the MoStats main process: owns the single compact window, + * the menu-bar tray, app lifecycle wiring, and the renderer-facing IPC services + * (metrics stream + process explorer). * - * Owns the single compact window, the menu-bar tray, app lifecycle wiring, and - * registration of renderer-facing IPC services, including the metrics stream. - * The metrics service samples CPU, memory, disk, network, uptime/load, and - * optional CPU temperature in main and streams them to the renderer. The process - * explorer service collects live process snapshots in main, serves them on its - * own IPC service, and runs the main-authoritative reveal/quit/force-quit actions - * (validated against the latest snapshot, with native confirmation for the - * destructive ones). - * - * Lifecycle: the window hides instead of closing, so the app keeps running in the - * background with only the tray present. Per-view background work is gated on two - * signals this class owns: window visibility (from the window callback) and the - * active view (reported by the renderer via {@link ActiveView}). Exactly the one - * service whose view is on screen runs, and neither runs while the window is - * hidden - so metrics sample only on the visible Stats view, and the process - * collector (which reads sensitive command-line data) collects only on the - * visible Processes view. Both gates are combined in {@link updateServiceActivation}. - * Quit is routed through {@link quit} so the metrics interval/stream, the process - * explorer cadence/stream, and the tray are torn down before the process exits. + * The window hides instead of closing, so the app keeps running in the tray. + * Per-view background work is gated on two signals this class owns - window + * visibility and the active view (reported via {@link ActiveView}) - combined in + * {@link updateServiceActivation} so exactly the on-screen view's service runs, + * and neither while hidden. This keeps the process collector's sensitive + * command-line reads off until the user is on the Processes view. Quit is routed + * through {@link quit} so the services and tray are torn down before exit. */ export class Application { private readonly window = new ApplicationWindow(() => { diff --git a/src/main/metrics/metric-types.ts b/src/main/metrics/metric-types.ts index ce091a2..c2b9179 100644 --- a/src/main/metrics/metric-types.ts +++ b/src/main/metrics/metric-types.ts @@ -76,7 +76,7 @@ export interface UptimeReading { */ export interface TemperatureReading { status: ReadingStatus; - /** CPU-cluster temperature in degrees Celsius; 0 when not `ok`. */ + /** CPU-core temperature in degrees Celsius; 0 when not `ok`. */ celsius: number; } diff --git a/src/main/metrics/metrics-service.ts b/src/main/metrics/metrics-service.ts index 7884f96..6d2adf7 100644 --- a/src/main/metrics/metrics-service.ts +++ b/src/main/metrics/metrics-service.ts @@ -50,16 +50,12 @@ function toMetricStatus(status: ReadingStatus): MetricStatus { * tick is async. Temperature is best-effort and is published as explicit * unavailable when no trustworthy CPU sensor is readable. * - * Lifecycle hardening (I09): the cadence runs only while the UI is active. The - * sole consumer is the single compact window, so {@link setActive} pauses the - * interval (and the two native probes it drives) while the window is hidden and - * resumes it when shown. A tick is skipped if the previous async publish has not - * finished, so a slow or hung probe cannot stack overlapping work. `publish()` - * never rejects: the sampler degrades per-group failures to unavailable, and a - * delivery error (e.g. a stale publish after `dispose()`) is swallowed rather - * than left as an unhandled rejection. `dispose()` stops the interval and closes - * any in-flight subscribers; it is called from the app quit path so the process - * exits cleanly. + * Lifecycle: the cadence runs only while the UI is active. {@link setActive} + * pauses the interval (and the native probes it drives) while the window is + * hidden and resumes it when shown. A tick is skipped while a prior async publish + * is still in flight, so a slow probe cannot stack work, and `publish()` never + * rejects (failures degrade to unavailable or are swallowed). {@link dispose}, + * called from the quit path, stops the interval and closes in-flight subscribers. */ export class MetricsService { private readonly handle = ipc.registerService(MetricsServiceDescriptor); diff --git a/src/main/processes/process-explorer-service.ts b/src/main/processes/process-explorer-service.ts index ff7b45a..65a5975 100644 --- a/src/main/processes/process-explorer-service.ts +++ b/src/main/processes/process-explorer-service.ts @@ -1,12 +1,5 @@ import { ipc } from "@mobrowser/api"; import type { BrowserWindow } from "@mobrowser/api"; -import { - GetProcessActionStatesRequest, - GetProcessActionStatesResponse, - ProcessSnapshot, - RunProcessActionRequest, - RunProcessActionResponse, -} from "../gen/process_explorer"; import { ProcessExplorerService as ProcessExplorerServiceImpl, ProcessExplorerServiceDescriptor, @@ -42,18 +35,20 @@ export class ProcessExplorerService { private readonly actions: ProcessActionService; /** - * The unary handlers. Held as one object so {@link dispose} unregisters the + * The unary handlers, each a thin route to the owning piece (snapshot service + * or action service). Held as one object so {@link dispose} unregisters the * exact implementation that was registered. The streaming `StreamRevisions` * method is owned by the snapshot service's broadcast handle, so it is omitted - * here. + * here. Requests carry privacy-sensitive identity and are never logged; action + * results stay count-only. */ private readonly unaryHandlers: Pick< ProcessExplorerServiceImpl, "GetProcessSnapshot" | "GetProcessActionStates" | "RunProcessAction" > = { - GetProcessSnapshot: () => this.getProcessSnapshot(), - GetProcessActionStates: (request) => this.getProcessActionStates(request), - RunProcessAction: (request) => this.runProcessAction(request), + GetProcessSnapshot: async () => this.snapshots.getSnapshot(), + GetProcessActionStates: async (request) => this.actions.getActionStates(request), + RunProcessAction: (request) => this.actions.runAction(request), }; private disposed = false; @@ -92,35 +87,4 @@ export class ProcessExplorerService { this.snapshots.dispose(); ipc.unregisterService(ProcessExplorerServiceDescriptor, this.unaryHandlers); } - - /** - * Returns the latest cached process snapshot from the snapshot service. Before - * the first collection (or while the view is idle) this is an explicit - * loading/unavailable snapshot, so the list view never renders fabricated rows. - */ - private async getProcessSnapshot(): Promise { - return this.snapshots.getSnapshot(); - } - - /** - * Returns per-action availability for a target, validated in the action service - * against the latest snapshot. The request target carries privacy-sensitive - * identity and is never logged. - */ - private async getProcessActionStates( - request: GetProcessActionStatesRequest, - ): Promise { - return this.actions.getActionStates(request); - } - - /** - * Runs a validated action against a target through the action service (reveal / - * confirmed quit / confirmed force quit). The request is never logged and the - * result is count-only. - */ - private async runProcessAction( - request: RunProcessActionRequest, - ): Promise { - return this.actions.runAction(request); - } } diff --git a/src/main/processes/process-snapshot-service.ts b/src/main/processes/process-snapshot-service.ts index 1586e47..741aa14 100644 --- a/src/main/processes/process-snapshot-service.ts +++ b/src/main/processes/process-snapshot-service.ts @@ -369,15 +369,12 @@ export class ProcessSnapshotService { clearInterval(this.timer); this.timer = null; } - // CPU baselines are intentionally kept across a pause (matching the metrics - // sampler, which keeps its CPU tick counters), so re-entering the Processes - // view computes a real per-process CPU delta on the first collection instead - // of a cold start that sorts alphabetically with no values. The delta math - // stays correct: both the CPU-time delta and the wall delta span the same - // real elapsed gap, so the first post-resume tick reports true average usage - // across the absence (it converges to instantaneous on the next tick). A - // reused PID is a different (pid, started_at) key, so it still reports UNKNOWN - // rather than diffing against an unrelated process. + // CPU baselines are intentionally kept across a pause (like the metrics + // sampler's tick counters), so re-entering the Processes view computes a real + // per-process CPU delta on the first tick instead of a cold valueless start. + // The delta stays correct: CPU-time and wall deltas span the same elapsed gap. + // A reused PID is a different (pid, started_at) key, so it still reports + // UNKNOWN rather than diffing against an unrelated process. } /** From 03ea9aa351668e2fdd92bdc438cf5822755635ca Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Mon, 8 Jun 2026 18:39:28 +0300 Subject: [PATCH 098/169] Refactor metric processing functions for clarity and consistency --- src/renderer/domain/metric-view.ts | 5 +-- src/renderer/domain/process-detail.ts | 61 +++++++-------------------- src/renderer/domain/process-list.ts | 17 +++----- 3 files changed, 24 insertions(+), 59 deletions(-) diff --git a/src/renderer/domain/metric-view.ts b/src/renderer/domain/metric-view.ts index ecb3534..c8effc7 100644 --- a/src/renderer/domain/metric-view.ts +++ b/src/renderer/domain/metric-view.ts @@ -32,9 +32,8 @@ export function baseState(status: MetricStatus): MetricState { } /** - * Refines an OK metric to `ok` / `elevated` / `critical` by percent used. - * Non-OK states pass through unchanged. Defaults follow DESIGN.md metric color - * guidance (green normal, amber elevated, red critical). + * Refines an OK metric to `ok` / `elevated` / `critical` by percent used. Non-OK + * states pass through unchanged. Thresholds follow DESIGN.md metric guidance. */ export function usageState( status: MetricStatus, diff --git a/src/renderer/domain/process-detail.ts b/src/renderer/domain/process-detail.ts index 794cc20..3fa2fe1 100644 --- a/src/renderer/domain/process-detail.ts +++ b/src/renderer/domain/process-detail.ts @@ -198,28 +198,29 @@ function detailCommandLine(row: ProcessRow): DetailCommandLine { } /** - * Sums one metric across the group's members into a {@link DetailMetric}. - * `ok` when at least one member has a real value (others contribute 0); `pending` - * when none is OK but some are still being computed; `unavailable` otherwise. + * Sums one value across the group's members for either a metric total or a header + * stat (DetailMetric and DetailStat share the same `{ state, text }` shape). `ok` + * when at least one member has a real value (others contribute 0); `pending` when + * none is OK but some are still being computed; `unavailable` otherwise. */ -function sumGroupMetric( +function sumGroup( members: ProcessRow[], read: (row: ProcessRow) => MetricCell, format: (value: number) => string, ): DetailMetric { let sum = 0; - let hasMetric = false; + let hasValue = false; let anyPending = false; for (const row of members) { const cell = read(row); if (cell.value !== undefined) { sum += cell.value; - hasMetric = true; + hasValue = true; } else if (cell.pending) { anyPending = true; } } - if (hasMetric) { + if (hasValue) { return { state: "ok", text: format(sum) }; } return { state: anyPending ? "pending" : "unavailable" }; @@ -243,35 +244,6 @@ function rowCpuTime(row: ProcessRow): MetricCell { return { pending: cpuTime === undefined || isPending(cpuTime.status) }; } -/** - * Sums one stat across the group's members into a {@link DetailStat}, mirroring - * {@link sumGroupMetric}: `ok` when at least one member has a real value (others - * contribute 0), `pending` when none is OK but some are still pending, else - * `unavailable`. - */ -function sumGroupStat( - members: ProcessRow[], - read: (row: ProcessRow) => MetricCell, - format: (value: number) => string, -): DetailStat { - let sum = 0; - let hasValue = false; - let anyPending = false; - for (const row of members) { - const cell = read(row); - if (cell.value !== undefined) { - sum += cell.value; - hasValue = true; - } else if (cell.pending) { - anyPending = true; - } - } - if (hasValue) { - return { state: "ok", text: format(sum) }; - } - return { state: anyPending ? "pending" : "unavailable" }; -} - /** * Reads the representative's owning user as a display stat: the login name when * known, else `uid N` (the numeric uid is still useful identity), else @@ -306,13 +278,10 @@ function buildMember(row: ProcessRow, sort: SortMode): DetailMember { /** * Projects a selected {@link ProcessGroup} into its {@link ProcessDetail} display * model. Identity/path/argv/started-at come from the representative (the row the - * collapsed list already shows); CPU and memory are summed across all members so - * a grouped app reports its whole footprint, which the user would otherwise have - * to add up by hand. For a multi-process group all members (representative first) - * are projected for the expandable Members section, which scrolls within a - * bounded box rather than being capped; a single-process detail has no member - * list. The active `sort` sets each member's displayed value so the section reads - * like the main list. + * collapsed list shows); CPU and memory are summed across all members so a grouped + * app reports its whole footprint. A multi-process group projects all members + * (representative first) for the Members section; a single-process detail has no + * member list. The active `sort` sets each member's displayed value. */ export function buildProcessDetail(group: ProcessGroup, sort: SortMode): ProcessDetail { const representative = group.members[0]; @@ -347,15 +316,15 @@ export function buildProcessDetail(group: ProcessGroup, sort: SortMode): Process // Only the selected metric's total is shown (the CPU/RAM switch picks which), // formatted with detail precision. - const total = sumGroupMetric(group.members, read, (value) => formatDetailMetric(value, sort)); + const total = sumGroup(group.members, read, (value) => formatDetailMetric(value, sort)); // Secondary header stats. Thread count and CPU time sum across the group (an // app's whole footprint); the user comes from the representative (members // share it). Thread count uses no decimals. - const threadCount = sumGroupStat(group.members, rowThreadCount, (value) => + const threadCount = sumGroup(group.members, rowThreadCount, (value) => Math.round(value).toString(), ); - const cpuTime = sumGroupStat(group.members, rowCpuTime, formatCpuTime); + const cpuTime = sumGroup(group.members, rowCpuTime, formatCpuTime); const user = detailUser(representative); return { diff --git a/src/renderer/domain/process-list.ts b/src/renderer/domain/process-list.ts index 72529f7..f166c44 100644 --- a/src/renderer/domain/process-list.ts +++ b/src/renderer/domain/process-list.ts @@ -344,16 +344,13 @@ function buildGroupRow(group: GroupAccumulator, sort: SortMode): ProcessGroup { } /** - * Folds the snapshot rows into ranked display groups for the given sort and - * (optional) search query. Buckets rows by their native app key (the owning - * `.app` bundle or bundle id), sums each app group's metric, and keeps non-app - * processes as singleton rows. Search keeps app/group matches grouped (so the - * Members section remains available), but returns helper/member-specific matches - * as singleton rows so the visible result name matches the opened process. - * Returns every matched group, ranked by summed metric descending with a stable - * name tiebreak, with no display cap applied - callers cap for the list, while - * the detail lookup needs the full set so a selected group stays findable even - * when it ranks past the list cap. + * Folds snapshot rows into ranked display groups for the sort and optional search + * query: buckets by native app key (owning `.app` bundle or bundle id), sums each + * group's metric, and keeps non-app processes as singletons. Search keeps + * app/group matches grouped but returns member-specific matches as singletons, so + * the visible result name matches the process that opens. Ranked by summed metric + * descending with a stable name tiebreak; no display cap - callers cap for the + * list, but the detail lookup needs the full set to keep a selection findable. */ function buildGroups(rows: ProcessRow[], sort: SortMode, query: string): ProcessGroup[] { const trimmed = query.trim().toLowerCase(); From 3036e6accaeb3f61f363618c348346cb9007b20a Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Mon, 8 Jun 2026 18:53:24 +0300 Subject: [PATCH 099/169] Add tests for new metrics handling and edge cases in CPU and memory sampling --- tests/unit/format.test.ts | 11 ++ tests/unit/metrics-sampler.test.ts | 58 +++++++++++ tests/unit/metrics-service.test.ts | 69 +++++++++++++ tests/unit/process-action-service.test.ts | 68 +++++++++++++ tests/unit/process-detail.test.ts | 33 ++++++ tests/unit/process-snapshot-service.test.ts | 107 ++++++++++++++++++++ 6 files changed, 346 insertions(+) diff --git a/tests/unit/format.test.ts b/tests/unit/format.test.ts index 0671cf9..a4053e7 100644 --- a/tests/unit/format.test.ts +++ b/tests/unit/format.test.ts @@ -74,6 +74,17 @@ describe("formatBytes", () => { expect(formatBytes(15.63 * 1024 * 1024 * 1024, true)).toBe("15.63 GB"); }); + it("scales into TB and PB with one decimal", () => { + expect(formatBytes(3 * 1024 ** 4)).toBe("3.0 TB"); + expect(formatBytes(5 * 1024 ** 5)).toBe("5.0 PB"); + }); + + it("caps at the largest unit instead of overflowing past PB", () => { + // 2048 PB has no larger unit; the loop must stop at PB rather than index + // past BYTE_UNITS into an undefined suffix. + expect(formatBytes(2048 * 1024 ** 5)).toBe("2048.0 PB"); + }); + it("is unavailable for negative or non-finite input", () => { expect(formatBytes(-1)).toBe(UNAVAILABLE_TEXT); expect(formatBytes(Number.NaN)).toBe(UNAVAILABLE_TEXT); diff --git a/tests/unit/metrics-sampler.test.ts b/tests/unit/metrics-sampler.test.ts index 49877e3..559530e 100644 --- a/tests/unit/metrics-sampler.test.ts +++ b/tests/unit/metrics-sampler.test.ts @@ -101,6 +101,25 @@ describe("CPU delta math", () => { expect(reading.cpu.status).toBe("ok"); expect(reading.cpu.usagePercent).toBe(100); }); + + it("degrades CPU to unavailable when os.cpus() throws, and re-arms after", async () => { + const sampler = new MetricsSampler(); + h.cpus.mockReturnValue([core("M2", 100, 100)]); + await sampler.sample(); // establish a baseline + + h.cpus.mockImplementationOnce(() => { + throw new Error("os boom"); + }); + const failed = await sampler.sample(); + expect(failed.cpu.status).toBe("unavailable"); + // Other groups stay produced. + expect(failed.uptime.status).toBe("ok"); + + // The catch reset the baseline, so the next successful read is a first sample + // again (unknown), not a delta against the pre-failure ticks. + h.cpus.mockReturnValue([core("M2", 500, 500)]); + expect((await sampler.sample()).cpu.status).toBe("unknown"); + }); }); describe("network delta math", () => { @@ -166,6 +185,17 @@ describe("network delta math", () => { clockMs = 3000; expect((await sampler.sample()).network.status).toBe("unknown"); }); + + it("reports unknown when the clock did not advance (no divide-by-zero rate)", async () => { + const sampler = new MetricsSampler(); + h.readNetwork.mockResolvedValue({ available: true, rxBytes: 1000, txBytes: 1000 }); + clockMs = 5000; + await sampler.sample(); + // Two samples at the same timestamp: elapsed <= 0 -> unknown, never a rate. + h.readNetwork.mockResolvedValue({ available: true, rxBytes: 9000, txBytes: 9000 }); + const reading = await sampler.sample(); + expect(reading.network.status).toBe("unknown"); + }); }); describe("disk", () => { @@ -229,6 +259,18 @@ describe("memory", () => { h.readMemory.mockResolvedValue({ available: false, totalBytes: 0, usedBytes: 0, availableBytes: 0, cachedBytes: 0 }); expect((await new MetricsSampler().sample()).memory.status).toBe("unavailable"); }); + + it("is unavailable when available but the total is non-finite (garbage probe)", async () => { + h.readMemory.mockResolvedValue({ + available: true, + totalBytes: Number.NaN, + usedBytes: 8 * GB, + availableBytes: 0, + cachedBytes: 0, + }); + // A NaN/<=0 total must not divide into a nonsense percent. + expect((await new MetricsSampler().sample()).memory.status).toBe("unavailable"); + }); }); describe("temperature", () => { @@ -304,6 +346,22 @@ describe("uptime and load", () => { expect(reading.uptime.uptimeSeconds).toBe(123); expect(reading.uptime.loadAverage).toEqual([2.5, 1.25, 0.75]); }); + + it("drops non-finite load entries (e.g. a platform without loadavg)", async () => { + h.loadavg.mockReturnValue([1.5, Number.NaN, Number.POSITIVE_INFINITY]); + const reading = await new MetricsSampler().sample(); + expect(reading.uptime.loadAverage).toEqual([1.5]); + }); + + it("degrades only uptime to unavailable when os.uptime() throws", async () => { + h.uptime.mockImplementation(() => { + throw new Error("uptime boom"); + }); + const reading = await new MetricsSampler().sample(); + expect(reading.uptime.status).toBe("unavailable"); + // Disk (another sync group) is unaffected. + expect(reading.disk.status).toBe("ok"); + }); }); describe("failure isolation", () => { diff --git a/tests/unit/metrics-service.test.ts b/tests/unit/metrics-service.test.ts index b952a53..02e5523 100644 --- a/tests/unit/metrics-service.test.ts +++ b/tests/unit/metrics-service.test.ts @@ -130,3 +130,72 @@ describe("MetricsService lifecycle gating", () => { expect(h.sample).not.toHaveBeenCalled(); }); }); + +describe("MetricsService publish robustness", () => { + /** A promise plus its resolver, so a test can hold a sample pending. */ + function deferred() { + let resolve!: (value: T) => void; + const promise = new Promise((r) => { + resolve = r; + }); + return { promise, resolve }; + } + + it("skips a tick while a previous publish is still in flight", async () => { + const service = new MetricsService(); + const pending = deferred>(); + // First sample never resolves during the window, so it stays in flight. + h.sample.mockReturnValueOnce(pending.promise); + + service.setActive(true); + await flush(); + expect(h.sample).toHaveBeenCalledTimes(1); // immediate publish started + + // A full interval elapses while the first publish is unresolved: the overlap + // guard must skip rather than stack a second concurrent sample. + await vi.advanceTimersByTimeAsync(PUBLISH_INTERVAL_MS); + expect(h.sample).toHaveBeenCalledTimes(1); + + // Once it resolves, the cadence resumes on the next tick. + pending.resolve(emptyReading()); + await flush(); + await vi.advanceTimersByTimeAsync(PUBLISH_INTERVAL_MS); + expect(h.sample).toHaveBeenCalledTimes(2); + }); + + it("survives a delivery failure and keeps the cadence (never rejects)", async () => { + const service = new MetricsService(); + // The first StreamSnapshots throws; the floating publish must swallow it. + h.streamSnapshots.mockImplementationOnce(() => { + throw new Error("delivery boom"); + }); + + service.setActive(true); + await flush(); + expect(h.streamSnapshots).toHaveBeenCalledTimes(1); + + // The next tick still samples and delivers - no dead cadence, no unhandled + // rejection from the swallowed error. + await vi.advanceTimersByTimeAsync(PUBLISH_INTERVAL_MS); + expect(h.sample).toHaveBeenCalledTimes(2); + expect(h.streamSnapshots).toHaveBeenCalledTimes(2); + }); + + it("does not deliver a publish that resolves after dispose", async () => { + const service = new MetricsService(); + const pending = deferred>(); + h.sample.mockReturnValueOnce(pending.promise); + + service.setActive(true); + await flush(); + expect(h.sample).toHaveBeenCalledTimes(1); + + // Dispose while the sample is still pending, then let it resolve. + service.dispose(); + pending.resolve(emptyReading()); + await flush(); + + // The post-dispose resolution must not reach the (disposed) stream. + expect(h.streamSnapshots).not.toHaveBeenCalled(); + }); +}); diff --git a/tests/unit/process-action-service.test.ts b/tests/unit/process-action-service.test.ts index 16ee249..0de652b 100644 --- a/tests/unit/process-action-service.test.ts +++ b/tests/unit/process-action-service.test.ts @@ -248,4 +248,72 @@ describe("ProcessActionService.runAction", () => { expect(result.outcome).toBe(Outcome.OUTCOME_NOT_ALLOWED); expect(killSpy).not.toHaveBeenCalled(); }); + + it("maps a non-ESRCH/EPERM kill failure to FAILED", async () => { + const row = makeRow({ pid: SOME_PID, startedAtUnixMs: 1, commandName: "App" }); + const einval: NodeJS.ErrnoException = Object.assign(new Error("invalid"), { code: "EINVAL" }); + vi.spyOn(process, "kill").mockImplementation(() => { + throw einval; + }); + const service = new ProcessActionService(() => makeSnapshot([row]), () => null); + const result = await service.runAction({ action: QUIT, target: makeTarget(SOME_PID, 1) }); + expect(result.outcome).toBe(Outcome.OUTCOME_FAILED); + }); + + it("maps a reveal that throws to FAILED without leaking the path", async () => { + const row = makeRow({ pid: SOME_PID, startedAtUnixMs: 1, commandName: "App", executablePath: "/x" }); + h.showPath.mockImplementation(() => { + throw new Error("shell boom"); + }); + const service = new ProcessActionService(() => makeSnapshot([row]), () => null); + const result = await service.runAction({ action: REVEAL, target: makeTarget(SOME_PID, 1) }); + expect(result.outcome).toBe(Outcome.OUTCOME_FAILED); + expect(result.affectedCount).toBe(0); + }); + + it("aborts Force Quit when the target exits between confirm and signal (STALE)", async () => { + h.showMessageDialog.mockResolvedValue({ button: { type: "primary" } }); + const row = makeRow({ pid: SOME_PID, startedAtUnixMs: 1, commandName: "App" }); + const killSpy = vi.spyOn(process, "kill").mockImplementation(() => true); + // First resolve (pre-confirm validation) finds the row; the post-confirm + // re-resolve sees an empty snapshot - the process exited during the dialog. + const snapshots = [makeSnapshot([row]), makeSnapshot([])]; + let call = 0; + const getSnapshot = () => snapshots[Math.min(call++, snapshots.length - 1)]; + const service = new ProcessActionService(getSnapshot, () => null); + + const result = await service.runAction({ action: FORCE_QUIT, target: makeTarget(SOME_PID, 1) }); + expect(h.showMessageDialog).toHaveBeenCalledOnce(); + expect(result.outcome).toBe(Outcome.OUTCOME_STALE_TARGET); + expect(killSpy).not.toHaveBeenCalled(); + }); + + it("aborts Force Quit when the target becomes protected between confirm and signal", async () => { + h.showMessageDialog.mockResolvedValue({ button: { type: "primary" } }); + // Pre-confirm the PID is an ordinary app; post-confirm the same PID resolves + // to a critical process (e.g. PID reused by WindowServer) - the re-check must + // block the kill the renderer's stale states would otherwise have allowed. + const ordinary = makeRow({ pid: SOME_PID, startedAtUnixMs: 1, commandName: "App" }); + const critical = makeRow({ pid: SOME_PID, startedAtUnixMs: 1, commandName: "WindowServer" }); + const snapshots = [makeSnapshot([ordinary]), makeSnapshot([critical])]; + let call = 0; + const getSnapshot = () => snapshots[Math.min(call++, snapshots.length - 1)]; + const killSpy = vi.spyOn(process, "kill").mockImplementation(() => true); + const service = new ProcessActionService(getSnapshot, () => null); + + const result = await service.runAction({ action: FORCE_QUIT, target: makeTarget(SOME_PID, 1) }); + expect(result.outcome).toBe(Outcome.OUTCOME_NOT_ALLOWED); + expect(killSpy).not.toHaveBeenCalled(); + }); + + it("falls back to a PID-only confirmation name when the row has no names", async () => { + h.showMessageDialog.mockResolvedValue({ button: { type: "secondary" } }); + const row = makeRow({ pid: SOME_PID, startedAtUnixMs: 1 }); // no command/exec/app names + vi.spyOn(process, "kill").mockImplementation(() => true); + const service = new ProcessActionService(() => makeSnapshot([row]), () => null); + await service.runAction({ action: FORCE_QUIT, target: makeTarget(SOME_PID, 1) }); + expect(h.showMessageDialog).toHaveBeenCalledWith( + expect.objectContaining({ message: `Force Quit PID ${SOME_PID}?` }), + ); + }); }); diff --git a/tests/unit/process-detail.test.ts b/tests/unit/process-detail.test.ts index 30fc397..ac351fc 100644 --- a/tests/unit/process-detail.test.ts +++ b/tests/unit/process-detail.test.ts @@ -175,3 +175,36 @@ describe("buildProcessDetail - availability", () => { expect(detail.user).toEqual({ state: "ok", text: "uid 501" }); }); }); + +describe("buildProcessDetail - group total mixed states", () => { + it("sums OK members and ignores a pending member (no NaN)", () => { + const rows = [ + makeRow({ pid: 10, bundlePath: "/Applications/App.app", bundleName: "App", cpuPercent: 6 }), + // A member still being computed contributes 0, not NaN, and does not block + // the OK total from the member that does have a value. + makeRow({ pid: 20, bundlePath: "/Applications/App.app", cpuStatus: FieldStatus.FIELD_STATUS_UNKNOWN }), + ]; + const detail = buildProcessDetail(groupOf(rows, "app:/Applications/App.app"), "cpu"); + expect(detail.total.state).toBe("ok"); + expect(detail.total.text).toBe("6.00%"); + }); + + it("reports the total pending when no member is OK but one is still pending", () => { + const rows = [ + makeRow({ pid: 10, bundlePath: "/Applications/App.app", bundleName: "App", cpuStatus: FieldStatus.FIELD_STATUS_UNKNOWN }), + makeRow({ pid: 20, bundlePath: "/Applications/App.app", cpuStatus: FieldStatus.FIELD_STATUS_UNAVAILABLE }), + ]; + // pending beats unavailable: at least one member may still resolve. + const detail = buildProcessDetail(groupOf(rows, "app:/Applications/App.app"), "cpu"); + expect(detail.total.state).toBe("pending"); + }); + + it("reports the total unavailable when every member was tried and failed", () => { + const rows = [ + makeRow({ pid: 10, bundlePath: "/Applications/App.app", bundleName: "App", cpuStatus: FieldStatus.FIELD_STATUS_UNAVAILABLE }), + makeRow({ pid: 20, bundlePath: "/Applications/App.app", cpuStatus: FieldStatus.FIELD_STATUS_UNAVAILABLE }), + ]; + const detail = buildProcessDetail(groupOf(rows, "app:/Applications/App.app"), "cpu"); + expect(detail.total.state).toBe("unavailable"); + }); +}); diff --git a/tests/unit/process-snapshot-service.test.ts b/tests/unit/process-snapshot-service.test.ts index fb8b192..4a87839 100644 --- a/tests/unit/process-snapshot-service.test.ts +++ b/tests/unit/process-snapshot-service.test.ts @@ -370,6 +370,59 @@ describe("ProcessSnapshotService", () => { }); }); + it("reports UNKNOWN when a same-key cumulative counter goes backwards", async () => { + const service = makeService(); + + clockMs = 1_000; + await collectByActivation(service, response([ + record({ pid: 70, startedAtUnixMs: 5_000, cpuTimeNs: 5_000_000_000 }), + ])); + + // Same (pid, started_at) but the cumulative counter decreased (counter reset): + // the delta is negative, so CPU re-arms to UNKNOWN rather than a bogus value. + clockMs = 3_000; + await collectByActivation(service, response([ + record({ pid: 70, startedAtUnixMs: 5_000, cpuTimeNs: 1_000_000_000 }), + ])); + + expect(service.getSnapshot().processes[0].cpu).toEqual({ + status: FieldStatus.FIELD_STATUS_UNKNOWN, + usagePercent: 0, + }); + }); + + it("caps per-process CPU at logical-core-count * 100", async () => { + const service = makeService(); // mocked os.cpus() reports 4 cores -> cap 400% + + clockMs = 1_000; + await collectByActivation(service, response([ + record({ pid: 71, startedAtUnixMs: 5_000, cpuTimeNs: 0 }), + ])); + + // 10s of CPU time over a 1s wall window would be 1000%, far past the cap. + clockMs = 2_000; + await collectByActivation(service, response([ + record({ pid: 71, startedAtUnixMs: 5_000, cpuTimeNs: 10_000_000_000 }), + ])); + + const row = service.getSnapshot().processes[0]; + expect(row.cpu?.status).toBe(FieldStatus.FIELD_STATUS_OK); + expect(row.cpu?.usagePercent).toBe(400); + }); + + it("degrades a successful collect with available:false to an unavailable snapshot", async () => { + const service = makeService(); + + // Distinct from the rejected-promise path: the collector returns normally but + // reports the list itself unavailable. + await collectByActivation(service, response([], false)); + + const snapshot = service.getSnapshot(); + expect(snapshot.status).toBe(SnapshotStatus.SNAPSHOT_STATUS_UNAVAILABLE); + expect(snapshot.revision).toBe(1); + expect(snapshot.processes).toEqual([]); + }); + it("maps denied fields to explicit statuses and count-only warnings", async () => { const service = makeService(); @@ -432,3 +485,57 @@ describe("ProcessSnapshotService", () => { ); }); }); + +describe("ProcessSnapshotService field mapping", () => { + it("maps a record with no app metadata to all-UNKNOWN app fields and no bundle", async () => { + const service = makeService(); + + // A non-GUI process carries no NSWorkspace metadata; the collector leaves the + // whole app group unset, which must map to UNKNOWN (renderer uses a fallback + // icon and the command/executable name) rather than OK-empty. + const bare: NativeProcessRecord = { ...record({ pid: 200 }), app: undefined }; + await collectByActivation(service, response([bare])); + + const app = service.getSnapshot().processes[0].app; + expect(app?.bundleIdentifier?.status).toBe(FieldStatus.FIELD_STATUS_UNKNOWN); + expect(app?.localizedName?.status).toBe(FieldStatus.FIELD_STATUS_UNKNOWN); + expect(app?.iconPngBase64?.status).toBe(FieldStatus.FIELD_STATUS_UNKNOWN); + expect(app?.bundle).toBeUndefined(); + }); + + it("drops the app bundle to undefined when its path is not AVAILABLE", async () => { + const service = makeService(); + + // App metadata exists, but the owning .app path could not be read: the bundle + // must be dropped so the renderer groups by bundle id, not a phantom path. + const base = record({ pid: 201 }); + const withUnreadableBundlePath: NativeProcessRecord = { + ...base, + app: { + ...base.app!, + bundle: { + path: nativeString("", UNAVAILABLE), + name: nativeString("", UNAVAILABLE), + }, + }, + }; + await collectByActivation(service, response([withUnreadableBundlePath])); + + expect(service.getSnapshot().processes[0].app?.bundle).toBeUndefined(); + }); + + it("clamps negative native byte/count values to zero", async () => { + const service = makeService(); + + // Negative values should not happen, but a garbage native value must not + // surface as a negative size/count downstream. + await collectByActivation(service, response([ + record({ pid: 202, footprintBytes: -1, residentBytes: -5, threadCount: -3 }), + ])); + + const row = service.getSnapshot().processes[0]; + expect(row.memory?.physicalFootprintBytes?.value).toBe(0); + expect(row.memory?.residentBytes?.value).toBe(0); + expect(row.threadCount?.value).toBe(0); + }); +}); From f8cc26e6118c17256c2cb29f7a0f21f71f1bd2a3 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Mon, 8 Jun 2026 21:38:59 +0300 Subject: [PATCH 100/169] Add CI workflows for build, static analysis, and unit tests --- .github/workflows/build.yml | 100 ++++++++++++++++++++++++++ .github/workflows/static-analysis.yml | 32 +++++++++ .github/workflows/unit-tests.yml | 29 ++++++++ assets/app.icns | Bin 744100 -> 1863958 bytes assets/app.ico | Bin 76044 -> 0 bytes assets/app.png | Bin 13346 -> 0 bytes mobrowser.conf.json | 35 +++------ resources/imageTemplate.png | Bin 402 -> 194 bytes resources/imageTemplate@2x.png | Bin 699 -> 323 bytes src/renderer/public/logo.svg | 22 ------ 10 files changed, 170 insertions(+), 48 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/static-analysis.yml create mode 100644 .github/workflows/unit-tests.yml delete mode 100644 assets/app.ico delete mode 100644 assets/app.png delete mode 100644 src/renderer/public/logo.svg diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..34d0ed1 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,100 @@ +name: Build Release Package + +on: + push: + tags: + - 'v*' + workflow_dispatch: + +permissions: + contents: write + +jobs: + build-macos: + runs-on: macos-latest + + env: + # Base64-encoded Developer ID Application certificate (.p12). + MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} + # Password used to export the .p12 certificate from Keychain Access. + MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }} + # Password for the temporary CI keychain created during the build. + MACOS_KEYCHAIN_PWD: ${{ secrets.MACOS_KEYCHAIN_PWD }} + # Signing identity string, e.g. "Developer ID Application: Your Name (TEAMID)". + MACOS_CODESIGN_IDENTITY: ${{ secrets.MACOS_CODESIGN_IDENTITY }} + # Apple Developer Team ID (10-character string from developer.apple.com). + MACOS_TEAM_ID: ${{ secrets.MACOS_TEAM_ID }} + # Apple ID email used for notarization. + MACOS_APPLE_ID: ${{ secrets.MACOS_APPLE_ID }} + # App-specific password generated at appleid.apple.com for notarization. + MACOS_APPLE_PASSWORD: ${{ secrets.MACOS_APPLE_PASSWORD }} + + steps: + - uses: actions/checkout@v6 + + - uses: actions/setup-node@v6 + with: + node-version: 24 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Set up macOS code signing + run: | + KEYCHAIN_PATH=$RUNNER_TEMP/build.keychain + security create-keychain -p "$MACOS_KEYCHAIN_PWD" "$KEYCHAIN_PATH" + security set-keychain-settings -lut 21600 "$KEYCHAIN_PATH" + security unlock-keychain -p "$MACOS_KEYCHAIN_PWD" "$KEYCHAIN_PATH" + + # Import the Apple public certificates the signing chain needs. + curl https://www.apple.com/certificateauthority/AppleRootCA-G3.cer -o AppleRootCA-G3.cer + curl https://www.apple.com/certificateauthority/AppleWWDRCAG6.cer -o AppleWWDRCAG6.cer + curl https://www.apple.com/certificateauthority/DeveloperIDG2CA.cer -o DeveloperIDG2CA.cer + + security import ./AppleRootCA-G3.cer -k $KEYCHAIN_PATH + security import ./AppleWWDRCAG6.cer -k $KEYCHAIN_PATH + security import ./DeveloperIDG2CA.cer -k $KEYCHAIN_PATH + + # Import the private signing certificate. + echo "$MACOS_CERTIFICATE" | base64 --decode > $RUNNER_TEMP/certificate.p12 + security import "$RUNNER_TEMP/certificate.p12" -k "$KEYCHAIN_PATH" -P "$MACOS_CERTIFICATE_PWD" -T /usr/bin/codesign + security set-key-partition-list -S apple-tool:,apple: -s -k "$MACOS_KEYCHAIN_PWD" "$KEYCHAIN_PATH" + security list-keychain -d user -s "$KEYCHAIN_PATH" + + # Export KEYCHAIN_PATH for the build step (referenced by mobrowser.conf.json). + echo "KEYCHAIN_PATH=$KEYCHAIN_PATH" >> $GITHUB_ENV + + - name: Build release package + run: npm run build + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: MoStats-macos-arm64 + path: build/dist/mac-arm64/pack/*.dmg + + release: + name: Create GitHub Release Draft + runs-on: ubuntu-latest + needs: [build-macos] + + steps: + - name: Download all artifacts + uses: actions/download-artifact@v4 + with: + path: dist/ + + - name: Collect DMGs + run: | + mkdir -p dist/macos-arm64 + mv dist/MoStats-macos-arm64/*.dmg dist/macos-arm64/ + + - name: Create GitHub Release draft + uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2.2.1 + with: + files: | + dist/macos-arm64/*.dmg + tag_name: ${{ github.ref_name }} + name: ${{ github.ref_name }} + draft: true diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml new file mode 100644 index 0000000..cbf8f7d --- /dev/null +++ b/.github/workflows/static-analysis.yml @@ -0,0 +1,32 @@ +name: Static Analysis + +on: + pull_request: + types: [opened, synchronize, reopened] + +jobs: + checks: + name: Lint and Typecheck + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version: 24 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Generate source code + run: npm run gen + + - name: Lint (zero warnings) + run: npm run lint + + - name: Typecheck + run: npm run typecheck diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml new file mode 100644 index 0000000..b0fcaa5 --- /dev/null +++ b/.github/workflows/unit-tests.yml @@ -0,0 +1,29 @@ +name: Unit Tests + +on: + pull_request: + types: [opened, synchronize, reopened] + +jobs: + unit-tests: + name: Unit Tests + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version: 24 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Generate source code + run: npm run gen + + - name: Run unit tests + run: npm run test diff --git a/assets/app.icns b/assets/app.icns index 35574dfce827649dc33b0ac32602b93e0a1451b6..2bc9ee0415e2b805d8b907fbf81f3f08bb1cfc2f 100644 GIT binary patch literal 1863958 zcmb@tV~l5A@bCL;+s3qQ+qP}nwmEIvwr$(yw5Dyl?>y%w_kWXfUY-}Vt7@-GDl6I9 zS>KgUSsL3p18^PDEsYtO006j?NCi1@IB0BWz`sONLPY7G7x>R0f&V>8VU8pJIUr{x zaUnqMEbiIAM8s4>(o9wsK=m(%1OSCw0zm&O`DfVw3;+Ph2Lgcn^FaT-%Lo4dRt54w z{wMygP)t#%{=cS@B7!OwU^$x7(YWepzIByeo!*}r4ZpV54>`UA8h!;C_alx8k{AMI zT>?uGgu+=rCm7bB6OXy!%G=CEn|Jzc zJKub$xx2~w8S!Jn zV{P=~ojch1Fu>W4(vs&b3K;ayH#e_c2;wzq6(JESkJ)zDicA+tvb0I+wBtY`OhK7? zE3&ZwCO17Hl_IlX>c{J&B{tWg1y{!@jX;RanJFC`>F|v4d@MNZ(CYyhr~#HVB?VRc zzu2D={6O8l$09i}vigb1yqU}opQ`XTW_GR60i_IZMl}3B>7IBp#Ik;yA#dgLLu#`F zDtqL=^WPXQkX>fjDRz=A+qOg%U~ROpslsn#9QdDzXYoxO7dbJw2#$`VBg7YMmeC+3 z2hfh1E-pDU10eC#agjW6+jXEtB$~`~8AmyE5?I{x3usZxo;P?TgO?;3tYBSfuqif=Vbf#*rGPv3)R0J{R6`LJF@l_HMji@ehNX1v?A&f7 z&nk=GwpHSkat5!evNNW}#M;$avw&g9%r{Kt+A6M$jnys2vB{oEaPA~eCyx$CaP4N9 zb<%4F{=hGI@=#72Cu!uDKP2+#K)c4w@^6{Hg(~VXl0z-y;NKjZH9; zM+V%&*se-Isnd)E>#{Nm!=PC+2JtL^buP=_aUO)@ws&0HyG+G(t#6<-X0&j;Ql}Py zBS-=<19X9-5Iuy-6#edq##syv5_ZS^7RSb^V?m4wC2M2Uy=G2(9=y9ru>JV_3aw=9DCy(JP ze_xw|97Punfk!eZk>a+7V^^gYVfz^q%a{psbdX8ES{OKDd-q=%jVgvi#I~SBf5AWQ zRU92?S9Lc14J?|z!DUGz7{WCXhwI;nb58gb^Gx&G2U=I1!&2FPM$KgTbme4P>c)JDYhNYT|)k5+GKjjooqEa&5S6^%DykWIug z=Ms^1xoDzsefQuMR<-4W$hiP%)EZ)webt&KXDQhQpouQlNCv)IVQC!5?BlVrqpx(yi#S$O_dvA^`^Tp zi9}PEhX0iygICDPS8gCnU^DMA`p|o;VJsVnH*AoY>*$>Y#z3LyH(ANlNb;$P^qOeF zGjH*^$V{H1W$EO~dvKH2yF#WcRK$CLbec=uUPBBME&y@7*+}**ky+p_KARZYp`0M2 zKZksLjGdF%l5pz$meSX?pw}^@7SPMj_gSa(V!k6gKTM@b&10GI>GU(#+w&7yS&dvd zxV+~?M8KtxwjsmPpROJZ-S1HDS@cEJ0{m%}0IOo;T~hkKaw2yQQ&-Vq>ZAa7e%SQ) z{CM{98Jiwe52;80QugJu-0L_)_mAXKa_(`zFoZq1fG>7##%%d9R+_T-jSyk-6!SrU zSW1}A_1Ai8*|*6PC=w^F@j3A{(hJFcMG?{$7zp`^{*ehZ}BqE-B1eUqTy1 zuTLw;nURtpQl^hR!Ws^C(%qkrA5Mg)J&NBnVd^cPySYAmRa_HRr0=g&GFv@N%ubx7 zeZL;ZFw5J%qw_XIWH1I85J-my!fs68`QXn-P-8vOk?6NXn^LtnikZIZ9+XF9*K$T& zffthd_TIp}rRC;weL-{rsf2&8g6iucOv=x`n8g*Jq1tg@!l^F54LqLO^?b}p)9Y#W z+%KJPBzeo}v~$IEcvf}lu7>KmITm8z1|Fnwt|tt&N9p|fzTZ2UTay$| zNh!rRtXy?rH_AVylt9-#D_)f>xi^XO`w@CybpGuZDhNTo;@a`}ta3L~-9)M1Mf(=j z$&ujqOcd)WWa(`0`pw4G z*xqW(;3-w7MaDFaG_J4V`PkJp7*AYY_xl=UP0m)PEF)(s3=~S^Af*}u)`+V7`s(v^Xx2nB^WuzMzkTmR%I!Nw{6*5tEAW? z{Czt3{k0CFZ`^g`%B3zfs*hejpW3oz0twVmOcy>&g_F0GfhdNjlGF{F$(AHIyp$+&HK4W$s{wrXUZxIRr}= zrAc6rbU^D=l8_KP;^lHlE4U@CMuhFl#qEFkAluq%PE zu6kfT7f766S;aY*9lKC2t4dRU{H@K3LcAO+6R}6^N;41ZVTD`~0#iAKqT?4caiWr`YA6%;~v0n75oXdr>ajfhf2EP8^G?QPl$w*!L>#7P5-01q@wt z3OE76Sy{nn8zIi9;%x&?o`y@CseW8pRReeD4caR+P3N?mFNFj78Gr$iKoBFM!c<8G zK$#sJGS_2#4a8Sqrk@V{ebv@QPp4l*Zj||QACu?} z86aR!FLU@6a_6-x{)K^mO@Q%=l|TTX(&T#_MiW81yqR;bxV<^>wXzy|bVWV!gUrKI zSzv1sg(ZpFkO@Wl%NMLVZ&t^-pF<^D2SQ{IPM*jZ(XvM|&!6LG_nGUX>U&23uG4kx z_sED{D;0@uYCf|Wqfq2C)=<0#NMGPP@>@} zPuPWa)CjpIIcE&kKUJHQ>q8&T$Yu(4kISR#OZ+=BwF|+jt5%oLn4^)Go%}oEgpS(o zaNU^_OsxyLIt%!+5XzeLOTXR?2cW_mWB*zt6@Pqvm-n-MQqXJ!Wm$s)E4{%8e=i|N zcq`Lq6DP5}#0gLW*+FjOG04<{TUdZ%B3*+L?Sk8or8~kzcuS&UZibOXx=vkVd!^Ld zWo!Ccq_dO)CWD4X!bXO`BDgWbAd07sz>|~$LH1gy892Z35Em+mtqD+=hUHZa7~Uj* znb~<_Koh#jND>pS^1Z|AzEUAp?3+TaWNFk!awi$@bdYsRY1rN`AGRQ&{E=JT@|7oo~r539PTq zoyY?^)YB>FA`=R?v3N?kd~OXDIjtgmaUdcfGtGNPiL5k!dj3Yn7UF@U*N0gLKkXsU z(!gSEoDe#E6#zLr(X{Q{62}2Gh#R7Lim?A^PP#_6%L>nFCUEYYIJGN#3dHL z`x+Ik28I@Nv&61P-KUTg0XfkXJjauXiu5Y}MK@1ZiWA?G!T@}?AvznF{zL#z7w(}M5 z9j;3EIX-U<@0`0`>`baSe15%D)4(9<8fp_r#Hq$w#}b>7;Y?L1{B`YAWUW(cjy?az z2@Kj`@fZqg$n}GvoCd?N(2SnMRi{XV{*(|Z=>225aw1cNAnpZXw7F2XdFKU+bbVtZ zzB7V+7KN~+>6kQ&sSaN(I~$v3)*AE^f~R`Z{acY|GXKLt!4c^+v5Um@M^VDz72OLP z35!9L7Rb=v6jp^H%~6F+a_!eBIn#aF_=X45#7|~#^uGpnGJJfT7S<-=7Z(?>_qy?8 zbCbSu%u{tZs~9GH53~b2?>G^c!rI2fY}^M?36X1~NR2g5ED8y#u3I^GP0XeVxPNLF zHqGn@3Jajdaea8Y?5yZ7Q_;Qc(_h@!_*wnVX<}!E(2`o3qK7SL;yVTzFmsHTI}4X3 zSx^z|)P2dasG9byfO;FbH=`9BNdf~KK!hkq`(?;&Ff+Zbc}&9i*qE!z1CvR*UV4qs z?dEBe$C@xg^6%0<3oJBRYwQY{Qc}AtcXpkEO%1!OFEapvC)Sqe2^7o{lHqm(Jm&34 zr62dWO~H@a+UYv`w5ikBqM#p`?;_1IPO;-|ecN?^;pf!0u+LpEwG3-Cdy4FJaS*mmmos4T;vnt#9U$&5NPn+OF^bBNyjsi|-kunU4qw7oK5iwIrEXZvP z7nbG6XkyFn3_IO>;;UHHsKdmT*Vfe#K59L71B*Jw}lLBBgaEbP;X+kr%W(i z5Yk&%GQ;$Wl0pm;8WG~TN4qKSRf-kisJl$M7+DmP8ohwQ{?3k*95Lj5zDQQQMO_{<#0gmAnPOEJ@ z!5@9sPU+7d)Xs+6T6e&fbF-Ha1&GGtIVQPRJd+-T3_fm=6ndu(ZCOeYG~vDR1M>z+ zEksrn#0iV$?JZTpc6ThaVI7VCdl<_ClPw=9y_$;sfW;k*uc*5GJY-3**e>YD8MdN@U8?M}2_T;`cEk4+QKK(O&Q zI<9DKb+voudL6&pv)bb)(HnBTJGFYO04ToAemcTt<(ptLPvV2~R@wH{cP=XsIId&6 z+8t>1pfKzNwp3Ue0fs&+xSF!TcP&x}F(O{4c#dkW$%rB3Do-{HbBn)6k zy;uYyHfwppUU0qjf(d;S0y&tI9TEURXn5A7m8hmsm5|`DhS#LxC}>OnC>6|0A=Tqk zT|EbEEa4yxEuEx0!fV|o>LypQ!k@NDSCa}Zj6EgSSaIZ}q{JZn2Xy>2MO@f^xQd)iin(Zx<8=MRV%!-js?oZZOi2KPEHY|I3Sty|Emg6q|;T?SZY z7(Chd>yd*(YVb?>>TFO8IOyv zV6ZJrZzgM>K$jTGKU`t?Yt+L&t0_a~2E5DyogUzure{#-aOrAiu`($8MAHj2Za1X{ zz0?}iEbRegql(eCt+o9!Vx$yZHuBuS4WGxO`tZ6Bgw}8snKhGb8B!ygKq(8F*`wiH zt3VU1YYr^5FNYoiK9-(x=?1q}4w2~u8~j!pp=Ym;7a?07Sj0tY%)*_%oj8AA7OsuC zKcZ@wAA0YiwCh{T;nXDG04PcovnuptG%+E)(TNW+PZ zA86$l6_j&hG&e{O?kWM5l}idD)|MHAF(M(;7rjVSAtM3tLn^9=De})4(J&ag~e#8wj&R956Qnh7`j1 z+&3|;3je*Fn~gVvwS56AUkEuN(qTGoR|q2tSDqCaQ$XoB#rr}^VB7sLdAq~jS~_z2 zXnvao&$ad1RCwelwP2@UsuSJSaio3)+G)WATM?SZot2$UfZ0w_PYTgBJK6z$L;GPP z)Htu#HP#PuI3yoy=Ditsb&_DotZ2ZsP02Xm!qonuVZ5s2k}ZIL(RrY zaJy2SBzl$;17S^2B4u$sFPUnMgo;Jef>jVa;-JIt3`&X#`FMxy(4pBl-wu0KCp)Pm z8eM`4)Y-LpZb3=@f*QCE)8YJUA6x;gXyz*CfqwZWw{CQ#Y-N(rCW^8w zJ%*%lwPU-9nwx-HEWVkUS$d7%p4=T~aYX<)Y_}b1$T70e(ZGpX5;D}v>dw5!+2FzE zqfPtw-8gzS@xEpgkCU|TwfeawqsPz8U5R_;i@%=zs`}{2J~P7RI6-VuJkXeeD`Hlu z*D$GMFXS@*43>mddaT}Yc~xeq0-HEP9oYiU#C8J+5#T9k5VhD^ulLC8>z7D65T@(( zjuWJ?6U#ttJCF>7dv4CIAG&1KT3(ioEqY$Ju3oQ`ZJ7qIuN}kfAGCN)IhYv_PRpSv zlgf%jExN~WM1M2OH}9c@(>kPq6-OtPr52j|pwa|jIy5IHfkGsciirMYRy}4LYerf1s2aCMUbQI`IDuo-_7NFkV4S8EoTdSGG8qbtUZK@jxOE1 z6jO9bD2{DrUPQAQo~By3cL@G9ndn0`J9igzDX*X|Ct7dUZ+CJH&aaQ}cPO0*T~)3e z^IEQ*c?w%n^G?jtw*qj9r$)O|sXyJ|NH!yxfDJ)3B)D%5b@)ZDhV6wXMbf00UsG=;cKjn(Wt@>IWTQ-Gj?C9Jk~XPTnz7bLkApG)RPXb($04d&i76WlwX#W zdkLQzt?*okyq7nXruTfyP+NO9FP&N`bU1(W6lmChz7t_wL=;R5{VpSrE&zqrmw?05 zLA-C^4xV^GUPAKsHZ%%pbUg+_vje=SmCX()<@xt^`f2i+-pxt}*BoqK?~UtvAZ9Yv zM%t1vG8KyiTx`G;_ecyR(ea()nK$JdE<1SL_~`6dMnb=R!K3$IiZSR)z=;{#Q_JN9 z0oP>^@qkPbl-Mq29RLrEj`R(2!AFcwCxK%oplAv^X+!4CAaZ%VAqU7 z|8;_-_`Ao^j9MeQ*g#>ba8c(?tb|*0Zy*QFCNMBC!^R$qFRtLvCEO$`mjUT{*1EI$ z+*}YoyAD}`W&xidjcGR)tHB?Q1K0(M=JT+A-^FPMn#UQNUmXjMvX5bpGCI6oi6Nff z;5OWW4HC-*bJ}%D%b-foUGxVhhrxUX$JKOG!jCsN- zAQNeBJ3{8FN>~Bw2I260Ig0(5cs}8;sMTH71s2vtPnx-3e6#9W$I9VyxuE2OEMYK# zUIthpo9F_5_pLKKKLy;%&ya+ePGHM0=|L|_+;)?Y^`YeIH&$nG9NO=&#!b(OTrf!F zXJCOX+A3RexsRqXyzq1Jx+D|S@#*d>E^92+QT_3^tk>1a!{u|?(%cTm%1*(uL2|5# z;qKOr6dyPi?v8j2Bu4vYbWRs)b+b5Y6^SH>jqF9)V%d!vO;)mKDn%H0s$$i-~Z+n^K8#7l;+WE=;86b|Mlmi=h=sZ&_Z{ z)@fH@zmSAeAKMgr>Q}#=@4MgMT6)=~fe;=tMeNP%xPNzWc0RFc@H-GRY;FK%4L*_B zItB4DZ)DC<8*<|4?^7ApEVhhCOQ4K6{9QOX>>}=xbm<0ENox&Ffj(N0{`6G8VL!~& z-I~s!C@YikV9j?bi*Z^SJH_9Jh-7Z~!i?CH$mk3J0mvASwGVT7h>dn1%DN7*VeIf-Uu-^|L*VoAxt}hI<i>-L?H!SKW8khg}~;pYxrp0rPgghe6opdca0>p?Qw>LK1U+ zn)8E&96*9KT>% zzh(0=FF=ZlEJg!QU37QsLT|D=*EG2Ur*C})mQM86IO|6jXI&^(+<> z{FQ_pGGuoFy_0i$e12VCFFuURZ~`W___s72pNok26IXa#KA+KeAwJ#Bs*owli}&=U zE05m;9Zf~dBMw^K%0D&Uy-iG74R-SbSQZNbA&$1=P)Y4f8LX_b8t+mbKjE8Xg`@*y zCP;F*9G?XV^e8bFo$OW~@o591eE;ynJ5_exQt>VD zzbgx?F6K=fF1R;n2jYdzFN(=_N^$u5zBVoE{o*(yDHFy|MdtFmQF(2r;cK97$2GpR zr1E^u^Gu3E^a5c>YsqYB&U0A*gmb_RxiQuZN4SuTnGz=dgQSkLDSGW)lV5~0(KX*I zq=mzE)Y4F!(@ozutQ~*>FtuNe4O^y-0luZ~UWXPQ%M;KgbS#AMJS zK)0)0sZE#r`rJ_`|K^zMcu#{KRgY>3iYvb)tjq^}oN2wyUDf&P$`8HRJFs;y+czGB zp&$a=vov8NVqLXkf%PIn)T2x$qZVBbf$LDj|22~G-`{cU@0)p)2cQM7OPRBJ6hC#1 zKV6Sr%-URx_*0wu?@I|)u?wTL?haq~*TMoul~s2PLYl*tN82}!yPvlyM>Ld#&IT)~ z6P#%@xBh;W9#+PxjK`uGLkxzy!+q@C)pYA_{8y z%G7Z+p_*Hvis5%43lJt`%MRd{c^+*WuH2~%kcSmws0oM_n(S{Ia)!dgh9_A7&$85+G5W zf+*XoPaw*~R^+3^28G)p1EOgUlTRd?v8+yEMi!vvK&rd!kmMaUI_;GaEAW}b4m=O$ z2D-5bxTudsDGhPy|c&pj)1^NKqgIS_hsQH5VoB{!U?xr!|>u%<`v9%bq4 zba*>~jlbzR(JdsxTSG2i&BsWkRzLK8x%uPgbWu@=`>V%gt8LEDIB2fNcbjwEi*E4d z`qnPPK3#Gd8cYG*IA<*=oQ}Sx^iB?*4NQv~HX{RY>f>j5Y-emMYQ#)fOb7~MzN4<-=h2Q9YGr(ZYH z(&F8qY0$rRsKZckjaOY6OWhb`Lysj(D%KYz{==M&c~m2`E@t zA(y)PZ44&&{f&iFE5q-L{Wh6@bC*ufTkHe@_TJSV%%L;F>@oJG6p7;PJ<% zyhG~I2w{nvgKotQNz`ppuVW##kL#b5*a<`D)w^(sa_1&8H`o>7NZ9xNbQ+ z-dup=frJWou#4+viN3f?3)AP~Ye(a+`fftj|Ff+Do7=3ap!o) z|E`|Y_aI+?Z^K9o&~+!%x%w82t9~8<6^Fm6@F^RJ?&0L`ydka2NcLXiP8^H)PSyvZ-O+S z4e3&&Mg4txl=r#YA_I?N@@)XwW&BIrVs^h!Mn68CT)#)M%@K_{0OS zPvFDAEn0giR+jD$qDJC=yq|XG#H_<{7aUMZ=aGha)h=V(<`71o47@()MQ83Z4w8E+AvQ8~f;Y;nC3iRci-{pc@u*+%DvRsY1cc zT?c#T{FEas4!`rXAYOO&rc!2UVRe4(RTY)*l3FdVO5exr zBQ(W}<%l_}ft2ZYNdN(O!=uT8Wan>u&}w79=#q*rt7PTioc%{A#VVosbU>{9R0kLe zoG5r$GIpAiD;#-y?!3WrL`M>OA+Du?6TbW@K|w`=E8l1g8BcUw^*vHtbNq^4Jqs?c z(yqhyj;}4pMui9dw~Vg8{EniKG<86V(cj4XtyhTWtR?xp+)sxVox5S5L>jg87S$uC z$;xs0ZeB)89ExSC&PY^{Phl`tNqG<(wH8!qT>A=yb51m=Kqv+F9qHOHjG&8p1~Eu; zsYQqtmSEKRX~KB|SF%C;@ZHPT7uQ84`<)gtpJZ|3LKB(dL{NK>d>V1?q_)Y46)Wej z(}WMn@Ym`iS)ja+ZOvRii&x0&in?h1&$q`xME!CsT0G8l>t@t5^&k%>W#t5}32^8` zB7_`44XfXYm&i`bwpG_allxyYMBc+@3XntXdu0i(;ESOHpZ|_ATP6ePquY4P!Ftj8 z!lLSf*^bEIYW)W8?}ohJ?d!c)^9{_w1C<;D5?wJ^cmjP4K1Uv|$ol+zyq;D~+q)F- zBOYWz;4u_a6Va(eZepq2KD>dnVpLcwLo1)It}+w1xS{N$#M%&=0_u;R&jlx^3CvL| zA%y7xj*c}Q>3J$H5fTWcVpOBZX{!4SL$0OwNw6Vit@ zZ~z5G{RFu=NEM%|J7}77FT>EQ*3+TvxNOHy5sP(*gDgtX7ah6nPHIjJNf-tvFz60? zP-^*Q%w}-et*Aw%B3FTdw>TVyr`eF6Rl9q4BvG((dL?lm@G{+<`m}n~vfqq%g~!?G z7tYH}HZRHeCiB*>yX3rHJ*PV7qq4`Tihpa-9luGLSbC&mZ0T5nT$H?d`!|1snn<%v zI(Da3M9YV071uyPYly53rJ=q;=8b}Nx0klsy}*vS34KtT!Q!zuAi?xt^Ov36EW+(W z%2kW;#fuR{2$pMPT|XXeZ>JLesQ=a8&+?y_6g-|i14~+z<=%R%O%6$9PAN&q1+>b< z%i!`W!4j( zoTauYO1s)%ZS@-zPpxS1T`S*`S9Cs|*XGx~u_yh4jbM8LXoGan_PY`|BtpF@RIWy7 zut>*Gg{A7$`DHfSSBBUu#ax?wjR4TV^xvtWBZKL|njnm6${sE=s1qZIiD@VW8#>t1 zaUs9zm31ns;-;<+)+aXvC(NzGR$o8MxKy{_HqMbA-%H-#+|S*^d_G7@3yCx}ql0qz z$+lRLXU|zgd{9!e2*?*}*Xo;nPD#Mr1YXwJwU#Rp68t(c`}KIj6_ASIRG;go-x!L?h<&zUa75hm&SjVWWQ#XBbdz-|0x?lskn(s}OOG&2W$VZ1- zC43RRkzUIQpwS3EbvGuRwQ&|DC-+7i!F_Kp+sMGlgS9-!;9|8hkO*Jb+Y%(4F-$gw8SW1L@qtOEVXopd_GPN zsae4IXc*RgO1{Qgdv~W-dFb?eFn}pbM%h1`IMqP*Bqz|K;%Tgw&7r1Ch_BH1k%nzq zl8L6@pdO3KTMUTHR1d4tQx!`BGU%(KmmKa{Z_An#bsQnBQSxn3FA#?Zt>>4M25@-+ zxs^AaZC;r8-n}Z{r@{9iK7qA@f&RHoOVjtJB+OSzL;^@xLv()UP6S58iO|aQ+(5IO zr7IdoUmCyFp_jAKr1b*>_Gnj&#RO z>#cFq&erhweqG+KvO6qjXrKtVIPOPXIxH%+@E3BTOnks#z%iMcp=Loq{T&;@d7ZH42bsu`pIN#0SahG$CLHvCkG@>Lmen43H7jJi2QgDU7j>aGKFRsyD0`sV# zG{@cCue5k1^Cby=xl*{x@BQ2O2S?w6YIm`%qNEjF^9zXU^xg2SYv;d7+ON?;nt=1A z(fwI{xn<|1Fuem3#pUTKN-YmO$QeGE#Z#OH->?KO=r-S@5QDku(%34`3GV?>f>n2~ zj3eqSEC;DGE(9SQq_^<2D)+IGl>MXItG~K9BkbxIPnF%zGIu0>ffMai!VKzS-ZEk9 znh!BaBu@8q-lRsKW&$o4joCxHL=(y z!Fp!V&Op@*PUt?%VDo02SlqmMnzr6b2~j+kvkK{8Y3cu#L)<2&QOW1F+M760x+B|7 zu8~<=Xc#cKFB(8Nkc`7aAFR((C*qt>3CdZ0O-jB3C24wsgTQ&$NcX_cr|7^AVD1vE zgnZdP8Z>n3|Js8d)@;ZEFtq}S)m|2(J$)M8QT?%V{7O*=zvbip`g#Krl&djGOe#BgPuZEfx*|3OnjVdlq3dXaNP4&4 zq2uGy(H)Xk6Bkv*kH=$sg3$Dan_g6y&?`7`S-T9I0Xvu41e~=FA7h%8+V~KYP6;)j zyrpI%ro29#-AFE2T0)ZB?9@g)ktT*t^KESZ) zYfO$2f)2@ws)!&XcUD%>ib9~l26+TWgxg}E8D9PNVV5%${~TM|w>v8N{TFWG!S+lD zC#H7=9L;JPFEs<@lQaf#MZP8PSGk`#i_Q;z@Si@7-jY87i!^Ds50V<#`s0-CC}gER z01g2`g$_px;+jxgp_ia~#2*1Hr{UUdhPK`kPz$T$q(YpHrDNdZpW8awu_fE=YU-k= zm4VEL)JRDq#G-2;uJ+$9zF=1%AwN*9dR#szKrr-2b-4x)8|uGg_Bwr!th%&}49$l` zeBiq2t|CmeUR6J=I%@s3f71gi%~6ODpPTNb-U8{90N-#_WD;r-VgFH_J{0DO=`~me zIhMM%3`sQ0@QFc4AVOtI;xw_q`D01~jslz~@Gv3N=Fxvo>M_KD`CRx}9GhFut){c^ zNcT8F%%f?31LD*&MH#{z2;N1m%#;r%yL%a^Su9i@FcY2?8}LDg?WfZo=!23_-xC6U zm!^R|o9>NMEhj{Kq6vP+=(3t@4I6DuSwr?5V`UZJn?#48Cxnh!pnbG48LS;MN+4%; zh&pbdJ~#?<&UpuAN$>5Hjh3kpA6qzEuAG{M&N{JvwnsV6j~G+_*NU!*ENSHO=2n{y zA+0$nB?RU-(?dfZvkA+f6|p?I)bT9(ZyjxHss^9tz8GJW+IXCH4ki5jGn)MaVhcGx zfCbS|b&@2=O6E5Me)Fov-4}M424&MglOhBH=H+q&(wx(R2;Z?3td&M_vub+bV?#+t zW|Drzx#FCnSpoVmdl$1PR}=0f4kPz$H+#T~V!$xSZE1=P8!I@U$#}e3_E6kt_dWsE zCs@3v8SIRJz}+lOYCP}x6}+$)TvW2N%pxH)-d8>iNIrJSJ}Chx(T}^y9YD-jMjag z1ZNx~6EJK!fmv9tRmegtjgnomy+T5Px1SAamZltymw5>-b#E#hEHQ8rdMBIo)pi$- zK7{XVoDZcnupkd}vXX#3a-SG#RLr6Q!5uVCP}Gk{BX6Lei@5;4iJh9E<--&-8Af-q zltvii$0rVr?1vuPaKg8MnjZ5&MXB2BOr!{mFtW>v0{tMs-M^Yu*U6Ld1fq`OgkpLl zs=l)nYnT~B;3!|j;W^&JZ;s)E&iI1Z%(eOom0gCZVo4R0|6Z({F+@Yk4EK{H2|+nZ z=Lm|tMmTN)Y8V1^S6mdot$*0Mx)JlGCM#%24TpHJf)Ff@a zrFG7URwjUcYWhb&LeobYG(9X^3Peq4v8Tc_vv>n`J^z#G9+Qkaq2OYmk+3m3*-Ze1 znVWD5KzlD4L6=`RyrfNf6I|6;X_!ih5v7&h+YG?-M2FaEN0V>*0GH$@K$!XKOZ*I4 zOvn;=Sfh^pN@nO}Yk+NBw51Kq78l_m(4f1J&%U^;@Ns)vdqq6x7H|qm?ie%5m(R3T zG6rku5>Vx&5!&=5c`aJT|lpkF=oZg=Q1TM|_F1*Dl(C+|oYI zr)!Zl)$%?oCU1r01P>^{>kVDl-0Z!HzdslEL3P_ZrX{IkX_)@d1^prk@ehA~ttusK zCUZ0ROBm^(Q>d0=u7$}ES|$7qZzJ>Xb@UQHuz2%mvt`KfVctEAj0|K6AHq6AC(kYt zSu4Q_VhP50K`eEysCFTOiUx|40b7}YH@8A&=U>9@Kd=kpaVq*Ut-JR__{~qaXTeD? z%nyIeuTeM9IBF%*(Ah7yOF#J^LM(PSTV>XJbCyOVuajnUUaFg9X0Xh!h7tz{W447k zsY6PXhZgio$w3`83*tL%&6!Tzo+|cjWA!M~rft@KbD=Q)I&UahSSVb5gB1AN=%b z-*4x0nfnx;#D9svi12{TpyJG5uHS*hqk|G1u-O)KEoV+-4d`ht1U7R3lF;8y=g5a! z$(o+UXmgZfTX(Su(rgs4%d-+;9A-c%g6R^nTTVvSv)Jz6-#`&E?hzCJ@r4DY=cQ=I zgTE$_?AO3zJaV#{iUh6x>%rI>+0ANObDX=N9MZ}p5|L_kyc_>Utt2KL6+ z3ShxwNK8243D_8>%O_3={Q(A{ET>R`!n3vP&NjNP;kgm0of;No0e*bZ%!E*Rz}X^U zHqDG4RIjm+;=66K@G-`%7IR0MdPvN4Y*XPo`Q+=?pe{3AiBlg_3%LQNMy$y1LzdRG?lzbjHl*30y91vLV)A)m`rtai_JvyTb-q*b)EgCc?4 z!O{X#ftx*klNw$lD_ga#i_2ZNq_6wcm?VY?2%B`gL^UP%xo0u&`KE~F=tJi_T3rRe z3pnp?w6iHXh=`R5vWnI~#&)uL$ZX6IJd{M5qgd1LN(Dn`8`~B;%w0qql*UrBi-|ZS zlZ86P+wZZvN`SB1DVCv;5;ql%xO5Xb$wZ{-Ic2&__W$7HCjCM)XT5#=4_^NtjGmDh z0GL|(-!c0C2A_cd{|lpELgZ)sFZ;hREe!kyJC` z_}AUuthd4p0H%U=+`)iMGEN57I8tD^C}u{RG1068m??|Q%wa$TXgp>=a;TfV!F_o>=<<9}W!#;CM0hzI1*tLOg3bp+aAankJ35E@x!7^nRtzc{^5KT%x z@v9R6uV{*`y?4f5fKjfWU0VXUvlY&#N&W^7x)-L3t#130Z1VwDU1(MdJVbg>iq71k zLH$e~g{Q;G9g&C@?9(DoWmy%5Q?Z9ylq3`O%_)ylPm2sN9pm;!#w$Ar@#2dssAx8k zP(!PYs8{RIX%|9@6CKq;Lif*J;=oTux0jtNV1QlB_E_P{V_j3|pfRjIq!>jdg9zv& z8iAB%O$>1TsCDNp!@E)Cit(P-n34cJTy>>WSDNoVX@5l}uakNmAGD8_93BGu6|)fz z;&PzUTsanlWQ3_Y6crF`<``Xh8!P10Ayq3nphT0MpcmRh-Nf3oaRE8x2FC)H+L1{r z7bNd*oyI6}2}8t;s;15!kCy%E8}oOY<_uB;1^){zvZ$D)lr_~uH*vQVbTZF>{szN2$dFMBs0BAf!xh*S6MnZb=}3Z+(rEqJoL^Puz_3CkI@-HZAIF4 zlnz5U5Qs5M`v=wuPJw+SFn%BGw6@CK`TE)$0t<+SkZ27yUI44A)CBaB1K;n5Z*1KQ zhDoPG1W28YkWziYEz+WRwyL_alg2uf@Palvajp#D1@_h zy|SHF4gxdADV|!)Ps}hvnMk)>L4-Lpq0Nyef^0aiSfB)1#&9!d?sOxi#rs9YVn(`G zi_|wFS%TzjKRBw)tw7ev>lnvmmwVbaF`cY7!+lwvi?k37XYNM|Sg{dGL1tbTD{Ml` zN#Levo){@D0TA86`t(%;??FBrGRz~$;DsdN#Z2dPr)$}iCa?y)%8g|OO~JNClUb=v z07Lxs)j3qoJsIWNW_GcQ1SFC^$gDxEjk;Yhzit+C4)gLZ98lAQ{dirIZ!i!OJS0jUt3 zgO)xqPGUO%tkr>xjG~lYDt?RaQqIQPvzQDNI4CHMk`;~T>I&uM5-JAimu#5K&6vJw zpvXBW&Wa}`CKttFJXG>^C&O2})?SI$_&$_&At_fPmyCJWBSrkchl*T>>NLW#TN z9#GA%AE$tmT?tm3FJgL>t_q$5~9gtZ^~@e~DeYSaE$%X`LU*;YBRLvG5Wf3jiD z#NxyqLi*Z=Cdt_M;{_(NTcF%C+-nLpK0kwkSC)T>bZB1p% zm0AkaE4U`ERWksbu&7sd$4wsAcl7wJpkYEaKoVPCr$HQtRp$`QtcZXcA-a_{8l4ke z0QQq_=YY+!Urv^9-Lslz8Oy#Xh-)-)uUiXf!(`1(5r;_$_Fy{2X(nwl2U)Moyi)aL z=>^R`rAun|bhho2(YO2A3t6mr#Nb%a(0oifY&lwK6G9uiOJP&tdMyI+{IW zCNeaM--G~`HfNQ9Yn$vd1S7Cn$5bKeR7|$Qb*}c&Bvof>+#TEUO8#uNdf{5s>K0{wl^KONp5wT=gPhDYM-1X)u@A6qTL|Km#ep99-x#DOg_04rI~x|1sr;&=B~p56y%h0FPaiW zeIuSkWIP}(u0gqShc(TDm*Y9rmdbR*jn~RoxOl5CVXlN#bwmUW6F$K@%EF&%@zkUT zIS{yp&P7&jOC1S2j_mjtR2P67(dLNE_{W{xCU&CA7Tln*|BYP{b3BZBJGX=tRzL;R zG*?is?I6oJZk!-+rb)QsD)mZW_P9|NN#2em9cPpLALHUOv$uzl>`6LRW2XpFay_g( zh6H0JfV_i4dpreWyE-ES74R^j$|Cr1Nu~`I^U~R%j-BZIG1la`OMHPh%i?-K4MBrq zTIIKx0A9m+*CIY2sGM3|qd5SPejfqN?|!e#%si+}t`&KVyr0?bB@2Xs>sA z`kjO*9l)NQg)A=SrXi5efR2hR+St@DgbN;68wLq{Oym%sFm#S9~257 zAbqqWqeE;E0VRNBKnCUzR)ByOhrwyXur49-3tI%a(ljx7X6kX(*97cxXYid9+F0q|JB2``c+l9;Op=s@B=5}Q(KQMQo^ z*z#S6Fc^!8lZp{m5qIE+;Gi?ec`V2Qr0ku|B1uI$NuCL&`7vC|C+LF6XlD<~q$Y#G zd6!39LmmQ>PpazI&j5pJD%{A$i?+e1kh9NoLTXU~08b>t*O9#!-oOcc%!BNbVH2=9 zXk1Qig*nTWQlqBW*OSO4ut2Z*E~e{JvI*%pQrBV9u(a#Jk3vf+xUcuF?+Ux3N*0To z99xC+jE$_m9-dpabOc+px%G(Gm(Efo2hub|X2JuUI%_4NKwkX96J)$&E2;)+9QxK3 zE5k60sMUy>bo^)rR(?xf%^!?RT>vz%+^$gGheyQG8;p?XnbuJ>3VAx z%py6T)F$PTLe7Vzi^ED%DRllS*vc{{*Nn|R5KGaJRFlfu*B2TV<3vQ!kDEtMe38O5NqOTG_UED}&$5w|PO3;a)h?<8t%3-zIMCO-%YW)%@E1C?) z#RG=ivk04q6FBZENMZbjAo=*6rH^xRADP3kTKhH9x&>6k$_pyB70ueyKo%<~Fy;rl zP?T%GgIS)1gf!JKCa~98CsT{4oGQhEJt9>4sgyIT0w2LT^*AViaOSTBa=<%ckFZ2m zKUH^RZMza5I0?fTZQKTn0PAv@Iq%gMi{^1sgJn>x08{roJZHDQ7IH8#Znb+dpqV9BCV1}Rs-o(ulKDz4o6~0 zr%wGwj;JebOe zrVdJ=eY)3>B?CCUIlB9P^+29U5oh26T!v- z_mr8lOynR**Hc`|v5+We(Pv$d7|%OZtG= z{F~dbNg$Z#Q>rdJ-2fitqQKnMlgrx#_Nkc&@l9k0Sw&(&kXtE7#BrPzX9YeoH$qOB zmd(*DN!T#69P*KxqAu!|oJ8-2##E@R8XD&aW1>t{Cd?vrS|n9)qmt{jyj-Gai>$X~ zOarNuYRU32`Luwd_F!8P$U{>488h@U11*qOq3Mb5_&#_ca=m28I>RJ$HLPpB%xn)lFe%vlrL!LB% zS|-{0$g$Z>*C`Amp2@{S*Q$EOH`3FK7a7I%A_1EXpKlCPWzPeC`qBCK_$P}fIk z;1}O)eGI^72qDyFb?iAOKnGlgA={&E(rSHKVq}wc*Cl6O1kI%Bl#Urt4O~2=j~{&` zk0T(2e%#ukbO$6FU=hvz+W}kP|VPr^gBsJNxZ1V>0lZ>PQu%E1h9A`3BXnwUqvP68gwud zSQy`j%C|K)Zb%c#iz7l*KjL8b5hNBMJ`>kCn@bLp823JZrWaApi%aK4I&rxXW2~~O zRaw|Xa?FR0NM&(#V+bU93ZZl1P?cBk^foy|M9kpwKz(}mPW?EvLGAz*5n^plhMX$F z*4MVl7Y0HtRE~-RN`+6UX7nPLpA;hiDu1bXHW%hv%!Q?-0(u5rt*TejNnZ0CiWF@4 zyPU&#R8UAcv4sk#!IQTOBqvtp1u;s<@_UIrR!Cvy=1Te0n8*vgA!K>7E?_B0lm{_7 zRC{Un2TaYIu$9wW#I5bx>Dbg;Rzv%YX=0Bl_TjO zLc&OFkN!?@6EC9?1CKjIFsQdY5jNf8UQ$@fY__Jn23;!%f<`4s74Rbiucb_qxm~U) z*E2Y1(IydHP6L$17!sq!_8e z7AlI3+I+)aYq3EcO<{&Pnt57zd9cH%#t;Znu$wP{1WWJCs zP7gVXBZiP1CFu1O#06O3Eitxi8urye(y7+IB&5~9F4FaYc|#>8xh1t3a}WVjpb=v3 z!nD=ePCJ|{9&pvxK}pzUc9bHYpb;s2EvjvJ2|m~&%Nh-v}%F(ZOpf zi!#W%9l~#QOz1EPTLrC2c3uFwtro$_Pt|wjnoi(YJPj+Su`nxl&~{-fDB(1`y$p zz${S;BB1~t#!{yXAok-Knyk8HrtQqzd=XdeNGzddIC6z937E4cmNV&_dEplLA<>Gf zjHjRyhS@IdcMWSrmNVOgA1;$HLrNZTn2(#P+)W`JEAyl{>(kY^5AU)1 zp~2Ik(THHQl4Zk*K(ytWKxtJ3fkK`>CiR(u(O-tsd zi*Z88o%8P%vNfUW%b+53jD=(bAvZ^nOKPx6VD@+$IWgg*P2VOsTtq{FQM^2q1wc-; z3ZCMDNOqRol{bS$3v|6^vDh$NWN-@VlgjWjWX9VP&~TTq@B!vL=tMT1Z>86L;=gz@ zuT19qL|{wbxiMN6Gvvf1f5Ik#%nv-{Gere%OdUTirP53h(9}}`=s<$=Er#%9alHXw zZI`z$Ax&hvI&Ul*(<&_*VJ*<*8)0bUKIJ(u2zYb=3!H!JaHKeH#ZnPkTSg5d2yrNr z98B%)(Zp=vLmtm~MLyPxfg}t=Xc;VlFwD7VUeovh14C0HG)tb-HQe&jIqtw}W`)BE zl*nQVbw$K`=t5;nKv5KCOl-?Ch;~3cQg7Y^D#7if*LXfOF{3&Fj(Ew?0UgT>$sZTW zgF9W?V#_?t(WXaV@Hn@(Z-Bg<_CW}9s4EC=c@%eu5+bV6kGMLU2|!H8wa`Ih1ijDq z0l3Vas8kx64${X84fONK$jL9KVF=yZF_4?1j-W~gx#v9|5=oEmu?7KdwPfdah&!a^ zg2av1IaOT_U2EP98Ch*AFS|=K@og_>+q*S6Si4e)rIoQ zRh)DsL%?vX3hhVz^2j*tL@A6+J*bIVO>Bt9x}=~!4@C~5Q#}}M%>4#YUtaJ5s;1#K z${LmGpjxQIc5_&~YbuA<=t#bS!Lre4e(;navsnyZL#;2fEnz72A<@x!rGagPk3YSvSfa=cNwR&G zt6rMn3cB$bSEf~d`qPMa?%uJ3^eGWkIf2%P%U;)`G$NxZD}Co$39o`3!p%&etctY9mS=tI#IF0#8nAd#O#W4>r83fc=;f8;6lKvk zDAO6q97Bw~qlCn(fJ9c8IY3n+HQj??jYvH|ME zGi_ZM%wkn7t;1HN%7gTR8hoBNx^1g*Aaa$9kt=;^_!CtQanO8p{jl?R&d-#ZIR8}@M*t>Y9$zMMx_Cr-)A_=V|+!!E~e+0?jO| zY-%kXQ#eE2!HKK>WnS?NrUKn+n|c}wW_Gh$RZ=L;Q_OgK3Jlzs7_W~(@7(cwfGLpk zS&GdQf>r72>4D9ed_+6V!d<=f>@Nb#)ELSFC@-=$!vRTrea$qdRN4l59C!)@WMK2H zr|sBd`3fYb_H%y8qS$U+QMn9oB?5i3Ax0kHI^N?`2jJC&Ib8mn+E}CD&^5N*-_fY` zA*6U*w9rUutdOquoqJbH;cZKVeYCYj1+lba5GRk zn%0Wcd*Kn7tAfSp4Z9RRLvZ<@I{hBDJoK1vx|+%xCi8nt$T=M9YEj$4ntgF0OC(dI!X>(9Wwlr2GL2}h z9SVqwuKp^-WEx^+>|xbi;~R%@_^ySn7rDz>56-@Ot|7>;aV`vHavgXIs=2qJI)PJr z?Zso5yo!a`l5>;P<*o$9a*b%MU;#91n+1h4X>1O<&bfZ(O2@sWF<%Z0xuKHAUS<7lMgK4QFZqqFI3WZGzQmN?u z6@l$^oz&+c{mkPs4$Z>fYe<<*k5OMHD0PnGzz(6HJqO1Ajk`%3ZW>2I1!%tPfs_=B ze-^b!JFH4lxfVeNXOC#X-eqqY3KcQb8AP365|Hg}K)p1xuDd2GsKI4(&>P?SGy!A6 zbXafd!r^TuOJ`Nk5w>tv*WrpPh+3G;THMl1*3;S0I_DIW%|2tPzl-mD3_k8%Jjr(O zM3Bu+?P+bTt8L|!1q||n1 z!Hk;vpeQ)uhgIbb%#H`$aE-@-mFeQko*!+2_>ON8nC_8sl{EZw6VDcB%VQg)L#QBQ zp8ShQ!*orF4j48fjtm2?FlhBC0^su(y3R|2Cga`?HQC}GqSYQS$2 zgk>oV&Mve!FtoZylj6F%nNb_lj054_UO634ClL3rvJ&>K6>*wav6qp-BBKQVocZ>2 zb9uRa{{2t>m;c=-{*(Xwxzn?seeb*5GyZE@s2aYOq8&B~c_fc=#XXxp-8&Q(P~b^_ z(AeST4xI0xaq#)c%5L^~jKy^1t$b)?R=e!{l4e#E#7%OnE>%)11;h0Or7=n!A=S@t zt!gS?S^Hzq3HUbR5;n0q2He;V!oCfgbF^1F81(piG|={C%mS^lNHV6QJD!;=c?=$V z%sN>N^2jphscmSAr&b`8UiW6%b~#v@sb|t$lWY>tGyRm|xJ_}xNTOMl0nS^J zDDsRo#vA-w4TqPQ{r7QLrP9D@w4HfJjkL^I4KwG$O~>HOmQ4ZGZIK2m6jGa~VXZ)2 zhCmdAnC%f}N8axrJv#f%uU>rkv*)kuzxDIoAN_3e%m3uRx^?$y9o0Rb1^Mq%LRdRp zLWNf3(mNH&16GJ+V!cyxY$t<-858<0@mLL9(BT)^>zKVNoDq!#O+(oRE9MT8#kfep zI3@DI5aXEWK(uB}GSgQTW|ie~jlMyqRyxq?Yr#lk44+WQR!7lN7;fyHp*uTSs#?_z zB(FbiBxnPBBX2rgt+{9DjQSOwEe)JT<(j3XpDY$xl`Q3La`dZ&FzN)(t^+ufqaG73 zD;3*9KkzG|N~^!Sy4!EQ^dDSZlJv!X`@Prqr!RisT_5?>es{He7+T2@h_51_MB*lm z$}_eOxk?^yHdzqdbU$U_dIKI7^wVQZL4a}k8r&AARmlcZoR*$&-5OMxpzhK*fj*TZ z8`+J`8k#0%JDUQ?v9{xdDm9zBW!ZXNsnU?mZy3thKolxSCQFHe|GQ5 zr!HRp2b&8@th@cIm;3XRd+&Mq8I;Y~rO2JNJ2 zQELDH084ReBXDidM02AkqC9wRU(VXHo*U^pik-xtOzHJiMhz%h6>T)_Zu8v5ER7Mp zv!VBF1~-4$mi(FfG8pCb6IJImV!+i~r{!}Gr3zOUCm;OO=Di=@UYTaIx!7%AyV$(% z<r9rl3iUl+2Nwcv4uFze0<1 zihE-O3`qzF3guZ+RPO_%5L#`+M2i7P-7nzKm)j6pF|@YC%~suD=}ic2bwYh^b&avUG$ zSJcW9W-Zr6eO#2b$wNMH>kDtWnuKE`P3%UO8acT7PgXH+Z4DM zROck%9PK}Rhj5K&DZ^9|q2#Xze#w`4!ZowU-WXRToT=apKxnBRNs!DkKXGQFH4p4= zHjF$=IWrrXE>5E_OMyKQ$NW)JUQ?=%n`RO;jb0O`!#4CN_q*NIt(QJ@_5Azy-2USt z?DqcU{=w~g&wl)4`>P#qm;j4nJRFj#TyoId8<5c6?9RdP%IBIKuF)Gt$381Utq-c) z0S6LcCS4iIH0)YbWVWc*f<3 z^=UeULYI4Hp(q&(4-fs!9yq!9(wEJN7glQV+lb#-Wi+0H)ZT9|&NrX>(#72;&cHd4 z9nbgMS9Y7HKl!QsrE=CAFdEs1H}mS{=9a8sX&#GXr6sg7KJIVms=8h?GR1l_00wfba-mxyEbHU^`?zQwxY*4?a$kHF z9%rzc_GF+VsCQP*w^NkTCy3%C=VfSz=DRko9okIZ33XtvsjY>Gk19^Az6oi;li6O< zFy>3WO3X~hU#>=s=vca~ELP%}g36nT3qe4ip@eAnW8*}Rx2I&_P;_Vy;wqrDLzzPw z&p1>dAw(E-RA|~rit}udLC6+f%bL+R%KNjsPd@zYukjrKAi5qjVAKnuSMG1_eB>hn z5ZKkAC*r{pItlzbiRdPa#hPm%h=wXr8L54>1IbgmMK7`F#yA<9r^ZH3>IM^Zp#m@t zJJI~0cu?3US-N-C-G$h8i#fH?-q?@5RzY!1l+?I_bv^4DU<6P$wWfLtTWPa3+$7Xe zTbMnKZpy`qX)cjfPNlM_P7H`~7;ZyYaS+>&jM!YytZjmtw@5>!o-ll+MIBk%c=#HS zF6aTVmvsZVI7)9IATPx!?)SUP%aiwic>CUu=>p*B%jo>6;(qhW!`@7`PVWHq zvh)(kx?yORX+K-VCAb7v6h93pOgWQI#6k^61X&K$E~AhBvN>>o_DMq+tuth7l*B0@ zj{0h#d4_w0){PC2B8!^5tP{=t>T>(ZU%t3=PY4}-sr6Bit^|oH+iMrw{k>(D$wxs(DhgtLRcgw&LfQ>>HOS4cX=IISMD&ewhx>YxCLC*dp@b6Nf$pT2L)TcroP5N`o6u|-|gM0Y8!AkXl!xrvU9hjtdjC9EqK(H@>U52oeOMkD5= z2BIwU!2T&?J;ahnoAZ>3fpBOoN06ITEIf<19n;OtA!07HpLe9G_W;LS2QNaxIWN!1 zigM>66`-41Yz^%dMVmF4pMuazWqHsJLF!2!BBiRMvFN<+>RdEas~ZrBLv~#|2}fT# z96K)@B-b?V>Icus?K_)KfBEuK2wmm-le6u6zWM*&`N6-x)b9xR`@wIVZ{GW{Pwn_w zIYX8(BB}CNHz=FEQ%G=DR_Tu{!WEot>hf&ulyjaY-X-lRi$!!zG?fR*5>aca3vHnp zdBt-vEKG+I80dKTs{rq7H0JU7jJA{<`4MU-4t5l*{UjSLhSj`X!r+;3z{Zs?E zl#ZFhHM2in&N6B-8dByCH?y@a@rrdQGp{5xslBlxEDgt6ML8;Od2s>2;4nX>oUMZ61E(pI!aspXz2Tv`+n7_czae>=UP_`h8Rf z<;l>sB@x~dI~nDKWRg`BoYsoUoaK`Tbf)q|cdgvGvhooOV@I<5ww;4|5l($vUIO5Oy2tF+D-;7506p|?=onPC021`=PM^F zF>GWd7w6kg{qpYKGyIUrZll-vcQ3CV{mIuZe)_TY` z;mrVzq#EG5_vCOS58yuWHgfuLremAj1gmYze2`}vhDq5XMUafUg`|nr=ciLcAsk-8 zX=aM>sIU7kIJKw`hLNm@vpn!a>n#Nkel=*WTA3%g2ssv=1rzpF+teZU?Xbx zle8sdD^)v=r9WBBjF-AK=K_amhRdB07l?pKyawxYa^bO!6cXu z`!HGKuBtK}C{xV$j)2YYMB*21_ZXZCX%ePFO%eO8rPpCU{S466*?V8SeE%o6yaB-J z*4gIapMPz)+w6YvS68pUqECeO`Wq4Y#emDrGavoQ!PBbBPsT zp{>o7uS|XRBT3ZYFU6 zNuGquN$K^$#GEKn%(~`z+Yvu9$2|m0>p>WaRWIY*0l*_>gFQ#b1u!iHy%izP6xJgx zN;y{$jSj??QD^K&9m9oV5E<0lg>;l7piyEXgu5wi4^j15Mfx^)HWR~*lFr5;!=~Ok zbu0R5B@NW*oMsks)NB7Q{JLKGKw#|Yn}7S@dw;sUbNBN6;mHrbjngIXj9O_c8~!dK9_>l2=&cX7$7$^yNBckM0WT%B;InA-~{xGc^!LAHx|8CXC~vY zAGnLo+*P&#yG}E5k*Q&fbu(3hNiEe8nzNvXFvB&$m#L$Ssew%`lML8uFm~xCDgp2U zn+{>(VM;TR{hX?9?VH5Q|^UOjqOMR0Z!*c>ed}lYZ?ag_kAriKszSS zUQ5!^s<$sV+Tt~)a@+0B-t+wV2R^lV1VYaPdIRv*H~&C?5KbulbqFm zyW(gklH{+3e5%+p!Qm_VgF)(8_|&vzISqYTCpT*V9JIwpM6enYt~@8? zS*h5ynLdz(gKXhkq&djYvMNt%FsRsO8dp;5%89{)HMVEb)wK14GUX`HoW>M^l}?QV zTAu=$hR|L#n1LM;+H+W1F^@`Md3Bf2bw7`r?8p2|hxcH^&-z7W8~UiY)Hnz^4KcQD z&|DK71Y(nGlwwe3dg#;P79S!Hlx4jExIFvpmoMtrkmcE%uRQ$zpKWg4(t9oaRnXnv z{&4f!E4l#mq0sr2o&+|}e&i!NeK4d3+47ZmgCAi@!Lsiz1)u=3`+j4U_LWIDNdny5 z7GyBlaX45duFi~Oxd4i^?sjb%D0ge8v|F{o8FM|H^LF*I6td^C8|0oB6F$uR^f z?pg@5p)8X%O2+?3Sgf|Vh?P#<39>9=xG$hTAs|+xZ$Qtjm0kZTyO9(JKyLuv z{l1Hje13cGm#}(wb$fIFJ72pxzwdRC(C+-v!A zmv|`zaY=-`N0v$04sB~X9PK=85ma$8g_c1N8EQWHUlUgl7t&7ys392Xu_h@}@fcH_ zM4DnHp$at9w@j3G&|Inbq$Kk3&9yFsP$(%`Nurm(fN{`6h6<>=m0+x?HkKHaoRN1# z(l_=UWC$b)BH25E8~_F3^?sctFCjlsZpXS($AtV1C|i8FVm_?W)@Vldngz!7>1 ze8?@%Zd1XSYdg)jJ(WSaBeG zZaxLc$;*+6P38{P<2usNhM00m%4Ch4W;SzDqsw%O#FZ#h&b=U#Sv_bMR9065MNUqg zK0XDi;K?96;6Oz%XSTY~;Cg)Cb{+l_BAd7}o^;9AtV>0Pw-+-)qV{4ua5;6#BctKj zK{cw>sgZR9fgb8E1@gG+DPYX$XD>9aypHzO>F0m-ykAo4wsPyy>kq#7@ARV)<*yj} z#Nj93=GVlo^gZM48~V+FyU#uM!iRSHAZUb!zE(yW9Xhgm2V6mdS`w={mjb29RIDiG zb}*eyYq^hkX~USJ=`9bmgwa2xm3m3GcFm)iW4dFRe$-l|j6VG}Pn&03IV2BR+a>{1 zQZNlBrD=^s0(yU?(KA3&raZu8_B9~^SY2~awh6UubfX17rY)dm#~jn5pK)LocV#3{ z+=oy#X%^FKlaPP-IxcJ4-^gZC_(5s@;{m;IC`tSk2EPu6mc)odKfAZvqKeD^lwgFHZJ+H6emLVCR0vUP0S8hQAf=u z`w(HM_|TX*bFQ`2O+4c<93`yyXG7$o)(~%xl`@D5V{lQiq6TA+nvGIsg^63Q7^OAY z7>UfNQ7kIq?(CW89)0xl`*W$-?K@|iM}PjWb`RdFI+|B6hpt}x(eBls>m?B17rWfP z`f&5^kAK!1AfT$@7o8Q3Ao{XaqFd>DS~|4BCN(lh#-)eGJBT)DyReFP)~?~YR%7(S z71)&|O5)U*t57;0Ee@ZWL*v&uNRWG9NoW(dgEa2?NZ_Hpmh7-ZV55W1GeBuIbXu?( zwNOb~Vk~O=c796=p&Y#oy)Gh~$Qqm4kj2KHFBoPuLeKZ^${Bj z)mztrnM^B^Xe#q2#OS3H8Ze{POfJq(Kl-Wtb1$9hyTQ7`cbhvWoAW>YhCT>VgU{vE zuOICmym9Lne?{O+y=~sS_QvM<4}D4>k(w!sh)54VcdEo9&e7Hejmb!;*4cqe2mye; zG@<55lZWiX+g|H#vDr^uvMM*HiU-@<&B1!25tBpW?Uo%#K8vFyKVp4sT1}*J@t?&B za43?6p8?7j0_&#qBr=nUBjIB)XtFV$4v%5HE;v6s~5clTa;>Ezzi@{6YfI1s@|A+1MdAiMV{<4DOi z!Yv-GA&E04ju*z%i?uL$Fkk#*?cR~h*qV$(WdORFAoO9!nng~q=URWc#uF_$d+Q`x_8QJU z_v`xQ7X8_Otzv(=x%)TYKmYlUPV~b-qnT){&q9Ct9UXmL1NxOQeGqi#sTZGk_e;JY zlJjsNQf}3qgiOf*Os-9yT1wZ8G(qzBD&rl6FpgqFc5mfo-*n9|sV4Cz>#QfSV+S&r zSV>2czUccn*iq3?Sx@Auf-8&`72VRLQ_VC_gvHRBML(o^@-@~^i^Eb>p3@OOVTn*M zbQR|ynbP*qFK&VJf*?mn6V_)6D+k<*3nd<{H`0??0^v*sE?G(0u+>v@vEdUBJGYk6 zmA6948AHdH2%9r|rZ=#+o_+4}6ThrC0NDK@pMFWd8RNepv2Y8Th$QKVA<+y4&FSm-*CNSg)f$I#F%5zUV;a{5*FLjm zMSnOsU>asGV9C1lLZ?-EnJAPNk$|#G044uSq`+7=B@-|OS6Fb&Mu}`g=jWP94@gbm z`2w&a7K}bKj$>?6%YDbiFF1%!I{^(xi%>0jW+FW~*^HbWOkY0O+jWf6jC7hQDEV5* zEV2-#L>tTOFO467Mzn&-VHC4z0tylrL+LIq&OZ8?-E$w%-?<9olP8<2KmD417Sv0k z_6Uh{a_j2V?{D=jVV(r``u$=3p}40${9*m6P<;L6;HgH^kYZ^?L|LCUmEc5V z5~57BGmqq=a59pICSK`HP~D`F=-H$)D0x)9dV%xUjzTZKR4pwFZX*a?0(E92k1Xrj zX}{E#dEEd2KmbWZK~%|&OUQom%vjV6>kD8q%*$!gm=&F1OR}n4UFP0tJe_~nUTzIO zV9K*hmtDr@NhEnG3_kW>I|FG==zA8+a?fAq5iGsFhKqz47-j9Pj{x|^}_K((B{2F&B)zDScjT$7^2 zImS^(;U?ceNV~x@wp~hAoJ^yf@iuoQwS3udb|FTTqJ7K-P>B;}h+WT0#gVW&2z^dU zk{e!g=8KZk66!EWCdCBnrJ5W6SYk}yOsvgv(Up~tYlwdt26lmBgl-)?Jngo!f zHaG&cMfZ@?lTUx;-2V}nkosKt*3bU(;otm7uXdo0j|>osXuCgu?d)gYI?)e7*Zbhj zGcSCI|3I5oXv@C2;Z++)O8R08V5$tc9%e60@WkAfPGbbH0c5vXmQjyr(uZeKie7s? z=$hpnj-h*d@JLF6BX(A}vO@15a%Ey-rKa_Ai>?PUP1dTVTq5N=m(cxvnwctA%Fh8I ziBg)(@*!<6NyZ_vy5JbDxm{DNAuOca9bapoJ!}f3P)kZ(wwUErjty*{R-;Fb-P+ym z_KBmRtzneAL&K(B8c~Ct5BQA}c5ck_x6)HZQRZUUYlOUU@~+ z0Z0A|&!T#~G*LeuI9n@jr>Np|CJ0lj<@w1|7Xpi^vh^p>6Zml=q2$h?=ZXpxNliiM zr89~U@2t(Z?4>k$m_Ttf>s2nCg*p-_7JJm0XfIi4gE2^HuF=m5!I#C#IW}`$Ufy}> zBUjJ8Z+^XNK&|woC$ex=Y#q` zH44?)kYy#DoXJChQjk_TvI2lKddht0Y!F~+zC3|)IAmt~`qnX{XF1Hp??Y9-$v9B= zT#XWD=UHCTXep$@#J4Sv9dS@Sx-f-Z<%zCilatS>^EOQXMbbNNoN&WC!!DRep=EF= zfi$PT#@(7u3BUvtzmgOSk8Dh_#38zCtg~V;OBnK$${?DZTJH2%O}R$|&_)@CczK~W z0FTa|0PR0>b$WjP{M&!DKf9e`2>^FMh`*Sc_-Wa*le7J+-#mMGwb6f)bhUYKvAMsw z_w-92-(C5SMH6VW5hfan0>!BN0D4iiS`DBo-${%P@4@Ta*0eA|iUsg2qvrg$$A7}1 z*O~C%RcR7r#1Vd$1#UJNM@y-)yon!sO=p(49pD!15d&FBonz`GrZ>Sy@rg0@6RJ)I z)$|RL++bHZ!acbi6USQQG(Dgb+}4uYyJ@jcEkst*>C0D75Y8sr;Ub<;(8qg#ORyeO zAyLOiga2`MRLbq`FaDN(3D}#jpY7k?{o5a0{Nx9G2Y~wIpL~VofM|zLHn(=K{b2jn zE4l#mlcBqd?Hl(u&wW7uX;ME`RHRT6m_~4ase_d^QnzkQ30!Rm7r~*qi5mLtOfZ7zBqv`bEBjg zcIhOqox-9Wl2LNtRa$1z$_M8Rr5>R&pL(bgh2^nE{>t0QQ_np7*q1l@4uDp_)8E0} zY`^=piwAF-Ice1`v8YIDyMOSvC$IdC{&oPc|WA!OeXO{Q_Z=oZUZA^o5Emaz-!{WKsHDs`^ z37Itn*)R$be32Ptm^xLD`KpCt=mRwt(L(jYKwzj7?f3)*>=uEu?hK?W?p{#)>)q_t z)!B<5-n{oi`oSJ?=x2NG@gqQA_pgBYa)FuF=fJZ5K*Z&P?JM8%1;Dq2Uwv)!%!?mA zyLHz=ous|o`C^k)OlEL5DQ2UcmVlMKPq|2Rpz5Jdt4gW#xL$JB90(_1b^bz0Pl7TQ zDX7>g7fOUk_4-a`_^<=dm0R}O2%(UaABP7Fe&r?~OAc1su$Z7+nlYIcB*QVhbp9oc zurD0eFVnY^DrE1q;AoBow83<<)$&mE0(v{_<6EOG19vTq%3SOqjL5h=$}TDOC2#cc96Gsg4aUYj${ zQTNi^pDh1RE*C*KiLhd+h{-Nxs6f0l z9GSp6@@r-^K@h!Kd1t6e+ng>wdrsf z*41`QH4n67;n2=g9I2vJKM=_Aiz=YrqKcHn2S5((qA{Wd$eCDo^7-G^+h7_CKe_w! zA3pl&5B0kNMjK(t2z3NfSx!#&yI1%mRJZ@L%guxP`_o(Re(K#H+Fa?i6#OD5ki`U= zXr#>yvq96X5+9uqd)ArqxvqP^emz;i^^33)^lb{u`M;v^N`^jyBmtK?_lhaH$l&zl zQdA`6>uOQtQ8wSpt-zrn_6-cJdCAT4a2->gM)H-%)arEX;`ZY3xlQMqY4K-`Vn*pumv|%5tcq{ z6fPRoTYWNGML{}bNbt55#w?vaW^lKSHhm*4;T{;k&%qrCz5 z;c_6&^qVnnd~>VcjJe$Dh0w+M{^7;h(=UF6pOD76l1(u6`P8DdCc!4bGT}k_5j}G! z?p&OG%zAHrvAMW^ssFI};!KypR==^y0nkHN1(@av15;l?O%87|(4vxo`Y^N}j2=$d zbd@NSsc^J8l<|^bgjT+_4bXUyPL2Mb6lgLOy?0Eb+} zqNn?lhr35#dg6=!^(X)7@4fU7`Op0H!PQ=ufnNyW!NZQ}JA@NSH_|AieS#xWNo1yn zz?QTgvo?FD+7f zAx7#8qLCw?Rt(7S!%}yUfCj{tUP^3hJ|VNVGMZXa^(&PNkM7x#}fOo6D*S z_&z%O3gYQfyAW177mqeC|MG)dPi^n(XL>ldXP1vIzVnUUE&Vb~!sHY~BFB0kU`8Fd zoqizVwIA=E`k;O|NcGWg#=P&v&+oUl1D;l%O|QecABGd ztOyFZQD|L6N4I}iNX8c1QGGnLF+@Aqup z^*=oK-{1M0?fzfAwfTd${+oaNPrvxW%X?+OlY^fHSUzCz1Yqh`0@KpFf;QulYzoYP z0;;r_0gky;Z7tBj5C$m&%hX<7BhEW5?-C*kFdTjVH$Wb~H0(L-nCibsiXn&9L`%1V zFX~9c=u9fH$N+3klATt~WR%3CuLudbrx~%p+A#s+7n$Yf!En$NT6V9i+A2`}j}}S0KLl5r8kT z?yp|`wtgf|-wM$E_l-Apr%yb6`$_#R6@7PMZewOQX3;EZVTjH*KjWmTQG*`3&pq0l z|MJ~0y|j68|KNP{+R6UkZ|}VR)K`D)cds5?o~~a4ksV&e;A~in=ENE5MW|Qk3&!q? z-9DVaH9@itqre02h)Wk(0P5RIbcpD~D^uGvwkY!;M%Q1(ugY+p)VA5EjccCyCzk(t;`04&r&E~oe<%dzmqSt}}ScGELxoWsF-OuzVQ zDt1>jtH&fiKP+5bp1$y*%?lsjT!0eiozus81 z=s!+A%RcBHdA4tgK&9w**t4Ia5iKQJE7XW6D zYpK5wlW%(s)pdfrC>rb%v`P+#zW7eCTQ-}l@!%)>hrc-0djP&8ws}*3BIU(T>#xLB5-g(QG4@o+)%vCt%I@+fbI^(~7B6A9 ze`)`L&z-%@GXW{;Rnd0;%I40`pZG_={CijDdM}a_&!OiLUqNY|3L%_^to6{~>%`%( z>5Ka)&3)-K4drACxD7Ff*6yn=*2b<(MZD+|VwoRErpj$eqJND^2(->y-W@EC*AxeQ z)0CCZa1nW1;0DGu*Yp;xty{ywLwwa7G9RAGOW=6NYr#jVtUWmJ0QCOZ&vtH$93!F- zM48!0#|+n@ks^6mYy1B06IY-4ie6T8PDvm_X2iT zuWjG_;pXa;zovMpw*i~y-uD^*7=_*4`KVSt8hC}m)*a)m>r9b+*Ti@3)_M_kZ@;|(La>r#z$Z`5{wF>G0C|RM#l1K|e^aT&TN(iuQ zHiOMckkH0*4S}`mt~}Sunk}|S$EtJG5v88`Tu)qiD`01($88K5PL%5(4(J)8C+hdvI7YVYj|XE1t>sBa506Z zjA$=+ci#8@^Y?vBpWmxw`nsz#{H?F^Ig6nnCFqfILctR89U94c2mSh=o?e{leXzbY z{MPGN_nv$I>23XFwf|6DaiwIHO!mZC5XoUQRx6NZT8{0hwDkIsyRY2+Ev_^S{Hbb| zDCBqcpL_RbKJ~)K^~{4Go^%$x*y65WW<}o*3Wtq|3EB=`G7AUWnQDZB)?-VV18>XF zlrTGouxZ2COg+0ku9`UfbouRX?D!ENmY;*5K@R4wzSt`rW*2XK_f&sMg&zyu-hXR%_ul*T;FS9& zUR4Q&I7&$FnJp@7MV%lT5Nt+x>g3*U-2Dgp%{h806hV3F4dCBy?)~EFuYURWt}ZT5 zr=N)!!Rk4rxkTyr$(mPViCJ-SsrZ_>3|tsSYLsBL=3q0;q`Zu@vAi;bS^BUQkr+D7 zm3v5z_C?g;8C8R&na{f>M)JeK`_&Q5z$DsMFBB^&i#I%>)0X{Gj^`8t+m9dM7U5YR$ zrK$GGlo;%w3>=Z+vOV8le(dxUpFI8e?o@xe(WwPsuFba}eDzDer&mF8G?5UYDn7CL zl*d}!aW$gFvGi!+ns{8i4uK2CxRj%(c(kCf1(0BgPG9A@yfQ%{eI8~=2VUB>-c(*I zhSdcClnm^U3R4ZKtgSHNM&kuCM&)p`7=?W&n|2^8a~R_Xfo%(8$f}+19G{`6;G{PY!{z8QA43xzcW7?9E^uwhdPqO%p+jgzDJwg@^;Sw98 zr6I^PTNhmWgSShsLIymn8y6~QUhnIFIK4V~@xxc|{p3b}(pf-#2S7gp^sPVOZ^Gdt zS2x^|HJT}XPLhFoZE}!};A{SY`sr?6i90j~6NCOho+~ZNcH8h7ahP(8nM$zX*c`EezMiDx5MFBsSEb+L2(-j% z0BN+;4Q;l>zVh#Cm9wTR8uF3CyGS7K zk=@Lf!y&!aIQf~Qnepxx4EdB~PH&tPJizL;@@KxRKj)@*y!h(JcP=07zV&bUWq1xK zD(j2c^RB)~`V^6X{*T(->t_%D;^gYg9|Y}RfBo{^@A)j>RVJq;$0?$Cnw*({EOG_zq!@_)2)PcA%FAy_kZQL@1ETW zR{}eVJ5^a9kFfm??E+3nr9`wk9+K2pW;~c-b}I(gv{WvTWQtd+49vP(tc3~X9pRg$ z6@)2@!~twg*I!51dkAeI#}g$%n^A5;F!dUcL**PZwSCDi2>KhE;t_Hd%6L;sdz-TNiJA^JI6n-SORkx8B-4`SgpYdM`m8 zifbBLnbV$S6}L@`?4#nPUtV2);p7W1p1rU;;eRMr7JBLRe_Z{ae{lZCo2%R8bGqMr zfA_^_zVO)>KB?z7()4lHXj0xPbGYd$0S%*NC(x)Ed`6mwWY=-vh9LcfLJh5JW8Nm$ zICfq3qVvXa9iT|lOu>ZBfzm0*u7}?Oh7K}e%&8RR82$V^!LUIpi=!A4X;F$IO ziQdaX-tEus={o?ww&M+}UJq^blW)84{+rDkuRtWEl;B}=CwM@^I!gdkN(AG=l`EirFdg=>!P4{e7>142c1-$4)_+9 z0^|T;!NrezkzgGuIN@wi!eiCEIF$+t zX4&E#0W!2cr&`wS)y3%tKXLiqPw5Q+3%ue-A9mmTw|ugWdu|u%Wy=FjG9iF<%n*au z3NIgi^GyFm5`Pk6|M1afck=FMp8e3yzZ)4`lBkQ{Dp8w5okg!~T5SbNoF{g7fAjWN z^ah)Apc~%F_D7dL`q6_Q{)@|heZIRdqAYpy=a2rwFMaii(t5Y3ejP z6Ll^fYAb>*RJ0URY??^$KRO347Y1qI${!A+BElxT)Dc9L$K;aT zJ5GJ(3mAxW&5t4OB~<;x;N3ESjVs~&;^d3J^=SL#{>mTJ=;g!t{rz{oesy-&8E`hH zpstbk0s?a&P_HP|-@bV8t<#5ZZbhhn7u$!A?mqe4`}g`WYb|L(vTI_tigaW&#j+Q0 z8sk97^47Pv-h1}KXU;xzuK$@#^S%CZ``Mq~|97wM-~9fg@BPVxf4AA`ExeEXUtE6X z-lxC#;>-HEAYcEYujQm(x>x$a0=-BJM9qWrB$0z8r{}pQXwW-lcw?oe*3}u7g~p=& z$kd9c)kB1j_qz^qiV{bdnG0h&kx5D^?IS}1U{Ra?EJ_qpUkMr38IgcjD6K*n65NDF z^vX<@NRzp^q#?;+us}xv8^azTGtw(KJ5z5MA9PV^svL9NoWT77wRV(Shw zxhQKdWpjFQ`Lq4SFHWxX|7h>^ivjl^oWAEhAM;;{^D1-)BO997wWRn*V|A+t$>!1u zx_z`g|Mgp6e)sNKo>K6Z{q$cv{FYr$3Tn%%2fprfQAE{$DRQ~)=0x#I`p+0#o~C-P0bk;1!{?)hsHuL(>&6|8iAuG zjhcGoA(Y(bRRxd6rQ}Qr=@oIrv7&*8srS@+=5Xrgpz>_*RaJ23Vi(fRIVFAm?8)i# zFI{}>*Yy&{&W0+A(EDhGc|oem@&By!sU7!X;{#1?|$pnZ)@=irx$G!9&O+Jw~zktmi}}&s^M?<{5H9#~;&mR-`1q!zXn1DUpEVG#euYBIZbwa*hcxi; z7eEv)y#zncOPQaCO}O^rqd_z{#zntBzIpaN7ys#hd-*y){jX;LUbNi*#l`o&zR!06 zv{2u4e7cpn$~A2n7igAUi?0b6^Zwz3ztFG7>!A-SAKt&beee0(cb~U^szxEES{DOl z^L5V!my#<4QUUY^;QePG{OJCZkN89EtmM}2&L5nA?e(kwpSE|4m2S<>vud6Ge;@mN zaQAMzaokDUj$`9fY3dOp&_32G2R;BMvfy>oneyS+KH&=iZ;3eHT>O)} zzx2wz*OH3<{%xw%5r#CMi`{|#!^Vk3VJMZ}M?F)L}rY`?{tMkQU+s&{2 zV?D8Eov`^Skk4Qdl5W(Y%tg9m^bw#wM1Ohr3ny1EpItq!KY;0x;O?D^x4q?k&pxZa zGIUxb;xx(G$%mG`LMej|W|Xv?k-M`Go$HHxc?>h|^tr1SK6&|@=chOLRDd57K6~%; zAA98!|MK}?-d)`00q^ceYfBvzr|0cgV(;l~9XACk_+|kD5F=8i{ z#wr47lW>rN2tlfTtQ5m5+gI+L-P3s}lg@qZO*>{f0krRi88CLyE?#Yje%`l*;~xG# zCqR&?Dze-~YZ4TewWIQ>8y*=1RGa(fBBipgBx%l_~lkK1Xas7o!O%SWD zf=bdC4ETAwwj0WTrygu5c|}hKT`~9z4?W_S242+?Mj1INUr%(3xP|9htOU?|V`#CT zl^PcL#DrY8cy6ozo~hfbC#TwvE+wa=F{qO&)|Lq_D(KolxL(5$Fo7{N|ou)`{d(!tv@Fb8N^zgz( zz_qF8`icp~)&m2zC^05SM}6$mNqWlUr062N1nkHX%JoJ@tkH7l$d;j=9RMG-7o6e9- zmpdX+bo=VE{G!%MfQexFg@0}=>ukNC#|VqPSqIwRrO!^bGJV5(^t=NVIc|n;(eC9kZM^9 z_d_;xiLMqCx{RgFFslx$J3gl;C3+`Z?k=4uHUV&!h4J+BBu#p)3qHA`_xwC|_giQG z;BVji%RE6v>5h34Qm@?aw~_B^^}Q*b^@Wdfa=dF&%74L!sw6J9)g;%mQg@<06bd!PC6 z$xZ$%j5AJUu8DSAh|K_tu8jVO$eT}&K=p8R_x2y^4`F&Y3Ue*Jgue&)vRLgD19s}6g9gFgM^ z%YXj2Uj8>f_VR~Mo;}^%;(3lt(1J)?+igGm>Yu#$&jG+_1B7tl#|9VsD8eAMgdxwS;b&)d1BSe3)++(iRy>P?q;k+9 z>LK7qb6XK}`<7b=S8WRIOFw?H>M7v8Z+_$E-~Z1Z|JVPkdz;62IL*nZDf80}RtnE1 zd3cZm#FFuJDz=&kLXC)+QvwB>z?mz4uP~>S5Sk4dch$a{RcGf|(515chO6gASC=Q> z{@t_x?|;7h=s()teeL`v*M9O%VvfduB)EHPTNL7Ct4u-pilOzS?X}Aw)Kj8id+ypE-N)U)cP}?d_%b&vx63lZ)TJ z{M2)s=Ppk5OACEUYqV^&>8$w5y|4W%ul^hV*2UlY+pqnN@4NYd&G`i{OYna#Rg^9{ z5`0t6Jp8&%ej-^bJEw&pwYhd(WpH=ewN#|{sb}T(-krbu{6G4glh55a)l0GRMCdyJf4S7R4&MYm;lukmqxT0wxh~;w2%~ zpS-NQxVZIy{=M_x`^}3F{KEEzE_i~dXL-QX>LQh;5c%qdjLe|!>*^Fvnx-f=A?Cax zI25qTC=i$v{XZjA{BTxEYgR%_;}1*`)ffGovfEoPY`*d7-Pb>L=hn-oH=j7W&>B*n ztbg;9SWg9#l+_Xq#+FDu^w|bV(a$y)ckX=Q^zvo>za=u#)0exCKmF8qJ^Rfo{UTmL z63UU9gJTz-9B7^Hw>Niw?DQw!eD$`M&R-FODD-~oe|qbeMaS2+=qGdHr0F3q0O-G# z-Tkkx{>T62?0@^|dq47nyYGGKME~%cGk_@kO@vji_f)4{UMOZ#8+7&XZ({oF0mRn8 zDnC7dRFxGJrEPb2+h0HZosXUV?#0DpX3*mf(5ZL!O$JV*c7R}C_B4sRRYM<576FT4 z!Aqi3;8%|Tq-@x{JJih9Nmjb$FBc8?v7#89LG*Yj16`@kFK&I|*LR=O-&1+w$;HqI z0Jy0oRv2!Lxm_=OGE!#WajOk0YKE0SSva(%udtc z+TCrMI_6NJ9@h?~QgIIq zNH(2cR!kDaL&b8aK6g*8iVF_POP4_ATZuxR7R9epS|u~_6uslj7>aSH;JVztbm!`i z9^1ZO4_`V5?!3Hv^PB!GPgIm$z0OOjwOKGBU6?nK>h;B^Pv87gXFsDCK=oKCx|^Ge zPhI~0mv(=2BPW2vrf{DICSZL+sX4f@xvB5BP@zg3|~20*+H% zaWi0VV-lnIX`B3_RbeRtU?&w(!{Mv~-~-`&wCB(0dYTeHAFyeICCkMA%1*#AdA5pu zslcSeReE4iRsvN;njNz4$zUTaSyGSPWnt>HG_{wKLC8~vBlgbWmPDd9Rc6{%rG7^- z_4e-No!@`*#?Na3X$jtb<=)%h^Sx)M`r9m7lwSv!kEA+cNzfChlgl4D`H}Z+zvq>+ zyZotjySX?$`={Gqx!l~lIOU65{1ioQqH!H~$&Wx#p=U$Q3YD7C()pw#WzZ3LC=opV z@+lgP+039Lg_sVFY9l^z3KjtSY>OUMu!{xK_>zc7$lvQD;ml%w$1p*0PsDoS0e87e z2(7tek%(^6+jyv`WMuG!H7`JgNHc?>ol=ir;nq1&-AQyi0u;^&JNZFdLo~XJ*7OSD z+4QLO1@VD%487Y@`C8@QckBb@IH%V;8I*txC=@~aaiKYQg zIw_s(Zr}aN*_P)b3U}w$)e|?~b@RqsF0WqUk;l%CLA^?)19{zacQ;v07r?JXhhQ~LL{q$oWdUdC7UgzZi zRq==SzW94rpS`i+i+hVkNY@*hp~NLcV4%OmLu;9UDTQf>Rhl?y!s3EY+3XrGtVV!B zbew^UR(qFL1@@pAgR!5vA|;wVqgW~{zw#(%7M4muFFqz|Jl->=jdK>4Pudb@I#yPJZC_?vj^eb|;VRZhm6> z@mF@QR0ht0Ij^|(bWWZDhIQj9x}WxCb`-$<;%{}B;s}J^l@%ALO=t`+5LsatPCO0c z-V>I&bW^=-C{?Ib7l6OJ|#EB!eP)A;0oomP7hBaoPHM2B$2qamQeAZFrl(SSxE z!INhl9x;@j^o2KJ19j9(+S+%SvkVvGy=`K!H4*9X?#|`QSNC4kht~Dx8okZt?rSG+ zeballd`iX{kOZX8(#MiIinF`Bx$~pvKlaqsTUbf5=yjme?T7Dt)UPs(>~SwQbDOSC ziH>G4R?l2bj~#QR5rdTkF)XQ(u1^7S)p-(a^*SfRV78G}p$!^$*&R7Fx9XHEccrCWI<`F$^-8Nb6?sa&JWtltCQ(t!h2LI9q2?IkTBSYZt9X{ zcRL_V)$=L`S9j11%R^Zw8bTGO7sZKSc(;OBJn2tF%uG6zxzhPM#pLQS9>8_RUXyK(CAmi;JpqC`9|< z1hMn#7}EUA+0X0S76p;4tiN^n>?e1h(hEC8PvhXDKA96-d!Ihx6|qwa2-yJ(kBJ*k z3z7JgjWuB)%`A7}on7#Put65WjI&=_LP3Vrd4V&V4gu9T+Vy^6F@9}qRZVQO<-*64 zCK0nDntvjbxQrHQQqF)1TZ_UVuNCx=GhOL`LlM?`8zLE+M20y-M@I((&v_J?la`sy zY$Dhn09M$u$IAnQE%#i&YensGw1&!@pLv9G295xfjVQTfFiIzpj&J1@-hw!~p6cme zWZeET|Fcm~+;_XXuU)<6$@go5FcUK>-Mqj z&EG%y^jGiwv6gGMCh)kDPTB#rHtqX1S|C#}*a9=C0Y1^}D-Fu#amqy)lZ-CK734he z^jJBqdE0{xG?dzxg&6nSCK%#%Lrt8neX^#rBYTQSN3xKUw|J^N^QF>cG0PPW+P$q* z1tx5VF)$C9=rqLJS3C(U!peuK7EN)F)7i?!lWuqHfX!kR44Xo^yb z5wn^!Xqzm@V^!N5Gb<_8aaH{buB%kRF&TcG&+!Og3)e|q^#dTpt~5|_y0lXIxN*G?g34W*MyFH7LL zfi%xDw8_NKOCK2lXm0Xbf+|+S%(b8d8WrJ>J8d-#=4-a=><%;e?BV>kr%utqGyuag z(=mI-x>tvi`o#IL;>g8hc%jj~4L)L2JgeQY(Zhx%n@UG;=Qa77z&n&HuOg3{&^vD{z*!TyPLZ|clPu8wst0qms3w(J9*&~cRx{o|El~vlhDEFw5DXu zUE}T!I*@UUz_lToba0_imgMH7VDLrL8aGD6#C4ksn3gc`aw|&V39%Tb4D49&lIO$h zb3eWE(q-3ZN8_Pf8M+3lj^OOIyN=aq&S4_k?NDtEy-QGUh*;ZA9r`?K8_(+5$ux@N6?N9VDMqsjvqWrAyqBv$MWew8&U<;#fEPUBhEp_%8|t@Vl+bWcp4qtTk5#B>HjMvMtn8IkR%#TYg7e zqhhZNvu?cT$;MB6igIa?ut3cwIRy4!Fd9Z*Ru1v#i7HyhWbW+XtAfu6DH3Gh76J6K zRz^@!ST>b+%MfQ37Za=V{I#oZZm(X@$L)C*q_+s%x%t+opSjX|YrK%0&=Qg4nqFPe zn;xDydFK1J-+!t9JjnyV_OadBCr&>0>WRMoji7nHD35GXp%pWSVk%{;ZHe7ZSq+22 zZeW6QA;t|C=582c@?Ht?$S|yfqh>o$`sw~?AC_friPa$J)Q33Meoi!=F-&q^=U6yQ zM@-%QTVyp|g_KtkVl>gL!oJ=?SL@~!`(6xRN1QDw%E3Jx>yDN>(b^kOGfZXPO3)$X z3OD2t4v>2*5b~VU3Y~D~8qPyVz-g~sVAJLR5f!0==zlN0cz64?Q{JEA4+gxtdHb8b zM@u<)_M_IBf`Izwlgl4E{n00{-m1^>foMA zl}uxkS%NxpsGKq~O)=59!0qCU${voW%^O8xRD`Cgp_$0Z>45iCb6FxUZdHXHLl_GR zNke5{qtN?RHh{XbEn+$J1T!?KyVV|cdxTwh+hHC#1<__<+j7`k67($$l6%otiHFR_ zYiDSiGh{#LJY!|&^5lB)t0d=K?M5qlNtE9@wJ2e7Y*S{fqwywxuagA7(g$O%K7Y17 z=U3tF=JK`eTc7;1TEX>>MOn8_I&p2<{Q7Y`)$1d+7;lq z1fFTom!$zc7ECQp9N8+Msg%4lYvsgROT>h7n>*B?5|Jw%;NvsM9@p@L?_ z-Wf>9Eh$O1I%ZJZ*)LP(q19g2w%aZ2aj=%U%fBwI5BvKQ4f<%pqVeVvL7)gDc; zUwfF~BKKAgUn>{qGO%OK6rRH{CQS{SZ#LS&yHqf|OyH5%;lM2ksJ^@o4~-@S3?{sMQGSUB?t-R zm*9SK9Y9cmIU#eSGE+G>hsls*sMLBca_L1QRV-6w?SR$@F?Knw?<< z9N7-*LSaaCUbr=nvVaG@qb&a6Pwa)P#sy1Q?Zsg^iWwfg0yqu55cJCKOMFF}KF6r9 z$-28c*XIHre?~6^rJ^~$`&S|K4u}tJe&KY-9}VaVK88G%9ProV|oI@f8{Ox>Vt!2V=0A z3v*~^y9efx#0>?NP*W%k$@9Y{k$NvsD2K&+c|FonP^eApQT~tGnlKdqO9GK4j&;eLEX3)a8s+fEydV0Q#Xj z`ac7Xb7OP%x$Qsu!|hk~1)#!t;uM+MI-gNWin1lPh*Kxjd~~g^f|B}ZNCacF%dH`c zt7!lkz|tj7wxxFi0D;?v5GPzZXn3PB5nKfXW*Il0S`o+&ej>~~c*uK!3O5Om^z3_f zXgMrO8MK~v%1moL7bpYAao&zo&xl1fmZU8x!jXri7!?cL*b-YBCxtq402JV@k2M69 zDL^q92Q>os$%YJh7tC{6A9ME~v>_s2gGKjq156U3~zeeqkh~<+?{F!aJBMZpgVaX383U3mmvaOWE)Q|-{ zG$x3vboMB>B2(AMXWBs1kO~I8TqaPIwN`t{F1;Qux;*z;!2IYt(qFxO^(DRXqpz>i zzYDnc+V<^Ff3F@J26bnrqi^~Opv~u5D(DM>>&eiDFcge6n2ev!Dr%_ z60Qw&w&Sk&81%eF7EB6mv{gE*$pgyT7O6Eyj`s&Sf|C+1=N(59MggBwaoW?|h1FUx zjYZZVRu9JRU`~QsppYrBfBiH?vojfyy>Ink9zwXfU44u>BlhL5gNV1UUVZ6?zM;Zj zQgQj(y|-Sx|5P8-t<6xPcb3fJ$zMGEd41VMXl|UGe`EK>-`)NJAAx5JG?Ro^-?8Pf z97$WHVGm^8yG0#s!q}y_RD`QgC_61MqxN@$ZEZMIkBkItYaiFX4?ikSXjoLd47!k; zrVu)eSOU3$_7ceFfE}e_ee||St$F050;!EeB#hj367aa?F$zuEAZ5snG=|c`H1w=2 zJ_8q({n1SxW2n-YT-|*Z#5Li<+O)-#Y683f06+jqL_t*5!vNVIYC2M?8%S9Fhso!6 zU*;{w+pYe2@YU_zo6g>S^ZbeQzra*o*9rXr_|2QQ{^<5YxAbi)y#0Tt7eGIL^05~; zujnXYAz2ne>n0&kj7B5Lb4*cM0{k~;?jKhIWioIzXypJp- z`@9=;<(#OQo?2^pLPUMOvBMqAL9t?AU?w5KHY$zRE=;1KT2Z(rocimz$PI+Sd>+WFxaz?8MUsp1@VE}r)_~w$_I!e zh=qJ2Y|q6}vW@|zkYH#ieXat%^4xX-!;HP8J=#YY=Inz}!IKV>emu!zz3&A|UP5_+ zxXVTi*qD)PauG1tDq+uCUOeH*vT|C|s8OAyouyxBoJk`|uPSr==*MEfsL!yUy?pic ztIdnNO;;ZbxO;MO`^mT8e4qZ^Z>qwx(jwBm-Q~}0{_>T+`pwHt9M7M8?Ni&|e(Xfw zx6{xFJ{=_1{4iuDA8KoyDs{0n_QB^FbCXR+soC==<(Y`aJ++l-47d(CD;8`~g{KC6 z5QA>oOx4=gd+bkyt^C8^ab)T=QDwe-R3}N%iL4g=f?x4IaL{c@g;l=$NJ`aX!qpkz zgJ4|vR_iE{NJEqCD^qG(X5<06xTYDCk_eP-xq9Y$;PB3H&sD=&WB-t)b9V0*li%6x z&2x87zR3$g%3e=vZk@dQ$?x$u^eQy2gHrJxKY8NEcRznye*m`S@!jbkoPFw9x$|AK zQlTB2gHN5xMQ)fEVT$02Rh?^7vPv;IEY}F1dx}puhsddx$Ipss?w%vcj9%&p;^^i| zksCg9{*5f5me8akP4`2~A1VEC>A4oBB)iOh6UA|nrpTen zl7u(PWyY40D+e9oRHpsigAW0tSLNn5rE z3+WgmaCbYecDG*JeDPc#2hflgf_CqI;sdO^%1A&v@&c&7N$bzNZ~H-gnIbR$>`tEC zoPT2bVSNP<&w$#YPuBQ5PW8Y%$!DmS^n`B;7whh-Hf|8)zU-rqL3DMKmW|dp2ICNz z$;Lopub7pO%w-%^+ao)hD!>F>xeWKouSEsn1h^lhk`;=KvAKF@$6+i?vHkD+@vCb(pI_IJIbcG@#!ONF}P+31oJK&CM<{mugXaH$ImcKAT zB@{FKicmBh>XZwYz)q4R5c(L7VAgv*-GAxc=k*34{SKgyN8Y`4`Oe4R?{9H+4A>Jz zzX06+vCYrk*goY5WOV23rH|}Bep8nQwNxCrG3+~_Y2Gze%$iiXv-z?LA|Sae&N670p2pJTU?D?Pt7^c;ZqwM6jx~!2qXO-3vLz%eW}+A1bkD)heqF8*QQZ=)_?xBlh1r%qffwGIJIO6YkT@w(?i4(Nhh-B z4|%wZ^Z;pFn-*AyK;wW>EXx!1vek^rjHEn#)slUH)GH{+rT3Nu=7|_;VFz49L+-Mu zDM*tf`6|wp`g1IaQ02j-s~T z!hlPYE4C2o1%lT9`SVwwJvq6}NYDN6?w;7alc2Tp!WpM=DJ zx8eEE$*=0Gp@o^a8B7W@bmaM%@Kl~yM8rR{;Dw;OyI1tSwsXBR^q&5I*Awr2?7df8-V&EhRoy+g^Mkv8 z@y%E7(7&zZdBkRWc6#R{yN{fm@C|Up^5W|lRh@>eonxr#zK5)x)iU_J7!&TwOQ zUTv;^^5kc)uJ~KNsyaJ4{r1V%erNZ4`p*`MQK$+#2iq?xVCP|zq#l%8Jm$fK*{6HZ zxa+6eGo}3I;Uf10$1&GePoKomIyFF7Vy+*|v1gea9Rq=^YU(>dt9jcwJ-=qN-=VFN zC_~n~IGhc^6-zs2s+et@<6Cdw!p@Mbj~Oldqxvjl(d}EOvBW+B3*N&b4|eicfK1L^z29fI_it(`dUza58hq9dj6gpf5z7lF@aQ@pW43ZgPWha zyVak}nEEGn7oR%$*mIlbc>$F3Ca0kzm|IdGmvk&~eUfR>HZJMaepX7Jhbx>1<~j-) zQHCIgEaW+md|A#zRT641@)&we$(q(jAh0UZp(X@LIu7*8XN$-4yR1Tazdan;2wW+_ z#;K?yDLV=s<%du>7(5jjSA2p8;|y~g%+`Ac_Sgn=Wg|){h9Hc~jy|j3%OioDotMC| z2sn>~_CihgBB_!Gt{Txm5sh2xiXH-IEMGnIzx%@WEBaWY{Pn-XF7I5u^D(^=I%xHO z(k|a~^2~SN``&x{&u38Xo;cn8+UA!ab%CA=^0qOt7+R4bdtrsNp~?Gb>w;`4Bx{=1 zHKyj|P`v=wQo0u%2^IYysJ2Eeuyd?a+<1EccR||oNU0wjX@Pe-YRn!5vY77oDv)8* zP7YIdCIg{jsw;_u6jrugiVi71(ltc8BioT63vkb9gLbVZlL8OHr+uCHiA)ZDpd<~N z<>Qf51jpW%V$N_iXvAU~;a$DJ1Md~8jE5plL@AZTZ*RV!{}+~5^RMn+z5Dc;i!(kO z36@^~^bzyL=K%;!;a{O zQg+z5U%wr;_7HE)p<1NvjgfYFtR(4@9Z;xKY2}f#K%nNhK1XvLnA38?9FVvP%E9eA za3rMuIoEUB&z$L_j{bi0t2_7Ja`Min&flyQnMnb*n;$y)xjTGyE*U<)x%kZKr@y+> zS0MHk&GjXEQfS30V9keZWf<~a<$FWWW7*ktI2O?xb~ub&%e*5bvi7Z6@>7_xvhKvLy%u2h*PU=W)sjxBeiL>$5w!fZDg%kSmxDB~>C0?8PUF zu}m#Y-Upf7S8?EIg{xfr2FQYTUO!#ou#)=e$@%lUuk1E2ORIB0pN)Lt-kaWj{ysh7 z;bh(E9iVUjfvcaqJh{#H2W>V_Y%YH7^jEH~^cHHadc>Uh80REM%I4%a`56Xm)q$ho zF&WF4A$?qd_aoZz4ca|`n}tL!%E*~kq7)~sGfkxnPfWD>+7yfBTKf?Ly&r_~&m&QQ zN+aEd7fHqu!qd9GptRSKFsMYgvSc&}0eB-&3#DPKyM7;{Uuh2+&4lsEStgT)(S+iG z`@K@k-IR`LhJ}*G)rL|R@>jRd-8%jD*-pO)^M;7iTaQ0;^ZmRMs_)I+Tz=r>hu*&X zE`4lRU^!f!z4+@_A3f72V6wp`b@<(D1{ubraSsE`sM6?ygON%4B|~IQSP|eJ=L-J% z4})e1<|4xVNu2<&;FP`-CS_|zf*N5NXRbdGv*HeeRddBF%yk2vN-H*Z2N_&e$S|fk zzt1HNqgZLfO1ka4N}`p=61bmjAD@2c=>twg$U>KZqM3ZOb@Xeo8rVpw54SdoVgKqo zz_Jm*WTj-R?c~nx<(JOBcD_A7(+A}BQva>Z_nd#9;rheC-5=Zjr4#>IOi;Z5`X^^! z{^HdaFZcqLY#kix(buB3ZGF1OQg-LtX^d`|X-U=BAwgTYmq=$e9oI-192Az3 z$%HgX|h{{V@$FyV*DA3De&55%bi{7NssKgoOjW zW`}pdJ%9D33w` z^e^$kX|_-*Mkm-uijHyb#FSEoGMQT5$!$@(7>2gxIK{wy)D>$u!(dkJyv^5@)~&r4 zEn#2JcCD8RrGo2U1v<>`DA!TtVW!;^Jy}yn=|3wkML7=?ZoZ8&#GLi%AWhM3*R`al z@Gyy4V@gvcA&p54NCG7p9@M-lbZnO;?O;b@3t)~k|CcID2SGO^tGbeu56Z3><^4An0Q)^~&58z0P9_ zGGmE@h-k-N1sdrMB=vT0CMDuN>7F?dGx}*yYG;!5e5lJcNJP5TG)XLCA%{G;A0p_$ zUMDOZerD#_9aKJ^@6icg?Uk=GX0}$DONm-O$`#Kk;v$EC&pPg zdYMA9zAXAJci;Zx`IC2cw|{i^p&MKM8+T2f-u7_z^2s-TYx7C{FR*1c6t_Zq)gdQ2 zgdr`7Rx?Ij8kY(p+_f)8ro%uJ85Vwl=$h^UTdRSNT=t0E(?1?~Nx=(4yF|pxA+>`I z#C^B8?Lii|l0YrWMk}B36v$R~3cJsF=-CVpbCkDvmjo2ovtZr?Gs4Ti8Ugd1#}O7F zra)M2Lpy|(nZaaXiX2*du0)>l5o|L)mueDms?{N_xY zB;i0EvolT-AZklgyvh`$MsXec_>5srlql4Ob+v$rHDR&uFqTJ7A!3A-{b1HsZYsd7@wM?!~ghQm{0fFWF0hj%F>JvdcB4lU%I9hh{J==7r-LDV{Qtp8e`14KW(-zIfFP*)pzO`?-!d zCL3#=s&tD|LN>S9BbJGDC!4cZHs8Lxc|kLzo0i7K2?Hf0i?B1d&+UgI*`ck0N=RUFfb^UJOU*~EOxqr@N$#lvC{w2I5u8_@<3o`>tzsl#77})>+Y1i)S?Wnpi{M6giiJN{<+3b8>%V87{(^kww6V{q2h0zDTUfBGh zzUPN`x9v9fF1PR5e9vFl{nV+yGDv8B1KgKSfA6ciukjU#&cXq_3wdQjh&gs(+PlRv zbXy=}E(EK6de_Kb@d1Mx0oJ3~MXV2V0{rF$J2s9S)BPCkDcJ5DnAjtq!6gwIqN} zwWp*26|5FEtp(srp`kgX*i0g_YCmm&SA4|%?&ZDjzwxvB2k?6SBRUa2d3OG>lV83(xxAtO zhaFn+B?qXWnYIkH7u0Eyt6@FXU}P8D7%mexF%EGRXJ{i#HfF@zq+4>VST&1=xB}z|Vnun&?;2fGrmj_BBrfwl)peh#mX&duE9! zW2^C=x+bpUfG#fs$v!D}e;CGz=Hy2{RTutpe8ep)c9ks*wb0Zy&bCSbi3IYn4$K;_ zdPg2K9#scX>YhM2*{fEiM*8*l8=Eh3O1a|g_TJlG{ouL&D0XsBum8w%cXI3F+mD=W z^7pS11B>a{N%FK0x$3f>oP%5(X6KbWL*n!Z`#9&^jGJTArp!&HC7Ty8$I6Yl^|E(= zI;II}x{=Jql&mLSrl_gkNP!5LC69wPeFs?*$k05_Ark!k;8FQNB6UZO-?jUR9Y%Xi z;2O{BeHAI&gYK29SD^+IJ16PTNbd#eknJ>uZOWBu3`XhgnLf&Hi%Eyd%A5_P;Yu$6X$9~%E>)<{#MH-PZk(Kb`|OLKJNXR%1X~oa zn3&n_fpiNm5RAYAs3eT4-4RtR*BWGo?P0c=!}79|`>^_)7@V94GBLlL2nr^N$<_^* zOg!Q3VrP-%~`yj}zCS5zQWHG=@H$ z>w;q1+>5B(WS326u%P!6^{UMRcO-U#Xx|_ftj5Bav}epK$9n!JIpp&;dIuA;45dKQ zk6E$>buhF0cO+Av&vCOTrXmvA9Z4by>1#rr0ZETDBgLy|a*d-^W{V@DleX?5cY7V8 z6>QBzi`EbREPRrqFdxq9wUvK2{dN#9D zTFN0T8+-2V3Dt4xCY=BPS)pnK!YK1d4k3&~Wsis0P5j5um^)VsH6Y2_DpUHEn@fqk z)9IsJ1kX)OU*CRKulU2$bZYw(r>CDk|J0vszImem3vUCoW@u6q*yePw$&}S#pm*?2 zn{>z26XJ-7N9XoB+|76x)r?)tk*H~;0CHumayjIwl!q>v^TA6&7St)8RCP@h$xTXqH53^pc&Jns4`r4qk-^#%P6 zKu=XE*PCYbiOu=PuYUDX?~`s_Ox*@C@}rG8buXGeL%Br}dwDO17~7|?F-uu`OOY!L z5M^ArR?;=rMLjW< zDxvvsKbyGr%xW@COvfEc5RSS_X?^lejDl1^T$!@-)AMIHpSe7HNoKt*PFfl+>eClL zzWc<*cKqXvaJDx=wCT;E9Rh{!Nyl;^vE;q zv7#NLNr=m&pp!?oDA^x)?BkV7|)6N{n+lt*H1t9rLDd<#m|2RO)BkP*`o^p z(~$*Bvb7Jdb+b?4g>j6?P>zrbf7L5Y$7x%k7w_ey8@eG3r-v2p?>Q$bq?QPIj*V9u z3Zes6ZB+qfU_(I=Pidp;s5Qr_6ab=R&qA_aEE$hIhG~PI`+74ms+Fl-r9{--8ckv+ zY8EMHx5zmqZ0{Y05vY~Nk2BwbKzrOWsoj_WM|)-`XWQ8^4VEP+xmPzYJ%9czuY^L# zN%Yj_#wSmH?UmEl#-}-YMK5Vda$nH&f^UsxSOOPN8{y`@xBO#c8IT>!jK!Jpwp$H@D&T(vFh3bV{ryau#H%g)&Gf zS%4j7b?iW;3}_F!hiT~1X`NgVb&rNU&-dDSPmsYjmCi{XTs$Sa0GOg_-_>#9Ua5}` z(zappxygt%P-)~iB_C0Mdgubc8hmZ{(zCnIou2AbFz5z~*%4%ed z?-Y}P$C)!^D2;Fu5j~bzBU?16XsyoC7}2o|SRAQlao&s0aAaqR-j7fNy(d&Ad)kK{ zKG>b?h4M*|Z-qGGqv~`kD8V_samxk;9J*TeUOJR6SxBCCxNX!9i8Ez4jK|Cs#;g z*nmN(v9AgEX{%afDWi`v3?@JzrKx6mR69qT6%Qqc@DOS?&6vwk%QM}ItiCXj^22JO zvMQ>HaS|P2e|#7=ni*Gt_o1m)zy<38dW7@c`KRyw@;A;tdvWsA`R4JLZhrNDz50je zJH90@Ia>(W`%n#Ao(xAyCw;X#^8^S)fd!SZv5u z$0N^y<3PcR;>d=x&>4o$yqrWqjQx7N9>LI*!(j-ron4$SFQpwt?kU|oGIfqkUM9MaigWG$@k^7^rDc;rIHty*$@M*Ba|QR#sIL32KJae0-vmkRh57YdmpUbZN1^ z{=EVZ;tp`~+V-X2-u<%v>%~`Y{Py45{s&*)e&)v6V;7GAcl}M6{~mJ zj`#hzc5*{J1`>Jl7$wZf44Ix+zF`uZTq#KE+6i&MQtM=010LS&>rqKjKVX0I_~ZQR zk))nI9wp5RRZQ00v-O&AroJXnLfeil>i8B$mxE(XEP_9kgG;Ca$bw#Hv8VgFpUp za#uzrO9GE14SEHcx9GX1Xhvrnxw1)_G(3`s2lLSjd2Vk!QikNgVFod+$VN1{=1mQF z=pCB%Kq%+Ku5To`f9m^sGm&Mv@TZb2j zDRj-X%x>&}d5MXc6F(DRnkf>K;)zMj!z@Z)n894r*`ji zfy$ZN`$*o$B0fMjCt|rv9|oVFbhaWKaiy#c~Q5zfg@ zCCE2g0cpfeBItoYoyUU!Q z8gm67(9rY{-qLU^x!GJ2(B9V0tz933S?k7VCOfL^WJe}6C>4>O$-V0bIp@ggug*5S zBHcHek->un@hCX^OtU=l!06mq`RF-1v5C+b*wO9`$EcUo1Ye1x3oGq+Fu0CzH80M1 z1nH4osZr@O5&Ss+zIXzhx;}}6i|bSKEoeznb_!|hGPZL+pykXL@>(|hI$QIM(SkW5%@hab=96K;O-hm)JzDf?^*l(*;@}0nlw&p$ zZd_GqJ-XH(r1Wr#k!=g+qs#4|`A;`LUs$d}Lv=rB{-hJ4c8oB163! zCqUef<~z9J#xkB}x>kVKeUUihk~xEo=2WcHaXJ%vE$K8#j!SBfB6Z+HpUJWk87Mfd zmgwwhm1J6JE4!ARoYVK25Co;;luf#2Xy3N@xBypb1&F0Q+=j?31TwUJa_`{HQ+X!U z3Fj&r^m>nnh3qli2VhgO@AbKMZeL-RytTfh*DXGt9#7DiD6GckimJ(jNR5i0z*u86 zlSg3K3X}nV30^`kQd#TJuJK;m79DHJwoY7yD2bs~Boo!L@xsH~iAw1k>17*2D^|zZ zI?F52g9dauKSsinCq8sZX_+`u1}sMZES+-q4aA_WolLpj*;J|_rxRzF|)EAf5I+TB(V56XT+KTk0gB6<58fTC+I&PD)8;`mD2E~Zv9fnQIeRp; zhDpEQHd|+T_9>!Sbs$d|iKEH6?uxkjl@OT;;qWR?93I!3ISc7TR8S$LTXW@F5zGu2+IbCn z_z^8J8lfen0j~~OQ|Z|t#ioXW!ApL5zNC&z2N*L4@5ko>2EjuKN#+3BYQpeC%McWg zlhSfKDMi;rro9bfRbRF6$-TQCJ zyn{NLcHOV`U04>WZ4W%U(?Jby+L%%uZRklP1DlyY1ZUX>TPp8D^R*}f2KK;&9tHr_ zLf82vJ5EbZ1>2pxO)aw z{=i07Nx%=m;3aS<*E)D8*-Yg*4qW$ffJhUY*~It!OF`*jm#F=geKLF zV{Os*a<>78Ry1t*B%;$1*z+k2)#_HE>{KzLLbFJ*9{{Xg?b_v#mu1vtNOp8bh>Sy= zT!=zBV~Ukp?Zqd6yc_f(l38VTpFvT9@RTN|9mXV(Lx*%i&ZeJ8bh8&G&gGOKo^q8n zCoaYXN?47mIESs>5fv6rx`SRuhC2hv=r#G)3u#+d26j0&C@45Q*kB&hqL4k2Ha_C6lG>jY@>*{W>h9)L zPyznY2oCj|>~cfp!n-i%pBSSus+WF=WP)WlhmTgQ%`anh)+vD<&wHJUJzyj`f>bDG z2v4}2N~nbhpNIHVU7ep)GLf#OYPnT_5$x&~)Q-s7$VbLJ_*+v*%lo_g*}yvSEC_}Z zT#1o*-JK|*(NHRn2+2ZkhKpkz;K??zwd#IH!xx`s_2hf!Kmm{eQnhKgsvb6s$`UUl z5My!4#>~66VNG1ux~ONcf*m&y7+^EZ?VJgalUK0LwGyq8T$_C=@hXf2OD&PwJPFqM z!kgGY3>>N0Y3xQf_-&)v!Wo> z9s+L}BYM3>84I+1nRA$xaT?5`h%1{}Yk8RH-+|Q`rWgpE=5Wi1OKKeJyFssyl_ajq z}cst}v&Ay_Kv^yo zz0c-4pZCC;qLgnmOq*I9jPf6VzTzkVrWZBK%`bRkSinU8hsDx$`vpby_ z9ay3(DZOM#40NBL0?kB=Y|2N-dO#zLVKX`zH3`EodRD6Uou(Z?I8}F@>C~uNk9#pt zk_;Y|D)B-V`9AxVPvI6S_+qTXZSg#`9o4KHG8ig?yL=rjD&wiU)kMRku7_ZzD3cVQI%9hhX#Jds;X?ss zS~^r_Sw@x|GCUL6B8oH~R`o(qCa$7v3@x%7z8b`?RzpKELD>=;80T5pNE-rN?9&M( zjZVg0VqmV7&B45O9U?J37PnS)Rf{l3rnclHOOlepE7Cs37XlV-J_qF&H^9z^+zJ>4 z*xrOWNI5oGimAaqCYHnq1?j|Qs3#?gL9}wB3-bhll4g9h(oFWcWrrSF)|8Wm`{M*q zf+%Pjmow5efMzR}Iz%zG7J#9vvg~PZt+!gS8aC%JM~GSx%D#$aH!|ueE?5>$tz3K5 z!%+uuk{Yn|C6{|!rFP;TvjYyuPfMx;OCoz2k74Mv&&?d3VM*>C2fDgY5jJj^Si0Uq zsk2x%L4^0+rwjR;5G4)uk5z@UcUalmVGJWAfcDH3TXOQiyQH`W4s?Gn&{EKBL^~`+ zRh@UytxDBk>q5KR=>sv#hvH|>hmuFo1GFqtO==(A$;PqeLshjr6H>@3T#FAPnAJr| z=r!IWE6&8fkG*l%`49Uw!Zl%oCN1ZhwF8!%=}GA=rvTPtuU~_z&OsHS+K@r*?~{bW zyGuy}V1v|h~e!dfLU{Y9-dbyrt-d(cuqS>RuH7rAtA8X z+en~zunl2PwsCJaV*`iQ95UGo^B!!DVWXWS>BxEpu4Aaow|FE^?Q4O%IPeuL!80Uu zPHYn!!RjZ3284F_g}s7Zdoaay*83WrSI$cP4)7r8kr2mRD*Hy$xwOS#TC?`5j;i?5 zONg9{frzT>OYd`?2yF+-(G%q*w&-be`}T3MmUNwgr0fkqcOSG%vLrf{(@LWt2Ixzp z1r&XqlnmNeO$mf3*;h)L@K)s`mR0l4(GoIhctWLd4HgHGM44_z)z0ep5xD#;F-RuX zGCegzjw0faS}oB4)jd)mbe&0-?14F(k#2{^)zV>X(E5nkY3P`f)AsVxA)H-Q<=H8L z1tXLSl;qC@zd?@xot6`-o%3S12-LaWmWEXNPM1|qLp>#Ft{Y7D))na-NvfX0nuHN- zKj=Dz`;U|d2?*rmABJkwgs+@yvulWo%m&fc1wuB*pw!IogQGnFam+lzbYiRH@GuOM zs)$lKMPQ${px_iHV?VEwMJ3y#+D1{eWhOm?))^70of`TG$4crN4-(ur$s_8sbA2d& z-})Vo#kfz(B&U0s;W-BRqt(GzcVFn$!K~(Pe)S$A{lr>*&sxF229QS)Qh=KBIef>P zc~>m=ruzcuD(|VIOh`^Mgg?zK$tVH>i^O?Z8&mB& z?Vy}rELNlgkJx{c$h{hZ^st*k5AWkXBe~fex11;@@JX;d_%RnR+)8BXm_%Fa=xMik;aDU< z-|05q3-mBVPVZrWkB+J0Sr49lGbCR2S>av$vi9A&pasOcmK1I^2bj&`owPaHt9FN) z**eMh1s*p>t0xAbDUc3+syA^<6voS->M*v`?c(u}q19`GM;}!_#~c?^5=j>qx#*A%`4TUT+XdO|o#EI^_)fR{e}D(DkhBwj0Pa3!x8*)| z=(Xjbsa5&>M5$r*K?_`+^&NEg$3R?4Ayah|2Ry`}gF4^Wo4xg8hJ<_MedR8{n!Mu- zN@8qP=NMZU$w$4MmNO~)w06wHsNBJ-Jf zApyLA8!eCKMK87P2ir9n&A4(q<~?Bjk9S7aws^q|3>hmWN4zgtc^t|0$e|sTt^t`h&smm-Wc4yB{N@OW?U4x z{G?bS`J7JEXYlp%l-~8AYb-|^dJXcpnzYT)jqrnAPIY^v567LQopYaMPw0VS>E(*B zV_Ug)y2c~R8hm`odaP%uIFW5pbr5RD(7zu@-~roa7_g`fj*AvUA4f6^+AasX13P~R zb4Fnlp`Rq+Sg9pyWzAAL;22S^w+x7dk?vZ(Vs5VFwFlfAHdg8-y(x%$Ya@>7U>eR~ z^w=~L7vKkNN8m?P>fw~mgE;r>`RzwaO-N2<0~BT+QVFxSI8P$Ji)m$WJEB?i50mYJ zUP2y7R6SR&3@M{=dN~h(X8@Bo3Q;L>?cba*N|WCVIC`kv=t$i0^44rUuKI`FdX4;U zP*!&sZ6}I{9uW+|jLZ63h!-jNWqh4f$sOjnI1H*GEVi|@V&N|VGE3KfN?uLk0^@6c zSr-abL{aj9NVqW(3+9Lv`qBLv(UE7}cOp9>l|>DMJ7qcP%3C37rYcxrQ<(;n?|wQl z4Zs532R`bU+zvM4I2IElAsx@exudQXX>m_(%Q({|NDR$Ltbm4okPOYjB1tDejmvMb zLYA#vo!Anx&C~Ii_hep+P21XeJcx$Ss6NhU>!k2fXR!26{$AcF-LCktFX||C$*HS} zP3;3&11oznEN&61AKs$r#%&&gq`XFuYwkZr05PU`t5;kP z7&x7Q>Ef!ZL!V+ChusLs`CT1pozDgw0~|whHNOYbZbdrjOKk48_z}PZ6Y|I-NX|(e zeASd$I@{-{`&6*ZcC$XpZbi6e(rDe@sdF9IE4Wgnh7OI;Y%Cm^MqOasS9%{0K}*xc z5ASBgX{1AH#}J{OTo#dRxQ`SU(@}}@y0JWK@IVPv!a9_W>KYiaMq(hI_H8Eqyw!ML zJwqNSH#fjUlrY8IuX-Jfb^{(PLx4qtF4&bVFrsN|G!tXuZrT*ZB(cWHj{plm6R){c z97wcf1a&b=*KtZ`-2QIC>|194#dZWgT{kMfJS$wBEMe1y(9b1#@)B(El_NlFxMm80 zY!mBBCdrMguC_+UqJm?!U8e_hKii6AZ*Z;OFetxVp@^b#m@uDxLXb3djAc@)6jNF` z46?oG9v&>KW1v|#vn{d`p{?4+wIM@825ty37H=bUWQLNGAMF~S=`MI5+O5ZgMpx&7 z=Q@~yK+xX-LR-Ccy!hD}0#$=GB^5`znM~%+&Eq3+tY>%3c0?z>YN7KpeV>;TN%Uk# zqPdSyCTMPF2+&<=3RyXCQ0u_FmA5oaisrEKBI<2IQDs4 zXL{vdoK290S84jtmO0p%@q>D#&_Bt0%rUfcf84BPQW6o*UO8y?!k8GcJ-waZsGYbS z=X$$R+WaT3y}x984oo-6M#WvZ4OX^dmdbXF`e z`Ao1>YUcvt^^!vL@tViYVTQzu2EW!WQ63~cl*a(=m9UTtacDy`T*0ECqwb}9B#nmc z>Q-0-y0_H|Y~}hW0&}dQts(oP1-eN47>$#iSGMM<|UNVTxEJ3vh>pnGK}`Xu^#_VJtd3!Fbj_tF$3-|tfv$>Xdb8(w^2PEJnLc7l3Nf&YPJ}^y+fm+ykHnN=d=;?2!h+@+G z%1Ps1hv53O7Dmij*RDt-F90DIL>P^H-ZLs*(d zRL~A@M^{Syorxp{(hp7bm^j|BV>AuNsM#ykWpGq_kbO8!tkSJV17v}9VL2ek_lXTUp~Xa@-T{Z`}h=!%877u0l9Bm8Rpm662{z zstQCImb2@E;Q=8g+`V3{k~jY-I|~3$`vJ_I5R%&$HDg~vy=+V+Nr>cZ0PAUwqFC$> z%b)62-AD{4?GhLdQx}WE3p}_2xFcRJ*yq^~EE@V5$t>_6-_)O?H$1b^(2-IU6`-x_ zquuFroQf3kVv!_Fvht#D(wg+lJ{Djyveyt|?$(!&mAxdwuTIe{4Rok!2VK$Q=zTOq zcs(25!sWtaIJ{o#qn*H{hlzdaQ3sEJ)QxO}@iiWzDO@q~# zmY}l_Hd_NhA8Pws>DCXr!=#4kK=7;`av-i7H!dEE$cpb63+g3Zaq(4s^7V zM@S*$<8mpK4x0~0Gke6&nC`=XnXg^SHw3XfXn%kus6(~q{Mj5iq zI6Vvpfq_V`JCW-)&L(*`G!*0jblR4Ipgm}>J{sS~$$1f1$VL4Sl4vJqpS%>6XtHo| zFvfLOin6=g_%7a((nhPGphH|7h8h9trq`Gz0ZFbpmNbryeu!cwNVBxJuk0EmGC&c-di$kSzqVEMdXVzBPSy8@AIxr12h^Msh75KRPL#a`HH}K9B4yjn5(`844{ZgD|>q>cTLJ7y{Zw?a@@p z8fNQica43mUPddaW~BIJN|F+&LSK%1eqP@Ux45l>Yfu(^a%1J&+m`IShgGE1Cc&;= z|CZf6lQAqjpxSV?cxY*4h(awZis>&lFWyS}vo!KPM;jEAE0*La#`%ZmA zl71#@QaXhmlQp@Mj*1`;4Z1-4GO^63`74NLHA$nF_9PZy+(?8G;3g%fJ1d3;Tp8mhZg6y;sVxXEl+_~5UO0Z$W)1xT51keJ0W$)nt25i zf1NOtiYF+JbRgw}sSBqKvS}+OwH0tSbQx*>LKj1L2Qa?vb>#R!z!9IJQVO1IDMrL$ zw9e|0c&Z(l`#~b>j|HC}>J<*hD$*RtHMZrA{XZsC(zAH1sL4+Gu9A#XsS?-5Qqq{- zbg_*nch4CR1KFiyo11j_PB9-!bS@8tJO)}m61i^`Z|Zd7Se5E>=5pyqVWkV^RH!Co z*{3vAZjR?v1YLYQv!0>JmU80I%A90n7huVvI=b?$fe+1a4M1FpH~U2H+S}7%+XOAX z?aWa+M^8UZNpN(=dLRtrJ^g7wsag5%UO)@7gJc zq(JhWjwVePQYO$d55TjT3GS4uAH^(f5m_M_zA1o5kF+yiScc!;aOfpeJXD;%IRUIZ za9S%U(y`ddvnQo=EMYnDgvd2c&T0tPy!f%S1@b1z-guTkUfSZla2&S_h}+r~_pvPu zLp2NX9L}Cu8|~DYRW2E(HpwX;Wk=xH@*uSr5!4lL5@|qyYD$8#Z{Hl}Q{Fi};%-#6 z@>{eebx@<)+KpgLrMg=%$R0jk}i67}mS8GEW zq|q(LHW|Q_teyfbI7zMu|4~7axq?GtYt#bHczoi)Z6RY`S1LU1-z59dS`l;a;MNC*%vc zI{pGVsy4#8PHZWdB8CsSu8Pk<>g+~@ppM66`-NNyoSt{(T_caa0BzK4kzwgtI3na6 zH_SB)r~2ZE!hYUOZ*i^$2BS2w(L(untgg|mb7ONBd@f8WCws0830fZjx82Bw4`T!W zXuj~?xd1$a`aEr`JHnE-xDC;)SK)!F8nj97Dg0C;u0=QH=CM(k)#fd1*>Pd#TmU=h zYO+&c?J0rn)r$a}cUY}9mnx`tMpX`ZDRIT zrsnKd8C9b9!>=8A2k7$SN7V+y>dF$z+B3)E{ONQj;pn>a`d1-VDpH_U7T7dKG7i=J z+Mlhfrr6w}Ov?fem$lQRBqVdFNlSu$b4_yB1LKDq_E3k@5V z2i34%MWK~)H{!{cL%>GoS0Et}^zo~q3d@@ai+du&(E^Z5kzlC)@O#Sh1tq~(0`BLL z1-mQ-x^;soOg;%hk=YKjM7d+B{A!-fHF(;fFQmJNHP>+aVB|lIc-kuyP5OH?ZYhbJ zPF3fgypuwTLY}z-{mxY{iymSuBDAJ^Mi_MD;9%hi5aan3Bq_s*U%Q^r+sg2veYL*o zhl^8uu(!$;>fYn#sVV?nBudONH`ZwJnV&Vqd7fl?5ij=k<6sN_{!k_TKK4!%Rrstwbowue4_Vi z*;l+J802mDRvXD>5FlNU>Pd(^!VhPnJM6T@kv|5VVwQP{}n7XQ5 zg1Y`d<3}~Fh$U}8wail+8$1G^qPaqN8a}Q5aT>!@A-jO~-PSF&&2yhY*Rd^La?M?f zd=Xu(&%1%c#bGr7ED{`PxL=NbJQ8iM#-TS}5ebCcL@)B*seYC^C2iAqk2w= zN@^k{Q@Z}36}$p)V5D&SQcWn@UMoY|Qeh|khW$orCS}s%c>|>N#zF4wtte?f8ZNz! zFd${b&>{k_daCQ|jF?}0le z;;0RI&IkbDRo(Bi`Px&NB$>{?l7|3;jT$=nE+!VAdZ%5REJb$vs|1=fTl|H~?VkbO z_{>65VuR0BYv=5eTp|^!wmjz?`?}~-cL3<(;L{(q6&_-i$TOmTW(^dHFK>)ST89r` z&&U9eH?>?%HGzO1zAqpTURRZ(5%9&AS5rm>D;Qx%+F8D$NTcIAFyEx^NBTutAJqzw z7~WVv@d{4{nJR&O?)l-Mk6|5lSIG|wd6fg0rjGnDRwP*n`1#|%4f^JLN#feJwNuY8ybf~hdl1#FKbGLIkhAX!F_Y>{uU9CHn537;F)#`MU zwRZ?8*_TSYLhbwvHwnjq($aPHhZcF%Y(xckC~BIoX|R50KmI-2!R@o8A7TnP#yW8$JOrk=x(a%m*!?-?@2DtZI)`VTEMCe8vyHQE3G002ovPDHLkV1j95 zFgO4J%hQQaPDc$28VUda01Zhh0004VQb$4nuFf3k z0000)WmrjOO-%qQ0000800D<-00aO40096102%-Q00003paB2_0000100961paK8{ z0000100031paTE|000010003100000XX+YB002M$NklYh4$J=GSfm@Yo(q3gqC_C^~44U z(wa>YGdN%(0J7#c1N6+CsPAKqhnh3xf=U%^77kMX52hp+%FF=YFq12C1`- zuJUsl(F;?s&ezibcQ&HXmr05Og7QNuj;y!+Nw<6gRnfFof#VVLQjD70EEN2d#ttqU zp2bLvLBCojmNeEw4ODLl(n%&meVwR}SC@%^Wyd>v5+0}GgnB-Yp{cZFNLCfDh_F_< zT)09Jk445>5f*=((>NcN7H>_uCArylQBI*ohGSj$KRos!;64}W^s(F@Qy-qxk|1@!BQ-okzR$pE3-AT+3N_yb`3NImbscGPJ&N=YnL%d z>e$!$4>SW^RXEThmy%tI~Esu%|<r*I3Q** z%RH_a{1}EIOo?`$K@ZOrLfXakAe;?)jscNPF^6VzJD6fp((=+#q%kh|XqNdRO(2w< zehn&`+krL8?u~Jjbn-2?MqHb>Vc|_Y>z9NVb361X3`WH%K{GvcY8oMF$^x^DJdH|P zKm%REu$b0hd%`|!CK%)hgVB>i(wcLaa_&u)vjwpps@c>~SwXk5WX?+305Fj5?dl1g z@+K+Q%Hz~Ql7+VKWQ-U?hmfum8Z1?KFUE2ka8KZcD03sqFIA0CWs^y#eIlR?Y%Jc) z1emf2=b|zQ_NB>LbUaYwKT#~OmIg9m2|T;tyKY0XWJfsBlz zlwK-+i|eA82I-eK zGS)PYxEo5yYt2{ASi{N;!JhX|_)#Vc&c>#i#wXXu;y*%(yW}2n7wj@EE-T3?<;bk! zs4#Va~+j#2rHV+J`2|*!SZF zCbHye7l}N~9S$S|kCrg5oFEy1{KtWy_UX3e+pOCazU80GzO> zS9Zru9@cmC_^qH}LN!1VTVAI@9EVls5X`KIfEyvYl{Ffj6I}rIlW*sM&9YxkmT%p& znr0cxz9@)mG;yz63uwb+%}o)9NeT8~I>l)wZ88U0ugtts^=0V=%|4||YW8%t?UT{B z``HUwta-%XSkTaXOgd~iT503TudECe3^A|V12oTJ?#4QrJ!2*^G>PAY0G2jqm4IuT z>@x%-uvy1cA?j32w!(F;_R%EjN^wLp!#HH6w#$Gxs&VK|gCM59AdOh?ol7mO*?OFS zQK?_0rC53oz(*JSYnx@ihYROLdz_tajOg(w)X4s z&|h9TY2ir%0u8Fg0gARa9k)qtb(-hOz42#Q{uL0&t>-$6*RCW&G2KhdI~q4-zsQ~(v$W= zVKLDMqGD+1HHE*TN~^ihW?_h&X(B3}QIa>>hoXIG#8x`*Yl@wZ{1}Bwa^KAF*L$bZRxjR|(qN^@;Ji=US85r0eT& zBru}gAjp@iw__flln+ckxfP|Ed+Y@qdZy;C!vPfJlyWbc5=4C?oZUx zb!lnhR>%xnzKK{3K!c*H_oIHwRF2%-I!-@hi+t_VY}073cY6ArgeV=ro}Gm(F6QIn z*~Z2Ml*?6Axo|U`GP_A+l`PCGX2Ug{%c2)e)@dLe}Oipss4887tY8z_D|Z zJE_Hc_QEllrhu9(hc+&Y<08q;7bjFort%r~2#Xd-sxvH7MIKH)Z^b~6V=Gso5RwF3(T)qvVr4TT>R3LhYSv?HTKY!Cq@fMh@h z<`7nZfEI_rX~VECA@K`a1i8{QF?nX{an;uhEsTGRWZ(|{FyLEl zJ1LNFgC>nC`htuqQ$-rmzBuM-Jf1w^0ara(uUcsWW0tt{&HafYO?qZ%>Yb7 zyp%bu^coj3L_dmES=9mXSilJ{k|vUvs|V;n;yx0aQfX1PkqX%IU579ji;0tp5mpg* z;D_L#Gst-?$N{A6oy{UiMLJ2I38wimT*@ctg2-rR56Yw_gTZ;1M_WT40+LUv>etTz zgK8?=$i<7c!KaY3&vQa*Q2_u?B*WK{y%*lV34P3i?2=&r%1_={Qo?VbZX)>%osgODVXo_pa{>yP`@Ki<=x25KDo))gzmFpH?wh?#W!Xa-h( zOJ2<%jCz)+UKc<>!%)KYT`Zh$5rB-yGk|Y-owvuH6q}~XvRqYT`-(7}2jKE?j7jb} zmmSfwRcpY_Ou{)BkrP!K7h%lSREINPxy>>gL%V2vZ5HWzYZlBRIiJ)f<&i?phopV9w{wmnYGA7rI%{~xI(U4S=%G%c#D5<;JVOu-~35cYglhsAW!D}=Urck7B6r&!P z8(n~eiaEh-aIG3!5l1egAjOek^b(ebE&$wz%OE)}9Hir^e8V@pNHaI4+&SaVD<|K} z2|RhPvzYJ;m3dX`<*9wKNlMs*;4?y=iAbeKJ~QI+GR_AXdreu`99S~zd1r4t5|ksv zsY`8UvSUe61XeNQO7<}H$*n_Bq~*lmJ%C6xkxwSfqjS%uNEjJT+_4L8qh=`l1*i$5 zER&+I5RC`#eqE{RQjouGphn0!8-LgD1dP0uLN?yJ7SNpL{>jlcVun55+67T!x(Mc z28#gea+x{r)fbDE;3#@3W(IdqtXfxWQZB&5>|$A6($^BwBAS4)b_RN_=0sDiQCX>v zxdXS8k*%CZ*QQY^6ePt`6>fVw<`yEYl15eo=~b`ytvwD$Vo0Zyvy@DvtH=@#T@L1s z$C0VXemm1%N9upz&L={=jI#&510R4i^(DrB8{oAPa}7M0%7~^8N}zqZ*N&dqTOH&Y zc&K@1)8ew43Q*_JRa{Ue%CzaqSpHrGYmZQ?naEv>_{tN(#sT+~nX^ph#u%3R#AU=F z15`#3I6``ds34KsZYSLI<*hJJMMRdk{WK^2<9y#aavP3PEhst26I0@*|p{~ss z2%;}u>=h>7O*3ZaG3X$K!kAq5jt4ntg2!aFST5-jznH9FVss+XtN5V z==chA9Mek^VPSD<nCDZfE(JV>WFtZ%;k(#0| z>Xw{D?}o-ysH_?q=Lln>OjIV!B6V6MRdAz{>$SXGqG*e(w`5EMsg!ET@-X?dfTH$b zTM@`ZQu-M)^fCi2kXNDUiSPJ6cp-AVWXL+hBy;1VSo$Pd^DsD!2ow)%FLd!aljwI$kdP^k0hJAev|3sw+4{(_*-Y0d3?rV& z!oBQO78l2-2!jdaRN)qPdz%BJY6Ft5oC!}sH^CyTb*50)M`_>}-)wyhz-I^{)Mj<; zIVV5|T!tarqixb^eOY2;lXll7XI=!&r0JB78Bh&eJfx2weI$<~BFt(&9^@fTy$4vb zA_kB4HHjxG8?`ThS<(&Yq(kJx5B<}F)3<89sG$tNx0JZ4sBDHC0|Yk(0^|TGpQC0) z()PQIgADLF(wwbVDK2{pRB>m9L^>d-z-Z-iZH-CEJ}gZTpG23M)tdjtHCA*N3Yo9N zvYLC{`5BdL`id={HOe#Cvd846mTkK+BV!CLxRcVt#x!fx6ph)d4h#W}HCH_Z=&D$M2tiz|4ZK|?#@R4E% zmw`J8FRr1eHv>rmO(%2YTp4c!QnxT=5zYBd5(ks)d?LteP_~fKiLOOB|8ZQ1UTo+^yE|iUUf8 zPpM|~BA1^OBLFIYsdzRQ=32~!rKAFS23@VHSJFvd^Bam3Z1}sJ!+2CsNI9{E3aG)8 zw+kdER^|mUO33nii9J?GVdmya`P7)m3%wy^d9p5GDM*wDF*;OxcrB#pFR!v8mHCts zc}&xYa~Q0}%(&dvtRxi)3^Qt`Ibg3t+LTz2%f0~144#s6?PiZE z+bzhF?O$NNkV(PH+=1qY(p- zJ47(3w>%Lx-Qr$SSjud+ro0ASD+q!{B}f(UBLlCcOp>`>t|`|uIB3x(5nWCLl*Jel zqs8_h2WR5jd8fqf`gki^4Zb708^{rJXgaNoT4z;RbBCw{faBsU%QAtAs<;dkLndB) z48#yBXys)r$%+n7w88eQdD=tsfy5RnijCTQ!(MB#K^;wD zhB=yfT6uY}!>Gm(2vV?{FMtF~@66;;UYws^VF|${8}*(7k$^Lciq1!>f;arY*=mB7 zJ+96H5+3^EA`GH7pxH)dt(Zpq>hU<(q)j`s!*1ja9)xR#%^?-RpB__EgwHb2|0aKt6V(!AU)!I%woGTu1)z(2t z*kyKfv=g{I#KEBn#GYbuK}$hsZEZ*@%QFbP`) ztx0xX6Xr0PEtCzZ@y6gpj4}C}DN5F;5SaDFBh*K^3S^X#tY&ygI%s8#)(3yE+cUo9 z#DzGT4jy#s!Yb$M^aH(^?4<&>Uufiez&>0fn1C)fVQ&!@r8H+1aC#z;9ud{i%8cUB zEAvJaus|@;Y8%Q3ONq82H*(Rpc7od2@r$`qWi{SvbK3?G;gG;AQ3@iV03OCtrwbtV z;~AQ)x@4y9%-ehsSM5kFp=LO8g)Rx0vnG}^>6>}s7Wg62imQyOx?h*iUejhCp+J>8 zW7ZN#zqns&bIg@!EExi?g4MN4kHgW+%<@Ni9kce4TtqrtA`rk*xp|m$gYCeNY}AI? zF70;>Yekkb+k_u3lQ2U{9&wnDo2uMRAss98q&Vx-)wmDuvHGFG)1lFbV6>8D!-+t& z<(fcgRRn=To<1h^nS#+@hSPirkySLsv9aA1l$#nsi+{^*2t+@=eh`dCzI<5;n_%u}sHSvU$n1^JNA1$K$Nqfyqs}) zEgE4h(B&IpXyZQRIWP!#bN~ySf9r6hIBvyK5n5YD4I>C~D3csa?d{RTY~Vv4&v->X z){B883`1xcEP*i0xoBR~_y7Y#QzA4=p3^nl^3pl(z-nfN!wHngVhVLd#CzyMWlKO& z6lP3p%QA>|Ks-`!-UBMZ?WEUuJ~T0-IslG%$UD{&HJj~IiM_=$b zx3_PAyqxwy2y>__2yS^4cZd=qs?m?QI-3bVOvkm*L1P5H&-Vei%$=xI8kr8##|jPf z^T^1_FQ;J$-P1PN(Q;-JsuKCkMFSt0dBQq=XZ!Zq~(Idjn+9;T@GDq-V7O8 zZD~BfBRuL@B5y2Ol^xkEq;%8{$ zT2T&jX|8klgx1w+q|RXJu7eLW6Z1h4e1Pllr$Q69Sz6VF^2=46bR|Q;aI6aLNB#21 zIPF9!j7&YKiCRr;h{n34pgs>p4x&>%7;Vh`22o#L@Byl(;Wo+|mFl2csKa)1Sh1uW z3g+K(;RMBEinrxC0PswWsyL2B@33tW`T#5nGDv*+!DPIAz*{8`!R(s=s=+!>J09;K zgR0h;%Hb|rwI$;N_qZvAMg$+1*3~*;nX}C53#vd1Ne48+aIvs(u0U(zgCr|`=UNG` zf*r!mOrWfaw8xfbee1-o`_CG%cu`FLRjQ>j(tGITmE#m;(Ksm68Oa<&jJ@UYkFDHr zlDJrkW^o2STD;Wj7h-%0xVEE&#H)ZyU!g=}JDR8lSqr6JSvhx6sOMHZwbdkgK$7&; z#tuqYr?n7p6MNfcOr3MWL&Bg3CVd@csY?qecEyg<@p!TU>clf`T^P(_RV}T< z^nx0Eo;SK}t8pN5m5Y%peQD&rYMP_USM>z8-XwCVqOBZ{OmNTQilI{_2aGhwa2g{_ zl-;*e;Om~OXRy-D_!0!?_zK@%yWL*==?570VBA9CHP*pwTN7qnBh zAu`+O7G20EIB5>taRED-WThIGmRB@RSnAxr7VDvulVyLn@K`eUAqn{$VaUX<)`G{e zmew{3{Nyy$%T?der^0rMy;tHG0ZfR(8nfR}yts_r*Gh#RSmfhvPS=-AUPp}`no~*q zl<_zl+9_2fz)UgbOUb$Al$BVCPFYr{M49xaU*=|EI-N&W(Fl!owbVLnsHE&h1piVz zLN}qRek@jS+(vDY&D-#4zlLfh7;Z+T0iEAxILc#uNjXQ<0lhI&kc$)WKn0U4>gz4G zTD^mjOmHNFJ&aYf#eAI%$0NbyVv5kZSH~F57&TQCD>=~!s45T^?Uv2f!b`DaN8}4@ zE{1X%L$eqgtyC(sn-q3yRFA{m!mLe{vFVujBHzJuq!t3rEURp4Ege%hL*2oNtNvwP z@eHN{-D;b98VY81vszVBD9uyMczX&A+?W`zk3sL;@q2(Nkn>rJ%@cxE>FVi$&6#{e zJI%sfz4h!b0?X7G$^s}avNpp3Nql|HG^bSB26`NL3It?e^R1`t*kkz$B&YUse#xTP zZd_5h3~(g^eX}7(9^g9O<5LIV)r2`*{+!xaqu|grw%y;+sP*MwNHEKRmp12yAB#+7 zD0=&K$(78tBGq~i*vGW0lDV;iq!JUO8>giX@dUwCF?EtUqjeUc&1wbr)RgX6PU&#- zvJL6LGM3oaTir%<3Uh3kL+sI5bq8TaKDosmj-*k`?>VB*Y_8_O}2ZeGtcJ3V^?YDY;|V}aP6<_ej%M5YHc2Rok8|~_I+3kYl+cWw}bmmVid z;Waa{E*jvYG)xW}*vGcPSExF~$~H?RQ>4Nrx@KjySL8B{XssOzh>EWMD#Tg{~L5%UKW3zI(1A$ggoO3}td1cnYeyx1l`^@vH%Um==_Zc z^9VGA(tAEBi>O@Brnqsqp=a4FtyZhda&1yXI26ITJ%+C%A4Kr64cUQZnN|^|(~-?j zv{525(WDZp44dVK%&e~ZRCQU)YB7UpsUvRFEcgnAO$$<~==~Le?R1^g=OO*f<1!A- z!ryC1nN5#TUnVGZj^n@%p`bkn#{P}FNgHk&M?wW?zU+aN6pMcrwMaXxN>aHNK?Y}! zXu;lPZy5>|G1M7EonR7>?QKB4G_$U|CMu}GWpmIQ-}*EGW5RS;Z|cI~Z6-@+RnQT( za8}phiYka&n9N$-(oELV+0Z)Y6qL(^NZGrfXZxNX8k#dzZ{Bsk}7H7+28>B<1AY-2Vi%7$CO^FT|HX@D; z1FkS=^(X@1_@r6d>r@QY!_+^#r9cN*y89&v313DqmUqW6%lsHsTUC zu{s9a*bc(J4V!bcS2`H<_9(&9>Sq$>XGUusnXo{y+ zAe3JF?@pe2=GOo8f9-$!KYq`rzVILYXaD%(=fC*TpM2x=>=v2kZh@aNi+e`fEW#P? zG0ifpY+M%R*EGFG#>uhO#WIEoBeZTC0g71D1E+)OIwC(NY+0?46-IJ6Wn))eR)CKW-#w1A8NHI$f=~ zXXuRj6`d^&oJQrErKO)N7Fm@n1kSDlIFzFv6D}(i+d@C^E1^oOzq`8I zZ@%;&TwRj%#eVy}*Y~F{e&Agn`P6=QwR{*_$q|UJBA-O!CXLE7whp;U9&a{T5ZrV> zW#D=P9v1Y|V@yGSarzqE7N=Fo22-4to^ah7RGFae(l~)Wl_MM3jm;XGCT2UE0?4tp z=p7ih5ZOSN+G1Fi#WO%B+K6N9*L0?V)om6Orl&nN?4}W%zU-+hAY!TT2~YZP%yKl< zkJzo{>gQ1`taf?VR_Y^ca>+@LV-S|7dMSpBM>kiI*-n3U@5!ewUj7H03reiJ{i~Pz z^OJk;dHLn-<&OWEfrq?!EJ3&xNRxQsM4pP;3%h9y9IGTVc==(RwAcK7It6pV#wt-9 zKn1w2yslZfc~Yy$vO<~!-E;S=NTAnsi2sW6dc@&PL8k`oq-jxV|Nj6>acd)RZO}w> zqbQ<0cy3?L+OnP-={ky?#Gg#*^;JdXAKqS>X0y52ZC|_Cyzk}DT6H5GVsesT5km#*&K#zwU5<$m)w4>#}q#OL<6^z&DI=ymW?jLe+W*a)+S6^{C9 z#cZAANer?Qke-KHsG8>ZSSXX_v}hCa4|nvo9r2F-ChOubBg)4+1T`fu(T#W6f`%pqKc&pnItY$QZr08jPWzE#-TI6bltYJ5dH`skWR;4)- z3X<@ydL6alJA_p(Q$*KHMgjAXEmQS4iP1y(G-0mcK$drg z;#c(ghZjSRD9kVJ@9ur*qi0V(<%_BkNcf6NDvxVrH#%}0ALm!p$`WQR*F}9?l(xx3 zK5**`Z@HR;VVV52o%+vrt(a5r!xbGoFo>ul3d#qxENIDB;XwFKYWL9jb|yt zR1u-%uLpj~mwCc9v&Y^TS0v=4l5AY`ftI;m|Ea1Cm&+fV<>-tT}N6{lCuw|Aa< z_jAv`aJ9Qs2CRo9ya*^;whFC7k|8;#4e&f~H*z=&3ai>~1!UJWDw<8<{Rnqc2N= zJrKwIQBq!0s*jsy5;Too6Q;v9^eFec-PNs^K6Lf``}f@b<09<#{^kC`?R(FD{A2s8 z9dDQbi()(+lBryB(A*o4(BACM!SKrGnjEgt8%D=ID?+Ugs@wqw5@9A?8Ok*5T2y4V zsMdl*X%Bq8G*^x_zQa~0(_7M6FRqJbP^Lx=@r(txVvK0`C^{E#y>5@QS?z(;F)ZUg z?>o#!B2?p+VyAI$>EnyDH$2G2qg_p6Z`m*#f^0#f*OCCS37z$6I)p-(duE|184C{& z{mdRXx%kqT&50LQYVq5M-&kcdo`clhZ!gX_pZe0p-6zh#IglOC_uE%?o2Nhdsr{vL z)*CPy*@rjt>gDE^tYK*$i({oFv@$;KZ|JJJUNhv%SH1n?p?UJLZZfP0@xim~K1G^U z3n3)}0>-j?yOnplo7&)2ke*Z!rjs~XaZNU=zBVn-#$dVL4kHGMyZ3-=*Sstn8;Zn1 z<_r3ctf%)Dp|I7$K?hUPGCV%8_$%NhO~DTck_>RnPEqpkE*~d1ZCTXn6Oa@Rc@vdP zI{D(NsVt5bt=CZ;6P0{ZxUNidh;_H$-}}O^>+>I~?a;$QpTOus$`387GBGm(KyQcv%60|{Oqss9RMJ@9yDOo3!+!{GfPH*e6-Kch%j6 z*mjFKwb9<#kG)nwaZQxexPo;(>lt7KP&T!udJ9`=vo+i#)KXiRJ&kV4#foVzkyTEm zvZziBh;bNhLs)ST+mDRcT+gg+f||ETL#3WDe5FMlS=xB`8jvpN0kM~L1GzX#Zy+Eq z#VPLhyUWXy_kVc%-jC@5;ONWf{Hfx8^UA~B?dM;*`|R`k{S{s*s9Aj+%$6YZ@ zn!KzN&Hn0g`^jIvxN}bk9et_wQIM_#i7MM`7u)^4XP^4u2X|NX2D!;cK}ISHVt!R> z%C|z=4R$ri&97->jhHl<*o>XJI8O?DWR82z?ih(NgM01Ptt^8_+LfUvIaV>|#xRHr zqF{qxD#_|&vp{~C4$o`z+0xh|^5GMQJ_TA(Ek)(<5^EF7$R66Ki_=bz8M6@e1lPJe zPtP*MwA28|YGp}g%^qDr(nzI$HP%dAL7$`V*hHy7UErQWhH%A-L!l+0N?3--!@! z0Wh&eUDZT)DXt*T@Uppyj*N$P7Q-d1D;Looo;nYv<AQKZ=7%5`>{{$_*pqamM|iz@>n-0o4r#= za8_37k1WC!oNemzZ0(eDo+jQU?J0{zbWJps2gwpqYpM%vp&5C_b1^JThY}d*c=)RT z_H{R@T_^yxT*W(tl=}@sp=Ya9qFG-6S;tt-5D2G#Ubp>J1GtoqnZq@+KVHr@UK!)V)T=4?gf)?-b!o2#o^FMQzY zg^%fVk3wm2cW!MSe&e5A{pFwPW-PQ${ag1p&wlI^r>FXTR0rkB(6uEI-V!?*<%DFC zRTP}oiprejlLvIB@x+;R@^)~(;LmR6`2su zoS+WKY@~k>_xg13txPKLwf6vu6O3GDFfw0?YYSQMDTbK`y#SAG4XhZ#LgIB)055K- z=wsPpObV980gbYBuP#j9`smtD1}zVdQVj1hXpSXTabxEzCn_;)WF;5p+fV)S?%p%} zkjZYN*ZFrZuO9u$*Dikg13^eyG<>bKY{5pLd0vOF_Z^>{$0U5@^E}3JD z!Pdui!BsjMG0Q& zxg>eoxhv=}3g;u?A~-;sNriPo|VBQm=F6fS>vv%G94&W%=eCf z&F@6w7j5?#oC;|Yrb0~-`>mzdVL$y0(AC*{U%Y((C%3!-!0Fc6=HZ`zZMWO(e(_gV zufL*Cg!cLy5&Fe|%gr+%{rHX#g2V%rqTv!jPX}gnbQ_l_=EYhN110+rU8kFD*Zm-h zI^L3(owaJRdVbKQ^rY9ZT&D6O3lK9&|~Qhp;a?ECy=Cm3ymj@W!6@k1%>lFwIzQLc_;8L zg<}vI)Z2x0lp~-~Vj_gQDQyo?^;t#wHh4A@!;O;8#vsF{-a2(F`e`K%)aaaM7IM^U z|1bQyUim;^?CG0-``~+jy1jGv^8De+55JAmCGU)1y}x zg4PK2%~cp6H#ED4=e>S$9stxDP?lLU{XY3N}mULx{*Kw+!0kXQ^o%Tneehp{!qHVlXCnoqd{ z6LC^wGTAC|+l-qsFtidv9!-Bf2tZ`tp8m%w?PjHlj_kiGF>gd;Whe`B;Z_G9I z7?C5ed{un5iAYoKg;0&{NCE*)=S1q(9Z+i;2J`oQEi^zoCeL0=($T87FF4xbHKuag z?atow{P_nywRr?W&jWe`@YXl~Kz|TUDE)QN-A}&n4}$o7=+*Q6*^}?S_rm-2tHTpv z9Wf6In&^%ZndLk9Djfhb^f12=9P~IOT&>33^=_oFek;O;bj;G1hh~dZrfC={_2wP% zhS^K1i;yAvuN}g`Mu~__^AO1(mPT#vtyp!jMm5X0>15>>V#=VQ;yaJ#8S##=G^R&# zO-7;+nI3cQ1X_Z%)6m&Q7FY=D+Ay^sjq{7WU@Og1n}ei}gd)4*XhKk}bq?jW$ct1a z;#6K27q>q8xyz^Cn>FhXBHr2T&;R6WyvNmB-&?1fpMCH2;f20AApHG{&E?7MXFu>! z{pmP3i#NgHEBb>$>R9;Hv}HLBeOV_rYXBUy#YaT28WXNOC*)bF*tMBHkcES6;asFS z$k4JXPiioz*k&46QtQfz!GkrnXVKNP^@B3yDA1h76oHjajRRVr0-1);UNo429TD1d zSXwcUN?>_)m(X=TkDKhr{7Z-TV8hS)MP(cMsJPTP2ssTgwr$W{6C4C$lWUY>P-c4Q z)8Q5$A`g^hy#cs9`|Ou5>e!Iw*_*FC{QjS9Zr##*E&Wx{-QWIj^V%!A0Q8~I`IVjo zHqUBNRuyhf>0bWTn~!;m-`HR98^OBE>+gcz`SEui{^BRw6WwL>dH?q6 ztyecc|0#QQr5~8s{^I`Tg^#?v*`5(ZWUIy3#4*~Yaja@iOoU8_e{4*xpQ@O7>^Ju_ zQL2nzd`W;q$I}5y?@^8|h*WS;TQhuz`noVeniY=-O|UG^daqbJPlJqiDwSZT(3!|? zasv%sqGRLjnGlU()XdM?$b#fiUdAm9N2M9l5lN?sJZgr`UzJ-*DsL%^BOsyxtR`HN z*4(bq7uIXx{qjxsreX=<5+ETUR-yC8wREX&Dawt(z<6i6^zy7jAwh{Vcc%E5zWib^+z`MKdJ25VEzaYx8|j%kkJLyH z%laJv-OitU--hpX@fXpb(C7Vs@-@Bk@kPTuN>2orKl*cB0QxLwyW78Ze{=Gl=Wjpr z>~6;gr)nGnIGtitE@E}9nX@auX~_S9Y*_4%Xv3 z($I#Oa!JZ$jhtpSb5f(rbcw{3C{xb8Ad*=(PMtnJ1*+i5AUohdMKEW! zy3pWyeBO2){t_aaxH6t}$=9q)MTWN*GeV;FVmxp;b;={7;n_hos?@2GbpwGO0Czx$ zzv?ap^0?|LV9e=fFEp;aj`r2*=YRFQUsCF}a_iCS55D*B^rI2wuNeBo;V0kb*Tk;$ zJ>%^g`ptm5&pr3Thj#iPXoQBoRz?~fIqXj>vEudz{9MhtoabOmAWh7AChfpcfhtD@8W&%S^9@BzOpf3ZHvh+GLH!KtDga*adGC(-lwI-_ejv27`FW8P}AKl-Ogb7})E@IGhc)p_c%z z!ISkJ%nJmWDOC9L>oL*$~?5O0r_GKdOea8a?M24jz!jZ$WXiCeE2r8U_YiOi@`EGpsd z?3w2tef0DDbE(+vJ7=3mfBvs_58kRenpZD}u3r1m?$w{`B@o{iyWGC|aP#huf7Tly zpsL{)ofVEC`m$D{Tj_dQI<&ziH8M!XrH95lh&E`uu!?uquHm{?WAwrm*p(zo;?$U{ zP&ywi4xgGs&ql3;fKxs8}TCf?lP)S;1ENc69 zeoG3W9K8&^E+U)A9OT{WM|3fa7)u`{5fUSPG#nlLavrIJq%aXm&8mpiTi1b^Oe>OT zD)T19=%o`HFr(E>F3wLs`l#0)^FRHDJ_u5S&*jvwAMGBzaqAa< zMc_-lZQi{0#^(7CeM%pZnkkEjNDn`Es>CAB(bfiy$w;Wy*?~(40f4?Vq2@@FhwQ`K zUh8hL*-u@vDmSN!2ix1t!Fr+*lSAU|mK{hwi=!kzVts5{O{8)0pT!AqD3XPr0m>Hw z>!$Q1GLwlT;bSpqvN4_xk72wnI6qEmnM{_6Lqv2Rx&|Il$vB5wVf$M0kr|sV0xL8I zog@;fEkr@XX7B*Yoe0r-=78u*7YqI6)%G*Lc5!lxZ~p?>?jOGK=(~TkzjZrqV$EZB zd4BSvKi2CX{$%3i=C#*%_g;GGCuP5Wz?xtw&}cyZ0#LNXa(BEgq~Pi8CgS z7sk|!wJ>=wU;Jb3-jU4Mnv6qb0J@nW%9J(>;5sC6S$u^Wtr?GGS^S|XS6gIPTcZkW z=aO$6hQBy?5712+DH$t@+)vI1bo?^Nh2w!kw@GZ(JPK=Hmcti^m2IlK6FL}dn*5l@ zQc9CZjv>kglqG0xVXUpeLm?LHG7`9&MNY8iT7S956D>J=>m*wC8qPlV>-yyu{n>x5 zVt=~1`#0Y||M`zj^us`-nP{ueLVx-l9erH``js(#5On9M7oT|dOTHkI^Kc+iZq=QH zOvwODu1%g=O4o}tLGt%1;~j-Cj$%W0Z{=p+bj>iSCh;cgtS7N!2QrvgNk@{t==(U> zQPEIYPvokCD~uKu-O{8}%`{Jh#n75XKcsr{HP%my!%|e9(-A*miBK?f73UzC()Q3V zZh`ZHAV)_N)@KSU2i%JbB_6Fe(vw*N;Y-V%kTZ+)ua1O-wraLo}T>ld#C#R=W4sX(g#7CtFxz{ zeo4O>FfB{BFSde8i#T*4T1<`8rKEaKC@;;e>gc{8fGtG z$-4AHr&W2GD3lhFfU-*fCI3vMz*sjW6EFo=Sa8fniEKmX=bA|mNKN4R0+03- zZ}lx6`f#9vZ`BM=H6*MoqyL}ZVf(Q%Ck(DUB>1~ zBzY+eKK5Tb18Gg@dlt)b&tK;eEWN&li-Z^$W&;orR0W|9&Y9X>fB)n&U%ouKrI$1U zYIp8DeEs}8-`L)|EiiuQsSr%tlgl?>KY8`<_#nvd1YUh}^ZbW@slRIlP;iGxPeivW zjjE3!S;>&x90FL9qjzrPZ5|)#vIhgYo3ZggwVb{N%;Vy|NRvHWlcK~q#!*M%Cf`6v zyTLNHT}oD*OrxCfHg_epeA#ezAx4yM%$q#RTi6nj8OEVocvmtj%)Km6f3`FzkVpU_B)iXxJ*0-AJvP1dyaQI0Cgr_mI<* zPk-gy{}Gsw`ds}TIP(GNk_`{2zpFMNpqK$})* z%f7kcRU1c2`eF-UstmavW-mBuLhm4QWnyBbruA}*t_Lzr)~cmkBIP@m(EWXynJQMw&jBHcQku;2A#E>7 z#v!u0;25sCT~n+fETr5WUu&N|Yzm}MOG;g~nB`TD4Q!rPqeqV2+THHt>1QrJ^-H^l zsPj7jSKs-=-NUzddoM^IS39E6+u*C8fA>VEU+;sjwy(XmzxVDJZ{K@HKTb3bbHBOc}3F!NB#@XqI$eE zQ9m9yTPtp-sN!@c2ve)&`N>lk0*k4#^(W91_;Dhk`ai?;S5jVku)BTlJx{*pgZe);3f0+=WhI=P z$wPrskXAXe0)RAn%6#Z-5MXJ(Jb`jJWM=#N)-j`JIn2fHLsh=XI8gUojS^<(Szgj; zDWt)~w=ItyaZo+FFoj*^iLPUllh3L1HcbCT(mQUPaKk&pE|^H6WpF5gG^fAD-I`7b zzyuV(k`xP%Y)rAlA-Zd+kdn_yPaYQn40)$*|U?g{j1+Rdw8|cf0A^yd2q40zq$AHOCR4|`Hw{tXtWU~ z8j1qNsQUnVQMFnPpeo-)Y0}FhPn1@GPU|{J6(|!lBoh@ZMEv5@f^?ewGDp zHW)`ssj|F@AA3z_mbe|@7VHrNSxB8@>LjK&!AJ3lG4&IwP6pNV4U*hoS2@Bxxg8V7 zTI4i6pcCBIlH0p!u}>{TR?_LqS5FYmCfea5o>0)odw@%@9#bJv$47(zaduS7?d>oA zmVOD?o3Eek-`@S(A6)$82Yd&B`sAN{h2?-~hfg-QcCYuk{KUGwuP!gC%aDS+wfURf8TDiDrdLi>-kF4$gT#)FjCMuJw8;0FqX{tq%VbyAJH zJ`Qt2)s!W|#j*Fw*yLQnXl-)GY)PYM;nJ)H`3Al?fh}{Rq#1VUB(I&qq8*Y^a^O{3 zX3@$A=M1GDp)#L(s1k+cu}1#N+sRYUJp9;~H~J2MR=?BV!QE`X`?ZS)Z<;x2)h)58 zNNT%(@V6(g{Ehy05U+x+_IwcZfzQj36ulT{UAa4~6(RAQ%PIM&C%Gk8DTrbPo03N` z*7^yXJOJ_JJ$q|r{lYg%7@JY@)X1eOBT1(Lg)|9oEF!CHN0S9mOUahukF&a}0JBm? zyw=;{Z7{>Bz|Ld!DNtvY_ycdDBb04SgK{lZ8mhzMxz#mfu&xQ2H3Zo(3K4vf8D*F{ zRgd|qg<|LfH5SoA^};}4s1xn@1O@CCfwS%mq$}=TQ2XoM?A6uTiyz*+_e1)@9&zYr zd+zZgKwtN-fcbKPnbzmPvi?BC<%8`j-|_{(w}fAPZS%~FA3eKu*Fl}6z1;a?lT=J* za5pJtqn(z3mAp^6NOYj;p--zysr0yBa@HIOCt!8{LP<}8G8QSQ*eVxFgh=)JPGx05Pl@3r7) zjs>*AbhFj+Q1k+NJM80Iqb&n>EsV_V>k#RB8w!rHDrhktfQBzZqV)c2hSGb2apbVQ zyf}IJmmZznK;Oe!2kkgK&TQXJ=Ah?e!|? zjW_qVo_hZFJ^hIky$|NrUic9y$5C3hgKWiY@-{QZ^Wa{aGtN=>(%hdc|4%L#K{(_c zX;~{8sU3Pmqm(WuR6@8Xv=O6VA)W2+2sWyfVFoR-Ap^%c%9Z=d0xK!DS>N(lqL9|rc1$%7v}57W&Qlzz zqE$Z-$nlFRpx&a2l*9)>4(*~bq6WyBSa9rL6A}5f=1e$21%?z_a)2$L8oe+E0 znew@=d%u1?S;6&-uoCob3d{MwqVY0r%l@AkFlfF>icxtKW>d z-06kT#rgi>#o5y@euSTp#<`MBF!lM=qO~T$Cc!e{LHQ9qb0_XxoPErCZ+@}4xPPht zu=wIkm%&!QvB?3@Lstcu<_ZH-UqMX{Z!*xLl7ad#v>uEePS|vnD3qyiv^kXVl3|2a zzO@a|c%7{Xn0l9+5L_Dc20MhqwB!q@_^eBCdVTT#1iJ-6-rNzxDe*WHkeA# zpj0yn7L64WtO-OEIWr5Fq;{Q@;j*m=#$Z%vmqkf3FvlIE?EaGFQ;6~ z3`taRCT@rdI2@RRDS!)YteCy2Y>l1jqBV5*U^xTFV#zNpQhFgq>IItv$istXRUG8W}IjTBm_>SmM6LDB~F{mstWi%I{OOZ=~BB8Ryr4t zHZTA3gIiB+@9SrJIJak)k1oFRjomH%GEBnc6hk7%dLLj$9k`u-AmX(j@1FXgemF?= z(Qn4Q@5RsWx3>eHR-WU(ifj%+mYu;%5aKdKboL~M$v>me^^My z7bChslxzbVO4G+{1&%(ju%#&IYdedBlUC1%0$a%~QS? zwmrSty#9uMAmU?NT~4*5fNpHgh>qgcx(>jKl7};u%vY zgSY;hfBa9s_`=J3Wx$hzp9NSxVDJQB>Q(~N(z}8-oxm0Z}(7_M} zDFe&YUR@*3J1y@LA__1Zeg8K=9=$e0&=gvBugG^rpaxqj@NkLQQ#u^GhqH=|m<8Fo zJ-z$H`6vDXKLVtCyZ#Q=t?kKo|LE%e>w)|DP!3lhzW5PXeDm7L z{@-u!y#CZzf9-d#9$cQTUjmUGUd7;SSc~Sw8R|u-SLh4I?u*?%oWM0fvJRub1Mi4S z7gzx5+e>ta=))^h+cdT)^B_joU&XJ=aGlh)*{F`Od++5$SB?imJfaN2oNBMFp9_r! zM)r2H#`lq#*h~N{)Ilz%_$AA+@WojxDs6VtGiaQ{!Fo);_-ZP4S2e50BtJhaTwR{N z@S)8MAKzSn66c-M&F-83swqT3lk+G(a)==>-2KRZvyB)PJN`;DDQsu*$?Tz z*Z@{g4dWbEI=0!I3%Zc0!zkbo!bR|_&BgEB{)c2Qmov>zHs8GX>M#BNy<4|W>oX$V zQC+O8Ur@IMQ=d6gNt02TDHkbXO2$q%(P6L}2#sn7tW{+#BzYvpedkxifg1jgi z>=Lv}4u`(@POx0<%{t~St1yaso%5KcVbm~9Y_+V4J}kXp#q^^+&B@|Pandd4>)eg^37#lx#_e}hkg zmhA1v`VI)3rC$5L_5G7aZ*26R#9Zz#&o}qaZ$16K5A7~^4?Sfy$?T4E)?wqW)se38 zcRV@pLPfn^Bs{sl_nUWqbF+QOY4yL&w=ci&!pom|;ZqlT-VF!rno&8X5Fv+3cgN3LdYdFVULSO5Tk3fEI7c(*CJbCqMTco+vqsVZUqZRB|LH{p@U_L zckxza{_exc=YNCm095HtZ@u!@7eD!{&8aScoXusgYtv05Mw9ARb9(XMC;NxLIMsUq zz9Y7IQ-31m#ZT+6#8nb3qT@04RLRx)rWMNW@+Wi9iZB*0VYh#2|AEh)z05NKDe6_x zcK^!e&d;CtN5A}gSLb>!k`vFN=Mi5)X`KoooQACR(BSLD;jrn8`zXzQ=`;=HWD2+q zF^AUft1i~Yu1rO|=n`U?A4sOkZAqekjY$Z!&RgCcERNR{2Yl0%mCtYyd0XHH#x>XU z7OkyY!@@&+)f_S(p2|z$c*kqON2;tnIPd`U{@KrVZi^fvq7X!x*+|C>*P)Rjd01=v z{_Yc3pZSVjR&!8x+mkz+?GL_w@z!g6ng|0tu$Tz>TGRIec2}=$-~8d`>Xg5xc&WDm zo9Ev58UGlC-QD@9Rz4bdg~HYyHsKNp~jL(3qte-557tWuxvJi%}J2Z#&QjTwd<}t z*UFkLwn)dSbJP)~p88x*TzM;CXQjt&3>o9}CL6`Iwx}ef9QI^2-WIEI%O;J0%_N^d z>|k7$VsQ#7lnm-ei$~C-pM@D*UZ}DI2@7j@WN-y2KuB;gg{F*XFL!s|_x|(ueN3O< zt7Q7Rt26wquk$&Jp&%vbk#a)867d}x$$AI<`k$U&oa%kBzBT;T>sR-ld;jTe{baTO zP+W1PWR*}Dr-fZ zAQ}*CMtJJv-f!If2m8%AdMOk^dFl<|-)`>x;_0t``S-3aE>EYQi5S7^Ii$Hn>G#Q+ zS7V7;adN5nnz#&H7)EN8V72C8GtH#DjI^=5GK5+BuoaOQI?a`PNRIYJ)ZrObgQc0z zyCz2R!@>L25zN3O+EyqDb-tMxP%qG} zVOdVvbXi&qaaiQ$9`PIRpE z-(P<0^b?;v{rK)wf4b4B1z@htw;z1J3kt+zcw77pPO8>6Km$TV9QT>FE!ORqu( zJggfRDrjEs>wh@CI(hNKSMUAgMt{;-Kz#>5KLYfvKj3e|;UiZ!+>te!DSb|ofqHFm za&mtD>ea(HPV^o?KLvEP*Zbgiz30RE-C$T|0?F*Odn}2S1i@AVkbs;C2=<%P{mEBu z|N2HBwQ}yS^j8^A9-VG4^i!c=Hm`4P|K#rP{E~jGRd0&L%Q8aIq|)hM@ybX864cz| zQNA@ahckw|^rS}9G+eQezaQ8fv4Osxq~j1?YX?`Q-{J_g#A*O(wAC#01u#-3#1zL7 zsg-j)p24-0Sch73_Bi39@+J*!w#2^j?`oB^rYjoqk;1!3An%dg%$LIb3G`zN|mzrgyyf>c@93AMC#MZ~0|-4k#+?i`nz8zDW8Mk%0b> z+TH7C5C7ui>dYSm?O%WW^4;(GEZxmx>~G-3FRH(o234aY)#i+N7s7@ zZ6U`KB|)1}ZbC5i8jwTf95c0j$u9`{8=B$~ayU!qG_(L)3EzxP#mVBszeG=oK^=-~8d{mto@EucO^fWK z;-z0+U4G%@3oo9%ush*@C{`AF>GgkH{hxnu{>PiE+vIb)-+X`f#b>_o*%v;k=Qq;y zao1>4-YRpr=_&yYqh%-1s2F@knulc9ao~m^{e(gdt!rc6Cf7K2UG}2$#&I2>NYhNg zgw27{DaWpd-vWjXGGWZA6y+HG{5!$0K`M)*7!qkwiX!Aw0{G!bNDb8x(XLx*#NsfG z*T~#Uz%6rnFODTDd->om^-S&Zt)tAdP~pF%hX@;*$P9_=zB!5B%R=7m&+h3v0Kc~5 z4Xa)cZS<3GyYK#+%^R;kB&3w!VRPfi5y6w8)vN+<_m^+|h&RE!1lsUH(39`G!>@+% zp=A8BWS=d(a5UqRzko?{3INEtoNpif&fWju_U@Ly!KQcc`oQVYzkKsw{(q1D#b)RK zpHHQDV{_}L_x{nZ{O&ogf>N0ZBT5obDjIygnJ)*ORGbd@7M23!4%&TFJK+W|#i~di zWIfgjY^w{NBSA`h#ic>65F1r`1Nx8!tiRNEEzDqX{W4QP2_~ki(6}}_G&Ms%MB_2X z(?AZBSPt3(h$(fexQ%TS?t{U_k9(0|9Vs~BY*4~u)x0>B3JPY~;v4}ov_7X=*6r2B z=?6b?`QA_I4FC(g;zu8L-~6|HvW|Oh7wTop15Pp_fOX6egVzc#AAa*p|3wmi5@P@G z(Pnq@?q{C;(9XXb8C;U6i{C0yn?s#NuWVXv1xlPJc6WdC_E+=V@E*)wsf-O|E6jN-P zNbo;82QC)|Y2eBrQ43o)TfAOOrqjT2j>QzN5_4hL1bPiVuc;ujY*QhwUjVqN**_f2 znnjZ7qVg%W4aBw9sa-QH3LyIOqn2Ow={RjQ1~`IyEVk+%MtD0;edY@oh;+@5A?_tq z{lnnhGJuUM;r!y{i@)_~`{e%0AJpjO!}W`Y~%QX+g4UVz!EOWHiOH7jPQmK*;jex3}JV_QGe* zK69@BnN0J&{&M@-pWgp>ukPRc{-f{x$%B8l+3793kNjU;e&*h%zxd+I`ne!q|Dvzu zq+YsL`oRLdNDD;GgY+bkgCwWtxh81PJ7sudrKZ-^8J2~{qW#F!im25?gpc>T4swbT zN0^xlV>*#ZN-6ClLjqt?oBk|H6jNUb8P*w*fLAE3LKza=ghuqrOqNKKxwxbu$ziZS zM*$nd9w0N)D>&r}gj{r&yf4{!b6mw$KnNIw^(-xy9otM2+$G8bLc z6f|krhRlP@Lnb}JWZL>z0l2YSEoTG}9f>1ll+=Pp99dZPi!G{vC6C8Ii~`D41rUIS z1Dwa60YcVD!(2M_wHw9ac+gGF859L-iJ*tZLNC)i(!?5pqb7}-dgLLL+~-vVkH)3s zObO`~am2BrfrqL0)OzM{>gS;HZ0}W7aOYwd(#|<0eg5pp>GLmLeC*fuZ*jLqcXqP< z?!URze*`8*6lo3{kralqMNT3Sand&uu3p=p|M2AMl(zx<{rxxg?|J@n{DC2omWwkr zeL|QqxemhRdK+n2&~ER3>(*~;@d~FGZ4w@B-~6|a{_vLmaK--YpFR5Lj~>0rGIK`$ z?9uQ4%J1C0b+5{%pe~{pmx{PoM_I`UUiIUVC0QX+4;4KRT^mgKE#&(3%K+5Z5+!hn zE{i%Q$;^d5!zK?!91WOjH8eE`!&$N3CtyNE9DX4*lXbqaVrw3=z<;qmGts`rzl>m5fdL*QIce4?7&&I@)1K>L1xFv*cZ>6+5212U| zJRZ!wL}}FUJ$dx-@11S+sqNW!&%g7B55BRz(yJiV;AH>9-REw9=9fP5 zxl4T(Wb65hhvIW+a)^;2XPzvu%fjV@3mI@ZS`)slq-FT$#| zZOnXa1W;}@8J^)(DZCTRviI$DFbd%4R?AD-Ml_G)Jjy(r69q8vxD>{dq2Ye4>^TrF z_;TWP9?@bDKv6fV64KhH~>3@6qIzRodX8>Nb-2cVJ_rAW*cL20d-*kMsmAT3_Z5bD6 zmR*al2^aJJ;e)@>ug2@44=Nwtzr20#`P+A&w|}ZeA*Nav17-7d&jpu~D+E#j^akMl zXCM6N{*#aRL+q^N*6z+9oPX{0tN)+2cZ-#7&CauGo&J9x`+RWsZo6^ZN!yNN<5O&R zY{!WZSCJwSiR1zVBH{ur;1aT&Jy+G7;~V20?>KzloK>q$&zhRh753RnHeDvNI$0G;TpMh4r%N)x7K=g+aGG@av$8MWf?r-%yMkO7NK@DzkCzkV_#sB4UCe7Hg2x zXAbhhQ5c;N2Ad5XDS_3co-gh>-~2m&_x962xY3u|>IFsJ&QH%j|FP|}Up+a~T)G=_ zGF9!&gq#d!0U$BhPBwS%=%ZnJ<#VfZV0%ZehraFUr@ni;^>+kS_JNw%Su%FXD$^?u zA}nUrPRh&8?Vr5y6Hn@2)}ONAb<>&h;nzOl3juG5INx0Sle@q4%DvZ;ivIq#`;9w) z?MMFFU-|Pt|I+2Fx@gd+B*4R4ngus^$5Y{4QA(4JkqH`KjS$Q(vUtgC1j9ZPVzM1S zvj^tA%QlOLX+ZMIzEFK=0LBSW!-Ys@O=Ei<9)*;TO6V@EAnLFQwA;61kxriFVH&6` z)W{RY(}}C?_RVkgUs82xEz$^fm#7AjL}i150PJMj*2p~FCP2ppSbha|NT4f`0?!vdf%ol|9q?S#beveul-{^v1XmH`6-akU=fmT z)S=8px?}Vapgu%@dG`w^S1+GkJ+421>5<^>or|}<<$cdStG_aIS|s8$$=S(=mc2qL zgAQhtw49NZBDBAB@5P}oS-3|N8zM@9{ZeUf^s#+Pu}Ne=YQw#J^#bM zuzi)On6m&cSLn3k$Ie#eBuGFhG(WOS;6QkMJ;ByHMFpwNW# z>FK?z7q^#RKD+rnn=8FTO@9x*_trQ6z-Grgb0~+d*}-G$plotdiZUSU`TDmXz4&wQ z-9B^s^cMAQ^p!*BAG!RohUW|aF&Jf^z$T5daVmSxuW;{Ja+e6XaC@D-}~dwoj&%2&~ZrS zWS4H5k7B2-dy*8%g>ngf_s;FlKK@`v};74;?5p(;NTL)Kd z3hhfjezNK*;Jt5t?k+ZOdec+y{nodh zJ>{LDgD~8zm1*mN=Ykr9+HIdXd+%S^{K)O?rTEWw+l!Nn-@g3RbDQTbPW4L*eM)Pz zY_;jE_{zPn{VT8j8~@hD-}>9H{f+Ot`GL*(1uskRe=b#&E;$l>Q_ej6x=nr}St~oI zg&?)Lc3ov~ciOd7r1z<3<@Vm4zx(_@`kj-{-8j`tvGPRg^EWJZA03Nb`z4A!X3a2( zY4#ral{23CBJZeKqb$2+tE3jiD!OZvYt4}7bA|#Y5pd!qA=RI}th>0l^?&}o^WXc; zix2$5_J%Haf~aSCz|`s@m8B5*>W7TXpziDH6i%9^C^jMHydgLgu*xV9m=pa!BUJow zR!VDDLQCThOcB)={hYGfTQ6+B@#)>yKXvEU%cnP=IJ?jqQl6}T^OIOl1(KB25)Hz75x*S6> z@`JnYedC{r(IqsW>On;_3&?E`s@M3*1#%1J%Ch|6%?gycX!)g zKmDDLo&N5{#bajB;||cNclJ#NPNQ~!U|;q$iMv%pA59hki($b_qEp~kj{u}>*t|Q` z%+^U(y5%ny4fwI57@R@$cqs#2sm?EMec{)4pVQw{dE&{%&<6mxsU=nzZjHHJFMKjm zX5VqE4J&Gfl|WfIw58;-WU2<5A^C#Wr%28&^t8uscB$)Z0?XRnZJIjfP@&`#rZyI{ zho^V9-`w8&*6G>%IIA`%cW$4&<8AN%;urPY#TDAqNS9wb<}fMGCGresd-AhqKYLG~ zxA7yGp5(l+ed%L&f8%_k4*-}(!O2J66}2AVcy&h^>dUiU-QD?rb|3w}HXrt*k=KZq z3Vya zjC#(4soqk5Q{SwkNn#%4l3S%7#-3&w(`nSgjnE#~4y96Y4-7~)onKZ=62wEra;QFc zPpygz4$4cHK;~PCLY@}IuTokiGw~F?W?1VzF!YtItT8&ynFMT z{wz;alwG~fORBY5Fd@!fWxM6 zp9UsieL|@@xUspZ@3&B)RGQ8t4$AJ7p4%%8qUVt0@P{rttPM#=;B?}!i$aeE{K5g8 z1lltq?xtuy4~;fWxp8nZf}`kKJWq>a;Yqmy$uqQ-&k<&f%6sqBd1#+Et}~M=|yG?&Y1|fAYr9YXNBq z-hSoY+u!rOXQ%qxELoIa2bhnfI$}xC6R4BRA36Dv_iexDm9xA2sdc-#I6eEP+h4id z+`BmCi(C8@MQ);T9eBx)Kv1D)L(K}6n$gnvq$6d}5qKyOJpS@28jab^pd*Et4vlIf zK5+^b0Q+o<9#yc51=9GEh)Bra>m%XJVt&UkL2*ySdg1|hxl0JGxnq%tZqnO$sHkLQ z@PsulK!r#%gQ1;Lk6_`}IZ)k6bUOkR&ImjCL0dyKx{KEI3gOxGsPzT$fpZMK+fwCd zoUXcq;bX7oyE^#wBj_cmwV{uT8QnKYY{fc`4mIf+H$RD{0Zuw8o$PMk{mR*v=OPMs z=hoE|H{Nyg##=70Ug43)&W=I7N~HsN-I=)9^;*~F^5-{y5cOr85DLrmzQ{Ln+~we~}M! z1U!UeAb|5hRd_u=OqVn z!w_SoWMgas$YH5~44eXfQAZ^P_ni@x*+AGG#e`q1MpEDu#0A?E981Yj15u`aI&Q~2 zlP;(nmwafDl5P8C}tLxQi6;fkLo&##U~`{EIoSJTRYTvF*IN~c8y(vELO?KZf!@e z#`(?*pa_QQ>Pt?bbzRXPO4VW7E~TDc8phCcWimizuZAHhlNrP|4JGr+MrklPM1^)= zkO@d!=T?h@c62?NqvSI{B1MxeqEmL#DS6m5B*^Cc7O#Z9>=zmJMz-C(+fTmf$@lXu zCIpvfQI5dQE;Q^FQ)%ggFW+_Y%m+?>;P&p4mt=M)kL_-LV*Bw|cCS*H z)JxjhcbT&c7vsHcVz4z4>G1B(<;z$1Ue$-z_2wGA&F1cFCvSbzd$)W_#u<N)YV&9NwVm5pwsP#?|js+GK}nTFE?|Wu1<-LW-wOITuqN1bEOf3 zl>{*?sgbTv0dm!O5^eQ5C&OU2kyW7$8h6=ZI8nQ|10`osR4N_lL>-VY*obcGl4W;0AWYTsDhF40&=E1Peja2I+VH6`8vhwuMi33&eKc@N!@zWFUdfrt#Zq3;*`x1 z38SCg*}ct+mz%GgUtQ?eR{c@z^49jvPklhIj0ua2s&Xhq```qz^XeGV{LI)RFu zk*uu0b@}Wkcc0P=J48?8;G;g76I^?rKH(LyQwj*#0Sk|b8&3<7_>_$`VIa*ccj28~ z@Pe>G7Q&3PUs^&zhShn2Gn) zfC^iS!XU2|^pG=M>3~BK)_NNv8Ja|fIYUQB2LsP}6q%Ejnayk>*dG8^*t5sW1A{I1 zT)=BZ?Qyh*%AB8hgmMOs0F;d=xnwX(Cy|bC0e~r{xbiwQBT}=ySuMl zz2(XGYl1KnM2A#BVbS@hU7D&qwr@Ip%U|66^lO`2{&Va0vF**@Kl$`m@BOisYquuw zxROrV0kt;m`!-r2Q!v;9GpGSR(d;V?%I0y(MHrKeF2xn(Jn{5cIjwoygAFv4+LwhG z_uD2I;&nq!oUVPcrn4h^ibzMYkdwD~syy?h(qu8q6%N|HtyBdjY=<#0518mQ#M@Uq z2`s|Ohp84#agWp4%EgmzckF=8Vin}I4UBY(0mjoIvj%92Qi>6?nlxyeEXQM2+Z!`0 zDb;aY7|V6DdF|d;`F(>&s*}rGS5IBM>xTYHii^)h#L!D083AZ+ z@>_x`R>RD-padEf;g36QH4Nr!w(IN;Gx_Y{{I{o0(ZMtT!!pw`d&as~hm!il`LN>1 z#bkJ)(Y*~mVpKe<-LcWbh9#RyM{wsg`I^8xlq;_ykDBEU%&{^#8jo%VI}?<=kTe9A z%F5l#*!!g5IW==!q8$Jc>pxb%a`gureRHQ^djI_G?Typ7J^9!>d1HruNH6Qo1x@}* zN{YLiyFYjK^ZK@SCX1I-PhLBD;S+a1QGfrc{5+G;!RWN6WX)aU?hZPTag4yVA)0h> zp-`6O=A>ZoMbjELM#IE)n+uqhFz|9KO5q8y7^e*ESn!hP!|ZcEz4Fp!*JwxMp8lYcYW-4V3()?fxqi-yH?cV40Fu>n(^;hz{`i%UO zPe1V<{~JAFa5S}cO3znytD_YA&6CG|;`HbA`VZip-d}e9mE9LUzx|T_0)VGa9|>-1 zvQ7@P%>V~6eR6_%jYjWywKt7?xkXN$#%P`rO+xtDkNPEL7|+oN3)Z#4%MqgGA@#u*vTE}GW?BJ_{&j=|JWZ)J7^s-h)P*GSmm3PY!XB8I{ ztMmM|t8Z?vUeL$wc^0I%2;8~()~BDj(tB&XketvGk>r|QUD2B!o;i8u`?lYIssB95 z1HksN-PtEjKKAN~zW$A%dA=x*Y*L{WGlya-Wvgw8-A-8zgTiiLf^#9p4HxEa7-RBY z3Gv7;}-#dn*v~oYM-O zaON7$LrB1BuUuf$<^T~Dp@QgtFTHqo`?XWvpW+V&yt;Y&o4!X&Ie7M?)|rBU`sS0% zA3FWfC$HYB&+oAA^boMS`^%TVe5$X{NDUSCVB!>>&2{SFo=TNWW0P5eI&!F-GBQmu z(YV0v;*823j;PHWMPgKhrmCTt$jRw|_f&IPA}?-Lg&ji}3kpd?WnZJv`&Bl8y0a}} zIrIcGG^o4P9(H?#U3lAJ9ytZkW?|cM*jy6yEew)-(N~Fw%*JbHXqz)+Kj=JTW#{tb zdhx3y=UnYZD|$(k-#WD@VRCF!X04;~CV#J!1i#V;W3E1bwms)p;qB(~we4G<{IgoY z^^CiG=0hc=uIYi|r#C;R|GDZbz25eG_Uz^xzqR{qy#U%3;J5^yY0#IY0X-H>ElwQS zDxj&9yfka B+lgmRlaORQd0Y~#$kWLa#iikRh@Of#0;w6f<`6dlm6{W4v^BNC^N zehEG(qse8)$geGsYbQ$u%yWX$0BS&$zgM2uA3DoDM4e5uRsolxf@Z|t8A!-2DM_|E zW>DPOFH`2B)n3-N+b!&Iu$H>ZzcbSiuWmEJIv`5PV_3w~Ay)0hrp5*7Lo7h2@F2FY zUVeoS`}-3O`e@i&FW#%S#3_oebq@~$Ph9Ly@d>cCRopVB`)MlXOv9~sr>?yS#abU=aBy4YXez?walQ) zA)wl`q!);ZGo-Z`+si%Ig7U4M_ZanOjEdfFp2ILEO%0oGHrm0vR4}|u;E~tiz%3+dpR-7$M3J1X_IWV;&`;ZHFzJ)z z$fZtl2bBvE-Co`i^76ee>l+;S9Y8N*-oASJ^j(kNe2eEM4;47s(M#3?@!mVR_koiS zzW3hy^-eh6SIgVncfY#*ut5HtB`0e(Qgr-QtU3s$8;}kVOd5Dh;CwNegi*>WJM_KH zGH^R#v_U&Z8faQvNzrdW4Fpr+mxfD`91uF2z`)v9LmVnaXxKs}2npnu;C^x)Kv04? zA#$(E!h|LepgM)a1dkdB}uq1_z>6D?R2(+Dfc^m;IwonZwW*$(SMVMuje zxHXTmfCs&!EdJq7?1ikx1xr}%#bG&$86Ld?I1RlJ^vdo_d_|i+$EdH#y1P5q=K>yo zMlS@VqB*|%S0VHch!1Uk;dI9z4fI|Ly~E|z)8~GD_lX<&Y;aAYECsG~s^+33eime} z89Gr37lvWqbacvwL^5g;0l0s0CtkZWDr>-;y@WII6&d%sRNPdM{ArDS~*j58f0eQ6rfq{lL$@MK2n|@qaxVTq)Tp)Xv)Q?oU=l z33n`%0}-K?nyyBt zr?Po43JZOwyQiV6wC-3a?0<+}^%$d-Eq}+cSO*(4WIzJA3Dw^lj;tgF|&e zaM61G*Sq)Z^aAJ)-_u9nO{tH7{p#*l@A8$PYGPJGB72|pP-#cwgdeyI2Q??!~AcqdtL+von=}a&OSQ7GVv#!)Nnqs7W2hh>taudma;3%K{%_U%u9 zuO1r)b!VreZ~6+L&FvpP{qd*ny@k)>@*W^Pe7yRJ-A6C<9qVxVA)r#sRC!-DQD1d! z#3;cPj?xlv#;65S8dbuu7Wo*H?4E8A575x;Ap>wJ1B-AJc8zwyXX2O=t_^gy zsM45R-F+6sHQ~bAw8fNa0=xhKKmbWZK~&Yl0NEdEI#Q||NLc-c$>(=p<}JqCt^RrN z)$QGz&fb0V{E76xz*Jq=3H<^1&6~IW==MXm^ld7<{ePzyKtF!+u@^V5>dPIS<0=bJ z_^8+Oz$}ED3r=k1DcoY+biFT>Q zXMt-oHwN8mvm_N!7H!L|>EjBLH06h{8hUc};^k-c%dbXSzuP<8C$?{X(-ZIXzs*ZD zSyCE_=!yOZPyfQZuAb2=p`4@ow%3!ZU%U4!TK!!5&1tvHl|-j+iup>i&MDpMd~?)3 z-GHD}jc^1%N@D@0z(O&=CLumplvRi@*t3rrwXU@V@qyZ>ZGle82Z$qxg?u7x&&5%) zjsc~RU}z|Pt^&RC+;#!OjJ>2i+D91X?1NFklMa%8Jjr9d?*&R;LV1C>%SH^?n2~F8 z5ir;)Vb5D$JmJW)a$3@;QJtinrC(^ANh3+GDs%kk$6~;!&#<4peD(FK&5OKES04_p$U)6fV$9VFKL zFk~hlYHOS-b+I+}!RHxslTAmd+4CsnnTW`#QP{KMaIWa>0gWxjk=CrQzXtQP%(U-3S0&}~VDRlfU3O4Vb+)fwP}U|jfC>nM>( zLzC<)Q)*gf+3rWuox2$XHPdgglI@Xm10Rl`|h|B$6~cJCIG-`VZWb9YX@$qPZs zUQcUooxJooiFFN-;Ss*9f0`icdI)$f=gc&x&d8o+HYPUg`+q=;lh18$NUXjV$GC zGX0TVT#guqYI%8KsP+Vw(4-(9Jz`$2t~A}{~!PM+MHe`5P#eFYHD zfZCx?*7!S4^}syIXQ-F-gl`HL>+Y&HZV=?Y?4yrCbaj)Kjn+5@;}Dq1#z11Pn3a#r zWgJ!8BRiWazyw^m4EM>eMFrsmxF4jF6^e|s3CyCe5oNg|XEBt8u5lc*U&V4C+FF(s zKm;{5m1M`U&M7oH=b`v?g(4%t%a?;tSwBfT;ErqN9z5u1FhM00GyIBBG#u)b3zxu7 zk|YrN7>;1pdp+HM>E7q{1|a^^=|p8yW0=cjuZRr@=gP+`D9v~(|mb=4{d2Bi&9q#BM;rIoc*9Jw*+E=DBsYvKHjd6RXqKMF z(&S(vLsYA3z{YOV*p-eoiwL6v?QgOrBrIm47vOZy!OwnV8i>7kCiQO5upcX9(P%S1 zVzoXIVq@Nz&Uu^0o%3v#EIc`~*YQ;Usp!l4I@|LtU)_3n`|52c@3?uYZ)0!Ts#1&P zOt1gk)&JL~QF_*Y{V6ZNvyjLM9pJbcxXeSp*}D9EMvmIUUB7;0e$Ttq|evZyIYlO*{n&XxLmDqvl< zK_c`d3(!yh5XrY<3#3H(Aq9;pGf@1nu}=z4t+K&0c7qBVwDeA1N~O^}vGqQb=~840 zu5ixYEFpKS&bd|7aZY4X&!VU+^J!L4(qqqG=jl0Bi;|9_w%@{lOOq?M5b6bj*8lnQ zSD!sOxy?w={qOFc*uCSa8}E=vlDcPNcDr|;zWWDGeoUW)#DBNp`OnF(>Z_rJnYbBD z3Nv)%`IzLXXM%)h%60Zw$>cU|=HZ!X7;HuC79oI9-Xr3Qf;uY|9f!$uUVWnWU<%q| zxLt-E@vRwP9MhmK~jjUD$mNc~Y zZLl?FkR_UZghbsw5)gY1prDP?Vc`JWM`W-ZA7)Z0 zKeOP4pu4+Q^uD%py)*Ql{(sjK?|kgNS6ki^mrYgOJ-PFPyMOV`SMSijt>k&cW_xye z=Oeq1oSpCuaK!TB>ljs?hOV7ssOrFY%mnjSB$G1uWj{Qvnnx`!l&u+26rfghOzis} zzH}_Tm8_JKmHSm`wWc$OjS(L8lb9hNfJD{9t%3G`*qvPMT@-%!MMpAz<%{q+OQaS* zl@?e-D;%rjaYEfc0sMMfW{R+_t-L%;6w->-51LA~8ZcrGRtZC12=6CNaXU&vC!;Aa z>Q1GDlv#(lC5-e9?6-Ee?wq`O#VUwgDlv_OJ!GzhTd(gP+r`t27{N~{z_XNi= z*H=%U#L+r6Kv!a}AI!05nH(JhfvjrkJ3*^?+c`bIX0zX+t&%81*1R~J4Z#&lJ7%hw zZJgs5f!y*rM@>qgCw3OoOymvNTBfLkr-ILH8 zIq&rBNB=tNi|6`UP<{{IUA=n#o*RG0*AX#+RGXjLzUhOTpSru%pUjy0Cw3Q~I{Dah zo9B4}l=CL1p(B`EQXiLeEOC93Y0)+=>D7K#N}h)+oCoGQ3K>y`AcrjEIgor=&O=oa zYA^B_dQHii)<+<)D$=1Q1W7s$^vY+8$Md_aLV3SE9N7q5DZ$36s3R#m3LWK#P&gPo z6&Y82f(PRaa~#apdk6N|26Sa3N-2gQjLVKbtKZ8bft;O}z_AE8kA(I@P52_Ik_WCD z(LfQ6TkDD*0%t5=J@dc&!uBirSfl*)zr!x?T)p!#y%IWT^?%YX-*fWJci;Qod-~63 zQ0|^M-Tm6;mmqb4o(l4|F|in0ks*6wg|wl``)KQeY$+sbn$|U@=HyVl0M=5v7aa)| z{UE5eMlG;&tW(^0djNMq+Ve=M9~^0ccRFg!9tELRM7tx~ksu3j&uD{ottOKK55cE>o%o4N4t}5{4VvZSkyHf7-j-s{a5ZSe zVjAIHy}$$S6{?JfB2GjpmBepvzM%gXmRIwy?q0q7^qGq@J{t*^UjXzG_#eNyeL6F( zFOa)?^89aZKB*4|3=*^YT4W#m);0s8mT4~=pet1kx)(YQbL*P$J3S8KYl(=M(;$$M zYbH|ji6-X(2u)Ok{N*tlQ69k%umZ_S}v zr0tE7c6qEM>5?5#s8ea>k+VRc=D0pba~zn{a>5*txCzR^?K*HIr2aYAbKB3H>7$PR ze)Fq4_ug{y&Zo}btQ46^0k)eTI{CRfe044vKEAp5%;~4Uy3yM;(HnL+j9kmSBP6o+x*6P^&4UCJ-j=v{1X7)p{Kjo2^VIkJ zDoU~?2m=Sxp84l-$_cmrAd~B}JGg+_x7d&?m<}aXA`a}uCyKF5Ell1AncP=#;An-b zT>J*ef_7d%UE#2j`svB}^SiI?HZM!7b3mVseB$1l-hTc*J>lVG-RT{mZ~uX-pS(P| z&G!dwHcxCWe(m&EuCDYJYOZ?3ocS2%BuC2TsKE= z(=z@chN%|#2WKCER;2!4+{`wDtW(ejY!u?5|0I=Yc zz7r;8Yes?^VHszxKM=Fx4ue&5#VgEp1D;ANHg^XZTvo_1ra8aQB@LrkX~Rmo?Yl~% zmB$jepKTwXe(31~PDIE;mw=*~e6)4+Yq1*GNU0CEHi}{Y>N~))5x``nWUTGv&hF)x z&c1fOJwMY2bjty#V?rXJ7u})fX@L0+nnX9O}{6 zqPA^)y2ny>=i6zFZkTCF)sNko*AXE>Te+7=XEq(zNEsXymXXPXKBk+@d!krOf9Qop zCKDG8kD%vj|yfhCr*GuRt;uzgs= zS4SQ*xz&-7&aOckLqEl@Xyf2B7K#be-t!Uj)XWy8E-HkD1HER4cfmb>^`#4aE0!Ln z^(9%iFQ2*ib0>Ol#8%JvpZM{UzodU6Lzvy>sm;yb+I;k-vsd&l@xp1gP%1_z*hh+v zaqq;GQid{_THeWRQMwq0w&gg*zt6*r z%6n`i)~yt|SWx%Xw>N*JuZ-580`%X^FZDvuz3;xc zxuI{5`|gwPeecx=_3y--@b2d6-H&d5MWlQ|Xm9dgr&G_umNGE+<3K@ma6-6R4!#T=gRLOwV=eW{+!ejfV+t~3iGzq}$6f^*=?x_H zc5fyn;y&q~IS@1YX-{frlJ$J3%QZ+uy45sEEMg&tJh&es=)hhlEF6Aj=GYxnKA!K< z3197%uQFz~R+&qQT0Y7Z≠}hkwsH_{}Ey_kK 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%0DSI&Pz%0}f$1Q7c6v38M}GonYV( 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 @P{d^3E%^SGoaUBLCoRj#ApYD=YQMv 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
J(jm(@MQQRFgLr0@z|}FJ%(EA;`@u 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

Y3ptFTi$GzXcjNE<9 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

G{t@}Kd@^6|l5mr)gKwyySH?hH0d&{Xu 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 z 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

>#mHxs;)Ew@RjJ?<88Y& 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

#L0R5b# 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

-f|DO$Ja)>1&F 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/YJyF2ddP$A%r+$xVJD85{qSE{!@~ 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

PxEb+JNm(1#nr7wdDHj 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 SwdXIfylL~zG$AKi~X|9N8fptgq!oc@ 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
IGwHuFVaL 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 Cw0SxJ literal 744100 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�I_-E8v))h1kM7x%dX-4azIt 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
LciP=d>fx%xzXt+Ra4|17 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 z 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 )} @@ -166,9 +157,8 @@ export function ProcessDetailView({ } /** - * The metric value for a single-process detail (no members): one row in the same - * slot the group's Members header occupies, carrying the process's CPU/RAM value - * on the right. Non-collapsible and not drillable. + * The metric value for a single-process detail (no members): one row in the + * slot the group's Members header occupies. Not collapsible or drillable. */ function SingleProcessMetric({ detail }: { detail: ProcessDetail }) { return ( @@ -182,9 +172,9 @@ function SingleProcessMetric({ detail }: { detail: ProcessDetail }) { } /** - * The compact secondary-stat strip under the header (user, threads, CPU time). - * The System group hides the user stat - its members run as many different - * users, so the representative's would be misleading. + * The secondary-stat strip under the header (user, threads, CPU time). The + * System group hides the user stat - its members run as many different users, + * so the representative's would be misleading. */ function HeaderStats({ detail, grouped }: { detail: ProcessDetail; grouped: boolean }) { const threadsText = @@ -202,7 +192,6 @@ function HeaderStats({ detail, grouped }: { detail: ProcessDetail; grouped: bool state={detail.user.state} text={detail.user.text} label="User" - placeholder="n/a" className="min-w-0 flex-1" valueClassName="truncate" /> @@ -213,29 +202,24 @@ function HeaderStats({ detail, grouped }: { detail: ProcessDetail; grouped: bool state={detail.threadCount.state} text={threadsText} label={grouped ? "Total threads" : "Threads"} - placeholder="n/a" />
R!VpJ}H}(?4Pew!ISSzA!`A(#Ml+S@E)d?wSipF9+=jGq@L~J806J*m^jp zmk{GyM%qih49_!Vi!mD=pr;wPq49Xg(*#m~#Y53Vo!kiT?(1#ev;CK5x`%B@Vr9?+ zlSOp&p0x5O`xRef!1;%K@7UktJrnTk92f~)-4ogSNbOH+b_`(rcQ-Gc8MjiawDG|@ z>-r*kBVhHGw|G%%?ch`Tia*J&=g0Y;1uzS0_MEnFOKxs-l zvKhIjn+9*kY>E+htazjWV_7MWJ)hc~mi&?>L2}q$h1*YdyK=o!I)@paY#Z{g<&m zR|#!q=>1T`l{VdW$4z@;OR03<#zlOwR=L@XDuswWMuSfkd{xn2#~G6M!?->+6Ez`J zn8|V?$9V+vB@0J{O{7{9Lryj%4!O4F%0@8npfeOX$jv&lyq)i7_g~p+?M_RTDY0S& zB$p5M{70ObfVcAAF-vN_GZJq4erv>^tJGpyELU;GB}_onQXiw2+NX{dbZPkV*b%1I zYd4;cRGXv;`aTy^wi&o0bc{Z4+2qIOYU+%vwz%`1d_C+BFG&`3i_^CDeY~NV)vWxZ zO6A$45iu|ejJc87q8KGQrs)&mDKLVi9`#q|IbtX_Q$Dpw?1`=Q+RO6q+5afa``pwQ zb804~v&Id&WN`KW-6F`I6e$P2&u~c~#5Rx=W-{yDH|KWrH>IPYk_R|nXD+4Lrgf_p z&6Vx~gPsl8cl)(6edavWvF2?*$lhF z_wsB2NGg4?o)59eg#~k?XgM_{Eo-Pt&AF&3^6mKVtn^8I}qC1`00MPS4f& zDH~Z;RMlpxod+dX!45o2jt`&GZ_ci@#mZAyv7n|)G(Q!N_s1hzZ&>}-Fce}Gz4k-y+090OSk_&?%1Ca_*5A5?MA-+ks_BZc(l!Fu(eZEp zjqV%&c3*KI1opf!-o~07z{4eXDG8Yyyfp86`hFJfE42p!kTVeGv2jFS%JGj}6n%RL zja1(BDH17!pNJo_S^$v$@N~K6GLmRUqR4oAMJ_^dudL}I;b9Z*3xXK?G}tE;ZW}-N zYZ$9c-6G}70$}5#Qa~$o&pB$;;NL)|JMhf%?BX8?e%>Lvehi_-YaUca@Q=Qu%4LPT z_R;O>2iFsb;?G2yZGl3=_3 zVwl`@mhXW(f*47Kst{kAuV z_3&S{)rssE?Ja(3D5~(R`>MAS?&orEb9>wK5|30j?fVDc9?cA>{cb(}aMvR2c-&8$ z!3p8JAAKU#D;@Qs1+txYnBieJt|9{Ja>q=*`GR%S%K5gDgv}q0DNq`P<(KD%J7Wcy z_TiIU3Ek?xLWT9Mm$(_P!4^jobP9`FL^w|lZ}JY0>97}F_+h^PhE`MU$H|uOT@>Ju?bCwp?33jCD-5k)L3-TSXd1G*aodErb*U?yynMTgN(K$I8{SkrQnX1ivmkw0a7uVpxN=?wFGB;{oxCZ+C;|!L@GQhb(@BA>Ue#$B;mtfem4pIioWD$^i+224>G3Meuep-1;IcjB zk@{G;mykUO-bCwcgOUHGU;VW&7Xy|YVLL9z=u3S@#zVtva`YX}^o6Z5Dh+BgsQnO1 zZh=Ki!C?W=eCIfvw3o<62LV-%c$#cuyV$^q>)pyWXWn>(2)O)secsKOXOAsJKH=fh*Ax^&z`M8A z?OlEWXgljY>2I@@$=djpR5cbdH-^&|EMYpA^KZs0V$OFVuiZreUn<%3gsYO`afCIR|@ET^kU7bY*lt3hX3+jhHVL(d^cRuwev&6QwP3Si8HMQoHtVZBXUjQuH z4A=ZOInXy?-jqrK*8WCiP7j-tf8U#Z`Iz6*F;om@>!j=4be zRRwL4s(Hv`Q6yVK>TN#$o(&Ul20p@;AIy^+OZ*{4PRZc%si7=yGo@T|xi&w)LSt6_ClX0&_@N#B{!a(S`SVsc1`rJvO&F>fd$SB04#Va_GT6+AXa z{Xs<_mZ@szLdv{+k5e%fw}ro_bK3`;1q^AXRvo z+mhjR-d8E5D!9p+UsD#YC~n$eOsk=z#+Fx7QO>_@`F7*Nc~P)YHb30buqzs=k7!Cr z@;S~j-T`A?gB-&PF(p&N`p3HMf)VPz=4R3a<*?J#1+} z_G&r^p%l>57f?7C8od<`e;p{F^SE|Gs7{hYukthGawwtdnb_Xmhn5`E<-3gHnfCXO zq%-iy5u@eAINF;O&&};Vc7mk0mIY0eI2Kv}d*dT)(vj%!YcUk_uiuUFcvO;`P&7hp zEss5RN;#R8!X#cdAhMzo<6x?N~`JVT0Y@-Wwy{Z3yPYTW-jH-Mh*Df1# z(vr%_0M^h^Jc*>BliI$BEB8=K)&I30jJ~MlpdJR>{jdE1P;QpYa}MOvejojY+Csit zaG3MAI~arhpdxmsP#XM#)xk6?TCd6q^Al2L9&{szb{e>(1$+yac!$v1eWHxVuTj(51Fa>Gtwtd7~pk4&%8V zBlaIbAF%@_>Lpc5Sq)wSu@6S4igj-q@PY0P0c@CO&0FT~Z&Pb*<1^Y-LXUMZKUxWI zHlqXw7%}^Y@8*ayWQ?g1WUVmr8(pZ%?7*Qv-k0k07O*^xI(k6Qhr0z+-nwTW+LINv8XNF(g5VhSQ{>fT~CARv|GE7ZyCz$h4{^Rz)dWzPc%+V z5wvKdexC;x68=1ZM#vmy$!|YVmdfYdn`@{@OmYX|W)2_3zqHR_`kF z2$7>{FlQryL10Yw_BALeNVXS}HC87|C1yr9Tb`uIm77{AsE-@K5%7uhRtm9GDQQbR zt!}z(FthzFpf!!e379UCRi2hy#Hx{IHf=x6hcoOaspK(rQq05mcb3xVp~DvDD(75d z_I&;F>dgPK#R$GZp1S)Oc>TgZkrBOfJ59jgzj;CRMZcE!cf$hSy zs+n~*nm zVs*2079+X#VeiEIt**Z3X{qv)>qy{qs#m>JMYi(@W7)9DAuS6*6Wu`H5@W&M;`X|Wk+((?%)dbMqzI3Wpdjv(H@@Ll={TBJ1FIxlsR9hs7eYY4CI_!QV4&a$UNZ-HA3ycI6R>?Yi)C z&6w#UYyq^>=E;1IF{|opja17pQ+!bWJ5;IImY;@^`*8-COE* zjbJVp9X63HAP&#PxiEZS7&hY%U_!Q{6npUf+bvm`x;ei#g3HG=f9*uE zfJkavK`4fwmg^!u<1X!gw#&j@K!Cc;U9LZTg+AaMma`;NrZslk3-}NDEMIZK(b_6m zte-zfO^cO}?5r?XUX8a-oJ&MciGn5mj!C90uT@qVzT4uUfjS1X=Yo#Vsi<&p|KsDp z9OV{p$V|=SGd$S3j_%B0_zM`3F~yYI4)ep7`km<(Dz_>(Mul8H@sYf^yj2JJo|f0H zEt&qK2CI{5#A!0yj{VBkwLGKw%)5#RP3$|i9bnott~yb6labC#)?PW{pd$nx#Vpa^ ztGs*!42l&??&ZjrqLvKYmTO)SB0?j||Ka-dLesIhYV*4%L!-4NC zMCa7-3~wuQJ$_c8XkaxQgQf`M1TC{sy^y98LUo~}is=!<#p)fDadtYbc@l8_<-_C0 zGK?(dtZD?RQ%r6&1@^6dt~Aaa7V_tv0-Jcxu&^zUAf2WTTs8v=`s)}Gk5&U5DxKhj zZJ@KRe9g6u`Zg_|7NO(34zf2P5 zM|K-_+sEbgHRAUC_FeAN!;9!!=>&d0xrU`7cLYGaR^sclq@e$$a6;CvwZ6;gEck*F z`kfKH<*AZl85Xpsc9Z*8w&aXM#%oXbC6d|yL?b8H{?izjurD6rP_nxWJ6#~HZwPt| zw4LSGsi8wQeb>u~=6kO~U|ZK+&I0HsjARg5Y_}T?f4@z7G?2e!(rISgn}xiHUcG}- zWZAwl-7^XDPYY0q)2}`QP#4vm$lZ4C{FRp>U zmG`E#8rg;_js^}Dj41vP%=^d6jS@9Wn1ALpulB+0a9CZjBnd+XYG zXmU4_)PJ4S@6FA|)PeB9WwQPJBCF^Z5)RL_-cL~@<1$oIBk;38`A4mRTXryg0o+;R z78o!JnlayYB0&=iQeEDf+)?~0t0RryH4L`Ch-i)=L5BOb5SV3Yphcu^-R>aEvV~=p zjFj5QL4W1|b9XaKN9+wjZ5LNcFc%*7;8oNa(jB?g1blf&@{G!FXC3fF68&s-wif4) znyROAuKM;;{a&k2E`YHO;6vS2mIc0f)a`=r!j1fuK}2tWr4oHb)Sc_Mliy_$%kOr& zc?N3cq6|=o7vps%xisyemu3++MOgIT3vA+Z$JD;O!!^4uqbt0Cc z4Pf?*(O$DE!m=tzy80ng1ow1Lf}cmD#>4Y>=GN!MrY4SaG1@MNdk>?Onl@$aLYvlG zrhLC+Fa7<9HKl5=?#0-6d#!Ksgb=T29`wOwMW~a`+shKC3tXqg=pXaE20l|r9So|A zQFToBMwp*>@lhW3O5E7JHCLrWd$FnWIHlt{!?aCl=~OF|auTt_H4(Lkp96*qZSg2X zQdps);V(cU5gPm?Zf!j=1#`NTbc>>CWntETM*fUn-<7!He)E4~?VWWyyTeqd_~Z9b zj~bDDdTu_K#%n-}-kVCF7srGl*f!YtW4wEfYj(_>!o!&YhNc$4Z`zq~Y+*z|}VT$j1sPEmz^mm#5lmWjmRX}8a6z`yJlyF2jG5}1W}l9ntm`kkINzJ z?rwNF>3aN>XADtrJqG{7MicexsAP#{d~m5?Y?1eGU_nWiak-8$#Bp7X=N3f`@Y``o z1m%H=H%fs-Yjy$S{wMuDrINY~2oqBwc;I~Qt@2K>uSxYYNTN6D`!=W zL*}=u7DTo{KW*o)8cqj<4(TH%8JD*uh;v5^j2IYO%;H_b`mQ1!=i3d@)$kWmrY~c6 zvI;{pugSDVy@UgcQh$!~)XVjuM-P+(gNa=iUs+VvM; zrm4lU@8aVIZ!&+wfHu*q9rI7*PMeLLk9(T+OHz8M%mNvpWE1djF9 zs+7HU$IKjg^oI-bv?88ctC-#Xzb=5_Hg5AL6lsvN$UVrMJR6R*B3_@p|KcbQiv z%>?K~>@q7e{_}}_RO@eTcIJPNkaVIcpZzn0mf?7D!noyBZyns=rGgk*g6-!S`UkjO6xj~Kmch@{7U7D*U6ri>5 zNe9X6v5nCIM|7R!4D%R+=)rAt{O$YI?-oqtuv3L%p2j?Gat| z$0wRy7wt@VOpO097>C5kVt(TJu4avu+KT+Zl$t*+kWvg-%oG_C&wKvPyPyC^uwsTa zsc0UCK{)?}*Ed3Co{16fK9#Wy%VYJJC52H9+pV3ih;?CE&E?&yZQUZj9_$xnh0wm* zKO1=Q++@+nq8Z=UA~Y0iD*9(23o(estvtntHXg|+2d4rUM4rpr#EqD7W1V$NL*WC! z;5V;opEB;zal~V5H54C&FP|Z`kHg3xM&d6kg+zV|oKCC-*hi~mS&n-6SU~Ooocv@# z>ORhqXdtRQsUDmS{(M0el9#OW1@}z1%cDHrsAo_Fcg(RrOGnOedMDajILIEj{Ol02 z`|dRsO%}>nVlBIZ{#_VE@A3DeLoqS*bHLZ8OP-2Rz;!w7BO(W+csweb(rfTTilMu9 z-&?V4W%_GS>X`VhOXSkkbH|%pD-TD(5FCs-q1sPZrFFhxX)ynA9+A=Nw#+jp9IJp8 zN0IOq?DX}Oi&u%r@kX>A4lr0uBXe>JW9CJw#?bw1&DTqH=9)SPy-cn{A*+6 zO5KTOx>^1;FCc)NQVxFa+qR-5&PEE3QgGdXGN*8rj8QtwSw5p7YV71oljSXLB)!zB zqbnhiT{7%8lWju#%10kIG@B~q(E|0p^HqWDkvY>=3IpYZ(nPH?4h-QU5vRq#hRdfW z`Ta185MhmqHv4j4#RWw>W4h{RKIYL8mTGlkD9ky$-@P56?y5G%V^$z;OD#!rWZrG3 zgi+FzQj0mxsUb#-`3-1S*D-l422UrhXE?a?NTJ}eE#gn*gE&ikAX_wpcvF$TpIH;} zQrtVck>2)v0|mn(xRE8pX*YNE_kAPu{SQ1{bluyK8{3h-j85ubgKf#h{mDs-Ew1)_ z4wn$6%8vea08V(c()=_F9md?5+af`O_VWz)`rm^SrSgsLPSt7c9dRjU=cb(Sk3`ia zj5^|*7sj)GIC3~Psy7_bLur!tDho(0^xNj!rgglyP|MFxUq4vv6NRu2?j&-#SqKm< zr`(4ry->}_rR_64ze#Y}o4aBY0cVp-ThfAVEW0H&vsy(G`aHa%$d@-Nj~iIN`*fj3 zz;Q%V7Z2y}+A&lg2H7-Yn$$He9Y1yavLGI}`jWmfc1?J}sd(6~q(#`ya!oqXCYxGz z6}&6_nGRfqr~Ri0F`lAqP#(_4{rU%Pb36H81s7eoNkihAIzCK?Fn`r@aflIoI(z|C zafeZWxsNz!N`f3^6>a2C7K<~6#Vifq$OPGMBuFN`3(o4$aq+yV@?0=Uh?z$ELMfc^ z?i^AMuTv3Ez2U!Ef^JtmLPXLku%z-%8uyaV$nBO{R6SDF)T^oni{S}(;_k|6hZ4>6 zBt1Nv-se$g;tI0Oa*FICX_k^33)VWu``UlpkB-!c#KdjKNm?%Nstd#^h5M7EUJ4p) z0%p^E(+F1DF+9_n(BBLs93vR8w*#m7g8J2MN%v9(e9cmov+{}9x8#u|TTDUH^GB5e z{*_osotBUA=e8+{p9sHPb-$Up*LQ~#vZS0=5D`5jNc<)Z`$JWR*Q>tgmHvpmOG3Bf z40vdGnlFH2qIa)poP=PMVH$g-6>M~-Y+%d%Qs`*^hI+N~cHjUfV^uT#F@Sk{2v%6j zgkOy#u*Z9*Xf2FV;Sr9%V_Uxc{FE#dZY!fSiElLjzR=!*!00=tOzd67R7uWjQ+z-0 z7HjeecvVr~)+4`&=l<45rlrSoU!~lc$9Tr^R($Ysdl(Ad?j8pC7dzXwEOw*Mna?=c z)D+uVlk|F{BtP&>cv040%lGto4@hbP{f|V=J-yU z7g%U)m42e_n=^H3GgGY+57snq`^WD(!(2JC86mTL`-Nt9Kgb%s z7f@!km-}E2z@iu19sYiiD0%6lpNj?K!r=T)43PG`<%6_fQs*nC<6v_*%5L&j=`e~H za>$?kfr@b`6J+YAY2LW*PjLEq!ktbzr)*cC+%kee1xAhTp>^)R!jvX9pg55Z*a4XW zg?>ZB;_ciWZ8y7>k|uhpgI_RCD0TGND<9r}8taw-2>JCAjQqSA^Yd#P*1NekxBPo% z7*^RF=)5_nG7Vw3t&U*IYw{dd9P>3hQWq?R%^}+FR>uwekCqQ$@zT=c5dyEDExvwR z@X6)Hrz$k5O1Y7Xfmb(O8k=FTZ>7Ccq+ zQ6SGR&OuXQ8KO)mVE=lEqZZ2{L|@nwbwIy^=i=2W;_&rh62Blg5;B$lJl`2 zjZa^_q@8Tw-(y2NeOHg`_mKU3h{!Y2d#W{;4tufSR#b`#q-?v+Yna6Y&3k-ygfnOw zjaEQ8ua?g^igp(@JVsW0l9*1IB*CjL_YR$m|8CWw%V&f~+BVY%;z53OqX&j{3t?pg z_<8GUp<$DsRKLvVz(vX|x8GQtsDpDw_6Y zfc@dKXb`${EEtAS`&s!MVg0xHnUDWVzAuAybGGgwNlV9se^HFqEwE4?@p%ug^dm$5 zpME+Et`AE&_Qsx)gWB7NrRg(MN3LbGOKgh~YOf8FN zSsw#5RxqZ$tBw9UacfAZayx|jeLB0YZ4=kgw9la7DD7f5&TpC zKyMn7l`GyK8SR}5)B81CKRW(55J)AW?l?44rLEO1ue=VL{>0xM8ky=VvEM)QPeR@? z+2EU$ie-O@l9_r`j(O=kCw=o0Lb}sC8!m3D4@Xf`r(PSv24ANYpom+!s;2MuQ z>jW&k)WtlQ5r7O2nz|hacvi(NMG!l|n(S~Iv?)FM^x<=!$wIJUOrwe!XNl{2iERV^ zH{50&Hb8QAC#V6E{2`zU)2;aS(sc7A3p9yV@v#g~S!j$k1I-vIRW924Po`kipw#H} zU(=^~mt%eOp~!`6Jz3UPjv3XJmi}d^|DMFpH!^z3Ls2%s#=I`Dpl9LEez{}FB5Cam z4BOomYOlreS`JsRexA-ts-(j)JoLIaMdi}yH}hRQH-(kPUsW{Jyp^|~b2;8|(VjhI zgxSBuH%C8E1TSSdTamaPi7wDN$*7OCKeGm_cb;?Qd1P(-D!cj zZfldyTb8MjqF0ya&Z%=Yf|HJ2>*n{i@EyD0Gp3L#?1>W5AG-=Q1>$n^8;FZjwh14{ zxSKJgzI2`wbee9l2uzxSz9Z3se;HxVdL7F%j_Qnyyw-5P-oErrB4WG|WQwHieL9W@ z6SPt`T4bhS6v?oC`d*7Yb|!sz;%_ouVAzEt2lu(Q%AWBHW-(KC74yn|=)|5=1>x8K zHZ~6DCXw`Z92i?_gouQTdXIyA-tQ>bw3y=7j??ccqU+EBnH;g3vk6C*X!P;AX4-W9%iA zJ`&+INZ?dPFj6lG6J)4FjKaom!mXw&VVTCjhuGorY{Aa=rCMiO84cB3n(aZ8#u=u2 z&&Jp1(1aal=zrCsHVXv7<8c+2BiUvsF_*2>bP7_fpNq#;A1>uFldA+QpQ#B|R1rsx z_ku5hkdEY8<83FPu1`6+&$iI*wJEx8|4lA(A1zM>Z%0*pQOYdF5lA-wQDQ~Rw+mdW z98ab35$|ZO+`WmA@N1bBgyh7;%N4ke>RGZPa8Eum=y-0awDp?#UtxRKys~z-G&C*n zrFq*2Pfr?uk3P4%WJ7)QvYSTz>cu=mqcTPnz+B@q+U1D6(V9c2nOc)HAB zhgiYHiH_ISym0o`Qbv7QUuC($UPm<=T%FyUyB{zI@XOzn;uErDo%=eFf1)X0C+;S+ zxvmZLu1vxG2P+GHmJ1s(Sn$jHgvY@CT`CPEdqsfe5mxU;)H z=uhg{r%T}(VQ)bA{1YXmjR}#`-p#;yh!m&wI%qVz_AEL`d#?=FeVUz2GxPQ@N~4;W zrSO|c1gqAQrOD7+Du$iA=hof_(SCQD+9)8lopJg{a^|jWpiVmZAj{<#;9Z(r^8M4# zCh&}qtBWj!@KJemgE%`8LwFdMV0P6>ec*voXS87( zHChqf8$1jd1c|V{%gA9(m?;tn&ES8c7p&e%M1MO)*&*-L<-Iylj-6$(vC^?Y;BJzOezJhjj?KQ4u{7n`zv9nV6>NG0)a z#4(i(mc{uwZU3M>#n98IJZQi}=~|s<(mr46m>krg$UfY<{g1eEc;sd7HcTD@)!(Wd z!DyTmf!x!ecZ~iZS;dPg_;Pg6*}&r*9|&U@HoQk>IrG=fZxey+Gq;}vdi$*DZ1LL_ z5+N!|!FwN$W6Wxv&!?7?`f<9~@GfWW@5Cmp><{mCapj5(PhY0w;9!Nfo}bQ%0Lo$USUU%}Y z6-OEYVrL9fc&9F$7h#!w8>#cW$HL4`!$e)Js@^1olEEiow=tnkHPN43@AjQ$6X7|i z&0DC(c^o7tQ%|-6DEINh(+UqV-VEL848BjcF*V`FVcLzQG2y0u3OamdzIU5e({GvD z=#Q;r+c8O5MJKy!A5S_@yS6E)b8L>s`NJnppdsqC0_=HzDg^X1IT@V`-V%F(pFwq! zJpHDwZejg6?K`W}tPdPAP&_xC zaU`>}Gi5fCx^MpjXz5}yb4dRiut7MqoY?m#FvYM$2I+?>=~~E~EhPiF%p(7ji6=ce zuM`kTncJUQk8=OLj%gFxcGmwIk>YucTxWwi4=bpgpf)dI$m!?TG6K~uE35NokhckR z2Qj#yM0Vkuss?XHTC)zxoXVBvGzK0$S^sj8$@_f!P%UhMHBlAI6#=_uMl@RlEB2^g z3K=Q8t?uta3alCtd!T8wW)) zqQh&FCYE?~EU?Y0ESGVFnNPscu>cS!Abw=bfonI9V#B{?Lta0q>CE;B6xqB#>*^S= zUN;DZ8q2MiG>Uc(OFo5 zg%ruA6t;Z6v9gY%Tlkez_v(B`!q%4Z9MQqNlIEN>_(4DEoNeW6oMwwJ9y{?T>jz&s z#fJ|F372_N>6Xl{X#9~XT9ZlaaMO>_o#-_tL#f*AcG(W(ktBZ1{kxq~zk^At?a>wz~>0^cEym!k-J$QBg zhU|u0Q}@7Ta^LH~Za+wrW$v98Vv5T#@MYdSMkDmkx6KaypAW@oat|dl7|TLW zc}UDf)_xo=2E0ow=$jp6w`9==AD4lOWtl7AM^x)cc>&V~Di>Xj0r8`!VM_3&me4`W zV2v&OZwAWZbZlsgo-BWKJhR{S?#vh6mm*glW;>7%GcF$_vs@1y-G|7Xllt9!^xGPL z$0rKs<5f^xN}`gcm)fS3CmcxZ3kP$;^5>W84+J)*(fz0KC7=)4W0@4kjdBOIz2tm? zZ{u4sacVjdn+6%)dyHS>;%#qd1QQ6H$~z%4B22p@v~k7vms=-4#=~{zNW~o;1>;Zriq&a}(O$l`CH4KE&@<}J7|r457(q?)qMK1x z$40i+@5g1@3HMm-OaMP!93Wi&emV6!8_~0-exgw#?0z&->up2g_KddPoI!9r7&F!Tv#$15dxfFp|arfr|%vnvtCz1+v z_jr1~p)Pk^+*~^+y?g!rrq7JbjLf3eYdq^pv7xv|ariZIq4nxlr>FwQ7OS=K@NXUS z3UuNtd>$(Z)(yS8#bu{e7F$R4<6F$_+7ANe?#t{~f?C=f=mgFmgyo?769AVX+RkQY zpJHdG`Ybbqv94_)BQ%pcN<`<%mgy|J+EdB@$^<-aOlm5GEe^R?lP{TN!9Ct~xhEqx z8^dex;y76YHPU-7LRvw0qe)3;z6@Mcx}S&D8ZpS1XS`sZB{P=Q176qBH9GBh%~(|J zL!rtkSTOJAGZ@tP!P)GYlf2T#*t*^KjCo&hc~8`xM;utn;qv6&f2(<7gZ?xQf8iQA zcs1NtoqvE;8KSx#LerDHUDL+&0wY@HPITXqN2^3q%=Rot)zFqi!H`t73Wo7TV6MPRSwPB*kTya4e;zzEopT1bJefBUmarB>e>Ga{Yn#98f-WRf{W6(AxzJ1{ zo-F7dP6kDf?zZ2A;>`h076hN|iKd8s7xh;aMGv4Yf^+7*{`{8oN3dpuafqB=vZ@Rb z;9Lg>iD@2kMcmc(bT=(!_Zrp_UH-#Hli6OH0`oc|QP0=AXMlok2} zz4eS@@0A^v5EY3|C@@^+gnYZMw7(614vp-#LNvI~^k{PT(ioQq!K8=e-gXB4u(+}F zUd{T@_w!l#=UbO+VZlGd?RP$4D1{Z*A6#VjqEcQI*~$IxT2T;bQFXv5EaIC-QJ`}5 z1jxwQ0%qxJw~UeR_+JN|+rm^zc0>{`L?<6J{=GeKXo6FW=dpv{SLgLuVc6@~x^f94kRUp=&8-~)tP^pgd*4P(J}y!NH)`0xh( zz7;;nXg}HC;cljIKM7N!TKev_r(*kvUu65AB8xmc!_bBu+8U z_G}<2h7*SRFRX6-FV0N+oXBog^E!A*!0aB`;9%oH_%|ud89MQD3F(*H1UH}1ipS?Q z8<7i8<1~Xh5-CKz@DVJ4WAa=p-0wQ|hPiF!stB~fX7s^6w#i#E9=rPN-dcLl2-$Nk z%f*++C8mJB-n0qqOrCq0Jz536Q$Y9peH6uo;%e&aa!dAo0skA?D)*<R3F!Q)&kz zx7RVhR|#~Ajlasq2t)j;u6_S9m3a#Xl+A)?m>u0+-DY(RMHQ$$P+yb5<4QMF2-bra zNwPy$ye>r^CtCg<*jG7u8?cp8%?$LLtg9ucp6;RoM+igBuYIHqb=vF?*`#Yp%4y7x zSbjrvyA(yuNO=@+L^14!FcQ|ymn-njb)wrDpvt!ca+PQ%8#Mg z}$%BCVSB8)d^7D zbRBi`ckLeyk})qv-TLd62%0J2nrAPvaxC~hTSXOq9r{b1a_vo-3E3g*4<#$ul?=sx zhUlw$nbXT-GT|C2u>zrC|EUEh^lxi_%&A?rR>R!mi*!Gc z*ZMt@Q^VU(vyJ>JCX3l#2!Jof+^ju8SXEl9&a1XPd^1qA6-KtMVNf;3D7=>`dG9a_nl(TwE&QOmL`QN06mVbkXs#Mh4n z6_m+nTc1M0=#P>I{zLGDp;zU%GW>ua@)>8Bc|`^t(dTvh`EhP3iO3joOx$b_`FkV;!)S zkMqEzK`0l*c&BriR)F4oKK60~en@ZbFnWy|Lww78TV8#5DlJT)y8{q!xaXf!s_bl5 zJ#5GLoB-s z7}*BSD}+6+uTXPEt>WJiUY{idKBv6jltzrSUCQR6A9wzUaveQ4H33d!{kZUxn5fz& zR!{2Ez!YNIc$UxCb9?wsuG!w;Hz|Y989YuP0+ zBet&(p~CluH{FGMY?&zF(i-7U%`jZ5P=Plg-Z|k(Qr%JKNz-H^D6hSNDPh%WzL~Zo zAY;XoO2Me(;a8nUm}Wzw0)`qSv9Da2(@=!yZWoUN$|mlQ>CZob(?H|l)oa#6`*ee4 zV@^ViQVBy)0u?$k4Yz`~csbmSJdl35Y>TfqtlRulB~LSU8z9^pj6d2y{L9sS7!@o- zmH{lWQo`ze*xCJXVcX;lc*~4Scc?pfo?V!D8X0w(8BCePdQnSrH=w*eJZ0qQ&-rr;$3-=p3Gk*>>;!nH zbNPqDU$&#MZCIe)BwP!?5dQ);t`#{>d|D>^O0;m9E^K!j@AnpJD)!Q>CT$g~WM$J& zc;ACmxhwotCe#_{XB|KPN3=!O7EHVZ8-#UaXHj0?VI`+!`JxcqoP+~xZf%f#yS zLSgetj`2M3<-t$3QN3@_r4!(LkxFvDeTts4b2AW9WVO_N){&K;Bq$LZJZ@*SMjf5^ z3p{Ir{k%T(?|eN}zRDR05jH)bxoG92k3z0*cCorA`ao6NSY^WI1>-#~uMJT$dZmx~ zgzQ++PV59I5|`O}X5hctbaV^xOEbNIal2=AB>^`K`QHo*j0x|XS7N=-4xr!7vKz|S|DI*IIYOrK|piL|f#;6%NP zUI8I%0P)Ri!>!K1y$5XSA4-g+PGtYwpSav?lG~41nSJoROheGOk_A0l(isSL4(jp9 z6ElG};`UKE42}rP5~%+{lfNNjSBuB^UB6Pn@vy)f22q_PJb%4`p3iBMAMKRS6&aqg zFX!0f`OtfDj|rbWldUXYWCb;h1C9%~duur?l16R!=LtSk7MA}MZF#=@XJOQnsOW1< zPo>Bcn>1Tf+56D}Qw*EAZr=6GHk1%ScTM*wfzTzn8PiD-zl1NI*9~XKiCAh62Hi8i zA#duHFi)MJMUZFl%Zm@LILH}!D7)o_Y&$D|)Gp>b1snm`-&X>Am(?cORtI}Jtrys$ z_v4a}v$V`29tAwu`AX^Rkv7o*qnQGEnUj^@I0Lxw@lxp~bV4ZEm-Mo27ete<3Ij(4 z4k3t<3dFYizw^0_=h}<&FQ^^l*n`sdiEKL^u~uFMfm^TK0noMDT}p({5JiT2+i+Y2=8U6gM#L#vW* zL{?G6k==oRXr}2hhb`~f;duLPzCQ$Vd1kT@{Qx0N=6d6ON@$1@ChYX{Fe+t_pn+VkGXa`Czfp@Du7K{gXV`a>>$vPGw0! zoc%WQ&CP6Eji_P?lj66I5{qJo3nEeG{s_?1j@upGAec}{l6 zjb5LfTgUo)%XvN%x8`S7JPnj}3Kpzuc(a1y+A`xa$mpf!@E8?q9&;ZxZCoPBLw#jN zUyzVKzUj*1Z|F9C9)lk4(e<*8=jnUQ8(vx9BSW0Hh}ZQrOY|(EL@m25j@1;R9-#6S zCmHy&E?nPqnjhK!rv527li4Pv3;R|va(|sog`T%shA0E?Q?>gSd7fa1qmbOwfco&> zieeB18>|YFSf9CcJlot{0O3wHZ%L(aueqtyM~b-`s*gSnmqlCuT}{dUP~xhEq)$F? zt4d>U_8zr;`H2KuGU>ynAr7@DtDyBc%JR!Pf)m+gA4NQf4Oh{`#3TNk`+OmK(C?#E zSfmS+f_z9u^$g=qz~J1X%Flyw5RP76KxUbH&`lXO(?@0IGG620mEl0C+ z29quHm4k1;AP}_#FtCuv79?Zhd`x;FKN$g$Xg>&cw|}RVdr1T3qJ?-4o{L>-#10d* zm0<~pd;-AlZXJN1YkdMw_{L^$o?m?UMM-lY^lN8{bHp&<2z69UlxYB&QnXwAJ+WQ!^xG*m`k>|5i zSqrF{ z>Q`w&GAvefn5vCT#h>n`p6g0Fi?r5skE}i(j*aveoa(%|<9lZL#y3(><0_Ky?a^Va zUa|jQp)dF&Z!07*{Fl>?_`4vo;M_2?;OhqNM5-E->~~}VDqPz@=$TeRXDF@>*5_#u^fasImruZyK#J8<<)pOS z?E}ow!#kf*VTgxz>>|6xvkt)A>i^2n_iy(EKNruCIZneEo3`X z6F}I}?znp`Y<=;Fszrak1;tnY1R?QVSZ;W0SM;!&a8^hoqosOl`>yNMh89?)I#*5? zB>(8`571Vwn6iAUN1}1Yv4vvsvzkCoY1^$Q_9>gAlcCH$3Oa1K>poMzw<~sv)a##d zj^Dk&HI5aBxewUJZjz|WV1AVG)=xZMzWGzQ`qHU1L12n${>xZA%oTOHEdz3ib@a1q zfImw0!p)fa`5}97y4R*t+u)lO4eK`r#qp0N55vw&*xU^rA1N*K;4}4Dx)ly4phUjL z4p)oPo2ojuj{2LE9a?63vWi|iA4nJfBr8oF{zEeUy<8JQc+wkaJ6#O@B`a(=n> zH^GJ&+ZS+9+#Q&YOi71Fx`AmvI;msymYZ0ZfY-K8X5!0Rsi}H&N8?NQmCO?*+@Y8E zh~9{+Udbw@En#FjZn>SkXK=;aWbaV+(K$F`JRvc!o4~eaYl|k?{EEv8t#raAREOff&Y50FPZ#vY%FN77w+~N4_B__W?Q_?XO|1?j8a@Qh^4Q*gF*_ z&Gawdz)E8ncDLO1%I6tA-#~ifrk2dsF9J*|2|h=i8S=fDFF1fw=b99I9wA#B%JDu5 zHks`J4|isH(NAJIWDZ->=@(jTF=Rq8+zTA_fp7@#%VWVn3%-%9)Mi7xFH}R#KMVT3 zNnS{3Gf-F08V$}C$oZD#8Tnf}+T0wRF1#Ab!n%SZ3SE5pyb^yZH2Yn#+z#Q}GaZem z@y;Wu@;!SsyiW(RkD74|>1?Qwgsr{^#Pc9>jCcvOGhTha@h+k`c^Fmp$w)21(| zu9o#4PCOTQ)Zvb!6fTmZX*B&#IiT=cc}8Y8PaW+bf6 z$Qhgb`;9xafnt+%E=)q}JheR7Mk>fX=2fgZbvsI|muYsk1|y1h8>8117FbCT$f}%| zBv@|nU~FW7b8+YS>o=r4-2o-{~L<%k&{QRgG*f5nauBw3N)3+C< zC5q+Y&|n)|C4J~HA0e*+e@v#`(aHf~)4WqfQNhR8o1y^|pyVauY-w{_v#|B2eWu9n zuq5~uOMJ&*a@12I8}1n^)uCbJOROzX?-K<6eLmah`iH)W`j}3LBY$d{FiQm`yH^Bw z=XIOboq~#OxqLBcFCZ?*)C7Bg2AU{{Y3?zY%Aym*=XmW3k6Wp;#9sN$)@1R#eALMb zn`(>Am`JB&1uV30F@pWT*mtR6ad6%r2?j^C%eB51%edSLe%-t&wcT<%zL`ral%Dr| zEcI+gO-vAdIVOhE?xx;0=VBX<%>u!0^1!E4H$1Iy9OU+cFfO4#-!JElYLeE)+R-J3 zt}?|I8Q19V3z+9u!^1dZ^orc6-sdfEw7}71&d8e#guv#+RU(m$ZP`c~LrW?Tk-=G% z;MUcSFdSz^1af#E<&5Y8Kll|?t@zoEDu56FVG*>pE@^2+hBoQ~fNEoJ?AeQx%GMI7 zIgDt9`3FA!?r#TQd47et3m5kwW8+?5+<*KpqVO}#juq=26xVm^?9J?MQ}Ni~ITQ1` z&RHuZed8VnaB?^}(5xj?HF~I-)a@(#3lk5Sgj)_g`NQ;g(nR4ez^&+|7r$j>9H4Yr z*9OAR-agnT4_y_p96AB=%N^oT>ZA=vG33#Et4-C?|3SY%99qyF4_zMdN_hDhEWI8v zZwqrq{3}u4?v}R_wTK|k{0j}AQY^o+FHAMhbsUl!)=t!y6;M_lLecS8gOkHJg-&#P z%Q}MmXRdX?Faa657)1$C-*G!?wj80d*!~Io7Newieqr15L)%h!adSnLFLMW%oGuI_ z&3fe)r}E@(&u01YodUn%D=T;-$c<$6@Q(Ulvr-6#A`*g5Fiyf zi&f_}Lk>r3%KSn-c%bQSgvX#w;xh(&MwlNk**kDl`B1vi=Vk$S9F>GSfa5-4?yZ7Q zT7ftlU9>X6wI|lf=lLT)poYvppef55CEQ~RuS5VaH z`B9>vl=KXqvwb@q#%)ZN zUNE}iC3lyWH~L_UgtOlvy!z31bOb4Y>3WVxY^M>lTl2sXvvQq??E%19j9KdUI(C0c zl+~}#c)#II(XUz1{rL2dp#>gQ?XZ`$7X$NGjAHq|y9f>`hW|dmdm|7}RiIGzUhBzh z!|ST*Z(0%K;9)>BHkl7K==uw%-5OZ&EdcXN4}TgrK7#v;7%=raS=(Ge-7XBONMA7W zv;&Tu8z=|wZ*JP(wr?cd!{VUWb>Z80Q5f!Ua}#tU4EI8g;F?OCP=+Owa!=}Vy(e*g zTG2<7D~EiE`;XaW8O;1WRxE~(9ql#boLXEp#LH|4{R3?2R);SNuNn}zd;O4A9d$u?u`Q1K6@#(P> zKJwmQ!g;dW-2{radoelJwQJcHh378t+z*rfSkgb}-$}5QC!O;cwmPWjv+6f$NeQGV zP5HZS0~?aiqXuj!mVO;Bp=uslC5QP}oaBxvXjt-FGSoB^Ip8JJI5tT%d|c>+UVDdJ zw=UpsI}ji@Eu2lnIazcs_!RGgR(+8`ER9n7-C#%Ouh%@*VKxhJ6{)6~P5xHFF`<%W z#_e(XbDaW@x`@m3xA=3exLlRDN6XJX*h)~#jriphYPoKC@BFD-(N*_9+Xgk?j5+yx zA;WNj*4ifQNrP6d)+4WUd|t(Ei4%#p6J=9nzzvQC`oBNDlOKsxA}FYrf&`sNB8c@{ z#B;CDeS2WqK!2+OK$?s!!yGma7Y69L>5}Y`o6}5AiPO6^KnwQzWo$;$K6 zLD_5J3ENP_7fth*>TQs|9{F6#Zv1^F*3Zv>NNZ%Uj`V8Y;*xu$qQIMo=OblOfaE2Q z0ZS4|bZhP?UgG;b?WQ-!FBe*t-HBu-4t7@yCO-EXql<}i1?dHMQcWdO+^E|NL7}0n zJcvWdg*Xx48cjN>FcCpdf|BIqV{=LFFx8pwIc!|fZLKyJ_3aOM;c%Y#QJ-g(d>+X< z(L>S@(Jxn8pupOD>dV~6q898DG4(+G->qG+U*&I8>mpRnPP+zw5J-i_I6twp=NQ^s z9dg5ebdcYwP=Y^|WNJ~hR&A9A6zsUDU}4WQ&4#A~NV>wFwh2ndemMpt7j#t{vq?$f zb*O^fyktv(8c_pjk60a37Zch=E!75Cdo2;3)~SPK5#EyKPta%)bw@{?C>5mR3tk=oofCy+Fto15D= zIGoG^KB4j#RkA4qIM>w4>r5xrlE~fM))9Th%r%6BU7>nL0V{1d6wdNI{c_KD^rMVu zpTawZx3T2O_YMPW8DUoM-ng6XEErR|uvlE%twvz)b%2)+x*G``;bXFQLt&au{MbI1 zu$LpleNf)D^#=!6J+P#Q^~~gaEO~I}&=b5AQjNy`>zZ%(GbaAN0dq_faj?|icK;N3 zpXR{5D(Wgb+Roe_D>T;7`8^lT>BQZ8jg^rN;U?v%4Z|-b!O4@?)G()wX#o_UX!j`|yBq%Uv1Am6Ej2If7YBTB%x9jVABUALE<+(auQhTE?)!RQx3uCI& zt>Auc<h_84A6ETMoO$Au=f91Gl@*U)fm=0^}3~?;&H#tjG1R znYPablw@5mITtN4)+1#%;q6|m?pc1NGQ#Mt%&H(_0R( zANCW6?#5O^=t<2VsXF z>E|1-fcd^=sf$%XP24-C!w0iWGQ5P(15gwU8E$V!d{x6=k_WlZsgQpDdD^+AxG<(xbu&qD71M@2Fod(f$-`TeCN;CRMPXP`A zH~@9&1UVu?51--R-(FKq|t}~Q;p}EHziMiNL$+<|MQ&ML-*^s z!L-I#MD@S@(^{q?g!FIldNEGv7f~J4E|^<+KJX$YN*t@zc*t!+`2w7>!>}FVb#Z8) zb$g(Yzy}78kSB7bt%U??W$NN`BMD@q$g>8HVqdHjfb#Pc6)cLuvKSX@)(qfo;2p>a&_DLqRi)uxnB9OCA74lZw|gN73EUK?PtP%Z^Hq<$awTcD%;h0d%}|x2 zZF+}ng@VayrLXfcGV)PFh6|tesTO63S%7|3@3uf~KBf8ZeqG=N4u!o};H3><;0h8r zIrt4Ov9Rn>Ae{k=SJd7_Z3)Zyn;ESP8baidZL|_86l}2HQ|Vk!f~Vqs}$nBt~is%fEdHW=&o3kXlG0%QfGdwbjp@0 zrdqAovOM1%6&PepiLlYav7T9S;+5{INe<+8LGYDtl~D{fB#v~Cdlml+BWOq2Hb5ED z+dR)lZ)YU9T0xi+(eWXW|8JWS$b61o=276!O#okqa`zZMuflUZAUpL4AfyH2!XkPW z@FD*n@ek`GY@vEIknzbtGPL1j^&^79J|pDlZ_@N#+`GrC6OA&OvFd(tFLzZB?UA)31|+COIv8N)-Db5Lwe`?+OE6V3cdmE ziOnvIPgEUg1vCs5S5W7~!m>&X9`1z;H(x}B zu;1{qXA09Pg;}veHJb@g%M}?0G^f|OD%wE8VRcDdw%ORVDU2DCAw&4ElrFmnNrGQ_ z^LQL~uGFrT%del@O|`;%3lj4m`z29Ul}eY^_(V+y)+HiL`9!q@TK@1R6R#Z?|0EWV z*6c_$KR;MKJUBShnro0iIN|ofl1$OtPiPa4%*Q_ryyf`DHc!NX7zRF#)7TD^-FQ~S ze52CQrg>33GAr7zX>KTN&})$&A*>O;-8IaFIpy*~Vi2%qKg0rk>RBc`prIz=fg%be zb?B<*kq8mnFM8SaHbmB3tq@&LndON!d6m5Xd zyCITXad#(rdsr57e|@%2JHQ|?&RO*$TNUSKbFkzNNOc_Na(>%49yN+p_AWo}vkXl!@(Q`YOjjVa_)%Qb@-omJF){LjXpv(ANb(w2iafy-@;w2|UOg2% z$`IEc6oK!85a*LcL5Ano&#e~dD)xhC1uo;*9v|)ZZ?GvZUC9%RKR zQ7Ih0qd0QKH{8h1_3&(YrT(8c$MQ8n=F%A)-z+nWt!|q^={n=}@wV5`l_Zk*_nEdv zUjJnUz!ndSh)YaEs7#1xMw+#)cwC|nymU(H7RHYTlu-jCe`WewS4{YzT}tDprFRax zg+14x#!A+%3+v63DvP)EEe0`%{2IyVMt{g>;8GzX$zS15>8Q+K34(`*)t6Z9dCe0q zvhF9h_6=hKW+{cF_?_k?K5v{GmgKZo3>j~_ovPuMnNV!>^1*icCJF!h??X@Ff$qyP z5Dy4Y@Su=p_DF9YHNvp(de~D}?&%D=xycB)Xc&H^IIxOYEyT7!ij~^5uI@m|^E*wJ zOO+2R=m__*(T^o%AccmJ2SZu$>gXREv7Xzn)8mWJJQnY_E@Cj|vB)kKrut0VjDtdn zScOvDrc(+B`xfUtgfhD2&4*6cd&>dR5}GbI`kBPO-E@CRk4b`goR2{1gHER!7~*2V z29+UVpTh~oizwo(@I1sVS74(~^a-Haba#)8>nA@zdzO=et^-Xlce=_I<>zcUGc6h% zfUnb%1)`-hU}!>h%=iuRu&tp1&-^*=a3~!8*^py=ML6hqpOJM|oleG|F2G88K`6aM zjFp;l?XRVm5wrG%Eoep5tQ42+_L%jnOU=0$#kf;wXU)kLYVnE`A?&~~;eWHV!1MT6 z6HM0l{16K!dqz9`ek{{_0z&9}WK(fkg&$e;nC~;u!@wz$-qmMctzR@L8^F6A7E>)b z=w+{wobp^I_tPEiyJ$C{5o#I{bpFGrSv9YKhSoRQ6>NnfMbgkB?m$tXW9~li(&uAD zyA4J;&k%R%N#CkS5;*2-Ttl#^z<))S14(x9{(B%4R17dsxU~+tPX7leIHF-IB+ofAD-9Jcw+!dM_W_@p zGRXcR{z9g%btMH29OSzKgrI>_duirzL@<){IcXUNL&2}lzL?4^oO4ST6!uo$)gY2e zlWh6|LN~fyUFIHcz9}f1jd83HxOr28vQ-0RlH|Esa8ay{)f!U_GO?XVSxkMmdB6)k zt@G}NrsyffNoilv_PaQDI(gohtz4R=9>q@E`+GTi6M$N>_NKde?G+Uwr`Qy*(r52c z%F!MU$2IE;&s-!|GcO{_owx03_34LNfQSkL*at0}&mKYxVuj?}j56}7u0QLTiC@>zvetC&gN^YCIa1cu<>3(p{RFN(G66+8pN__(2Co9|i~!~D%K zR`yUwyq`#w8j5rG3Pytn)G4_C^hwc3X$AujfxmC056IZB>+BeKKsN5})?Mt<&5+r> z?_+7M(ELlDdJsuMB@F?4grK4Wax8{#^M(H|m+J>D=|d`!^bKJDNOQ!6+N!2V^|j$g zt&2gb0zXv096uBu%5Zl`5L{PD_z zivGN6{(O?hLvDQl!ZN3mSy8V5#!Sl#L(mAopxh8>yFRsrCsa+t06uLQulMw4^`0xE zk&ZCW6fdMc+~4l3SlaXqaqP5>ejXd3FXhjU+5l!AaaDxF2D6g`Ng8%VdaAtzzE7r+SBtYNI#-h6ULVcW!JlwlZ)3+SF*JF47^|9Q zPr>r)whC88(>N+194PI>|8NQ`6@%mXYL`9*x}kHku-LW%vx1$mdSX3{yz7@3Aoz z3Sb&!V*EtfqAYofD)hEiom!`wGR|%}?|0DSqw`3bz7hAo!*b#;m2ERFfwE%=kQdw(bt_htiuvWGFTm#Pp)MfDbIHFS{#zH9G?5sUD zswQf3Tumy*zXOmq1wKCx(7Z9id;i+`v105iiE0@Y&*ctFtWCqG$zhpsORV9`Gdv3? zhfm-VqtTtZ+)T^V3^aO1UUHFR~xA?(llv>(wd#RsaUC$2|VGNq0w zdpxfC{ORvj8!KTMpPDRjO4WPhc+pt39 zTxZ$~(I?l}kd_LzufR7(SW*sKmOsEImOs^PdnEKOaKj4Xl_j;44Uq3C<)jT25bB*= zCVg$)p)4%BI62r%v(9Z#W4(y>Ee%YwHgwooB029IBxq^VD38@?uj$*#mo#VfPnhs2 zLjoxX{-`<5{l?AK`S_gK$^O~Vxq{LaCG%W9)s4`tnl=uR^Zpp-I;(*vK=o`HhlBmL z#?yYrMFlF*muz;_^HH?FpGGJ(t<9s?qgjt;#ifyE9z;?SVV--zYmg0gW&gV^WF}uM z`MUQK89Z+St<=JBhGZ*5t@NIngu4cpw(M9=3G_No1&2Zd}ouDGq( zhoJj`o?wT#;_Dyy_*`M%?JT}H5&9JFtD*Eab)WKGKPLZj$sk+1$^G10VV6rvH{l3U zE@kzI{#t2R_7@^(4FdRzxBczV1iHCCZ{?s`a{<<@0!@L}kLAlA<^7qu)<@;PHk3P` z@g~frFeX0#&PG>JQdFQP_=x!T7Fu~t{FA9@pd3(S#%LEVCiEo(ODFr~p4%ItaPVJu z^B)VvloT0$;22hShelOPl5B;W2nvd~^#D|&GhYUa;xlH}m>{n|V52V>!Y(*w_tUy3 zLZ{?s&&|F$QVn>8ZSU`UFy8_HaGNoph?K>`)rN#P0zybEXPI2f9UdsrS{BR?oi0h3QldDfk3VLvO_GA zxrFMet+1HbcY9b@wYi7CTy&JeIrX0KzPA}B_a4xN7`$^Kp>z+^8KRig6*@W&#cU7E zP@{SKy}jqd#lqPmC4%HMF<(;&@|}J9hx2g9+Odt9#AfB<59;qa%PlWFPnE=Oe^o17rG<+vh2GOVXwy_RZJ*f6tJ}}I*5Aba zT+vQ{?MIgENqE*?QvB+#0^?Z`YuBIXezY*LYR|4KF)4$O2gB2Q*M*M34h$7;^f5=r zRl?6|SGnH!e%c_4YJZgK$FB|MhT|NN*mZgmlm?go9$L_Bh-TfBxO z5Db4zMRV z`E_ZmC(*7XZM*@S6c!v-i>f04V2owVE($Bc!x%iQbYcZveouTzf{{Ke@z-!2Uit(f zq_BDkrRom43%Ln$q0*A=uK68nhP>za2r|~CdJ|=9erp}8nn-N>TG8v$=l1zP0z~}d z&zhy__$KghqJ8z~5c5uv;qWr$mXgo_HRAk|Yo0f``e1a@r%#n++P)ABu=mwy;ah$o z2l&VBf|yvC>%FPN!1h5wBg{DIzY);_F_m%{h`d4~@dM1Ycs(?FgT{B#da7^F(#TDq z$8;*sVAJda3kkJ@z{<#!mK3l9`U$1TSz+|7)`=uZ@gXVkUD8J5aOyp6RNgoZjT zhHK1Zh(vt5>6(-lIm`oOi&t^6lO^ARlv9se<6CM5$4Hf*95|D!h`Gmy(z(D~0Zru`|9K{2T8cqWX?La8Laekq7Im@(Ww%^zHM`G^swy075CakNe zEEF6o>gkdtYsK3YE`TNdaOV(*SanE(;&<|q}VJ!t=gUlR}VE<;6_JY|*H zF3uk4?0Bd1^I3J+SD;!!MGnLX4_?v%-f19-2&P*WPdp`gE%&_x2%i9BRvLi2@f$)! zB&S(>aU#|WMpRl_`%y`Id0H*xWJ{-(E1I8-e9>9*mC;Yah_ziA=K6k?IZww-$Z|%3 z9x)OMnxNC}XD^+-rDP^Lzwo>ODza4J*KCQQ5*;z~S{Qx2OUJZWNUta@ZZ;Y>``pTZ zVe9!FWc-AjBfrAljKJ|Qs49^Q3m^~Vd%i6=HoYRnfh-CzQ+<2ez$gI75}5rpcZ*jT z&uu|C?YBh>SUVq;D#+~`uTAe{iT5?BUt{?o`=~VyV6(rBg zu^_vH`;j?Y0??0_TqOvOt(F~*2TQ~R@T{cbe_+ai4_$Y1@18Y_gjgtzurjS8nRhxm z$w{Z}?e?RFqZIjef<#IR1_GT%@Xy17gUHi_PtT%_1*%lsxy;0r@7X!-s}ylpT~wt= zl}KYPt?#$lzpg1byVqU>S=MnJ^v+R%H(x`nXE@uMBr2b+ZFkl3OH&;kexf_Rs3qDV zTmc)lJ0|RFvD~{^^gJ`b=!bfsA~#KB>;~&_iA*#(e57bdfW=FQ79$jG0$iB{N#jls zaslt^19T}qbsV@&H|stp+m?C557fK+W<-wixhYt2Dz>(g&~vv(^MDOySAGf_w+qB| ztYD9y2_anKcJsH7`wCMkjG(8&mbR!q6a;@?JqcC)rl*4uZx19OQd^g&=yU{Vy?coy zgLEdnxR3k`dMzm$&xawD5LY~XZA_q!;i;oM3MGIl9`MEdY5;BMM7_3%a6Febx0$Gv zHW;8)+XLb%TikshmO~5mU2_WY41Ds(5k|uUxZ|YuYrf%RCV#?QKm=Ghr>6k3BX<l{av#8dvcHQN-wp>h9h6T})gxN=v#;M=p1t`QRlewM7eYyV^gUnJ?H_%sjqu zy~4L!a7+24znDGHU$v8R5+T8?oX&ajE#6W-E9l+Oyrl(HpLlrIQBSd=k4N0Et_A}l z9`&v|l4F+i$aYj0_dQwY*S&KIDVQEr4fiO`qNO?wfVmK{gMa&On0>xtPrSepD9X!( zjQT6dO;9YR3QvrW4_i3rNt*UsR&FFmZNRyOgJ-9K8hJp5`8CPFc>4AmJjd~q zXc&_vAL^vmVNTggBIq!}whIz>@^L|##S|AbYwSSlO6|dU*CU?gX3OCx+NF)`8ns2{ ziaR%(U-nlV`~kZB;WbgXkL9ad44|53T7X*1_``gH@j^{OY(bm4jQbGCRWs(VYvh7= zCh~+wJM=jI%IrlVs{UbVhLxDnjs|{9-ayv;9%gpyx-W|NQ(O<3M+wMsK`JC2wOtl) zjr7gj|Enndhy_{M$5Dk3s%kpy zGg1t{#k5Ll640*@@QCv(f~g-`R{wk&Kri|BA$*U=+1Z1+(tx*3eE;g1lj z*R5x|!s?;LL>coH-p7`%=xE{>J$j4o^wH~wxy~i&* z_a0;3irTp-ObW@5F_-{Jk6Md9A0gN+77VuVpMtvg;DTWobu-)`{@=`BC_e}qe%W#> zePU6AS!5?7;0O6u@@Ycp!;cc}$9`88_G{}ZGFbjTGW<3SpkZV)vS;9YaWg~a(gj}P zsuS)2HT(Uq{i#q(Hb4?mcy7FGv%#jw&~=-K_Uoc6k9XCW&$3>f^d%VqVZ4~e-|Cs= zabZsH$uXl)5x)qPtAT8*1yR1po9-I$R)qog@Ph~bi$#B3wuLx8s z(71Hl>B~t8o=B1J(F#UCvGMo!VOCzfLXLy4$h&E?%H~%qJ5i>lJA%^JmKO$Dv6i=X zbK>#+Hv-iXzU&!WZNB&mHc_D?a|jR`q4D|-?dqj44BOa!ndPasoE1Sh*HZScs6NvO zu-S=X5>zl`hd)v5E`_ns}aZ73dARLe}{$p>cD9Gj6>Yf}58`S>a3vuAsr9t=;c~c{DCKgKZ7(%8KmwMju#wXx@RCo6Pg z>FJ(aPDtEucKhjfYP9m#rCCnp9{AH0Ud2*!{xx5;v`~943;cG6W8VAQb#To)=LgT% zZ+O>=iJr|US55zFkiGcUaX%d+Pv2CG7Z9oS^Z4Vi%ya-I$k}=Jq9?rq^MIEW$>D&h ztP=?<_1YuZ$y1lQq>=ygU}U|*XeC64aBT5XB>Q3&zODPGk_mI(T8Q}u;*FQ7>ORlc zTeN^c+_mzyUqjYeUX4J@l@U3pE%ovnC*1m}8!e)NV1nV0^s2)JSI+#4@|;JSyC7+v zFZ8wpppbgKO+o+sH|V%6<9C$8PZcA$FN@KKWhGVya{1PnRdFe|4a5kpg1diWZ>lFj zpSxAxWqr4N#NuLU>?&6W5HvO20{_31*F&^rXskEcPa2kE)+Yw*)<<$)>VRdxQH!JK z8Sdb4lQE7b^_vwNP1K<>Pvq^*LYAq0>Vv;%+-n|Rq3BCg@%0^rT+vyYJc;eaVmcrf zXM`D!F<>K=X-LV8hrbN4&(YS;5%^Gp{rgp;6;b{2rMq3~O}(_}j9{bf$B3?zQc2Nz zWP4;#wg;}8W@m50GdIcDf@wMXyKs#!E#|5vpdU;bs8XB(LJ(O$nm;4_s2Gv{rYMiS z-8t8O#ybZbJqQJ7;O{_dnASXtDPA2CBOF1 z(w>(5!^TAW{Ux;^KbC}{T2~$E@TGaZ!WQ?XrT8H8R{n$6(q_|9$ zG`6YM2~EArs7$Np-xP#KA*Ic(B{I*>+U`zzl?vmdg~1a$=#ydo?`XcePnFR@8Ae;V zD!wBfm>*P%;w{$hfrQrOYZcs#@e*7xbe-JpK>%yL)kt#aw{oGLV0lr!Udtq`HI3%8 zdyO2jtehN5`im9jcXioq>*s=cpmDs#JuhmNuGp-H*5)#gD`WZ$@3{Y;A)Zszt45qF z1FBMDE^BeoOy2h*B_LJMYtxh3Tp;;dn9{*uTt<%Vf5-{y|0O3V#e1M+iy;dVqmNg*Ul`=(c(c#EKJ6|!l}FL}2M zo^t$MVOl?z6jM$G<)%6YUz$V!7lz*y;g88M_4P(R4d5tXoeT>JwJFd$Ty0X&#oyyI z|5L50tLz}Z5_b_tzKAqM)ia}E%;!lsrH_AloN(=7NuW_2d55pb@F%*~O$~YYgVL?o zS%fT~DPeJzIw=r(=-|Bv4A@&qC7H)=*G%en*(YF__v>J;-8oh-O~COIA;p2zFPCBG z(S$b&e|yZkgWfUIr_Z7Pi%n!<)fT=S%&=f39cjlHT$ffj6fG10 z(9Vci3Bj{An^O2{X3eIwOxRWETl^+A3twS$`Oba3F{TF5c=*#SmprHUz+g_mxl0C$ zaMru~`XQT)(i(bWU?$*bbF*oMd9bBrpR7J9we6f6GrC;U>;K&b53q?H6Z^pE%w;4& zUVcp{6t`|8OF>c~aFoUNa0 zW9SDeY+=)Ybr^Ye#i_4-$w^XvGt=7w_x^X3K+-jnnY|txtig+V>O@v)Q^Aiv5XHgI zJ>YEQ-eUe3n1El{&28)+ea_=tbZis%EZtB6%Rv7KcCibfDHLcX##lvZclJj;L~&?k zIEt;pChzG}{#AJ^e}mqvbqKQDR8hTueeK3~+g{#99@U>g8^9>? zZ1$UP5?*&kqr&`v*<)AtVnQI40zpiOOQl%Q+6qB7YkxZuKxsKb_XtWb2rPWdeU@}D zKY(zm`-XmdUDtHi5WHh-%Nb^Cy0Lkl6 zH_uw$4xv`N3@+5}k_Wzy!9GNqs8*u7k*ygj(1kf5$66#fYYvJ6pysb zG)r&r$QYj{whYNq;`l-u>rXH(A#(TXplz5&8l`hp1Vn|Un_W~&Qbnb^OG-Kxq&pO87DU0IyO&;iMU?K8 z-X#~dKD@u@eUIn8?|=5#f9E&XHFKWl%rz78{pdJiS_>qvPE;}6JnHV2u$7H`e>6iy~}cC*q84_m+sg?aYBS=C9!6{xw)Kl| z4|(1(qFHqBk&B7%2at9-AmnxAHZ)4T=D9#Q)B2sw7R6t89<6`vKB-6j@*!g+Izi>5 zmA=`$AE}Kedijt;-sPZ6jrC)<)*j>}Vq0=62joNi-qzdvSc~TipLoriqW96eVi(zL zIf9SyhI*xE4MB~UJ$_ctjH?Sp_FqEsQHW?&D;>TmsFgb>#gH+|<+l8D(7ZbR3w!R| zj2rDNqVD=@f+fnMnx-0=!0`eL#+M4`MK-S}ulLp+QM;go;gb{cJzhNhB9hyD?z&?E z*s?6=>0pxBh@HL5T`!7w7uslX8VPR|5_J zRo^S$7&dg(?!j;i?cK_Ym}5%V$;!rgXq@T0!!eOl&Cn2r7dbO)>z5fy_GPt;Y^CGmB&{L@5|Uu2*?1SmxD<^kEGTN@L9)D@R=mbWGALvO zUtMv5S8>1^TEz4mcwWC2oOlt6c(Mf95GqjwKejerEubfmC=5S4T9~0fNJ~r(;ENUO z9*7U$V50+Ff1H$odREUL_H1JBS@seC&QWKd+0_^ZWQTHtV$;BFfGKUSlKl@rm>+MR z{&E*bm9;l``l`3IGIV!s7>YkmgCFC9r&yNng%DhC2TG@nIHon@4MOPiGCFpgT#Xpt zQP5S?nQeE4)LHM+eZJRC$)VgF8J05_Zm@%VAMLqO+B9~V}wYYYIb z!)M=aWp%)v1q0xQZaO39XPbX38Klmf*T;Gs58ew`K!Kjqio6-pmV z`=jXN+5V!n7C%yXstC7XQuUa1VKSIh52}(&s024q^@s0^6SDEA1Vkr+w(QkpRKSqK zREttUejqx>-cQJwf$Z6vb~Bee?dI97rbn;Fb247;YSulTBwCM}Z2V`S;sp@0iT4Bz zeU`#be5a`YNg6d*J zc6|~pe8w!4s7B397JuVgVSJ17Lg5$vbA5+HJIvMA4K!h^@m%QHS7UEC40;lqA{Ka9 zehRw8Udo1y)t)Ub<0iwV^zgli3=1r&6StX(JR02>DT^e9T`=|!jx0y(fB%+xYa=d^ zjnv33d89g#B$o(5+X>Ia4&oTC@RCD*Oz9jGJDymV6>Yk3#5FZ^@6EpP8N;J%Sz{RB zwLHR4FcL+udCU!g+lDm;E*@fk&Yu~doyS_-m<%DGTw>Z$AENK2us=97avM98JF6)V zIHjYkrzAZo@neuVA1Q{s)1{3e>Fu20ORvfdp+CE;1N|FJVJD&Xx!U6kN3oxS95V_ zAzd$&IPSSFD4L8M^80ea2|N}J4n{-(!m-S0<#P;nt4K9HUC?M#*K@V(3CEIi3>;~#u$uJ>l+@;7j(+wI-pqg&Nd&tNmi zAm7l9GKG%NlBH9xA&S}~3AQDS;A_3UzLqb zZCfLujqr6WucQ0ey==E!@|Fnb(s`EV!)iy`&jzGZm&R7ds_Zar!jpOn!mwQ2*yg9| z&6Bn!ttQC9mhNIc?1|SAy=~10GD>$&WIH@Eb8iTovrL~-mS%ntdX8qfbZLVfWG<{# zjl(emY0y=@3U$fA;dGEtMe9tnSNtc}Z|@CdeD@O6UjeZdDLX?xwqio#bdUk9Bl%;* z1dR5m5&O;}5Ibb?e(Bj*??v`IEib10V&B`k6u|@7*IV*vne_+$%| zKh_0yJ)Otm3+)MR>uG4vbtE2f_{?`JfUpE~Wxr}$9E}3QY;62+_`&|=uG-1FqxG@a zKVy}ap^$1gY)v(iD3{N&oUNzkK@hzPwu15lMge)l%%ifbmwZgyS#ftU^Q#Swt9RBq zT#91v&LiWu)2Qbh(?BBgoqbuK_aAd-z3H6xKYkQ-=Tp@v(k;K$G&diAz`U`XG(Jn< za}4JH`ump%dGd`=)w=vU z9cfp=&kH!%UZPgwJ6;Knn6(*F6f73a5h~^(>erg-#Lq5pfgp|0kRt`&_6K4G7M2A3 z2yl3%U`Zwm+d8=fCf(oOTz}E6bA|#EzFN!?wwuy3I9t6|=e3jbSe$E{U8#>Kkeg_` zdZBk$3l7iAYnO7n;FJxtz7k~EBv^~sD|8y-T`NXN_uHK})Pj_QTpuKD9?G7Z%UFap zfolCi?Glx4TrEOm3XMoJ51IS~CpNkb6!ij?6h~ z2?mI$M4V${%Co&SU+f(Mzu(GBL)WMM(Fk|3Q9KG@nc%n>4Wa%1EAQ@YS+S*)t}Q>s zTPu!X1(jEexRyL)VHK7g23G$}w@yz7Djn1{gc+@w`p;;xkRzD!O`0K^&Ln!xj!*yi^mf(4uv?H|Hxih6 zha}SJhAahqk3Z8T@A7Sqi7;DQ!K(imfMdDyw2nB~thV>SQ10aF#XqykY8<@R2RV?; zQlelkMH-4Z!W>KY;*C63E`X_e>^V~8*!UL-JG0y>`V9v!- zdPhYvtYC+u1(7zroCRVeK=5~{pnyIfAMnmoNFF=ujqTrkq_CsFCDPrq^JO|}D@v%ZiTe5Ea7k{aRDo*7gB&%%Q;=`pw$Al#kfQ z7KydOfVi6wD5kTH#Aa34j!fV=ecVYWzp-F=F+z@Xda$OYCkedL1G6 zu=}=J|87WE|6%7Z^5AxZd_*CU%X)jffr+MX`x1PS+@Vto+@VX5?SvuE+k>zYumjwh zA0h5M1&ri@f;tY>E4)W5p@`9k*g2Ik>^t0rRBz|kmmpcNWPNUkz#D7EA3@j964U;f zL?>j*lergd%>n1tfxvV_I9KXq$`j_tt6fx(lg=mH0lM7Pn^aI8|FFhLpQhRz2S+#e zIMEG>dG_k6ufoy`K>`A-hzR{7c<}SA^xO1x``w2qELa@Z?K1c)0F{= zp~sbwb97V-!Z$cgqHxI?hWq6n8nZdo9dp3BaG~>~KZByG`@-(cjOL_;NkaA1cNYat zP)|`8F=?xIPVKjENBV?oin0-9uKw4<`~XU1rw}Bih*r;6r^KWa*LN7JPhkIxN~t0> zkvQ)5R;yHnUsQ$Y0%msw^ZWn6;C8?-=K9U&*^A4j;sZ`!9yW*ARjs zN?PKQiv!n&v*Fptnoo1$Zwogm9kkRGb*x|dArx3YK}M$*+){(Z`e9hEjuUiHsGawj zsV73P%~|-gRI$FK^g}-3IdMm&&ZhP6_-sXqd&39xD_{e(Dkou}^77}J`%m!Ir2mtV zLA=TS*8bAwXUte%+k(MZ@RZr^FN->ht5G{g3P&tcuywYMAnbhzxDu$;u?1|0U@rhy zPWl610*9WI78Gx&TtEQ_9MbaNLm?RO6GT9lrPq(fQL@d(iRR&G5tD7q}IJ9qiAmv(Snkde*_J={b2G z`N6?<;RaskzIXIePGgZR8yu+SU~;QO%->%PwdiU z#O_YXwn*W7BX`S^XA@+8_wQk#Y3E>~_Sqn)m(_0!M}9LHzhzT*4Js0$|23=Ru8j_d z*SMLug{ug1Tw{ZVB5d?Qm0s}lx4ho*VKs>*5|Zu4aC7zNHG+f=*;oe=cJyO9ck6RG zIOXn|p39fkl#ob|5vRgm1KDYI)16v#FBR|f>JXhPk~bm@hC1ER8&~L(f}r)sT<9Bt z(0Al=aw~T#8H%IDn!#2VBCh@}&<3}MLSgvKWgBl?ZSFQy_zZ*by_$1=VX~NVi_`#` zwM130U(#Ms@S%2{keai^lk-T}CPjK}b$GFTtu8a#aQT&#%pg~1yPojbHUarvPnKuM zn`|G##o!%;M{c|+Bb|CD!K-{*R`A`*Hr&CDW{dpC0*sdV#U*ZFKZatSl!Va$hzmd^ zqjUkHq&V1fkma>qV-ClSr^S~hAD^XJ0IgDblfC*}lkS^qq<+`!1Av;&`wbR$+FC9dEkNEjD{`X;;pS)!=&+{5fj$0M5VMbPz6fs~lI=TK$7Yhp!BXeK!X4 zpGS{MPB*|Io;umz6>#TdjL^73yxiLMXH=I9T+7b#YE|IZ#t4$)G4JuG9?YCBg;d0QXU5stF||-ZDd;BfRZx$UD_jJJ0CA+AFuKInx9z7wM^$V?VYcdU5r(x zh2uz;r50nD`Y?JgpNO=@mW*BhtekC@`arTn?cpRy&2DgvOj;v6##DN<@1hSA380mE z1bjQz%wJV8j@0l9$Q*fHp+yp$TzLPn{PC?U?>>T}y1l|x2aJKj@v0Iyxu?is7(?1Aw5wDz5>j0WB(PVi22Ct`cWREnNzIEu|>&^vsM*#goF3W1f z^mKQQX$qlpOuY1p)!B1f0O%iE(nD{&tDM7()4%*{Gt#;JXP)LKpM72FCzccCqRi8i z6a$RE=+mb9#II9skfew&++_|;3Q>ANdx|M$f$PZV+>SSidyI@EbQoxTgY-Kc#0{Om zm8`Y6TS=KUQul68ZbK-)Qe|J*LPNRcLh&9%jAQ;046}N)v!#MRt$jnIX!l@bNS4JY z6WU8Qmrp9VH>00ZAC!1F^p+_gNS`DjCeB1mtLjq&P^S0F-2AsIX@qz~sF-d1UA@yx zo5&=W0FP*3W>s+wZ1f5zTW{ko0x+hcuP!31)4|<0Ajx;{v&Np> z>uAaA*$Mf3ZU2|AgNenLU!{6$GYk~qf6NspCQ?+FA7llA_qR^oF_IDF_PqlUS+U7u z3Sf^`f{ILNl6vf)-pJ=YXZwD@tFb1WV@!3H{xog*!k8|DN;ixn1DW+e3f~2XA0Sh0r|n#>?RL zAG8Ye{cA6fOuS2hzo*RDX2ODXY|Xe-n$O;<2f)UHW-jeE?nQ2GJ0R$W|L zUDe*x%6^l(pT&ey;_y{1@cp-q*TqwHfAD-x>A^4JjbxLGf|R+MPTNE70<`y|>(2J? zFG;6eAaftk-w{(JS0>D%ZKGD$F+Cuc{(&|!i&Ep-L?e0Rm5PyrDVo#I)zZK^&@Oh| zd1Gls1B&iv*c6^xsdK+{e)qd;44D4+>Z&frGEw-*%7oKA_gUl2ebmZUwNEjvC1CgA zEmw}v-s9AEI{wFrDPm`ow&hC2oCNsP-u^3JyZpO49}KPkbi?Ve5_?0vH79D+qYXS4 zK1H$coh}D16RTuk`P(ic6YP?GrPa?)HZ}qONt+<-k}gXpNalb0)Rh9%K&vhIrwSVM z%&DaGMA5BS^^4m1FHrpFK!2szl65Jh-_M$h6$393mxY2EazKTNM=g(gXXixWi3fh# z^YH$UKZ8bYeHZrCSOowMBBUCD0$GtoGyP0qX#saq(n?dJ0hp6tX>@vqum6~JJoW{bHy3jB+w}N1O!2M(uACv+VmUaW#&Co3C&5p83&={89f) zGhDwHa*BA5LJ`ac{PmC-C>0*`tD+hrvKTfEITN~#l6!^C`ZEJTM5Zk)Vj&;g`Ty6s z{U`hAQ_NG|vz*3@i&e;d@cg_W1Ql-Lv}*Uxd(&w?GyS|!B2yC>oHWYz&S}j!nPm=u~tC1*&PJnaerhlMn{;-nG>{ID&g>9Dm6SKJ0 zH_->+;-DSoZHt%$*S-fe-wAC_pT04~NZ}kNZ^`2B&r9f9JeY}G1!aLaCDz>LlSnBrT(PXGo(Zr!v9fh@bcr`-(vt-Qj81{2+4)yI2VzO zf3oJnoCvHT-i&Zh6jE5a#%x1%N0F`jLEzWk`Mbi<{Oa#e!(}H|!F~mNq5GQ-_N%pI zHugnR%P!Pt8)vA(8JQP^5bI(&ybXVvK`W>Mt-QJWW z!`jTm{(oix1OonTwl{?%!ve_bn!C6T#_!FSl8_V6g^V4sR4sd6cPMXz9!98{)v}(% z;AUgUqszRh2I-O^qxEtkTOYSWV+n zSxqoJUgdEEA$1o_Oh3_8&CNJ=tcG7;IPD&o1WDrFt$*#XLq%0*T(tC0mD5U%y=A|n z*ir(Ep@y5~A2i3w@D=p?CsF z@)mlMza*qr8~4$(@#0Z!OTVaQXUzWcyn1GnO3jzMbi0zDZ=Cg<)HNsX*Zdx8Kbp>s z0g@i25xYj8WLYNbh8}vquikT@PCdsfh2E(H*Y&L7ES1bG1m-#a^e!9+MuVF|I&>+{ z+=<%8g07}{BNm^2H-dd-w|MdMQ-jcs5wx2#u0+{vQY?Ls(FDjN-rVy_t5V3{f>p)x zhU^bRqSc^&QJ{MQrpABd+ogQ%0lsEv>|xD&My}BLpoCsW z`}PV6i}orOgQ{w$kI1NGBk<<_tn@gtcQw}5Xz~7~;r?-t!xf-LBM-au$tot&>Xw~T zy$(cFvldJ#^ye!;&h>qYGLb0#Z2WT2w--4>+2zk8V@GR7 z0sBkT;1b)SnNFB7&zD#i0j#2yP5PyI1Ewl*w>hg-5`Y<>qTH5h*)&|0AF3>dGEw6t&k z;K`kUXf}pX|EiDU5r^vV;aA zppQl=Hw-DJOCO8(v?C)*kvyZLFb}2#gq2boXPG-5MZ`-nH+#*gB0+H%f>e4RaP^sHpi!kR)9ed{KXK{gKlCk)!Xdi3=*&|jhc8C{0#?i<0f4&?@jn1yYKsxxd_ zJIs$j&+8n-_cjr2pjTer{7H}d=qqV!eZ$w-eHig_2>km$^r_zOj*M#jF)J4!@{qh2 z)YpGcDp>QuZy}++%)vf0k_*{B-SM|m!)yWX(tL6?RG=O?A z{%3o#bo6#cWxWm7lyE)zz8*G@3@y5y%k&Tn2+eK@DzMB-SEwC{u9v*~KI~+vIMW{P zV*8gbCY`UuKYBT7tv;R5AEhC@9V5Q_RzuE7ZINcDDug{+>WzjyN0KP$a?9*g=bhG*ah*Zo8#>F z&Gq4>@0py&WN#h*+t1hSZ@Tfe7riaruU(eE=4BqMP+YH+KwKx$7O45An#|?%pRQx|hpgpsILjq}T_prwG#oc@I&JU#TJpsP3)ejaK6?#Pddl>V;Iexxs z?1kqw$?QKWjC$#V4Q%Q_s>EeVE(<1>NBR^pjlIh#o>tu+kM%#^eUhwW#9MntTUSh& zlM60ceL24zdmIgb$KE7L8IK#r{D(o*ad^yW=zU@OA=7d=?9}$2+iXfb1?Tq0qzThE z!>t(d$@c8!t@&vmaMoEaPT8&6^(Vo4EXQ+nQ8z3TB3G4iGJ4X|q^U=rmzDbD%ZmB* z_W;9W5oy7S?KqqqnWAph&%oqV?^}_Ny`nGbQwS^E`E+Nf8~<3o>elr32ZVfC-&dse zSB|f6{j3vMo~>>w-Ae6xjo-tiJtO+)+xx0Nnxld^=u#{*{Ra0oTkdqiGepR?Z!k>D zyU?OjMtrHG@2?+$SF{SWDCny){Um%`D!PWpR^<$=t4`@GI^u6u63i=R=f3h}T5kP6 z>PK#P$^%k24le1SS@_t&SskiF?M7(1NR@Bb)HmFrlXp+#vz7^m?(llTKBZUhvkfPI zlofYJwXWTpRzI1M;S9YZNzy zz^7?i&bGfAL%poT;07rBSmbibYb-|5IM*TA3=~Vns^pgPn4ZUJj6q6zkaYLHda;YC z;i)VAYs<5u`T#Divw{C`s5XwmpiiG&4Ad3=oQYXiE;YpZVG8DXzEmN*HUj)7Y@%i6 zPbzI}W5NVTFi@Xn+jj-h^NKE>Az2^DN&~seRmvs^6yaR9oA26vzI?hiPpmAtMh9{P zi#bB+cTwP&;k4AAL?(eC@KzjTTaBkUT@5FZfi1yKvJOT?QHhKs3nn|2saU0S47NV69+o!s^<&aer~{p@F!}v zr1<7^TP-|7?qgZ3-H9MRE-7oQ3X>O(E?e7M1GLH&`Pguvh1Fx++5T^8{vV0!CB;0) z;w*S}pdr9)YLk0J$=3HIr+m;pOWR1@26i<-7$z@Ik)%Y3&HWI7f6Y=zHcOrK_pvq6EJ zDw|ZBtBIZoi&2o>ouyTzIGZhv?eQ-NW~U}2SX0P@1Ej8glR zHDkL$nmoQVORah0e@S|O%~#JL_6w;CG1lhVMzgID$XBUZh%l zS^v^68}j*ySz`RMfqB`BwbN z4h}nxxK1M1xx#INL2m`|+pbE@x)+DsluWM!2Qd?E7e zPGZOjX+FvjQ>SpkS)c1iEog3%&={Xm$iPqaH7UGO&)}lK+Ix+*6RMi=pQcAf1ie}@ zkA44o+C4TR;92sQhLZWsM@3|2a{3?<&9{@FcyAK6T~lVEgX!>3H#vmgtgSTE>1{H% zRF=fK&T zvIlpi^|k$&E&;s1dL_!+ZKl{36BIZnw~|+@m=56fpj3`K&Fdw3O|=S;yzyf@~6(@#g8f zC#_|Q=wfz+YFOCt>Z+uHolOj(D6%taFJ^a4ZZ}B#Y9CDJmg(A*7yYV4H*{P=PRLu= z#dU~3!~1+BoatRzAqTvfp0CbdBlz_UySumRe`44OhlhHpdJ8z;mQ(q>@;u^}teRB9 z-VT^JveRE!p;okwuEa;9YH*}Q>Hb-!Q!G7O^zWP(3*2tDg%!ElYJHjt6?8mYe&HGLRk4}0!o1?ccAK7e_`f1uX5L#J5*Z|SIa zrL38iap!L0baipaul3V`cz1$Z{sVD%llWbcw`gBrl3~bplo04)UrgPi+T_gxocl8s z_6n}8CS8JpL#H!+Dmr55ohAG=+3Wl*B0&M5t;gk#7bRqA+-55;DdpmzJS!h;`;Us7 zjYC|963{35FO>jorDJzF4~Su9nzw4zN9=B|G4JVo`0Qrm{5I`*Y=)QTNJrioIJ8<) zl6*f2_uKH8O1g%%BmZIf3XN5PDf1LRSqVNSVS1UH4pe=3e@kb6v)V~9YnXTmiCnn7 z+_t>R!o!Dcx8D~4V)?}1v+fok9?iJofL~A!X1u}`hyGESP-qcom)z+|OEr++V z{3YGmtST8N20^mx4hDAp3S4#w5_xR310pbzhX#)OR``7%89(mvM#hBvCsEl@{QO?h z=Snb~!6~Mp@)&xITT;raxq7!PXzBuNw=K4%>H*I{v?*f#=R?Ksr*Wl;MOOJ@{v+d5 zeozKE_BRLBwY+ap#re1{1;s`9y+sN{|5n1mPAkjsKz49L7E#qb{Ab#tQa*22nZB-r z)qi4kTX(BR!pcGrjxJ2!TVGbc?(l-riG8xv!&^){zjeAySGdHQ^e!Vc>SWcasK-X6 z3=D@^Q41o)I+1rHee-$~pFSS;!#i+Z#V%pop~Qfc=L+T8cMlTe_7!t}R9YXZLCOY5 z^&Ve79E6An&LNeP^k&-FJ^+U6WDICMK3)%c^`H1XM*Cy@6#CdN0lub_J0&tM$j#@M zXXA%gGGuQelvy{`eFpD4S_E7g1nL!r@)MoclFwJMF9f~No+r#v9@trSY+Kap5`qR? z*BpO@A3gwk2*KKQ0Uc_;Ds3B7G z*N>)R`)y1A4M#;u_nGv*f03@--4;Q7z2`@W&nI)Lv@_zT`%^ZT`=L;}Ya%82D>L?o zRYN#kpJAb>+b2q}bFtRz$3fCu;ZX*2)x?lPhc%^n*_I;WnP2SXO7Vb>R>+I<#by^s zMO8>}Ep#Hr8w$+$D|3Hdq$hv(P3OAaN@IS%v2pi>Eb~4e+<0NA2Fpg~oK6Cg;@7iYu<&Cq{6@l`csNP{3WmgXFy3 z68>Wn_ei=pfPiF{mdASIcxBo6ZTEx<7=T6nW(Si(IE?!i>R?rB_VomE~7e~y7 ze45-JPV=MF)48=$8oK(D!p17`ef2oW<1@DK$?fCtX`nRw3-gu<_$<*^^=2I^HEj=c2OePzRRELOb2smLc5kB`Fp4##c(5>3@tXFrfd8Tk~{jEpr*iK-Ch5t zH7%-CfcN01JSEsl$)<`&WI0|(_raOf*Zn|zKOM3xNLrcK;aS(%zhS5e#jK0&d?{d0 z?$=R%f#>8G$AItx^J=tAaCOuz#cdPd*y=*X?2ZoE8HZx{kFMEAyNJsaQPTj<8T>q1 zghP2a;Z5ISiQpAmCP{LWF8iEKCX4R@fO<|vLxXE-0dr~*Wu-~yAsw3ksQCecoH2M7 zqV@+(6wm!%mLTuyh_Ew^ioCSY5E&E<9%2$u7E%Q!RGRu*+?Yn!#D1)12R=JHGQ!?{ zzA6+t2{+$G6$IIx^#hXgCg#(B3tq1}=-ZgtVs5P-F{H9tL=VYdzw@C?Z{%j@5_b6d zAO}anzugP)p(vShaqv5RFP~xDHGy}^1xc2+PoA{Bn#C__S;v_*CsECN`9bS)KP0^j z())DjEowF=+wP&0&4t*y$du-t=X*TYVQ7u+EFJVAxUj_zC(z$QKkK&;UIQ$J4l=hY zBS&|221Yv`a%;D7UkL0h~D4Tf?YZ;jZHllylp6JKtn5H{Qwa_~N zlf734NJ95khq;cqs0~Pv+=?KZDJS-1?skOdF~m%uyE_|P5O-7#!5lT){SnQo{zI+%xr-nEQXZ?&ju2E`~K7eGG zn(c*(?ni9jpKzgghi8*j5?ae?&j(HTbFjMswoSJ6Jna<8kcQE0*4adD6QpZ#H$l5B zFd5xBGK=WPdDC@n34$v>@5?^ zR5SF=%x*8+IefpO&1hOnv?f&mj)~@RkizJ@jg5saQw+DfgOs>GG=C%cUqK6~P4S0n zLg^>|Gw_qXHX+EkJ5MIbX;R8gW_J~{!s_`VpaDqt5Sp}nqz4>@o^?!g$(NkeGwMO- zl#6oFyA~u0LW{Y_v17sg^$=dt7=Es85F4b6XKN0>L|Fx)1==`rWY}JHcntjI(bR|C z-n127)H(7F9zy;BRG$)#6iW*u3MD^tHUBrzlg?0sd6 zYwwrQn_El$nNrc%IX>8Ls>JtUnR6-+{5Fq1*@|ni|1Gah9V!jW0TfR2mz6H>&-Bjg zN$Jx4_Z<$Rm}mK!ymPZIuwcTu1-=>lnzEGPO+xH--2IxfMAud|*LP>XW{xH4S|)rn zNua#y_pk4spdZRoe0pFD3Dn;w^&?^&^^cI@D_e1a9t`X(p-KrU+^TzWr4Uzr!q23f z;B~B04D$i1(%+g^d9mC@vVP`*MI7l<$=KWPG2A)ND#V#F-hRzp)%T=A)8KR~m3HxT z@bh&hP1JH9B5=NUc~da+p-A}o@e-SWwe!inm4VPHxDUIMqnA9P^R6Cm1InwxjA2_|{c+su zS1#DHrtsk*V+!U^WmHObz2X7N2LcDQU-u7vEb1T@&Daicu|a}BmjBS`&UHw^uHU!! ztehLGkMyh06T(_WYCg1=>lkq@F^RM0$;5$@(OnXXx-aMbo^QH@& zfkt~p)<$os1jA_@!A0UwM3-u2C;u@CO^UbfzHUV{lbJW`THGGGZP#dcD063;qb}uN z$2vudbbn`lbM#ih<>T|pZ9ZJDN8&;RggzW)AQ7~yyA2wS>MD14BM3#H8HlenLX+K) zXF#R+h+5HC10)1mHj2% zd?DFj@bAgKcc`-FUkafrq#o}RG;*1bicQ*ac3x!bF#-qys!EqXYg^d_)~dX=HoEk> z4g}o-1jKXEMg{jcD6|Q=uOX=>&mwB|2D93wUj`4dF16iQtA#jPf`j|vOq}bAE;ezp zafJ^1u1oIN+$A!_&dx7@Ya=6V|8A498C7m+i(72xb-C0#4VgF&&?ObhXALW>{mQ$2 zU1CC_0rOsE_lhw0-#BowwaHD3XrQa;bn#tEd7As@=T^rp3Af9+R1Tn!(u1~w6MPqm0+w<&#_P>5jB0lzlwzX@x~|GutI2c(ohU#J$J zo1rxjWz?K7%+H#ifHI68B4>NNGwWXlG$%s%>+9aBC*5Ut#Zb5tT_U({cLVQL2?X}5 zM;B=Ed$Ss!AAKR9G7|2zy`pnvx8$&B3BJ*WV~V(HR7;GFrF*#APV)8le{!=8g(J$p z8JGJCxy@Zl%(HzGSNgaBUmYU$sucE1-Xlmh-x)J3+V6xy@*X_Yj$E{w5>?98{yqT< z6%KA27t|Y&=(*8$;X3(p^WdqJ?&O&y{?Jo3Lbac15qE;54pKGQ&9}Hkia8|mkMdjL z?Gc1-S{MCzDJ$H2kwUupyzq)K6Ui>sUG!92b-$GMy-XmFZb}~giSt;Ha~LHzAo!@? zqI~UcY~B$Y0p8lYRYQCUSb|Q+%9dQD9%$JGQ|M~fjQ{f9lu!I&Eo*B_I2s>DdvI`L znKVN+cbP^wyeB=5=KrJRJB0D37Nkpia}G~1Onfx1hzjbH&dSjv$cL1TPe?rS$eu-e zSQ~(EvD6Nxl{mas+&9`yFn=Gq^iZk5_RUtDkqGMv3KT1YPS`S@q4Y)Hp$NSZ8$eY|YDT~OJ64XUv|F@) z^M?oARKcjE?k- zhNztK#Fea+IT!Vm1zDFFjR@F9o*}oB&^lj8AY!3eaQ-S@|Am`>dDTOoV<&3&$ZzIL z{Gs+4_ltg-3(Tg>MydbyLufyIj&57FwI5mZR(j$aA3`m^ktc|cP^UtSY&`m4B4`k? zK7HP&I>ZUstWHTV>0Y7r4pu?bHu>j!YrG!2JXMrO8wRqPD`V;%&&pyaZ|+3(h)>LJp&;XeS^+Hv#=BYaS>IUHcUzgrDSe~V=;pEWxObCVcL)t==SeP; zBabr$BC-zrv;V0>i@U3mJX^uQNIa-_nfdy*j)LQx0MXC#wH~v!Ti%@?dZ-^uTS?b4 zc-NTXlv)?8m-#Rw$HiGd_WF8C+8LkGD*NJ!^r&KNIf&kY5I~Gw+Z~}79w<^2qYg$I zN(wOb$~J@_*PU#_$liS%_AvN&j=qw6sc%$ssc?30<60bhN~1;FOI)p`+rQrGn)7|X zS)@Kn=}^THF*PY4sO@SGT3^;9WS=sAg4o$Wkn|nZnm61hz_q9gNf*w!i)M%c4sfB4!28W)D*z zrVY~vlcirO9=Utc=!{1b-FQtp?A!&SK>Cc{XtlAsn@NO1_9&-BWsFc>m73MmuC*^O zH(Xc-3dv69Nt^z# zO_zeXr-()N(bJTJ-ZgKXH&RTk zG8>9U%+4Oou^z7+gl=X2lfqUOO_E;GHK~WJxo^%6=T~h;>5ViHD*(?nd;h69OOt6x?GU0HV^mlO z_EkP-=9~!-IWdTc9Hbo#4@w-}wz!f_5*(qy%CAF` zgzmR{V63tiaO$Qa+dKNtOqIMYSMm;zdg2Y;#~s}Kp!vys%TIA011JWQrYt(ovOJ97 zIZfCd+yA%g2K1BmYS-)B+Bne;<3xw=KIr+;N!ib(Nk4r~)zDNiLkCeki~Dx2b)Bgp zzZyIdPrUDCN-bf6+p^h}50a`ch)3~(OA<);q`D5VB4PyV$ zX%<$>kQKSaXcQe$MSy3+vTH*M+t6S9^2nW{=*tUJ5rZQBP9Yul0ulB*-_)l((q;@- zw4zy}@8b;i%Uik9_Hnr}@zLGJrDt+{}ZE`ZGDPpjYuC0kyilw&;$ zhH^n|4lG)(9@!itM)2$X9LeM+Zd)VMYQjaVfA#>nBaHNT3?!J<>OUHy`iF2J#+~TL zhS}Ola;D?uR9*OmN1oKcti^-#gJ%@40j2JF^}=<&mD~1pW4CDy3e(;tcm+@9C@rzZFJw8l`6Qc*M8pfx`U-R(aS#4L^qHl z@isrb2pggrx=ZYO)7z{{jvFjKIMrw3!c2r1A{-u-C(S~gK;9B15vm#g+K{K?nod%%2(L#uzPSP_q>sM|{w zqcj=IsdIIq*TWa#n?n{<0t4NN< z!8l!g+Ed}zyJ*G2{0C=r_LLj*UyB<{t5^-#b0f-DbbAFw@2(8)b+jO!J|j_(7Ianl zfVh!swQ7D%|9S!X_HzxSwtetXiu-5*X(P%c>!qR^Y->M4SMZUdQ32_r7G&~NhgJ!O zUULc6f^E{E}{Guri{yPCpe)>cef7Wv_(rra{9kE*+<6Y(^$Fk7N?H#FT#5vXR)&_o? zMjT=}>4J;c<)HW-JE+}5K^m2Cs$D@=m%|0ERKAczRWI@ssVbCQZ zMEn$6gOx~pC6A@CoLevRY1RBGlj&p~t-^Gxl%)1%G6UZih-JN54l0a;;GrCwC|Qu| zW=4SFT)Gl>o@Z3yKlvRKZCg&KU!)aq- zh+TTZV0uwa)5$|jl}b}3_pnow+pnN}NCIge&UBBG@v5Q5Pp4o(O8l0cYup!l0i%Wt z8R?o(4@IU0Q-HU_msqaM0-x`PJf3~SS9Pb?U9qqLf6?`#J?**oTzh|DA zKV9#-MbSFPU4l~)eAUE5>hQKuHhC3C=zXwH_^jrkfj-Yv@X&TNKW!qTf=>i>y=@mt zq%i+K9fWEI@afTR>oBAB1HT*v&2&_CfLTSOUySLECh3}GgPz#U{q%etX0EETVPkcl z_Gtogsckg#FsnIBK7m)-*VTgv=b6D@;BcfSK8Hi{_sbg-g9WyPN&bs?oNjrR+7~Rd9NFU^2v^n>*C}x z9gbV0r=}96?2}*LJh-XpVkLw@n){I=lcNG^7gQUSgPKgPlMYpzb$T~7mM@sdHQHsE zFX1~l-1ig`V$SfH!8lha34G3z0A2exn}WkafjMNg*!}RrM5f`b9J6j;n88bJcy#`d zGowgeMx4>W{OhCM$)=Zq{fC|VNhm2Quz;E^>DG-a1Xe&}wg`8&q70L_;)}fm$PxTd zQ+Uo%R)EkFs9NUaMtpdQY zk{2mdYIzYoF6k@tYpAA=P2g(LTY@s!OAqX**VxW5`moOM)zviL@`@MWc!(&+!V)tx zyd>eAZBf7Z=f%V19?e(h0}xj{qWY|56Bm1pR)&g6Crs`OfdaTvT+7}PEKs=_(<3wa zZvm=ZSBoI55kmg$^NL*H>&(ThU+5Aw3uK?Q$P0*9mG~$Qs@?eJ*+0Tw%ByJ5y z&kx^6)~t|MR5>9R0ApLAJ_yE5D+@h+KK?_zN<3sS^*4LKCd0uE7|`}f_SLN{j<2zI z1L)L%f*-9a6hw&@P3r%{E&$nIYm?)}GN-xjJb9P;6(r&0agL_TRo+FyHZ?3>2P%_9%yKfQ7ap=6IgUbxS_cbV#Lt|i$$%=2m9ITI=! zd4`{A(>R%GNlnY$FThM%H}j^b-0U_B0Mp2ITSNvLKx{rcqL2sv^DBr=w4Zy?tU;0~ zfPMAKwDel=9Z)Pk4Bo!@+a)2fU@-jwvtvw{uGPBHC*pJZ6Fsx%N8jdhq=hfCPFyM9 z&)aVsrmYC;0Sf%2;&M?jsZ>x2qHEzHnP%jaBT4{h>RYc_9o0Qb<+-$N+p2?Qo8x?y zakCZKoDu!Fd77TZ0>r6*{GaFt$EjutsrEV9y^1XNvMHDm5;6ux+zfh3*ow~GwG=Qp zejv2K*nC*W5Xs7IiT~9Dq`T<@4lTYh)b*JkfL836|;hhJrnjkxCjz6I+UTWF+6TWil&a3FX%_!P3L|EMHbj zMh1-TRADOAFvSix7*#*5_m{Hm&JO?%p;$!-PR7Soptiz-7|*CSy}3v3Ba0{h9 za^mZ5p-DA_PV#Uv$qq*q`0tLyhT~k($p#6sI5kXr*})9$ow3F^Oq&nYf(QBp8b6D6 zo9x;z*cO>0RWoPhvoxknYeZHAS3bGWCc9cL@b&QfxA3pbc^cKnWQo`N#A1~Ena62B ztzN|NORc84iPVxxj((!V`+g=3S*LQEI?H}`7c|WnyGB{!guPA@ofs5daKe$$SD%c17%dkMJ7Z z9!`40sEpZX}F2Y(9Q4GEl!&f|F4mm*in3I$){}67xy+B33u#_y)Pw z>cTxpDw6Z^8C_BpAsE0_*Os7LD*MSYGx%gSf~PfyUCFk;R_-fO{6$s!0Lp3Hoxern zQdVte;)2He@-Hn0xuEBD-whl^n{PjL)r(J_XX8EX{%ObJ9(N$gH(?UrJCjE*R&94J zSd13EE+2|UMSg6!aCu2euECN9rAuJatVf;qy&xRUxBV7fM|MQ4xLBoeT!9Ht%J5xQ zznCo*Sc2|VnI+*ZPO0yemk;~{cEhtmfq1vI4IK}S+Vz8cmBtg@CzJH~0m_WIZqvYF z&y#`P^l3nO7IAQ*EGuGW64g{{WyXMtZ|+DeYe6ggUOI!M)X!6tW4|vl%r^>B@G!8`1iWYxHAnO>yylB z0&ZmoOd`2l&v>BB@vM8No6|y*yZ3m4HfJd5gT5@P96`RU+3YN9!YpugP>k))?V~OHh zC%cX%1!oOk&KKJdioLwmUTE&DW!K2Ed^(+T4wD%waCEa+!UnoYZb_#yx0`ANw%-7d zP`cYZQ2f=6&fqplOf3h=M|8#G(DAW&f-T@beY}B(_rK^HilFS?cOO-!KDy}UiY~jA z(Uv#u^v3T;{bUo##jy4qJsEc zv4h?=y@e*ijn~52_pRTJDcpN_Yj@ikwYZ0)YFwH}5B3Gd9spbROhvHoJlP_`EuRqV}=Q<^J@xg&u)Q8?-*$U^ThZRU6ozMU99J2Z*iX8 zOqgS4K;I*SgR(oE_enZ$H#v0QsR>+-@h7gC}+ zqe-XxIp-*{Dnp+Z`-{X3JKL~n3}+H(!p$3w$%bPSg=gj=Zk9(Jo-t>S8kqvaWqT)esdf2k8vLt2Xan3 zg~7E0Rkgo9&?J422&}CP%5m9Icvquh6*tT=w!a_a`CJ~&tUA5)O3a-#b7N$N6TA>w z6#N}~!2?j;=d;&2Grr&exX>JM%TYu*0qEP7*`#nk!Mu^s;szMZg;bX?R>+;-ln20Y zmZbSogZDoHc0zCMdeShZ%TbXy?GrW+V=Dp2Vh3cm|=WIv$`U$wW z=dpl#OX+6mO`s&&PE|hf*jd;70*>CHIWGEWayg8SX(iEaOTtM8rRsCtt=Gq~GLef~ z8z=Zq(@}IH=!z3QckCqoNJ3KOJfBXg5%N?Qa)OV6C6HGu{CfbIS`r&Xj1H8Raa#kL zmj9U(9}cRg{}>8PpigH;mS8?*pX`yJ&XxHTukgd6%xq9 ztsgK)PWsC+0X#;80!H=jLiPOPT}ZpGaEBqFcmoDf5*Th=o5i`V1U`m}!7fIJEKIp7 z&xJam>HpSTU*y8|W+2H=)5oU9-@E9Yipai`ZToed%wBk^6Pk57ie*vS_j^Qr$d?@D zD@_rptI2KmlRmV~sdAO|-23{w_)TuV0cmoL(I#aFkgavQY&~E_QW*0uV*V^4_5=z) z2C+p8CnSJL%o|AjlI;|GjQvO#qpIf}eia={k|g8flKtf;O4 zb2L)9*+)4>MfH-$%q7{fVxK?K8LY#;x&b;2nY4WFKYU<$fg|FsOH*%*7~=*{SPp_o zb=a0-)74}t98z52#0#ih5#SWX#wo-)6}}d@dp)Vw>xs9m6t#IARwm(TPwe3~a+{~o zC(x6LjT3gMqUP)kPqS7CnsmHIc3^s~{G|Nf0YuGl4tWxe(^1lRmYOzNs*-WjGT(zw z>P0@9Cs)7^u@5N+HWeO*ZYVT;QLsOIOP(^{$LmVVkx;{EyHFlSkKSNHctxxaOorK|DF^GF}N__i+ zAGk%UOHC0m9Q!K0H|zZ=*Ej;DbcD`2p6LG; zrM&p=fy-?b4mZ(=kMrVbPQ^})`4RZHHAQuES_?((L`Kd=G5C<~Unhm=3|K~@+rbQPV8;#uX327F(9Lq)EKDyWD8&xTc8?D zXo1Rw(>BHaBk9Trg|#zaJ&2@8;N0PMp{5qM1{~#*UN7r6nGe(!^9$5QXYmc?OGC(v zf_lJOylYp=d^}x>H+PH^0Q)JOg3zuAx?bg`il_A>edd)PI9)Y;Kkojz_Na2A^& zB6?t_;6zt*%!9W6(y$Y&5lm15pUPRv+BsfEv)fKRd>NMcVtxUjo84$j@+VXhDO(@} z4b>lx|Lk3mw~^eWBAt=Q+xX^~Ym7luCGyK8Wkr@ej;!i_gOkTc5tr+kN41!{wiEo#x?koHFE)CY!K zE{Q$%?|MF6na=v`^3HFay*Q@!mnhi2JT)ut=W`Jy0xl|Q%m__^c*aqtyq!MzaQW(Iw`EScVVdR6w;byp zgl%#Wx8HOMr4(ZS=f8%K=`=@+BoJ{8L_O8Z1wV3t_CFz#PGfavV!^N=;EQRuF!Z)) z@GJf=XX*ZTmzszU0SiADP*a~2#{dlRAF6I-(H!y_OPkm$&#xI`Oon|XmBeTp#fS0f z-(jroT#{&z`KQq^uocxPUXElfc2;V6>(4HqqDIyudH0Bnus%7@v+5E+S%Z_#ZI?qq z<8Dzg%&iK>ROZeLNbQQFJll!!38d?1aVurc#iW%N>b~Ylb;5xx<{S*xarV?v=K>pX zQ0NJiE7OY?Oz?M03cTp&8Wt1VYPAg|;aMoN;^Pkk6FfTa*$FhP4AT;)h&8%=z)lFl z=HJ!qfHO@9dIv%xcRAO7{Hm%OYixk254fdsE6925Blo?xXyHWGH0=JjpIXm2<#pjh zz^HRK;P-fRN`}=?NQKt&d*^p1Ttw>ZhNexd<;xKfv%RQT$~ro!96966IDyP@zU|fu zKjEVZms+yMVcPoa;d*UZ8Bz+AKUq<~MIGtTWwPa;_%}!0RhMQsOO>20@HP+=^}kI{ zzYI&&HN(CK$Mzc-Z?e_inE>iWSV8A?B1X9t?_`%psPMIg2>{BWVE_9*_yuuuq5XV1 z=E~4tu*I&6hgUq+OI~?NUzb?^0WrZ^0S|V#o?bwieo_7Y`-wz-`Uol7?Vt&G=udEh zxRS2C`GEMRTnVVbh0pg0CgCx&Biq6jHm6UI`~$Rrf(_1xtBkP^(wa+E+`{Chq$375 z0@`byG#r}0e*3n!*z)=By0B@9@E-oJ+Ov97XtLFBlaBrYLl~mb(gGVppIeO zJ8(7%vTwFmL{lmp2J1&3*zld!)*=A8Djgd8%C}eM2CaL3KCQhHusqm`9+Hw3&Y^ew zCAs_jT5|Ao?UwB!T@C)>de&J~k(a#W$D`C?-}Ve~zE=>APD!?^>jV${s4f69H?WmT z(f8w@ik=WzsTQj<($?&!?24vWr_z3}wsAum`EEQfxUz`GvfFCE-{&Jivn#5v74IDl zXFhCMGu`u&omquU6@6v86O8>7RqOv}P=IU+4Tz+d8>YovdFBW-#g!+o;K#}dL#BUV z2P|*`jfWy*9Wj4V|pB;S+O87wtH@gsrbZo8tj7`ltuCzQTIit=RDI#0$S~S87Jv z7I6Gkc-qXo-Jm()A+f<|ALRfJlj}x{3x3(lMJ)T2s7F#iLQ~IcQtq`@at0lb1LPZ) zB_6qmZ3ejRycu+_s}93kKDAZ~M6aDRDlv-Ta-0X&78k!X(Z0X}%ib-*l4NYm9q z18LO#w=K>)UT-R523|mAWd!4_h=pj(?5Pzn0BlC}@t@Jxm4^7van3Jf_!R92hA7^v zZ#xWg#_CY5HTR!MHKmbyi+`M5d$Fbif2l;z3tw{Izd778S`ob5UUF8$r9~UFw8s3q zkO{72BDDStbe1E9{0$Pw>ZZlm=m}81nSGigKrAj1LApr*+{L^;Q%htRL1O@sx>{OHI!s6U>&1L>AjgJc0uQv_depR^KcXn4j@EY>uIfF|~$ce4U z@FMk&I*a(iF-|?f{iVwq`)`kgCd4+-17ARtdJQsWf{zId>wu0o&6V&P46kxC;c8>n;_HYCf8*w}1waI!FpnyZ zX(qEGBn&fhuZ61}jnWqyeFwg>xQrfQRFPI4UR9g>*2~CL5k7XZo#hkE)j}m2PE#P` zMOc|7tYI>Ugb+H<-O7Kad=PSx*aXZ)o{)m@Z_*Q+KgwuNfIag8cJb_yn>p2e zDfSOlAyrM3;3`7jaxMM;R0STQFaP-h&l>?ZC`7L_XACxsw3UCj_L9Zhq_B_CW4Tq1 zqHkG=7)51OO=roCW6t&Cd;g=y)Ma-fw8>OSbZT9q-7(b2 z9(pjzbqj6Fvu7&LP|`Glc@}&~_S)DJgaVH_4mID{yZ$p3BqAN=dVoYCZYm^|SO+<~ zk;+AuZd^WaUNeJNiQM#qD+Jq>vE(QB47*uosC>xtkVV{EvvPB|SgT2=_LsIu7dxz4 z9%G{hvj5IU>?yc%GfIYRx1Z8bs2{380_QsxWPBS1l$ZCnJE-q6e@S%mkz!ok^|<%7 z?wA(5YMQDUTQ65d);0+KxvM{ufQx4ZFz{1E)h7f034OzYhZ7Iy(!#cHeOTykHK~zS zX?PjyfGSP3=q7DTA;uqXOLF5-kncQqE;f%n7E51v&BX?JvH@TeWSDUQnew=cv>vx{ zQ$9cpgl6p-t8%{2YvAo%ytk2DhsmWs2hI@>A-oXnG~S;e&7Q$j1ITg*L;aM0%NmI= z`?*-Q9+IBe)scE;Km8mk1#9mw8i-q_ksRmnnXuI(<9HXyK%BE z6(#VF``1{;z{gNsAUQkI-5(>8HjjogB=h0vG;!HUK%%@z@~P$45NQaG zpfNJVuEHX@mAv<(@$Y5;(TT~=$X(L^<}>4e_>2}e$t#o%eq)#+|1=zC5?!cjG6r1n z)yn@dk-#_LTN<_Rd1`oXpVg{**~`l@{2|bYypI2ZZR|!ZGcx;h%+-1 zFM+tqNi%@q+4J}_t6;*au{*y;`9CvAayfdNia2n#)=mPPGAWjxK3<7jTnF3&0rRta zAVWcUM>+5+uak)&j4b2yL8xNwM!Q%`!m1}5GD~Bp%>G9IK&O=_=ImMn<4qHdD1EC$ zQ<*6f%qeD4)1akre+Or}H8s1xgCAq8zqvfHj!`1A z_yI-mp$B1PuUbPc&zr~vz=^q9)Ehg3R<^io?u~H(z71+in+3{EuR+LQ$N6alX9mi5 z_Uqldy*Pa_x_v2s9xbV0?}gABe<`iiDusGKD0yz56EqSP2|lWC3s6phCVe=-+x zY)`hT<8Pfp_d#CXSp^?4Yb;0+9c_ybW4N`(`&r3oN1lCckFz23I4mCj1C?3jM-&Uf zc<_UpyyhvIF;M_01OvgZW0a6!scb#p$-g^B|0B??mBfBHaUw#dc1B5iq^z!0SKzQk zot)NR?(_P*xG) zMR{!?sGmM6#5DnO2-}{ec${RpT=%zQE3uRVp_`*~78OjLFTRcX=s-_44SXs3uzLEE zs55<@b?i_2k9;D5vZDr7)!h5VcCJG?HJyW?AKl$@y~TY$9z`jGvD3ljJ)CQJpg|&~ z(_0wX!{vZyuKeJRplr#ZCwm{*%1(7&!;&f#e7}5!CmsH&`%?MIlQMC#h6{@!ld{27 zidh2H*wod&fA0e9YOy*&96?EQeyV(s^`J@Epc{FELD3nk`plX>fobTBn|tS{OU%#s z30@eJD8Q8w&tPo2i>Lv-mx*HIz*u812)x1BPwm||l|M?PxnkMlxtKW^A0eS|Hn&3X z0+2~jks;kri6wlMo31v@(*E8NejN~B@f=ADLPrV0fa|n0CFfQsddZDLgEPqi@-uUo zc}Ld)(RRFp;<)%I_sm?hdMJG%Z%$|MTF#u1o~uQW@e;KMz5c^~DGqZ{YI$lY!I1t4 zN&q}zH-mpS`fW|n0)5T#CVZ}Iz}>&^HGyQc*|bry-1B_)C_^DS>BD!5rHlAo)HqEl z>rIxMcOaBE`}1}MYA=Ub+`gE}>H4AZNq4K)!qZ!Y-5a0Y>u8jquHWc6gGH64A}Svj>RYJfQ{^VsJ~NhQ@gEsyH9UnF2|oU{Nheyd3D=`=}x{%z!& zgbuoC-WB!`)pFW% zHVvvmmj{>VxEZ^0ETuSEf;q`HKXQ~u^&tP zjh6LaU*vyhBf{TDdi@7@ozZ(-=R2vuUI8s)O!0Yol?A&<6m_%R`Kknq0yJV{F2T2i zbWW?+?AhTMT_4=id^~%8tAeW^Cu&cxMj4qrmTcPAQ;RI^QoPB^`^_eNqK|m#-tL}! zl~`bA*aYI`?5Y~YK(!C=O+nd98F!SrF+2tnn<+ghZkZBP;uGUO!e%ChLQPMCh1hp^ z>>{3cMKbK(cZpw)k16t`VaT2p0eSb?yTdL~Uaq)Nf{0(3x#=&X+sTF5z0SWd0#Q~m zF%p`}D2>BdnWdBhz2^2;?2!pWVIGqi)_eK^Xkf)^LeR^fcciXPvijv;KI3Go%2c59^!Uo;f`s&yCYp?@Oo>0H)^lW#!D7JbKp>!I}^|P%XjpG zhh{|}t0s7KQ%yGWI^sbV%a17f!dYlCYmi^b;Kfqf^4L(@vm;VFaDJ zx9JP@RfA%be&rI|i_>@UNXP2lZ{H*6t*SuIL&*yyi+G z&)jpMs;=EvxINT;U%o$Js8=xJ>78itvEGjq)7cXSpPwQQ#U%sEj1hi1#a^(fW_Pq9xP4QMvAyY?%t$(|NYk1TgQwG1L%@)sfYV+ zKRk65nN#G)J6_*tWd_eJqB0BDJ}d4?I8?S|Eu>mkS5db@nH zxENv1JKjX*ZdF!#I|><+HZ0r4tz7IHyasUZLDicwfxUD+GIkSBDl*9t%DjZgq7_-V z(Rf2b>DnYD&@(G4hNFA?{YUsYsIX?dxIeCNi$u*I;Gda&%J?RV^vXY@DRXMLuZeKs zjh_U!aE9kNd?osA)BTA!SFM^8Ux2J{rVmW5L)IZfn+HGzy?@MnKQ5@98y=O%!`abQ zOt)CcTsN+Jy7#j@{lN5PzQfroM@Os{(&ukx;_`TUfO}%} zY!ZGu8V~snHwL>^12qfXB}O-IpNXA=obryLxtkZ3@rMvh42JAI6aDqJFY>=4WSJCJ zA>&;0Z<5ALuwuxz+%szZwc30`?OzyS9hu7xmzS<6vcGXbj_O%>a3Qa}dtQ)dsrEuy zgt-Y;D8pr&D!Z;bZCv~ZpFCp?fNIjejkPT(M<4eLx5tV6 zYR8!6SQ;1Q6fmC0CC-|D30<^UVBxIB&3Y%r9WX0RajyMzr5f-mBF64T*f9f~ zX%4w5pwef|o*}`($rjJ1j5459k&zv=U-D;M*U|Ig_j%7x@aN?y6?EsF1BkYo~dR6>1iPe?Fkj)|=yv`hoRG;+%kNx^6Ub zZtr{!qaUAao0wjr4e#`?qC2-?-(>UjFhVAu(jx2L80xAZZ80~sYJ2C^3ROB0V1m_H z!@?{MV~j?UINSlV`y3tss}r&%<-PK${+9nfE9x}c7Fh{?t5avQC$R;XTfuaX9i&`t z80S@8GJeYS?8e0FQNw~0WB+0UlEDkQ*+&?Ip!;Fdakq9RdpW&^pS_7U>jiyPqoL9c zM`_$L703DrFORZxHrbBGvDJr7k{VGpOv-x6-P)W2Ylk`m5UA|*}S=dAvZJ% zM^)oB)&zc=y9!IBx|(oWx}wbn@kw_e|U&UxopD$y^PRv=6Fl>Zsxn$GOh{ zN^g2y)KW>=r|plrAyXKLbQt!Do&ljFq zDlg>VpeDhCP*DRN+Z>?f_iEVs?>NikFgK?9)#Hd%H;n5AT{Mf(yTkYD*Dv7jpeN7O z@+|ZC+5`@sy->SUcN3e;XgAhLC62Rj>QwT%?pmQk6Q;eFFObsL);Esdg}y2|4P>an zaW49K9&!PB&w*p8cW}rBYQOLSpJvAoFC@{FR~|)8ZP@bB)HXQ8H99;S+UPS=>^|f= z9qofFrPDIs-EmMZSK=iHgpg}|A413>cGW6+W+mn!iJ3nfF*q*QqkeeJSZOxu=lC(t z1)l3oj0)y+HZ!8HyR4lGJNPmlOZMO_YY&R-<)wG1y05LZ;%sUqd>sk?!kGz_arSXR zBB-geu(3-y9mcK#?}fk5`{BhZw#zEK=vU{3D2JUl3Eu?`YhN-2A*#x}`S!jYPi#DE z^D1sLrEt>yu&g6Ge?L0YJUfA7KjC?j0lM!%H-6QC<9bPbdGq>KdK^5=;?DCgj!IqK{8e9- z$LS)BgK~7ar#YX@s(z7}v39++27etpD;%#6l|S%U2!2n}r$seom&vcr6&~-?H{iw8 zejr}oC7~t?rI!Gv>jQIB(&Me-U@elZs3;-mR>CdOEL#nBsob*pyBoz427>B=SQXSL z=V+<`5Z2F4;b!^mcT+moIC-IO`o!4{&sp=?VcJ|rW_z_I&#vtrf!_Y1$N{EdoxRcG zK4Z*Gqoid*($f3+mTweIQ?b2R#U$xwlIQ&{M~=~u4eJ)&KDW6yh!{klm$6P7RN^C# zu(c@4)X;XTy)$u=DM{L1I_3l4K;-GQBMK#~o7HEDF$xyus2wkD&Y}aC52o1)kHhCX zB}B}%)f1FuL-&^wIfjsFMI-nhD;~U%)2tKl8?mt!D)4Vsv@!X{ABP-*{&U~fPIHKE z3g8N<+G=Rvm}K-y=uY}aU|>CJ!?WI&vtCpVMSb)0&stkqWmUDTaq)E)lXN?^)fAs} zP3W&SgD#Cxt4Mas6llM|di(ZHHoLHkJFKuss@=3U?o;Qtu?Z5l@#yWhaiV7#QS!N< zCXeg>OFo4pj0~dEqe=BtisJEz-LFHSh^o36&6mv5Z3{0GpS{-SQJ>_heI`RULl(UQ z?LRokIl4wHDO`H<(D6Jbd$`?2p4Q#JY+Hi!^nT~#PmXrKGI)NcksL(u^q~1z{_VWm zOD4$nckQ1pbMrZ_rcs-D4l@MM#Ye%}@a9+EFKNceD?md!hEVJ+>6${OAP~1*ROb?+ ze6hLs)5lCcEw~&0BO}IYxPh#8VjV*t5q1x7o4nzkb^nUdH~RkE^fP3jV)H2=JHf9B ze)r3s*`4Gb1CqS$lOp2US~1Lkl9Ev0m%w|15>Z@F>>c0dNca&tV>3^5ktU+ugm?YFmk7p_tB>^i#47Nj3K+ z?_?O{4La)1=!l|-3bmfmYm#W{WjOwEe5*@*wL3e&f25krs0z?4~Y zw;mpaccW0h?@uG;cKh0-)4t%*-|JnOup_b7&u(A4VqMCpZ$CT?r8mR1W0apR(eV>gY18 zE|susyu+#NPUqZs>w;kQv2FvI>R&UI$eZYg3f@*W1^$ZhV~HWtFbks5fx zm^2*hrI_G5nb~sZioVG!5);*E*U$!19_ZrxBFP8rSSbj%{F8UUE!|0vd*%Fg%#S!G zu63#J`L25)?i)7DM!nCUz`8DO-T;7HJ0f2sJeR@tM9SWpTo#d<(x`hXjbi2o=+4Iv zV86;3(_RAQx(^3qMLb9jc{A~AnSM_0mO0|+ z@ixOJ-NR+h<#a~dx1bQ>$vl$B*dtr#O<17*?8AejSt40<*A6=6Cy>9fcDuP{a zfXaEd<3yXXw1LN?%H9l!TaMzmYf4e3{z_&D{P#L<6r!7jHIUW(O}(UYcSVIDu zVW^P#YN+FL66?-7aJhVu-s|k?DrZ{Dy2M&%Qq8WD*qhNh{fg?++v-F&_rB;H9K(mB zhx~bC=dav7n*dVYljO^(o~7^yTQck<4)RTcRElZb9UcB-JFvA6x8iPZn1ljW)*HULM zJM(j+^?t?8cYGWrN`=EUj2sOp3>j1+%)+a66Qnhsd|24EBAvdeHp@OuqVqtiCtRh} zXG`Oy9%0G!Qb<`8g8LAT+Kf$61(+Wz?!2=l1GN5UL@>qWhJOT&qReyTw@l8Nd4Q)G zg&yXlZ>Y8O$hr-Hv6-QAg}~Fn&c<~?uApguS8eNvSZR#r@<{=`T%g?guOD<)a%DIx zNjqFC7&nrc#B#4r3SP%*nCuZD20NqdiG3#XHKgUkU7k16?3xdP67-8_5jZNWQ6pk&R>mnBln zl-D-0)IFT`SM7nw5r9(q4fDWA-}Kd%H)F8NR8K!}NjSQRnEP-Abq2m+zC9Q>&pE}^ zb@ejnc62B{$P{H~+=n&!0%0Fe{$`7>y$Q zZsHJq#hNOsRg{nO{H0Nf)f)v=ev-6W2c(K5Ub8yTr-rTPXGU7%-MsIJef;HcKhCTo z_r_=iwaFTK9dK@MIm~C(uEdGpuV}vn^K2rHV|no3wJij7u_mmY0A$%tJ-AcpikF`& zC@YK6xmyF$1#q{V0oMN7c*r<9{e%=PE@nljE)b$0c&OIe*J^@1W};y54bqY-ox7iAbS0ZJEStB$@wYVZ?&#Emlk?YHP@OO@d94Ys zCX`ut=yD8>@`g|DRlg2TNmJ%}A0EBpDd6m2dxKUxW2V!FJ3m# z#F1H)*TjL1sbkEKOF?&vc!u)dGQeIo-V_5XV!tYKr0rjGlT3`;QGL@QuvK(A2SThG z5a-tLKbY6{&Ncf&RPQzMH%xJj|L5Qtq{PW@JAkEx9HG^J7*^;B)-4Z8B?EMN#;?XV zEGNwuvq@$97|mO(GdMj5J~2^!CN)nri9Z^jIgK6e_|*sBWP59y&L z^j3EDcq_Z1+A%q>wk14oUtcO_X2AI>uCH&&iDLXTM7jPi46@h;tR63St{m`EOg^5$ z&YYAFPjkm_4Ty91eRY_Qij{kfnZWy$Ep@!P_jrTuOYNmr_dOoNVE#;iFb?+kis-kF zHT(k@Ro;S-Z*e5gSa^nbB;;AAj-;WH-Ph5L9{K7x(>o<8E2`(RFxM(d80KXdxaJTP z(d1pnTo-6(R+op0&-^H2p84;+jbq?)N?+rzODTEWzc)iHC^^1D>R?#m4F)eBVUHPt@iQ+-ukc5&6#|%3d)h^OQal#@yF_Xmt?3k@@|DudOp@2{r)R7R~Dec%*WOnUmi}WLKS6Y7sJ{_BUCI`xMe!^G92*Z zjJRiJNWhNkW9bA5F@>n|SEMBin?uDrn;6G4D+=+cEf%tU!Z~cT)f>&DG2?-iaLK?A zK_mwkgx%{!d$myB47a%4Jx6$a{9xy@#={=RD>dNWcGOjX{NbJ7$2G(ODyR4U{0-|X z6Rb}bVv^Kym@jVj#&f+sP%x}VQ)CEKn=)uhr;Pe9_ObehEPvn3m>pg=g6+$cEw7^< z@f*C}A=p8gOsQ9V6gb6x(pyi;Zr?Yi=nwskQyd9&xfHm|BgUR7aPup^uQ&}k%pX-1 zV~@+7$s=w1nFBn2lC$j$RUzzMq_kGqzftjPE^-@VHs9l51-ZX589AA^!QpAaEs-zj zl_i*=kMwV8H#>^=J7azFDz_6A-Kxfzw>)`)!n{&k59;IgJZ03(-TJdy4OU&&?(W`P z6recw{_STAFkhVO8$O52%BYUG#z0h42r7STDegdnrNJ`iq!Woah^GEvNsE!Z(v`D~ z*sWI-UFP!R3r~r|9(P{i?!BpLW&~fNvX;?uZgNNW6C5EIKC|v|s{ElMgR%F8yzy^l?C%CcyUs&^CGbyxiX(JXvAM;35;`AItrrSHhfbhi!3G-t}pF5b4Q zSV^Q}1$%p50WE1O7A8SV1Iz`AxkAk_TuR2bb~xix88*^vTr>r=KaSctUrg&A6KhT) z4dXTdN(nmzL=k3oY405I;Ov-UF{I|dY4fR6%fKakXBz=`eNS`@WNQp;q>!KCy=sk)R`Ge-W}!X6CA@l2HavOaR{W~&rO&F zap-}xUv9}cS|D*d%Aq~YDI-bSE9nOGXyF#Kr=98y4{n#?leD=%V@>Y9e(B#S>srd# zL#p5Y6-V!MB}SJFYVw zS`%F<{2FSS9^AV01M`w*6LaTt3lbT#zb!nwqvht#L?^D{Nb@${NqNeX`#_I##$S7m zuiC_vKaE%D4z2jyLy=h_rwo?QUMSS$t}_V%@U^^@(0Sh}f-h;MMVnJ-0n*96AQb&s zVLtjO@a)uz)bt)-_QHI!s+js@o_U6c>;*84Gq!{e(BeTg31iAE>a~9V2>fmREd&J! z$JHk^d2QkAsnHhRi+k_Bhj=-k%xAod8o^M-s*!? z+=xWNDVzVUOSQoFao6BT51na!r-0w>Ve&gwkq_r zpK9a0BC^H(YZuw@Ij(S8-%fFU=~t=C^!H_@b|o4UQwVKlvz;?3rqZ+?N_MJ}!+Vsj zyKv+Ef_VOZUn}8ZzG*Lx(1IbSW7|&+8vOWZOsdG^3BH_Gc#xh$_(p6>zjgATgb7djnu)Cq$z_l}YEu2y~#2|TMLq~fivLCjROuvkC- z{4m+6`Pg?uU0DoL1$$%yj};E*6e{EkUG{fdE1*{-+~9v})M@j)G^{#81orEO5+nd3 z&&lhAKg6pvZR9KVg>MXv9>U7CVf(3ROF#gV;zXPGalsf#6Cm(}5OSJ(JVvs+brkrY zH~#uPQNmQC<+x z`)H=a?H&LP!2yi2~d^2K9rQ%BckX(ZD(%O6I*s%FI< zsm>ihjlbkQY~NVw>#mNHc>2hmAeV!q&ZS4x(2Zm{>plHgo5lR}MyShF#&2VVejRUE z%1Jf0p{X->_ebytaj3FH3J7LI^VIZcH6c>^fUxdcz(vaY71MHhyCL1vToHsDK0jm2 z@0!?}L%MZ$wZTtuUkdAUA14_>8W1FMc!z7`JedLusiD9AoNl=lLyy~_FmIV$iW85& zLW_{H{?X3=zLjU#{gy^JhT4eH-bvV7QE#7`qx&E`^hI$NKxm=Fa|}=2l0I2 zA{m!MA;(B!H$>~F>=fNQJ{x+xZ^~1VR^7#%cjFnN6cnZFZ0ZN}K{oe=yyRvjsdj4+ z2_?3Yl;0Smq>AoewM4UM>+9r2NYJ)TDXQM4Xox!q{LH|~_$GBt$7E330oB-jeKxXe z$L!f4P>W6$8;@3O*W*cvRH(EfsO5y=Gq|=iH{whNS1g%3xSM>9&$C*^v+2g)%g7%< z*i8Z1^k4B?D#>a8NY2C_5Y)b4d+z6kq%1tGKCQrRcEu{X(I=EHCR+UD(&z(n8B8^R zO1h}rmd(D;hNu5|#*RwJcCgrb$FFEmjgQZE9TVJtkd`8&}hKMyQZ0y+WI4O z(6{CCInP9Xb0m92;pdcl8VZ=oX9=efY&DAfzUhp7J{I-*G}V@;6!lx^$}L1F_BKJB zc*c+dB~(*YeQc>S%r`3@9(XW&nhop#vgQf>FXkSDlV;sy0fFBPMC5+Q>Vy`6HR|78 z-djsbpgGrJEc~f5%1M*2(fKfNns2=<&Fy9?%wQqxg{Y;yKRlY?NdCiR0{i}MA{h3y1z`Wgb0j`z%d{c2irOO$~iiie#pL!l`B9_&g`uD4yGhEJ=G1KRIdwG1O za`b2GJKSxXOf=gOY3rMzjmaQc>KCF7FCGix2j8#@z0XG8JF2S(PYWz`vV6lpVU{2g zygxo!i@3Ge=wPs~SxrsNfm}@$fixnvQ+=UI8F6}Di+!qY9oM#vwQe%pZ^!K9h62c2 zhsOXLb!vDvmi9#WIfVGnFdMUBQk?B_d+*p%#F?~C*hTXpxONxWL$ z=9Fm|2oF#Ir?#63o0(|PaK`hK2A}WC3TxRJnmS==_5{|5p1w+c$+R@j1(6spOkzL= zRwQB9C6dg7tjvGOk7FumJB{$&g6{+xZxO9V4w+Py5@_E@u?U=9<6#l(#ZW!mjr7SS zs`)=m=)@;2_}UHQ<}yuv(=Rbusikl;S@gbO_&d#;n~8SSpR3L?95-Db;=9U>(D7Le zw*bOV%K}RUh(AEd9)zAww(|b;0pB89otD@%XriyeXh@9K{t@s8vyUC0l|^OJyrb-z z!^qHB_EX4jlOeWfdYT9J+a@uK6$ug zv}KUgKIK!#Tdl`FQN~X5=L< zdGqZoq9LTA_eLkb*&>)RdiyA?IUmzjXLg90(O>W;zz&$dJBE3^L`6S!xun-p%q@}7I!_KrFvB6nJ{ z+-x%Bg$iXQ&DIZjjjEN)^7d=f*yR# zI7{HZPHjJDRjLj(DQE0Ft*UG~Nf<_SiGXW=C|2Ckvwi(SNMR9q58Jn0D|pidoi zdB=lESHWbKwemFt!V?t#fq0O8XPW*$Fr=E(FM$4{F^ix*BFVRrnt(ncM%1vcK2Bt# zZI{f3+v&diV?Q?A9IEdF`-uV-aa=`&);M^N`rEiJ&qFrSk;B>vX0mpz8x) zxQ;z(&U!R$a`_|X)MA-w0@o(m&aCa@moRoU2w}&;?FKOOJwt17qnevx9apYYJXRBT zh_rw{;l6`$_gA&)!2iO1e{xG>bQadB`7Zs7rgD;ZTlX|B(_?>cVUWb3g_t*|LLKXH z_fn(xLd|dSOE@WLFDU>JFT#gL(gi8av9tyqU0e@LBLo}L*A+9K{w}((ZV`Q+G2Pi+ z4mIyxjkFbpgqt-YAG7e@yuEo5=I@8n(EU9wO@cdNE+1>Du-8x{5O{87G}3*pn|`29*sm7pR4Bd z7NL8W$Q$Qu~hz4#fy8Df})FZ-N;ajXn zFxQ(YjqdNjsIwn|FOL=#y$@{T_#v!4!m!e8W34H6oT^{EZ}nB_ag4*<;3;cC>@OPc zYvRTLx`00*SF4-tHva}L$U#XFXm>V?%>UswYyQ~+Lbqz9+`M4+daNg@*m@LFUbQOXEF7_Fs ztLj91rjEHpj8y>cEpWk5V-Z)#dW_3tQoaj{f73nV@ves3dv!4U!$^BJ|3t3g2WWaK zG_Zo{p0Vj<6+oUo)A)kLM}G}BwRY4d6IS=wUvkrC52%S#Lx|HG*)KD~zTC$nYD#D=ByP;oOYc59Re9MTUu ziOrM*Y_K0Aj?sScq#w@nrn7(p7ZJK6Io>O}@xwh}kA(XlH)c+=NqRLi5MGdS?obFh z?cvUFUdc+j7}I=cYYVDp+Y8UQWr-a(j*W1gk`rrTkXw0nT)D_npKGz_AR?OY_3@bd zO+Cb1LrOK^n0u?xyudOFd2$)-9Zp+y+P)OrpY=trjA898>&Xs4a#*COh%qAPHdE+B zvk?cPYeB=qNcM_&m6O}y`euZt9@k6}-t_5zkpMWur<*6u&FJw1c<{>k)^~47{JYQF zq+fJxI{2f~UHXehyoGwEuEx5V)A_h!5&4?gkaL0LNgpvlfuP-Ll=mre_O#s}(1lXR z-G{m2#W1Bes&Yb7e!u>E^6v_rOcbj_GB3lh5f^Tl{P44t(a=TXs2Z?AmHW*&r@_l2 z;iu@JvF6i^mcWg;ph_V6lLrJp6E|>pSZt52CmM3K_R{l4NZ+?wo+Q9So;CKj<4M3gE7P8FIZZZwM-NDO8*jKc(xdB zAov)`J4?_1KGVG~{*kGW%EeHFV`c7V)Ft@(cuFN5M;=Bn6$^QuSLX)mJQ{+TEw3U0 z^>1`ST;e`nCdZa?=+6ZeH&`370g@L+nck;>=-$&(8=gDDXZQ}+)M$)G{?u#Mo6%15 zDQEX4`KqmTbiutZ1cU5<=PX)upucLR zOEsALy*uHQjY+~HgeWvge`6QCn|6+6chSiCHp3S&P}WRJ#>WgzwN}1I*x6IVn-{%n z=+k{DU%*TSln*p=2vs&*k}dx~;)-|uKRVZqSUfZWbn3p`8sAta#r&nx$~I`4J^!ip zUh3Be9sRA=_qk`(tD85vX>v3cJRQPvQ>WCA3NbcD$~;pChl~nye3l(0M!ctY9z-rN zuoA#Vi1)`Kx?}f3boWbgTlk+31#6*Uo@^Gi(kTc@tU)TY^fdnUGBcyySX141o$FnS z>)w}8y&cJsoNmhGidYfW^CI(kUwZ-OIGsUZa~)WGlWFps(6%)EtGv|Ff~k;$!kwHy zVt5PzgF>}eT24P=nrLH3+kg9|xh6t6TXTC**%mU%5;o%nO-K=i}6VG`4TSq|s$)FK*b^;NFO2m&>^CjgchY9t~UHHB28wYYzb}olxr|I2Wu0 z^V%752_lBR#$D;m?fyrS)RH3X{Lu>MIhKr9moB~=V%K_XB?Ws>)gzm2M{2b9-gE37 zU1+!dda24}3*RF;_q|cus7h+mx7(CPVNOOXL%aeIWyl!!?)3BP5O1XG@HVTBn3>XN z-PhhJ$uRZdFn8_|+0M=0Y$WMJ`tN|)mE#4$^2Dq#(dub&3dLT+x>MdLERn=b$Rg0-@!>Y!W6VuPEe$*I8a-5%h{t~ zq+h<(-G1>Nizh%*_q^^KNor#ickB?Zv#ci5VSR*J?^i(HCnX(GwL_8^+l(d6@DoX1 z^AZOms;_X7za+$3g)DX$mYrOye8RRL^JqVdyjJu3YtcE?oL1E(@|K%S<(@tb1ndvs z4|3Pk2iA^r2D*HPM?l^$XWwW4--}eWrWo#l6<>8 z2Ndvy9LSQ<twEvi<=}FymjWF+xw$Z}k zd(Uc`-|U+{iCBO5vxCzaBWYZ#(gDC1l~itKs^;ze6A${K_KMnJ0NiZ_) zj3FE4#XE%6)(b${@7@kaguv&M5DA`@R8n>d-nV&AV&V?(l$!6M1E(Rmn30`RZL(7f zzr=${%Q0ZgU&oR^P4e}^j}{M)T774zVrN9*&uh>dK)j~lkc6hhLJ8Sla$`%-UeuW-tJ%>`*?5nr!|bpR|U*S zHXfch;M@`>t}x#BNz{U_&EFkS;#TwdQI4R3nUs3}G#|N%&D#QDBSZSPjtO!d$Q>!> z9RDM6%#l=O!W^jo4`Q~eHNby6RTcGPe&v6)H&!-6+@opfujBMejCl6aca3cS0in&x zx^niWuB?~17jnCO^}H+W7->3vXC%Gju(e1j`^(~UjY2>-InhV}EiE? z3nxFdq8&CIKr4;Fcg$R7e$hfh#mpJMQx6rco_uTD%NatFsEJW}Tt74y;+osmQ8}wa zIEe?;c3B&M=9QRqJ9W$9GUtTrY)`Ixh(Q~5bzo14#-^5* z^Ffmz%#5;!yoaI*PY&dMM^tPrECU=lO%|wsSH_fjmRb@Z?^(PPIl8T-#wr-VaQ~xN z9E2^8o!Q;^-(3JDCt)qnCzGE`ex^-Y}&sBjH=05v~%VNj)&TBIeTG<>h=zee-_Z!$UkBOAz0{~xZh=JvKh_Ppp@^R_REoCT{wBW_9?4XRt&cMgQwUW zQvKPnUDN6zrR86`xtr99**>m8WlHh+|IW-+x@`EA)TxcLeHF(q0aEWi zk{eq`>2_$0($HEq#A{UXLh&Dmm%l>@yxcF-ojDmVki{p^}%r*w^*2giVVFq`3Fs$ zzYC=+eU1){Eygcn@G2h`INu~Kq#JzcZx%OT8Q{gVf^D&%l&7QhrJB^9iVILWUst_R zT--=_Phh<#h|Z{p8vY_X79h%HUTL^a$0AtE4tdQVH!xrKgx^Kd9B8^^d1rK3GnVoe zGnG#?HoBwj6Cx+fIcj)FQ2Ba5lFBMU@6)8NnWA9G*L)UrU|&*`vK!Zc?q+~}M zCM>nhVZ9)Dc<+x0AMx3KW*JF4{-Y7c1i`;Yo?`k92?}7)d2&z;mWr`|;i>Du_vm~@ zjk#yiB0l^uLS|MXug*uy|4o};cW)}$P@jG;NtVkPCrjKNS%2Xi8<8PlM-6TvryTHh zfp%=vwuN}++No*i`eb_P;`wkWhsDxH1eaYn38VQ7s~t*f%^=n7l_Fa2;l8bTY0>W% zu<_|E>LLG|2W}`x1eBlTWH-G51cq-=E`kg}>dK<7s_s`t`z4q2<#P=K1EdiWl+_GL z=A9#EHW1oQuS%Th2$howtzZ>rUc*V{U8O4t|K+7xzq=GKfQN0{2E|Z0qy$LIuB8kD zT)$hg-&l1lp}iOS)S~3Yb?{|OLC2H;*i6q{?Yh0!7y1uO6$;H*Jj#B$%$&V%&1-A!2>`< zD%v;{Mm?Pbbe= zL7oTpxEPQ9PkV%dZ?cPVwabF51?1}Ym#HQG_EUl-4Y#)z(&s5AQxUyd8o;YR98`Rtk}fVZ_M-w zM2=GNpef3GE-eDT8MJgzSecvseh@r96Y619iF1xYG5$es7mqw|{rgMd?|&QQ)UETI z6kv`Q?v(D`Wzf3Z*%8PNeeWsL6QKWN8G3KEU+&pRKFX*wFP&O;gX5Q4;9Ov0=u553 zi2cv5BGC^~Zi&4Os)?H-^#r|2iJmvcMjXZL@e2$qQ9QdUEy>GdgvMstlj zlB@haZTl$;JbzaFM2%G7OuXG#p zisu4aqGVkhmAV;RD)&l%8{mC$tH0XgLPF)F*Eb)cjH1Jr7s)9v)^oj2+68-j#gy_u zm-n+tt--8an_0tqmydjIP>~(l#9zC9G}w2_qsMR6FnYb>d+52CbdMp?EZ;@$HaDBI zKXYrtf`5jm3*}VU-aX|UK%#%JJ(vEnVYmI$rE0~yib@;ZMMwIAqd{Dm_j$_QN2`Bj zlBv_izyo)5VO2*xkTvMne=H*>#JRzBx#yif-4SmqGG*pEkCt1i1WpZB?~c&#sXr$m zbyb}5TIp#-n!!-5dm+mU+7rV0~mlKUIVcP8~KAh|S;zUjYxcgqAm74fO6q zxJfmX#+;&h{3#jVHuj9^bRTlij7M`^e>_I|A;;`YsFrrvq=n|j9(Gv0 z48gZAWid>lAHU~>v>B-JVOE_$(Hg8w z62`W2cCFjhL(8nZJ&t+@J68(4Vd^2P;2~euBYfkuPv-;Ta*yx)*+7~`wzwhH6dCA%uR5huYINCfE z$XDnRr|zrPKC=5kk7#K%(Bf}k#&FQTeziw}Vz`te{us=_SEXaK_tj%&BvVpxJ}mQe zkCoa}2>jEi&r$l;H8T^H*yC6 }9;=cMeEaKnS9WmW-yskgkj_s~OtA{0vQAJzZ# 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�Nq1%j9p28$-F4z1!pl`Qtb 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
); } -/** - * One stat in the {@link HeaderStats} strip: a small icon plus its value. - */ +/** One stat in the {@link HeaderStats} strip: a small icon plus its value. */ function HeaderStat({ icon, state, text, label, - placeholder = UNAVAILABLE_TEXT, className, valueClassName, }: { @@ -243,11 +227,10 @@ function HeaderStat({ state: DetailState text?: string label: string - placeholder?: string className?: string valueClassName?: string }) { - const value = state === "ok" && text !== undefined ? text : placeholder; + const value = state === "ok" && text !== undefined ? text : "n/a"; return ( {icon} @@ -264,10 +247,8 @@ function HeaderStat({ ); } -/** - * Renders a {@link DetailMetric}'s value with the ok/pending/unavailable rule. - */ -function MetricValue({ metric, className }: { metric: DetailMetric; className?: string }) { +/** Renders a {@link DetailField} value with the ok/pending/unavailable rule. */ +function MetricValue({ metric, className }: { metric: DetailField; className?: string }) { return ( - {metric.state === "ok" - ? (metric.text ?? UNAVAILABLE_TEXT) - : metric.state === "pending" - ? "--" - : UNAVAILABLE_TEXT} + {metricValueText(metric.state, metric.text)} ); } -/** - * A labeled detail field: a quiet uppercase label with the value on the line - * below. Used for the inline Started / Path / Command line stack. - */ -function Field({ - label, - children, -}: { - label: string - children: ReactNode -}) { +/** A labeled detail field: a quiet uppercase label, the value below. */ +function Field({ label, children }: { label: string; children: ReactNode }) { return (
@@ -306,9 +274,7 @@ function Field({ ); } -/** - * Renders a value's pending/unavailable state, or the provided OK text. - */ +/** Renders a value's pending/unavailable state, or the provided OK text. */ function StateText({ state, text }: { state: DetailState; text?: string }) { if (state === "ok" && text !== undefined) { return {text}; @@ -321,33 +287,27 @@ function StateText({ state, text }: { state: DetailState; text?: string }) { } /** - * A long single-line value (executable path, command line) shown inline beneath - * its label. The mono text scrolls horizontally in a hidden-scrollbar lane - * rather than wrapping. A copy button sits at the end when a real value exists; - * pending and unavailable states render the muted placeholder with no copy. - * - * Sensitive process text (paths, argv) is copied only on explicit user action - * and is never logged or persisted; copy routes through main (the renderer is - * sandboxed). + * A long single-line value (executable path, command line) scrolling + * horizontally in a hidden-scrollbar lane rather than wrapping, with a copy + * button when a real value exists. Sensitive process text is copied only on + * explicit user action and routes through main (the renderer is sandboxed). */ function ScrollableValue({ - state, - text, + field, copyLabel, emptyText = UNAVAILABLE_TEXT, pendingText = "--", }: { - state: DetailState - text?: string + field: DetailField copyLabel: string emptyText?: string pendingText?: string }) { - const hasContent = text !== undefined && text.length > 0; + const text = field.state === "ok" ? field.text ?? "" : undefined; - if (!hasContent) { + if (text === undefined || text.length === 0) { const placeholder = - text !== undefined ? emptyText : state === "pending" ? pendingText : UNAVAILABLE_TEXT; + text !== undefined ? emptyText : field.state === "pending" ? pendingText : UNAVAILABLE_TEXT; return {placeholder}; } @@ -364,29 +324,10 @@ function ScrollableValue({ } /** - * The command-line field: a thin specialization of {@link ScrollableValue} with - * command-line-specific placeholders (an OK-but-empty argv reads "No arguments", - * a not-yet-collected one reads "..."). Command-line text is shown and copied - * only on explicit user action and is never logged or persisted. - */ -function CommandLineValue({ commandLine }: { commandLine: DetailCommandLine }) { - return ( - - ); -} - -/** - * The expandable Members section for a multi-process app. The disclosure header - * row carries the group's selected-metric total on the right, so there is no - * separate "Total" line; toggling it reveals the member processes (representative - * first), each drillable into its own detail. Starts collapsed. The full list is - * shown inside a bounded scroll box so a large app stays scannable. + * The expandable Members section for a multi-process app. The disclosure + * header carries the group's selected-metric total on the right; toggling it + * reveals the member processes (representative first), each drillable into + * its own detail. Starts collapsed; scrolls within a bounded box. */ function Members({ members, @@ -396,7 +337,7 @@ function Members({ }: { members: DetailMember[] memberCount: number - total: DetailMetric + total: DetailField onOpenMember: (pid: number, startedAtUnixMs?: number) => void }) { const [expanded, setExpanded] = useState(false); @@ -436,10 +377,7 @@ function Members({ ); } -/** - * One member row in the expanded Members section: icon, name, and the - * active-metric value (matching the list's sort). - */ +/** One member row: icon, name, and the active-metric value. */ const MemberRow = memo( function MemberRow({ member, diff --git a/src/renderer/components/processes/process-explorer-view.tsx b/src/renderer/components/processes/process-explorer-view.tsx index 4e27aad..979d742 100644 --- a/src/renderer/components/processes/process-explorer-view.tsx +++ b/src/renderer/components/processes/process-explorer-view.tsx @@ -16,18 +16,14 @@ import { import { buildProcessDetail } from "@/domain/process-detail"; /** - * The Processes view: a compact searchable, CPU/Memory-ranked, app-grouped - * process list, plus the in-panel detail view that can drill from a group into - * its individual member processes. + * The Processes view: a searchable, CPU/Memory-ranked, app-grouped process + * list plus the in-panel detail view that can drill from a group into its + * member processes. * - * It owns the process-explorer data lifecycle while active: App.tsx keeps the - * view mounted across tab switches, reports the active top-level view to main, - * and this component pulls the cached snapshot plus revision updates only while - * Processes is visible. Search/sort and the drill-in stack are local presentation - * state; the heavy projection and the detail model are memoized and live in pure - * code. Command-line arguments are used only as a local search haystack and, once - * a process is selected, in the detail display model; they are never logged or - * persisted here. + * Owns the process-explorer data lifecycle while active: it pulls the cached + * snapshot once on activation and again on each revision ping; main pauses + * collection while the view is hidden. Search/sort and the drill-in stack are + * local presentation state; the projection and detail model live in pure code. */ export function ProcessExplorerView({ active }: { active: boolean }) { const [snapshot, setSnapshot] = useState(() => @@ -35,9 +31,9 @@ export function ProcessExplorerView({ active }: { active: boolean }) { ); const [sort, setSort] = useState("cpu"); const [query, setQuery] = useState(""); - // The drill-in stack: list -> group -> member. Empty is the list. Each entry is - // re-resolved from every fresh snapshot so the detail stays live; the top entry - // is the shown detail, and Back pops one level. + // The drill-in stack: list -> group -> member. Empty is the list; the top + // entry is the shown detail (re-resolved from every fresh snapshot so it + // stays live), and Back pops one level. const [selectionStack, setSelectionStack] = useState([]); // Highest revision applied, so an out-of-order pull cannot show stale rows. @@ -55,27 +51,19 @@ export function ProcessExplorerView({ active }: { active: boolean }) { setSnapshot(next); } } catch { - // A failed pull leaves the last snapshot in place; the next revision ping - // (or the cadence) retries. No diagnostic is logged - it could carry - // process-identifying data. + // Keep the last snapshot; the next revision ping retries. No diagnostic + // is logged - it could carry process-identifying data. } }, []); useEffect(() => { - // The view stays mounted across tab switches (so it keeps its rows, sort, - // search, selection, and scroll), but only consumes data while it is the - // active view. While hidden it holds its last rows and does nothing; main - // pauses collection then anyway. if (!active) { + // Stay mounted with the last rows; main pauses collection anyway. return; } let live = true; - - // Pull immediately on becoming active so the (cached) rows show at once, - // then re-pull on each revision ping. void pull(); - const unsubscribe = processExplorerGateway.subscribeRevisions(() => { if (live) void pull(); }); @@ -97,6 +85,7 @@ export function ProcessExplorerView({ active }: { active: boolean }) { ); const goBack = useCallback(() => setSelectionStack((stack) => stack.slice(0, -1)), []); + // Drop stack entries whose process/group no longer exists in the snapshot. useEffect(() => { setSelectionStack((stack) => { let length = stack.length; @@ -106,15 +95,14 @@ export function ProcessExplorerView({ active }: { active: boolean }) { return length === stack.length ? stack : stack.slice(0, length); }); }, [snapshot, sort]); + + // After a quit/force-quit, pop past every level that still resolves to the + // terminated process so the detail does not linger on a dead target. const popAfterTerminate = useCallback((terminatedPid: number) => { setSelectionStack((stack) => { const next = stack.slice(0, -1); while (next.length > 0) { - const resolved = resolveSelection( - snapshotRef.current, - sortRef.current, - next[next.length - 1], - ); + const resolved = resolveSelection(snapshotRef.current, sortRef.current, next[next.length - 1]); if (resolved !== undefined && resolved.pid !== terminatedPid) { break; } @@ -123,6 +111,7 @@ export function ProcessExplorerView({ active }: { active: boolean }) { return next; }); }, []); + const detail = useMemo(() => { for (let depth = selectionStack.length - 1; depth >= 0; depth -= 1) { const group = resolveSelection(snapshot, sort, selectionStack[depth]); @@ -217,7 +206,7 @@ function ProcessListPanel({ onOpenSelection: (selection: DetailSelection) => void; }) { const listRef = useRef(null); - const projection = useMemo( + const groups = useMemo( () => projectProcessList(snapshot, sort, query), [snapshot, sort, query], ); @@ -234,14 +223,11 @@ function ProcessListPanel({ }, []); const openTopMatch = useCallback(() => { - if (query.trim().length === 0) { - return; - } - const top = projection.groups[0]; - if (top) { + const top = groups[0]; + if (query.trim().length > 0 && top) { onOpenSelection(top.openSelection); } - }, [query, projection, onOpenSelection]); + }, [query, groups, onOpenSelection]); return (
@@ -257,7 +243,7 @@ function ProcessListPanel({
0} onOpenSelection={onOpenSelection} diff --git a/src/renderer/components/processes/process-icon.tsx b/src/renderer/components/processes/process-icon.tsx index 741c93e..d5ad290 100644 --- a/src/renderer/components/processes/process-icon.tsx +++ b/src/renderer/components/processes/process-icon.tsx @@ -4,16 +4,9 @@ import { Box, Cog } from "lucide-react"; import { cn } from "@/lib/utils"; /** - * App icon for a process row or the detail header. Renders the volatile base64 - * PNG from NSWorkspace when one is available; otherwise (and if the image fails - * to decode) it falls back to a neutral lucide glyph so every row keeps the same - * icon footprint. The synthetic System group has no PNG by design and gets a - * gear glyph instead of the generic box. `size` scales the box for the larger - * detail header. - * - * Shared by {@link "@/components/processes/process-row".ProcessRow} (the list - * rows and member rows) and the detail header, so it lives on its own rather - * than inside the row component. + * App icon for a process row or the detail header: the base64 PNG when + * available, else (or if it fails to decode) a neutral glyph so every row + * keeps the same footprint. The System group gets a gear glyph by design. */ export function ProcessIcon({ iconPngBase64, diff --git a/src/renderer/components/processes/process-list.tsx b/src/renderer/components/processes/process-list.tsx index 862576f..b297541 100644 --- a/src/renderer/components/processes/process-list.tsx +++ b/src/renderer/components/processes/process-list.tsx @@ -2,29 +2,28 @@ import { useEffect, useMemo, useRef, useState, type KeyboardEvent, type Ref } fr import { SnapshotStatus } from "@/gen/process_explorer"; import { ProcessRow } from "@/components/processes/process-row"; -import { pinGroupOrder, type DetailSelection, type ProcessListProjection } from "@/domain/process-list"; +import { pinGroupOrder, type DetailSelection, type ProcessGroup } from "@/domain/process-list"; /** - * The ranked, grouped process rows plus the loading/empty/unavailable/ - * permission-limited states, all sharing one scroll area so the panel never - * resizes. Each row opens the detail view via {@link onOpenSelection} (a stable - * callback, so the memoized rows are not invalidated each tick). + * The ranked, grouped process rows plus the loading/empty/unavailable states, + * sharing one scroll area so the panel never resizes. * - * While the pointer is inside the list, row order is pinned ({@link - * pinGroupOrder}): a snapshot tick re-ranks rows, and a reorder landing between - * aiming and clicking would open the wrong process. Values keep updating; only - * the order holds. Live ranking resumes when the pointer leaves (opening a - * detail unmounts the list, so a stale pin cannot outlive the interaction). + * While the pointer is inside the list, row order is pinned via + * {@link pinGroupOrder}: a snapshot tick re-ranks rows, and a reorder landing + * between aiming and clicking would open the wrong process. Values keep + * updating; only the order holds. Live ranking resumes when the pointer + * leaves (opening a detail unmounts the list, so a stale pin cannot outlive + * the interaction). */ export function ProcessList({ - projection, + groups: rankedGroups, status, hasQuery, onOpenSelection, containerRef, onExitTop, }: { - projection: ProcessListProjection + groups: ProcessGroup[] status: SnapshotStatus hasQuery: boolean onOpenSelection: (selection: DetailSelection) => void @@ -36,8 +35,8 @@ export function ProcessList({ const pinnedKeys = useRef([]); const groups = useMemo( - () => (pointerInside ? pinGroupOrder(projection.groups, pinnedKeys.current) : projection.groups), - [pointerInside, projection], + () => (pointerInside ? pinGroupOrder(rankedGroups, pinnedKeys.current) : rankedGroups), + [pointerInside, rankedGroups], ); // Track the order actually displayed: unpinned it follows the live ranking; @@ -84,29 +83,15 @@ export function ProcessList({ ))} ) : ( - +
+

{placeholderMessage(status, hasQuery)}

+
)}
); } -/** - * Quiet centered message for the non-row states (loading, unavailable, - * permission-limited, empty, or a search with no matches), so the panel shows an - * honest line rather than a blank. - */ -function ListPlaceholder({ status, hasQuery }: { status: SnapshotStatus; hasQuery: boolean }) { - const message = placeholderMessage(status, hasQuery); - return ( -
-

{message}

-
- ); -} - -/** - * Picks the placeholder line; search-with-no-matches takes priority over state. - */ +/** Honest placeholder line for the non-row states; no-matches takes priority. */ function placeholderMessage(status: SnapshotStatus, hasQuery: boolean): string { if (hasQuery) { return "No matching processes"; diff --git a/src/renderer/components/processes/process-row.tsx b/src/renderer/components/processes/process-row.tsx index 1ec7189..21b7a7a 100644 --- a/src/renderer/components/processes/process-row.tsx +++ b/src/renderer/components/processes/process-row.tsx @@ -1,18 +1,17 @@ import { memo } from "react"; import { cn } from "@/lib/utils"; -import { UNAVAILABLE_TEXT } from "@/lib/format"; import { ProcessIcon } from "@/components/processes/process-icon"; -import type { DetailSelection, ProcessGroup } from "@/domain/process-list"; +import { metricValueText, type DetailSelection, type ProcessGroup } from "@/domain/process-list"; /** * One fixed-height process row: app icon, name, an optional "+N" grouped-child - * badge, and the right-aligned active metric. The whole row is a button opening - * the detail view for the row's selection target. + * badge, and the right-aligned active metric. The whole row is a button + * opening the detail view. * - * Wrapped in {@link memo} with a field-wise comparator: the projection rebuilds - * fresh group objects every 2s tick, so comparing the rendered fields lets an - * unchanged row skip re-rendering instead of reconciling on every snapshot. + * Memoized with a field-wise comparator: the projection rebuilds fresh group + * objects every tick, so comparing the rendered fields lets an unchanged row + * skip re-rendering. `onOpen` is a stable callback and is not compared. */ export const ProcessRow = memo(function ProcessRow({ group, @@ -47,18 +46,12 @@ export const ProcessRow = memo(function ProcessRow({ group.metricState === "ok" ? "text-foreground" : "text-muted-foreground", )} > - {metricText(group)} + {metricValueText(group.metricState, group.metricText)}
); }, areGroupsEqual); -/** - * Equality check for the memoized row: compares the displayed fields plus the - * group `key` (so React never reuses a row across distinct groups) and the open - * target (a search can keep the visible name while changing which matched member - * opens). `onOpen` is a stable callback, so it is not compared. - */ function areGroupsEqual( previous: { group: ProcessGroup; onOpen: (selection: DetailSelection) => void }, next: { group: ProcessGroup; onOpen: (selection: DetailSelection) => void }, @@ -78,9 +71,6 @@ function areGroupsEqual( ); } -/** - * True when two row open targets point to the same detail selection. - */ function areSelectionsEqual(left: DetailSelection, right: DetailSelection): boolean { if (left.kind === "group" && right.kind === "group") { return left.key === right.key; @@ -90,19 +80,3 @@ function areSelectionsEqual(left: DetailSelection, right: DetailSelection): bool } return false; } - -/** - * The right-aligned value text for a row: the formatted value when OK, a quiet - * `--` while the metric is still pending (e.g. a first-sample CPU delta), and - * the explicit unavailable text only when the source could not be read. - */ -function metricText(group: ProcessGroup): string { - switch (group.metricState) { - case "ok": - return group.metricText ?? UNAVAILABLE_TEXT; - case "pending": - return "--"; - default: - return UNAVAILABLE_TEXT; - } -} diff --git a/src/renderer/components/processes/process-view-switch.tsx b/src/renderer/components/processes/process-view-switch.tsx deleted file mode 100644 index 9e2a470..0000000 --- a/src/renderer/components/processes/process-view-switch.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { SegmentedControl, type SegmentedOption } from "@/components/ui/segmented-control"; - -/** - * The two top-level views in the single window. - */ -export type AppView = "stats" | "processes"; - -const VIEW_OPTIONS: ReadonlyArray> = [ - { value: "stats", label: "Stats" }, - { value: "processes", label: "Processes" }, -]; - -/** - * Title-bar segmented control switching between the Stats overview and the - * Processes explorer in the same window. - */ -export function ProcessViewSwitch({ - view, - onChange, -}: { - view: AppView - onChange: (view: AppView) => void -}) { - return ( - - ); -} diff --git a/src/renderer/components/processes/use-process-actions.ts b/src/renderer/components/processes/use-process-actions.ts index 29dfc4c..c91988c 100644 --- a/src/renderer/components/processes/use-process-actions.ts +++ b/src/renderer/components/processes/use-process-actions.ts @@ -10,34 +10,24 @@ import { } from "@/gen/process_explorer"; import type { ProcessDetail } from "@/domain/process-detail"; -/** - * What {@link useProcessActions} exposes to the detail view's action row. - */ interface ProcessActionsState { - /** - * Main's authoritative per-action availability for the current target. - */ + /** Main's authoritative per-action availability for the current target. */ actions: ActionState[]; - /** - * True while an action is in flight; the whole row disables. - */ + /** True while an action is in flight; the whole row disables. */ actionsBusy: boolean; - /** - * Transient, non-sensitive message for an OS refusal / failure, else undefined. - */ + /** Transient, non-sensitive message for an OS refusal / failure. */ actionMessage?: string; /** - * Forwards a chosen action kind to main, then re-pulls; action states are - * refreshed unless the action terminated the target (the detail navigates - * away from it then). + * Forwards an action kind to main, then re-pulls; action states refresh + * unless the action terminated the target (the detail navigates away then). */ runAction: (kind: ProcessActionKind) => Promise; } /** * Owns the detail's process-action concerns: the action target, its - * main-authoritative {@link ActionState} list, the in-flight flag, a transient - * non-success message, and the action runner. + * main-authoritative {@link ActionState} list, the in-flight flag, and the + * action runner. */ export function useProcessActions( detail: ProcessDetail | undefined, diff --git a/src/renderer/domain/metric-view.ts b/src/renderer/domain/metric-view.ts index f515c74..a8f0aed 100644 --- a/src/renderer/domain/metric-view.ts +++ b/src/renderer/domain/metric-view.ts @@ -1,26 +1,19 @@ import { MetricStatus } from "@/gen/metrics"; +import { UNAVAILABLE_TEXT } from "@/lib/format"; /** - * UI-facing types and pure derivations that sit between the generated snapshot - * shape and the presentation components. This keeps components free of raw enum - * checks and threshold math, and keeps that logic testable in isolation. - * - * Nothing here touches the OS or IPC; it only interprets values main already - * sent. + * Pure derivations between the generated snapshot shape and the presentation + * components, keeping raw enum checks and threshold math out of the JSX. */ /** - * Presentation availability of a single metric card. - * - * - `pending`: not yet determined (proto UNKNOWN / before the first real sample). - * - `ok` / `elevated` / `critical`: live value, colored by usage thresholds. - * - `unavailable`: the source was tried and could not be read reliably. + * Presentation availability of a metric: `pending` is not yet determined, + * `ok`/`elevated`/`critical` is a live value colored by usage thresholds, + * `unavailable` was tried and could not be read. */ export type MetricState = "pending" | "ok" | "elevated" | "critical" | "unavailable"; -/** - * Maps the generated {@link MetricStatus} enum to a base presentation state. - */ +/** Maps the generated {@link MetricStatus} enum to a base presentation state. */ export function baseState(status: MetricStatus): MetricState { switch (status) { case MetricStatus.METRIC_STATUS_OK: @@ -34,8 +27,8 @@ export function baseState(status: MetricStatus): MetricState { } /** - * Refines an OK metric to `ok` / `elevated` / `critical` by percent used. Non-OK - * states pass through unchanged (elevated at 75%, critical at 90%). + * Refines an OK metric to `ok` / `elevated` / `critical` by percent used; + * non-OK states pass through unchanged. */ export function usageState( status: MetricStatus, @@ -51,9 +44,13 @@ export function usageState( return "ok"; } -/** - * Whether a state has a live, meaningful value to display. - */ +/** Whether a state has a live, meaningful value to display. */ export function isLive(state: MetricState): boolean { return state === "ok" || state === "elevated" || state === "critical"; } + +/** The formatted text when live, else the pending/unavailable placeholder. */ +export function displayText(state: MetricState, text: string): string { + if (isLive(state)) return text; + return state === "pending" ? "--" : UNAVAILABLE_TEXT; +} diff --git a/src/renderer/domain/process-detail.ts b/src/renderer/domain/process-detail.ts index 175a58c..c9a8f97 100644 --- a/src/renderer/domain/process-detail.ts +++ b/src/renderer/domain/process-detail.ts @@ -10,6 +10,7 @@ import { rowMemory, rowMetric, rowPid, + rowStartedAt, type IconTable, type MetricCell, type ProcessGroup, @@ -18,266 +19,125 @@ import { } from "@/domain/process-list"; /** - * Pure presentation logic for the process detail view. + * Pure presentation logic for the process detail view: what the selected group + * is, where it lives, what it was launched with, and how much CPU/memory the + * whole group uses. Every field carries explicit availability so the component + * renders honest unavailable/pending states instead of blanks or faked values. * - * The detail view answers the debugging question for one selected group: what - * is it, where does it live, what was it launched with, how is it nested, and - * how much CPU/memory does the whole group use. Like the list projection in - * {@link "@/domain/process-list"} this is pure: it turns the already-collected - * member rows into explicit display fields (with availability), so the detail - * component stays presentation-only and the derivation is test-ready (I15). - * - * Privacy: command-line text is read only into the display model on an explicit - * selection; it is never logged or persisted. + * Privacy: command-line text is read into the display model only on an + * explicit selection; it is never logged or persisted. */ -/** - * Availability of a detail field, mirroring the list's metric states: `ok` has a - * value, `pending` is not yet determined (proto UNKNOWN), `unavailable` was tried - * and could not be read (including permission-denied / process-exited, which the - * compact detail surfaces as a single "unavailable" line rather than separate - * copy). - */ +/** Availability of a detail field, mirroring the list's metric states. */ export type DetailState = ProcessMetricState; -/** - * A summed group metric with its display state. - */ -export interface DetailMetric { +/** A detail value with availability; `text` is set only when state is `ok`. */ +export interface DetailField { state: DetailState; - /** - * Formatted value; set only when state is `ok`. - */ - text?: string; -} - -/** - * A small secondary stat in the detail header strip (thread count, CPU time, - * owning user), with explicit availability so an unreadable one renders a muted - * placeholder rather than a blank. - */ -interface DetailStat { - state: DetailState; - /** - * Formatted value; set only when state is `ok`. - */ - text?: string; -} - -/** - * The command-line block's content with explicit availability. - */ -export interface DetailCommandLine { - state: DetailState; - /** - * Joined argument string for display/copy; set only when state is `ok`. - */ text?: string; } /** * One member process of a group, shown in the expandable Members section and - * drillable into its own (single-process) detail. Carries the per-member value - * under the active sort so the member list reads like the main list. + * drillable into its own single-process detail. */ export interface DetailMember { - /** - * PID of this member, used as the React key and to drill in. - */ pid: number; - /** - * Start time (Unix ms) when known, to disambiguate a reused PID on drill-in. - */ + /** Start time (Unix ms) when known, to disambiguate a reused PID on drill-in. */ startedAtUnixMs?: number; - /** - * Member display name. - */ name: string; - /** - * Volatile base64 PNG icon when available; absent -> fallback glyph. App - * members share their app's icon (helpers carry no distinct icon of their own); - * a non-bundled member shows its executable's icon. - */ iconPngBase64?: string; - /** - * Active-metric display state for this member (ok / pending / unavailable). - */ metricState: ProcessMetricState; - /** - * Formatted active-metric value; set only when metricState is `ok`. - */ + /** Formatted active-metric value; set only when metricState is `ok`. */ metricText?: string; } /** - * The selected process's parent context, shown above its identity. - */ -interface DetailParent { - /** - * Whether a parent PID is known for the selected process. - */ - available: boolean; - /** - * Parent PID when available and > 0. - */ - pid?: number; -} - -/** - * Presentation model for the detail view of one selected group (or one process, - * when a member is drilled into - then it is a single-member group). Every - * textual field is optional with an availability state so the component can show - * an explicit unavailable/pending line instead of a blank or a faked value. + * Presentation model for the detail view of one selected group (or one + * process - then a single-member group). */ export interface ProcessDetail { - /** - * Group identity key (matches {@link ProcessGroup.key}). - */ + /** Group identity key (matches {@link ProcessGroup.key}). */ key: string; - /** - * Representative display name (the app name for a group, else the process). - */ + /** Representative display name (the app name for a group, else the process). */ name: string; - /** - * Representative PID. - */ pid: number; - /** - * Volatile base64 PNG icon when available; absent -> fallback glyph. - */ iconPngBase64?: string; - /** - * Bundle identifier when known (e.g. com.apple.dt.Xcode). - */ + /** Bundle identifier when known (e.g. com.apple.dt.Xcode). */ bundleIdentifier?: string; - /** - * Executable name, shown as the secondary identity when no bundle id exists. - */ + /** Executable name, the secondary identity when no bundle id exists. */ executableName?: string; - /** - * Parent-process context of the representative. - */ - parent: DetailParent; - /** - * Started-at time of the representative. - */ + /** Parent PID of the representative, when known and > 0. */ + parentPid?: number; startedAt: DetailState; - /** - * Started-at value in Unix ms; set only when startedAt is `ok`. - */ + /** Started-at value in Unix ms; set only when startedAt is `ok`. */ startedAtUnixMs?: number; - /** - * Executable path of the representative. - */ - path: DetailState; - /** - * Executable path value; set only when path is `ok` (drives copy). - */ - pathText?: string; - /** - * Command line of the representative. - */ - commandLine: DetailCommandLine; - /** - * Thread count: summed across the group's members (an app's total threads), - * or the single process's own count. - */ - threadCount: DetailStat; - /** - * Total CPU time consumed since launch, summed across the group's members and - * formatted as a compact duration. The cumulative companion to the percent. - */ - cpuTime: DetailStat; - /** - * Owning user (login name, or `uid N` when the name is unknown), taken from - * the representative; an app group's members all run as the same user. - */ - user: DetailStat; - /** - * The group's total for the currently selected metric (sum of members), - * formatted with detail precision. Shown above the member list and re-derived - * when the CPU/RAM switch changes. - */ - total: DetailMetric; - /** - * Which metric {@link total} reflects, for the "Total CPU"/"Total RAM" label. - */ + /** Executable path of the representative. */ + path: DetailField; + /** Command line of the representative. */ + commandLine: DetailField; + /** Thread count, summed across the group's members. */ + threadCount: DetailField; + /** Total CPU time since launch, summed across members, as a duration. */ + cpuTime: DetailField; + /** Owning user (login name, or `uid N`), from the representative. */ + user: DetailField; + /** The group's total for the selected metric, with detail precision. */ + total: DetailField; + /** Which metric {@link total} reflects, for the "Total CPU"/"Total RAM" label. */ totalSort: SortMode; - /** - * Number of processes in the group (>= 1). - */ memberCount: number; /** - * All member rows for the expandable Members section (representative first). - * Empty for a single-process detail; the section scrolls within a bounded box - * when there are many, so no cap is applied here. + * All member rows for the Members section (representative first, then ranked + * by the active metric). Empty for a single-process detail. */ members: DetailMember[]; /** - * True only for the synthetic System group. The view then shows the member - * count instead of one process's identity, hides the single-process fields - * (started/path/command line, owning user) and the action row - the bucket has - * no single target - while the summed stats and the drillable member list - * still apply. Each drilled-in member gets its full normal detail. + * True only for the synthetic System group: the view shows the member count + * instead of one process's identity and hides the single-process fields and + * the action row, while the summed stats and member list still apply. */ system: boolean; } /** - * Formats a metric for the detail panel with extra precision (CPU two decimals, - * memory one extra decimal), so a group's total and its member rows read more - * finely there than in the compact list. + * Detail-precision metric formatting (CPU two decimals, memory one extra + * decimal), finer than the compact list. */ function formatDetailMetric(value: number, sort: SortMode): string { return sort === "cpu" ? formatCpuPercentPrecise(value) : formatBytes(value, true); } -/** - * Reads the started-at identity of a row with pending/unavailable distinction. - */ -function rowStartedAt(row: ProcessRow): { state: DetailState; value?: number } { - const identity = row.identity; - if (identity && identity.startedAtStatus === FieldStatus.FIELD_STATUS_OK) { - return { state: "ok", value: identity.startedAtUnixMs }; - } - return { state: isPending(identity?.startedAtStatus ?? FieldStatus.FIELD_STATUS_UNKNOWN) ? "pending" : "unavailable" }; +/** The non-ok state for a field status: pending while UNKNOWN, else unavailable. */ +function missingState(status: FieldStatus | undefined): DetailState { + return isPending(status ?? FieldStatus.FIELD_STATUS_UNKNOWN) ? "pending" : "unavailable"; } -/** - * Reads a StringValue field as a detail state plus optional text. - */ -function detailString( - value: { status: FieldStatus; value: string } | undefined, -): { state: DetailState; text?: string } { +/** Reads a StringValue field as a {@link DetailField}. */ +function detailString(value: { status: FieldStatus; value: string } | undefined): DetailField { const text = okString(value); - if (text !== undefined) { - return { state: "ok", text }; - } - return { state: isPending(value?.status ?? FieldStatus.FIELD_STATUS_UNKNOWN) ? "pending" : "unavailable" }; + return text !== undefined ? { state: "ok", text } : { state: missingState(value?.status) }; } -/** - * Reads the representative's command line as a joined string with availability. - */ -function detailCommandLine(row: ProcessRow): DetailCommandLine { +/** Reads the representative's command line as a joined string with availability. */ +function detailCommandLine(row: ProcessRow): DetailField { const commandLine = row.commandLine; if (commandLine && commandLine.status === FieldStatus.FIELD_STATUS_OK) { return { state: "ok", text: commandLine.arguments.join(" ") }; } - return { state: isPending(commandLine?.status ?? FieldStatus.FIELD_STATUS_UNKNOWN) ? "pending" : "unavailable" }; + return { state: missingState(commandLine?.status) }; } /** - * Sums one value across the group's members for either a metric total or a header - * stat (DetailMetric and DetailStat share the same `{ state, text }` shape). `ok` - * when at least one member has a real value (others contribute 0); `pending` when - * none is OK but some are still being computed; `unavailable` otherwise. + * Sums one value across the group's members: `ok` when at least one member has + * a real value (others contribute 0), `pending` when none is OK but some are + * still being computed, `unavailable` otherwise. */ function sumGroup( members: ProcessRow[], read: (row: ProcessRow) => MetricCell, format: (value: number) => string, -): DetailMetric { +): DetailField { let sum = 0; let hasValue = false; let anyPending = false; @@ -296,9 +156,6 @@ function sumGroup( return { state: anyPending ? "pending" : "unavailable" }; } -/** - * Per-process thread count with pending/unavailable distinction. - */ function rowThreadCount(row: ProcessRow): MetricCell { const threads = row.threadCount; if (threads && threads.status === FieldStatus.FIELD_STATUS_OK) { @@ -307,9 +164,6 @@ function rowThreadCount(row: ProcessRow): MetricCell { return { pending: threads === undefined || isPending(threads.status) }; } -/** - * Per-process cumulative CPU time (nanoseconds) with pending/unavailable. - */ function rowCpuTime(row: ProcessRow): MetricCell { const cpuTime = row.cpuTime; if (cpuTime && cpuTime.status === FieldStatus.FIELD_STATUS_OK) { @@ -318,34 +172,21 @@ function rowCpuTime(row: ProcessRow): MetricCell { return { pending: cpuTime === undefined || isPending(cpuTime.status) }; } -/** - * Reads the representative's owning user as a display stat: the login name when - * known, else `uid N` (the numeric uid is still useful identity), else - * pending/unavailable. - */ -function detailUser(row: ProcessRow): DetailStat { +/** The owning user as a display stat: login name, else `uid N`. */ +function detailUser(row: ProcessRow): DetailField { const user = row.user; if (user && user.status === FieldStatus.FIELD_STATUS_OK) { return { state: "ok", text: user.name.length > 0 ? user.name : `uid ${user.uid}` }; } - return { state: isPending(user?.status ?? FieldStatus.FIELD_STATUS_UNKNOWN) ? "pending" : "unavailable" }; + return { state: missingState(user?.status) }; } -/** - * Projects one member row into a {@link DetailMember} under the active sort. The - * icon is resolved from the snapshot's icon table via {@link rowIcon} (the row - * carries only a key). - */ function buildMember(row: ProcessRow, sort: SortMode, icons: IconTable): DetailMember { const cell = rowMetric(row, sort); const metricState = cellState(cell); - const startedAt = - row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK - ? row.identity.startedAtUnixMs - : undefined; return { pid: rowPid(row), - startedAtUnixMs: startedAt, + startedAtUnixMs: rowStartedAt(row), name: rowDisplayName(row), iconPngBase64: rowIcon(row, icons), metricState, @@ -354,74 +195,52 @@ function buildMember(row: ProcessRow, sort: SortMode, icons: IconTable): DetailM } /** - * Projects a selected {@link ProcessGroup} into its {@link ProcessDetail} display - * model. Identity/path/argv/started-at come from the representative (the row the - * collapsed list shows); CPU and memory are summed across all members so a grouped - * app reports its whole footprint. A multi-process group projects all members - * (representative first) for the Members section; a single-process detail has no - * member list. The active `sort` sets each member's displayed value. + * Projects a selected {@link ProcessGroup} into its display model. Identity, + * path, argv, and started-at come from the representative (the row the + * collapsed list shows); CPU/memory/threads/CPU-time are summed across all + * members so a grouped app reports its whole footprint. */ export function buildProcessDetail(group: ProcessGroup, sort: SortMode, icons: IconTable): ProcessDetail { const representative = group.members[0]; - const started = rowStartedAt(representative); - const path = detailString(representative.executablePath); - const bundleIdentifier = okString(representative.app?.bundleIdentifier); - const executableName = detailString(representative.executableName).text; + const startedAtUnixMs = rowStartedAt(representative); + const read = sort === "cpu" ? rowCpu : rowMemory; const parentAvailable = representative.parentStatus === FieldStatus.FIELD_STATUS_OK && representative.parentPid > 0; - const read = sort === "cpu" ? rowCpu : rowMemory; - - // Display the members ranked by the active metric (highest first), like the - // main list - not in snapshot/PID order. A PID tie-break keeps equal-value rows - // (e.g. several idle 0.00% members) stable across ticks. The representative is - // still group.members[0] for the header identity; only the displayed list is - // ranked here. + // Members ranked by the active metric like the main list, with a PID + // tie-break so equal-value rows (e.g. idle 0.00% members) stay stable across + // ticks. The representative stays group.members[0] for the header identity; + // only the displayed list is ranked. const members = group.memberCount > 1 ? group.members .slice() .sort((left, right) => { const delta = (read(right).value ?? 0) - (read(left).value ?? 0); - if (delta !== 0) { - return delta; - } - return (left.identity?.pid ?? 0) - (right.identity?.pid ?? 0); + return delta !== 0 ? delta : rowPid(left) - rowPid(right); }) .map((row) => buildMember(row, sort, icons)) : []; - // Only the selected metric's total is shown (the CPU/RAM switch picks which), - // formatted with detail precision. - const total = sumGroup(group.members, read, (value) => formatDetailMetric(value, sort)); - - // Secondary header stats. Thread count and CPU time sum across the group (an - // app's whole footprint); the user comes from the representative (members - // share it). Thread count uses no decimals. - const threadCount = sumGroup(group.members, rowThreadCount, (value) => - Math.round(value).toString(), - ); - const cpuTime = sumGroup(group.members, rowCpuTime, formatCpuTime); - const user = detailUser(representative); - return { key: group.key, name: group.name, pid: group.pid, iconPngBase64: group.iconPngBase64, - bundleIdentifier, - executableName, - parent: { available: parentAvailable, pid: parentAvailable ? representative.parentPid : undefined }, - startedAt: started.state, - startedAtUnixMs: started.value, - path: path.state, - pathText: path.text, + bundleIdentifier: okString(representative.app?.bundleIdentifier), + executableName: okString(representative.executableName), + parentPid: parentAvailable ? representative.parentPid : undefined, + startedAt: startedAtUnixMs !== undefined + ? "ok" + : missingState(representative.identity?.startedAtStatus), + startedAtUnixMs, + path: detailString(representative.executablePath), commandLine: detailCommandLine(representative), - threadCount, - cpuTime, - user, - total, + threadCount: sumGroup(group.members, rowThreadCount, (value) => Math.round(value).toString()), + cpuTime: sumGroup(group.members, rowCpuTime, formatCpuTime), + user: detailUser(representative), + total: sumGroup(group.members, read, (value) => formatDetailMetric(value, sort)), totalSort: sort, memberCount: group.memberCount, members, diff --git a/src/renderer/domain/process-list.ts b/src/renderer/domain/process-list.ts index 37b9e1f..3d7f246 100644 --- a/src/renderer/domain/process-list.ts +++ b/src/renderer/domain/process-list.ts @@ -1,140 +1,89 @@ import { FieldStatus, type ProcessRow, type ProcessSnapshot } from "@/gen/process_explorer"; -import { formatBytes, formatCpuPercent } from "@/lib/format"; +import { UNAVAILABLE_TEXT, formatBytes, formatCpuPercent } from "@/lib/format"; /** - * Pure presentation logic for the process explorer list. - * - * Turns a raw {@link ProcessSnapshot} into ranked, searchable, app-grouped - * display rows. It is intentionally side-effect free and holds no OS/IPC - * knowledge, so it stays easy to reason about and to test (I15). The detail - * model in {@link "@/domain/process-detail"} builds on the {@link ProcessGroup}s - * and shared row readers exported here. + * Pure presentation logic for the process explorer list: turns a raw + * {@link ProcessSnapshot} into ranked, searchable, app-grouped display rows. + * Side-effect free and OS/IPC-agnostic; the detail model in + * {@link "@/domain/process-detail"} builds on the groups and row readers here. * * Privacy: command-line arguments are used only as a local in-memory search - * haystack here; they are never emitted into a group's display fields, logged, - * or persisted. + * haystack; they are never emitted into display fields, logged, or persisted. */ -/** - * The metrics the list can rank by. - */ +/** The metrics the list can rank by. */ export type SortMode = "cpu" | "memory"; /** - * The snapshot's deduplicated icon table: content-key -> base64 PNG. A row - * carries only an `app.iconKey` into this table (the gateway assembles it from - * its content-addressed icon store; bytes never ride the snapshot wire), so the - * projection resolves a row's icon through {@link rowIcon} rather than reading - * bytes off the row. + * The snapshot's deduplicated icon table: content key -> base64 PNG. Rows + * carry only an `app.iconKey`; {@link rowIcon} resolves it through this table. */ export type IconTable = { [key: string]: string }; /** - * A detail-view selection: either an app group (by its key) or one specific - * process (drilled into from a group's member list, or opened from a search - * result that matched a member rather than the whole app group). + * A detail-view selection: an app group (by key) or one specific process + * (drilled into from a member list or a member-matched search result). */ export type DetailSelection = | { kind: "group"; key: string } | { kind: "process"; pid: number; startedAtUnixMs?: number }; /** - * Display state of a group's active-metric value, mirroring the overview's metric - * states: `ok` has a value, `pending` is not computed yet (show `--`), and - * `unavailable` was tried and could not be read (show the unavailable text). - * - * Named distinctly from the overview's {@link "@/domain/metric-view".MetricState} - * (which additionally models elevated/critical usage thresholds); a process - * group value is just available / pending / unavailable. + * Display state of a metric value: `ok` has a value, `pending` is not yet + * computed (show `--`), `unavailable` was tried and could not be read. */ export type ProcessMetricState = "ok" | "pending" | "unavailable"; /** * One display row in the list. A group collapses an app's processes by owning - * `.app` bundle path; processes without that app-bundle identity stay singleton - * rows so unrelated CLIs and per-host XPC services are not merged. + * `.app` bundle path; processes without that identity stay singleton rows so + * unrelated CLIs and per-host XPC services are not merged. */ export interface ProcessGroup { - /** - * Stable key for React lists and selection. - */ + /** Stable key for React lists and selection. */ key: string; - /** - * Display name for the group: the owning `.app` bundle's name for an app, - * else the representative member's name (localized/executable/command/PID). - */ + /** The owning `.app` bundle's name for an app, else the representative's name. */ name: string; - /** - * Representative PID (the lowest-PID member - the app's main process). - */ + /** Representative PID (the lowest-PID member - the app's main process). */ pid: number; - /** - * Base64 PNG app icon when a GUI app supplied one; absent -> fallback icon. - */ + /** Base64 PNG app icon when available; absent -> fallback icon. */ iconPngBase64?: string; - /** - * Number of processes in the group (>= 1). - */ + /** Number of processes in the group (>= 1). */ memberCount: number; - /** - * Extra members beyond the representative, shown as a "+N" badge when > 0. - */ + /** Extra members beyond the representative, shown as a "+N" badge when > 0. */ childCount: number; - /** - * Display state of the active metric (drives ok value vs `--` vs unavailable). - */ metricState: ProcessMetricState; - /** - * Formatted active-metric value for the row; set only when metricState is ok. - */ + /** Formatted active-metric value; set only when metricState is ok. */ metricText?: string; - /** - * Numeric active-metric magnitude used for ranking (0 when not ok). - */ + /** Numeric active-metric magnitude used for ranking (0 when not ok). */ sortValue: number; /** - * Detail target for opening this list row. Group rows target the group; - * searched member rows target the matched process so their visible name matches - * the opened detail. + * Detail target for opening this row. Group rows target the group; searched + * member rows target the matched process so the visible name matches the + * opened detail. */ openSelection: DetailSelection; /** - * True only for the synthetic System group. Presentation uses it for the gear - * glyph, the member-count subtitle, and to hide the single-process fields and - * actions that make no sense for a bucket of unrelated daemons. + * True only for the synthetic System group: it gets the gear glyph and a + * member-count subtitle, and hides single-process fields and actions. */ system: boolean; /** - * The group's member rows, with the representative (the lowest-PID main - * process) first. Carried so the detail view can show identity, command line, - * path, hierarchy, and per-member totals without re-deriving them. Sensitive - * command-line text on these rows stays display/search-only. + * The member rows with the representative first, so the detail view can show + * identity, command line, hierarchy, and per-member totals without + * re-deriving them. */ members: ProcessRow[]; } /** - * Maximum number of ranked rows shown at once. The window is a compact popover, - * not an Activity Monitor table, and past the top consumers the list is a long - * tail of idle (0%/--) processes; capping keeps it scannable. Any process is - * still reachable by typing in the search field, which filters the full snapshot - * before this cap is applied. + * Maximum number of ranked rows shown at once: past the top consumers the list + * is a long tail of idle processes. Any process stays reachable via search, + * which filters the full snapshot before this cap is applied. */ export const DISPLAY_LIMIT = 50; -/** - * Result of projecting a snapshot for the current sort/search. - */ -export interface ProcessListProjection { - /** - * The ranked rows to render, capped at {@link DISPLAY_LIMIT}. - */ - groups: ProcessGroup[]; -} - -/** - * Reads a string field only when it is explicitly OK. - */ +/** Reads a string field only when it is explicitly OK and non-empty. */ export function okString(value: { status: FieldStatus; value: string } | undefined): string | undefined { if (value && value.status === FieldStatus.FIELD_STATUS_OK && value.value.length > 0) { return value.value; @@ -143,11 +92,9 @@ export function okString(value: { status: FieldStatus; value: string } | undefin } /** - * Resolves a row's display icon (base64 PNG) from the snapshot's {@link IconTable} - * by the row's `app.iconKey`, or undefined when the row has no icon. Icons are - * carried once per distinct image in the table, not on each row, so this is the - * single place that turns a key back into bytes. A missing/empty key or a key - * absent from the table yields undefined and the UI shows its fallback glyph. + * Resolves a row's display icon from the snapshot's {@link IconTable} by the + * row's `app.iconKey`; undefined (-> fallback glyph) when the row has no icon + * or the key is not in the table. */ export function rowIcon(row: ProcessRow, icons: IconTable): string | undefined { const key = row.app?.iconKey; @@ -159,8 +106,8 @@ export function rowIcon(row: ProcessRow, icons: IconTable): string | undefined { } /** - * Best display name for a row: the localized app name, then the executable name, - * then the short command name, falling back to the PID so a row is never blank. + * Best display name for a row: localized app name, then executable name, then + * command name, falling back to the PID so a row is never blank. */ export function rowDisplayName(row: ProcessRow): string { return ( @@ -172,26 +119,20 @@ export function rowDisplayName(row: ProcessRow): string { } /** - * A single row's active-metric reading. `value` is set only when the metric is - * OK; otherwise `pending` distinguishes "not computed yet" (proto UNKNOWN, e.g. - * a first-sample CPU delta) from "tried and unavailable" so the row can show a - * quiet `--` while pending versus an explicit unavailable state. + * A row's metric reading. `value` is set only when the metric is OK; + * otherwise `pending` distinguishes "not computed yet" from "unavailable". */ export interface MetricCell { value?: number; pending: boolean; } -/** - * Whether a field status is the proto default UNKNOWN ("not yet determined"). - */ +/** Whether a field status is the proto default UNKNOWN ("not yet determined"). */ export function isPending(status: FieldStatus): boolean { return status === FieldStatus.FIELD_STATUS_UNKNOWN; } -/** - * Per-process CPU percent with pending/unavailable distinction. - */ +/** Per-process CPU percent with pending/unavailable distinction. */ export function rowCpu(row: ProcessRow): MetricCell { const cpu = row.cpu; if (cpu && cpu.status === FieldStatus.FIELD_STATUS_OK && Number.isFinite(cpu.usagePercent)) { @@ -202,7 +143,7 @@ export function rowCpu(row: ProcessRow): MetricCell { /** * Per-process memory in bytes: physical footprint when OK, else the resident - * fallback when OK. Pending only if the primary footprint is still UNKNOWN. + * fallback. Pending only if the primary footprint is still UNKNOWN. */ export function rowMemory(row: ProcessRow): MetricCell { const footprint = row.memory?.physicalFootprintBytes; @@ -216,40 +157,55 @@ export function rowMemory(row: ProcessRow): MetricCell { return { pending: footprint === undefined || isPending(footprint.status) }; } -/** - * The active-metric reading for a single row under the current sort. - */ +/** The active-metric reading for one row under the current sort. */ export function rowMetric(row: ProcessRow, sort: SortMode): MetricCell { return sort === "cpu" ? rowCpu(row) : rowMemory(row); } -/** - * Maps a {@link MetricCell} to its display state: `ok` when it has a value, - * `pending` while it is still being computed, else `unavailable`. - */ +/** Maps a {@link MetricCell} to its display state. */ export function cellState(cell: MetricCell): ProcessMetricState { return cell.value !== undefined ? "ok" : cell.pending ? "pending" : "unavailable"; } +/** Display text for a metric value under the ok/pending/unavailable rule. */ +export function metricValueText(state: ProcessMetricState, text: string | undefined): string { + if (state === "ok") { + return text ?? UNAVAILABLE_TEXT; + } + return state === "pending" ? "--" : UNAVAILABLE_TEXT; +} + +/** PID of a row, or 0 when the identity is missing. */ +export function rowPid(row: ProcessRow): number { + return row.identity?.pid ?? 0; +} + +/** Start time (Unix ms) of a row, or undefined when not reliably known. */ +export function rowStartedAt(row: ProcessRow): number | undefined { + return row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK + ? row.identity.startedAtUnixMs + : undefined; +} + +/** Stable singleton key for one process row, independent of app grouping. */ +export function rowIdentityKey(row: ProcessRow): string { + return `pid:${rowPid(row)}:${rowStartedAt(row) ?? "unknown"}`; +} + /** * Key of the synthetic System group that buckets Apple's non-app system - * processes (daemons and helpers under SIP-protected paths) into one compact - * row, so the list stays focused on the user's own apps and processes instead - * of a long tail of idle macOS daemons. + * processes (daemons under SIP-protected paths) into one compact row, keeping + * the list focused on the user's own apps instead of idle macOS daemons. */ export const SYSTEM_GROUP_KEY = "system"; /** * Apple-owned executable locations - the SIP-protected prefixes. `/usr/local/` - * is deliberately excluded: it is the user-writable exception under SIP where - * developer tools live (manual installs, postgres, older Homebrew), and those - * are exactly the processes this product exists to surface individually. + * is deliberately excluded: it is the user-writable exception where developer + * tools live, exactly the processes this product surfaces individually. */ const SYSTEM_PATH_PREFIXES = ["/System/", "/usr/", "/sbin/", "/bin/"]; -/** - * True when an executable path lives in an Apple-owned (SIP-protected) location. - */ function isSystemPath(path: string): boolean { if (path.startsWith("/usr/local/")) { return false; @@ -258,11 +214,10 @@ function isSystemPath(path: string): boolean { } /** - * Group key. An owning `.app` path groups an app's processes (including Apple's - * bundled apps, which keep their own rows); a non-app process in an Apple-owned - * path joins the synthetic System group; everything else stays a singleton. A - * row with no readable path stays a singleton too - its identity is uncertain, - * so it is not silently buried in System. + * Group key: an owning `.app` path groups an app's processes; a non-app + * process in an Apple-owned path joins the System group; everything else - + * including a row with no readable path, whose identity is uncertain - stays + * a singleton. */ function rowGroupKey(row: ProcessRow): string { const bundlePath = okString(row.app?.bundle?.path); @@ -277,30 +232,13 @@ function rowGroupKey(row: ProcessRow): string { } /** - * Stable singleton key for one process row, independent of app grouping. - */ -export function rowIdentityKey(row: ProcessRow): string { - const pid = row.identity?.pid ?? 0; - const startedAt = - row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK - ? row.identity.startedAtUnixMs - : "unknown"; - return `pid:${pid}:${startedAt}`; -} - -/** - * Lowercased search haystack for one process member: display name, PID, - * executable path, bundle id, command name, and command-line arguments when - * available. App/group identity lives in {@link groupHaystack} so searching the - * app name returns the app group, not every helper as an individual result. - * Used only for in-memory matching; the sensitive argument text never leaves - * this module. + * Lowercased search haystack for one process member. App/group identity lives + * in {@link groupHaystack} so searching an app name returns the app group, not + * every helper individually. In-memory matching only; the sensitive argument + * text never leaves this module. */ function rowHaystack(row: ProcessRow): string { - const parts: string[] = [ - rowDisplayName(row), - String(row.identity?.pid ?? 0), - ]; + const parts: string[] = [rowDisplayName(row), String(rowPid(row))]; const path = okString(row.executablePath); if (path) parts.push(path); const bundle = okString(row.app?.bundleIdentifier); @@ -315,15 +253,12 @@ function rowHaystack(row: ProcessRow): string { /** * Lowercased search haystack for the grouped app identity. It intentionally - * excludes member argv so a helper-specific query can open that helper, while an - * app identity query keeps a real app-bundle group and its Members section. + * excludes member argv so a helper-specific query opens that helper, while an + * app identity query keeps the app-bundle group whole. */ function groupHaystack(group: ProcessGroup): string { const representative = group.members[0]; - const parts: string[] = [ - group.name, - String(group.pid), - ]; + const parts: string[] = [group.name, String(group.pid)]; const bundle = okString(representative.app?.bundleIdentifier); if (bundle) parts.push(bundle); const localizedName = okString(representative.app?.localizedName); @@ -336,31 +271,18 @@ function groupHaystack(group: ProcessGroup): string { } /** - * Accumulator while folding member rows into one group. It tracks only what - * cannot be re-derived from the members afterwards: the summed sort metric and - * the metric-availability flags. Display identity (representative, name, icon, - * counts) is derived from `members` when the group is built. + * Accumulator while folding member rows into one group: the summed sort metric, + * the metric-availability flags, and the members. Display identity is derived + * from the members when the group is built. */ interface GroupAccumulator { key: string; sortValueSum: number; - /** - * True once any member contributed a real (OK) metric value. - */ hasMetric: boolean; - /** - * True if any member's metric is pending (UNKNOWN); used when none is OK. - */ anyPending: boolean; - /** - * All member rows, in snapshot order. - */ members: ProcessRow[]; } -/** - * Starts a group accumulator with the first row that belongs to the group. - */ function createGroupAccumulator(key: string, row: ProcessRow, sort: SortMode): GroupAccumulator { const metric = rowMetric(row, sort); return { @@ -372,9 +294,6 @@ function createGroupAccumulator(key: string, row: ProcessRow, sort: SortMode): G }; } -/** - * Adds one row's active metric and identity to a group accumulator. - */ function addRowToGroup(group: GroupAccumulator, row: ProcessRow, sort: SortMode): void { const metric = rowMetric(row, sort); group.sortValueSum += metric.value ?? 0; @@ -383,61 +302,41 @@ function addRowToGroup(group: GroupAccumulator, row: ProcessRow, sort: SortMode) group.members.push(row); } -/** - * Formats a group's summed metric for the compact list under the active sort. - */ function formatGroupMetric(sum: number, sort: SortMode): string { return sort === "cpu" ? formatCpuPercent(sum) : formatBytes(sum); } -/** - * PID of a row, or 0 when the identity is missing. - */ -export function rowPid(row: ProcessRow): number { - return row.identity?.pid ?? 0; -} - -/** - * Snapshot-stable process selection for one row. - */ +/** Snapshot-stable process selection for one row. */ function rowSelection(row: ProcessRow): DetailSelection { - const startedAtUnixMs = - row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK - ? row.identity.startedAtUnixMs - : undefined; - return { kind: "process", pid: rowPid(row), startedAtUnixMs }; + return { kind: "process", pid: rowPid(row), startedAtUnixMs: rowStartedAt(row) }; } /** * The representative member of a group: the lowest-PID row - the app's main - * process, which starts before its helpers. Using this stable identity (rather - * than the busiest member) keeps the detail header from flipping between members - * as live usage shifts. Assumes a non-empty member list. + * process. This stable identity (rather than the busiest member) keeps the + * detail header from flipping between members as live usage shifts. */ function representativeOf(members: ProcessRow[]): ProcessRow { return members.reduce((lowest, row) => (rowPid(row) < rowPid(lowest) ? row : lowest)); } /** - * Builds the display {@link ProcessGroup} from an accumulated group: derives the - * representative and the display name/icon/counts from the members (rather than - * tracking them during the fold). The representative is hoisted to `members[0]` - * so the detail header reads its identity; the icon prefers the representative's, - * falling back to any member that has one (an `.app` group shares one icon). + * Builds the display {@link ProcessGroup} from an accumulated group. The + * representative is hoisted to `members[0]` so the detail header reads its + * identity; the icon prefers the representative's, falling back to any member + * that has one (an `.app` group shares one icon). */ function buildGroupRow(group: GroupAccumulator, sort: SortMode, icons: IconTable): ProcessGroup { const representative = representativeOf(group.members); - const isGroup = group.members.length > 1; const isSystem = group.key === SYSTEM_GROUP_KEY; const metricState: ProcessMetricState = group.hasMetric ? "ok" : group.anyPending ? "pending" : "unavailable"; const icon = rowIcon(representative, icons) ?? group.members.map((row) => rowIcon(row, icons)).find(Boolean); - // A multi-process group shows the owning `.app` name; a single process (incl. a - // drilled-in member) shows its own display name, not its app's. The synthetic - // System group shows its fixed label and the gear glyph (no member's generic - // executable icon should brand the whole bucket). - const appName = isGroup ? okString(representative.app?.bundle?.name) : undefined; + // A multi-process group shows the owning `.app` name; a single process shows + // its own display name. The System group shows its fixed label and the gear + // glyph (no member's executable icon should brand the whole bucket). + const appName = group.members.length > 1 ? okString(representative.app?.bundle?.name) : undefined; return { key: group.key, name: isSystem ? "System" : appName ?? rowDisplayName(representative), @@ -454,53 +353,30 @@ function buildGroupRow(group: GroupAccumulator, sort: SortMode, icons: IconTable }; } -/** - * Folds snapshot rows into ranked display groups for the sort and optional search - * query: buckets by native app key (owning `.app` bundle path), sums each - * group's metric, and keeps non-app processes as singletons. Search keeps - * app/group matches grouped but returns member-specific matches as singletons, so - * the visible result name matches the process that opens. Ranked by summed metric - * descending with a stable name tiebreak; no display cap - callers cap for the - * list, but the detail lookup needs the full set to keep a selection findable. - */ -function buildGroups(rows: ProcessRow[], sort: SortMode, query: string, icons: IconTable): ProcessGroup[] { - const trimmed = query.trim().toLowerCase(); - const grouped = buildGroupedRows(rows, sort, icons); - if (trimmed.length > 0) { - return buildSearchGroups(grouped, sort, trimmed, icons); - } - - return grouped; -} - -/** - * Builds the normal app-grouped list rows with no search filter applied. - */ +/** Builds the app-grouped, ranked rows with no search filter applied. */ function buildGroupedRows(rows: ProcessRow[], sort: SortMode, icons: IconTable): ProcessGroup[] { const groups = new Map(); - for (const row of rows) { const key = rowGroupKey(row); const existing = groups.get(key); - if (existing === undefined) { groups.set(key, createGroupAccumulator(key, row, sort)); - continue; + } else { + addRowToGroup(existing, row, sort); } - - addRowToGroup(existing, row, sort); } - const projected: ProcessGroup[] = Array.from(groups.values()).map((group) => - buildGroupRow(group, sort, icons), + return sortGroups( + Array.from(groups.values()).map((group) => buildGroupRow(group, sort, icons)), ); - - return sortGroups(projected); } /** - * Builds search results from already-grouped rows. App identity or representative - * matches keep the group; otherwise only the matching member processes are shown. + * Builds search results from already-grouped rows. App identity or + * representative matches keep the group whole; otherwise only the matching + * member processes are shown, as singletons. The representative shortcut is + * skipped for the System group: its members are unrelated daemons, so a match + * (e.g. "launchd") surfaces that daemon, not the whole bucket. */ function buildSearchGroups( groups: ProcessGroup[], @@ -512,10 +388,6 @@ function buildSearchGroups( for (const group of groups) { const representative = group.members[0]; - // The representative shortcut keeps an app group whole when its main process - // matches. It is skipped for the synthetic System group: its members are - // unrelated daemons, so a match (e.g. "launchd") should surface that daemon - // as its own row, not the whole bucket. if ( groupHaystack(group).includes(query) || (!group.system && rowHaystack(representative).includes(query)) @@ -535,14 +407,12 @@ function buildSearchGroups( } /** - * Sorts list groups by active metric, with stable cold-start behavior. + * Ranks by summed metric descending. The name tiebreak applies only between + * rows that both have a real value, so a cold start (every row pending, all + * sortValue 0) keeps the snapshot's insertion order instead of snapping to an + * alphabetical layout that reshuffles a tick later (Array.sort is stable). */ function sortGroups(projected: ProcessGroup[]): ProcessGroup[] { - // Rank by summed metric descending. The name tiebreak applies only between two - // rows that both have a real value, so on a first-sample cold start (every row - // pending, all sortValue 0) the list keeps the snapshot's insertion order - // instead of snapping to an alphabetical layout that then reshuffles a tick - // later. Array.sort is stable, so equal comparisons preserve that order. projected.sort((left, right) => { if (right.sortValue !== left.sortValue) { return right.sortValue - left.sortValue; @@ -557,34 +427,30 @@ function sortGroups(projected: ProcessGroup[]): ProcessGroup[] { } /** - * Projects a snapshot into ranked, grouped, searched display rows for the list. - * - * Grouping and ranking live in {@link buildGroups}; this caps the result to - * {@link DISPLAY_LIMIT}. Search has already narrowed the groups to matches, so a - * process beyond the cap is still reachable by typing. + * Projects a snapshot into ranked, grouped, searched display rows, capped at + * {@link DISPLAY_LIMIT}. Search narrows before the cap, so a process beyond it + * is still reachable by typing. */ export function projectProcessList( snapshot: ProcessSnapshot, sort: SortMode, query: string, -): ProcessListProjection { - return { - groups: buildGroups(snapshot.processes, sort, query, snapshot.icons).slice( - 0, - DISPLAY_LIMIT, - ), - }; +): ProcessGroup[] { + const trimmed = query.trim().toLowerCase(); + const grouped = buildGroupedRows(snapshot.processes, sort, snapshot.icons); + const groups = trimmed.length > 0 + ? buildSearchGroups(grouped, sort, trimmed, snapshot.icons) + : grouped; + return groups.slice(0, DISPLAY_LIMIT); } /** * Reorders projected groups to match a previously rendered key order, so the - * list can pin row positions while the pointer is inside it - a live re-rank - * otherwise moves rows under the cursor between aiming and clicking, opening - * the wrong detail. Only the order is held; the group objects (and their live - * metric values) are the fresh ones. Groups not in `pinnedKeys` (new arrivals) - * append after the pinned rows in their ranked order, so they never displace a - * row mid-list; vanished keys drop out naturally. With no pinned keys the - * groups pass through unchanged. + * list can pin row positions while the pointer is inside it (a live re-rank + * would move rows between aiming and clicking). Only the order is held; the + * group objects and their metric values are the fresh ones. New arrivals + * append after the pinned rows so they never displace a row mid-list; vanished + * keys drop out naturally. */ export function pinGroupOrder(groups: ProcessGroup[], pinnedKeys: string[]): ProcessGroup[] { if (pinnedKeys.length === 0) { @@ -603,88 +469,57 @@ export function pinGroupOrder(groups: ProcessGroup[], pinnedKeys: string[]): Pro } /** - * Finds one group by its {@link ProcessGroup.key} for the detail view. Collects - * only the rows whose {@link rowGroupKey} matches (rather than grouping the whole - * snapshot and discarding the rest - the detail re-resolves on every tick, so this - * stays cheap), then folds them through the same {@link buildGroupRow} path the - * list uses, so the representative and member order match the list the user opened - * from. Returns undefined when the group is gone (its processes all exited), so - * the detail can fall back to the list. No display cap applies. + * Finds one group by key for the detail view, folding only the matching rows + * through the same {@link buildGroupRow} path the list uses, so the + * representative and member order match the list the user opened from. + * Undefined when the group is gone (its processes all exited). */ export function findGroupByKey( snapshot: ProcessSnapshot, sort: SortMode, key: string, ): ProcessGroup | undefined { - let group: GroupAccumulator | undefined = undefined; + let group: GroupAccumulator | undefined; for (const row of snapshot.processes) { if (rowGroupKey(row) !== key) { continue; } - - const existing = group; - if (existing === undefined) { + if (group === undefined) { group = createGroupAccumulator(key, row, sort); } else { - addRowToGroup(existing, row, sort); + addRowToGroup(group, row, sort); } } - return group === undefined - ? undefined - : buildGroupRow(group, sort, snapshot.icons); + return group && buildGroupRow(group, sort, snapshot.icons); } -/** - * Returns the group's members with `representative` at index 0. The detail reads - * `members[0]` for its header identity (name/PID/path/argv), so the representative - * must be first; the order of the rest does not matter here because the detail - * re-ranks the displayed member list by the active metric in `buildProcessDetail`. - */ +/** Returns the members with `representative` hoisted to index 0. */ function representativeFirst(members: ProcessRow[], representative: ProcessRow): ProcessRow[] { - const index = members.indexOf(representative); - if (index <= 0) { + if (members[0] === representative) { return members; } - const ordered = members.slice(); - ordered.splice(index, 1); - ordered.unshift(representative); - return ordered; + return [representative, ...members.filter((member) => member !== representative)]; } /** - * A single-member {@link ProcessGroup} wrapping one member row, so drilling into - * a member reuses `buildProcessDetail` unchanged: its detail shows just that - * process (its own CPU/memory, no member list). Built through the same - * {@link buildGroupRow} path as list groups; the key is the row's PID/start-time - * singleton identity, distinct from any app-bundle group key. + * A single-member {@link ProcessGroup} wrapping one row, so drilling into a + * member reuses `buildProcessDetail` unchanged. The key is the row's singleton + * identity, distinct from any app-bundle group key. */ export function singleProcessGroup(row: ProcessRow, sort: SortMode, icons: IconTable): ProcessGroup { - const cell = rowMetric(row, sort); - const group = buildGroupRow( - { - key: rowIdentityKey(row), - sortValueSum: cell.value ?? 0, - hasMetric: cell.value !== undefined, - anyPending: cell.pending, - members: [row], - }, - sort, - icons, - ); + const group = buildGroupRow(createGroupAccumulator(rowIdentityKey(row), row, sort), sort, icons); return { ...group, openSelection: rowSelection(row) }; } /** - * Resolves a {@link DetailSelection} against the current snapshot into the - * {@link ProcessGroup} the detail renders, or undefined when it is gone (the - * group's processes all exited, or the drilled-in process exited / its PID was - * reused). For a process selection: if the selection carried an exact start time, - * only an exact (pid, started_at) match resolves - if the process exited and its - * PID was reused, no match is found and this returns undefined, so the drill-in - * falls back up the stack rather than silently showing an unrelated process. Only - * a selection with no recorded start time falls back to PID alone. + * Resolves a {@link DetailSelection} against the current snapshot, or + * undefined when it is gone. A process selection that carried an exact start + * time resolves only on an exact (pid, started_at) match - if the PID was + * reused the drill-in falls back up the stack rather than silently showing an + * unrelated process; only a selection with no recorded start time falls back + * to PID alone. */ export function resolveSelection( snapshot: ProcessSnapshot, @@ -695,19 +530,13 @@ export function resolveSelection( return findGroupByKey(snapshot, sort, selection.key); } - const matches = snapshot.processes.filter((row) => (row.identity?.pid ?? 0) === selection.pid); + const matches = snapshot.processes.filter((row) => rowPid(row) === selection.pid); if (matches.length === 0) { return undefined; } if (selection.startedAtUnixMs !== undefined) { - const exact = matches.find( - (row) => - row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK && - row.identity.startedAtUnixMs === selection.startedAtUnixMs, - ); - // No exact (pid, started_at) match: the selected process is gone (its PID may - // have been reused). Return undefined rather than a different process. + const exact = matches.find((row) => rowStartedAt(row) === selection.startedAtUnixMs); return exact ? singleProcessGroup(exact, sort, snapshot.icons) : undefined; } diff --git a/src/renderer/gateway/app-gateway.ts b/src/renderer/gateway/app-gateway.ts index 800967f..da1268a 100644 --- a/src/renderer/gateway/app-gateway.ts +++ b/src/renderer/gateway/app-gateway.ts @@ -2,32 +2,24 @@ import { ipc } from "@/gen/ipc"; import { ActiveView } from "@/gen/app"; /** - * Renderer-side wrapper over the generated app-level IPC client. Keeps - * presentation components free of generated-IPC details, mirroring - * {@link metricsGateway}. + * Renderer-side wrapper over the app-level IPC client, keeping presentation + * components free of generated-IPC details. */ export const appGateway = { - /** - * Pins or unpins the window above other windows. - */ + /** Pins or unpins the window above other windows. */ setAlwaysOnTop(alwaysOnTop: boolean): Promise { return ipc.app.SetAlwaysOnTop({ alwaysOnTop }); }, - /** - * Reports the on-screen view to main so it can gate per-view background work - * (metrics sampling vs process collection). Fire-and-forget: the caller does - * not need the acknowledgement. - */ + /** Reports the on-screen view so main can gate per-view background work. */ setActiveView(view: ActiveView): Promise { return ipc.app.SetActiveView({ view }); }, /** - * Copies user-selected text (an executable path or a process command line) to - * the system clipboard via main, which holds the privileged clipboard access. - * The text is sensitive and is passed here only on an explicit user action; it - * is never logged in the renderer or in main. + * Copies user-selected text (a path or command line) via main, which holds + * the privileged clipboard access. The text is sensitive: passed only on an + * explicit user action and never logged. */ copyText(text: string): Promise { return ipc.app.CopyText({ text }); diff --git a/src/renderer/gateway/metrics-gateway.ts b/src/renderer/gateway/metrics-gateway.ts index 52057e4..e8a3566 100644 --- a/src/renderer/gateway/metrics-gateway.ts +++ b/src/renderer/gateway/metrics-gateway.ts @@ -1,35 +1,19 @@ import { ipc } from "@/gen/ipc"; import type { MetricsSnapshot } from "@/gen/metrics"; -/** - * Called for each snapshot the main process pushes. - */ -type SnapshotListener = (snapshot: MetricsSnapshot) => void; - -/** - * Called once if the stream fails. The stream ends after an error. - */ -type StreamErrorListener = (error: unknown) => void; - -/** - * Tears down a subscription. Idempotent; safe to use as a cleanup callback. - */ +/** Tears down a subscription. Idempotent; safe as a `useEffect` cleanup. */ type Unsubscribe = () => void; /** - * Renderer-side wrapper over the generated metrics streaming client. - * - * Keeps presentation components free of generated-IPC details: a component - * subscribes once (e.g. in a `useEffect`) and returns the {@link Unsubscribe} - * as its cleanup callback. Main owns the cadence, so the renderer holds no - * sampling timer. + * Renderer-side wrapper over the metrics streaming client. Main owns the + * sampling cadence, so the renderer holds no timer: a component subscribes + * once and returns the {@link Unsubscribe} as its effect cleanup. */ export const metricsGateway = { - /** - * Subscribes to the metrics stream. Returns an {@link Unsubscribe} that - * closes the underlying subscription synchronously. - */ - subscribe(onSnapshot: SnapshotListener, onError?: StreamErrorListener): Unsubscribe { + subscribe( + onSnapshot: (snapshot: MetricsSnapshot) => void, + onError?: (error: unknown) => void, + ): Unsubscribe { const subscription = ipc.metrics.StreamSnapshots({}).subscribe({ next: onSnapshot, error: (error) => onError?.(error), diff --git a/src/renderer/gateway/process-explorer-gateway.ts b/src/renderer/gateway/process-explorer-gateway.ts index 2223463..d4902df 100644 --- a/src/renderer/gateway/process-explorer-gateway.ts +++ b/src/renderer/gateway/process-explorer-gateway.ts @@ -10,26 +10,10 @@ import { } from "@/gen/process_explorer"; import { mergeSnapshotDelta } from "@/gateway/snapshot-delta"; -/** - * Called for each revision ping the main process publishes. - */ -type RevisionListener = (revision: ProcessSnapshotRevision) => void; - -/** - * Called once if the revision stream fails. The stream ends after an error. - */ -type StreamErrorListener = (error: unknown) => void; - -/** - * Tears down a subscription. Idempotent; safe to use as a cleanup callback. - */ +/** Tears down a subscription. Idempotent; safe as a `useEffect` cleanup. */ type Unsubscribe = () => void; -/** - * An explicit empty snapshot for the loading state before the first pull. Shaped - * exactly like a real {@link ProcessSnapshot} so presentation code can render a - * loading/empty view without null checks. - */ +/** An explicit empty snapshot, shaped like a real one so callers need no null checks. */ function emptySnapshot(): ProcessSnapshot { return { status: SnapshotStatus.SNAPSHOT_STATUS_LOADING, @@ -44,25 +28,21 @@ function emptySnapshot(): ProcessSnapshot { /** * The last full snapshot this renderer assembled, advertised to main on every - * pull (have_revision) so main can answer with a delta - argv the renderer - * already holds is omitted and merged back in locally. Its `icons` table doubles - * as the renderer's content-addressed icon store: a key it already maps is never - * re-fetched. Module state on purpose: it must survive view re-mounts but reset - * with the renderer, so a reloaded renderer naturally pulls a full snapshot - * (have_revision 0) and re-fetches every icon once. Holds sensitive argv like - * any snapshot; never logged or persisted. + * pull (have_revision) so main can answer with a delta. Its `icons` table + * doubles as the content-addressed icon store: a held key is never re-fetched. + * Module state on purpose: it survives view re-mounts but resets with the + * renderer, so a reload naturally pulls a full snapshot again. Holds sensitive + * argv like any snapshot; never logged or persisted. */ let lastSnapshot: ProcessSnapshot | null = null; /** - * Assembles the icon table for `snapshot` (which arrives from main with an - * empty `icons`): known keys come from the previous snapshot's table, and keys - * the renderer has never seen are fetched once through GetProcessIcons. Keys - * are content hashes, so a held value can never be stale; the rebuilt table - * carries exactly the keys the new rows reference, which keeps it bounded by - * the live process set. A failed fetch degrades to whatever is held locally - - * affected rows render the generic glyph and the next pull retries the - * still-missing keys. + * Assembles the icon table for `snapshot` (which arrives with an empty one): + * held keys come from the previous table, unseen keys are fetched once. Keys + * are content hashes, so a held value can never be stale, and the rebuilt + * table carries exactly the keys the new rows reference. A failed fetch + * degrades to the held icons; affected rows render the generic glyph and the + * next pull retries. */ async function assembleIcons(snapshot: ProcessSnapshot): Promise<{ [key: string]: string }> { const known = lastSnapshot?.icons ?? {}; @@ -95,30 +75,21 @@ async function assembleIcons(snapshot: ProcessSnapshot): Promise<{ [key: string] } /** - * Renderer-side wrapper over the generated process explorer client. - * - * Keeps presentation components free of generated-IPC details. The delivery - * shape matches the contract: full snapshots are pulled with {@link getSnapshot} - * (a cached unary read owned by main) while {@link subscribeRevisions} delivers - * lightweight revision pings so a component can pull only when the revision - * advances. Action helpers are thin unary calls; main validates every target. - * - * Command-line arguments that arrive on rows are display/search data only and - * must never be logged or persisted by callers. + * Renderer-side wrapper over the process explorer client. Full snapshots are + * pulled with {@link getSnapshot} (a cached unary read owned by main) while + * {@link subscribeRevisions} delivers lightweight pings so a component pulls + * only when the revision advances. Command-line arguments on rows are + * display/search data only and must never be logged or persisted by callers. */ export const processExplorerGateway = { - /** - * An explicit empty/loading snapshot for first paint before any pull. - */ + /** An explicit empty/loading snapshot for first paint before any pull. */ emptySnapshot, /** - * Pulls the latest cached process snapshot from main. Advertises the last - * snapshot this renderer holds; when main answers with a delta against it, - * the delta is merged locally into a full snapshot. The icon table is then - * assembled locally (snapshots arrive with an empty one): held keys are - * reused, unknown keys are fetched once through GetProcessIcons. Callers - * always receive self-contained data regardless of what went over the wire. + * Pulls the latest cached snapshot from main, advertising the snapshot this + * renderer holds; a delta answer is merged locally and the icon table is + * assembled (held keys reused, unknown keys fetched once). Callers always + * receive self-contained data regardless of what went over the wire. */ async getSnapshot(): Promise { const base = lastSnapshot; @@ -133,12 +104,11 @@ export const processExplorerGateway = { return snapshot; }, - /** - * Subscribes to revision pings. Returns an {@link Unsubscribe} that closes the - * underlying subscription synchronously (designed for a `useEffect` cleanup). - * The cadence is owned by main, so the renderer holds no timer. - */ - subscribeRevisions(onRevision: RevisionListener, onError?: StreamErrorListener): Unsubscribe { + /** Subscribes to revision pings; the cadence is owned by main. */ + subscribeRevisions( + onRevision: (revision: ProcessSnapshotRevision) => void, + onError?: (error: unknown) => void, + ): Unsubscribe { const subscription = ipc.processExplorer.StreamRevisions({}).subscribe({ next: onRevision, error: (error) => onError?.(error), @@ -147,20 +117,12 @@ export const processExplorerGateway = { return () => subscription.unsubscribe(); }, - /** - * Reads per-action availability for a target, validated in main against the - * latest snapshot. Stale-target detection uses PID plus start time in the live - * cache, so no snapshot revision is part of the action request. - */ + /** Reads per-action availability for a target, validated in main. */ async getActionStates(target: ProcessIdentity): Promise { return ipc.processExplorer.GetProcessActionStates({ target }); }, - /** - * Requests a validated action against a target. Main re-validates and applies - * self/critical/stale protections; the result is count-only with no sensitive - * detail. - */ + /** Requests a validated action; main re-checks every protection. */ async runAction( action: ProcessActionKind, target: ProcessIdentity, diff --git a/src/renderer/gateway/snapshot-delta.ts b/src/renderer/gateway/snapshot-delta.ts index 97e7e56..8de7388 100644 --- a/src/renderer/gateway/snapshot-delta.ts +++ b/src/renderer/gateway/snapshot-delta.ts @@ -2,16 +2,11 @@ import { FieldStatus, type ProcessRow, type ProcessSnapshot } from "@/gen/proces import { rowIdentityKey } from "@/domain/process-list"; /** - * Merges a delta {@link ProcessSnapshot} (see the proto's `ProcessSnapshot.delta`) - * with the full base snapshot it was built against, producing a self-contained - * snapshot for presentation code. - * - * Main sends a delta only when the pull's have_revision named a snapshot the - * renderer holds, so `base` is that snapshot. argv is the only reduced field: - * rows marked `commandLine.from_prev` take their argv from the base row with - * the same identity. Icons are not handled here - they never ride the snapshot - * wire; the gateway assembles the icon table separately. Pure and side-effect - * free; the gateway owns the base bookkeeping. + * Merges a delta {@link ProcessSnapshot} with the full base snapshot it was + * built against. argv is the only reduced field: rows marked + * `commandLine.from_prev` take their argv from the base row with the same + * identity. Icons never ride the snapshot wire; the gateway assembles the + * icon table separately. */ export function mergeSnapshotDelta( base: ProcessSnapshot | null, diff --git a/src/renderer/lib/format.ts b/src/renderer/lib/format.ts index 8ca5996..9c75829 100644 --- a/src/renderer/lib/format.ts +++ b/src/renderer/lib/format.ts @@ -1,22 +1,16 @@ /** * Pure presentation formatters for metric values. - * - * These convert raw snapshot numbers into compact, human-readable strings for - * the overview cards. They are intentionally side effect free and hold no OS or - * IPC knowledge, so they stay easy to reason about and test. */ -/** - * Shown wherever a value cannot be read or has not arrived yet. - */ +/** Shown wherever a value cannot be read or has not arrived yet. */ export const UNAVAILABLE_TEXT = "Unavailable"; const BYTE_UNITS = ["B", "KB", "MB", "GB", "TB", "PB"] as const; /** - * A formatted metric value split into its numeric text and unit suffix, so the - * overview can render the number large and the unit small and muted. `unit` is - * empty when the input could not be formatted (the value slot then carries + * A formatted value split into numeric text and unit suffix, so the overview + * can render the number large and the unit small and muted. `unit` is empty + * when the input could not be formatted (`value` then carries * {@link UNAVAILABLE_TEXT}). */ export interface ValueParts { @@ -25,9 +19,8 @@ export interface ValueParts { } /** - * Formats a 0-100 percentage with a single fractional digit, e.g. `42.0` + `%`. - * The fixed precision keeps the string width stable across updates. Intended for - * whole-machine gauges (CPU/memory/disk overview) that are bounded at 100%. + * Formats a 0-100 percentage with one fractional digit (stable width), e.g. + * `42.0` + `%`. For whole-machine gauges bounded at 100%. */ export function formatPercentParts(value: number): ValueParts { if (!Number.isFinite(value)) return { value: UNAVAILABLE_TEXT, unit: "" }; @@ -36,9 +29,8 @@ export function formatPercentParts(value: number): ValueParts { } /** - * Formats a per-process CPU percentage. Uses Activity Monitor semantics, so the - * value is NOT clamped at 100: one fully busy core is ~100% and a multithreaded - * process can read higher (e.g. `240.0%`). Negative noise is floored at 0. + * Formats a per-process CPU percentage with Activity Monitor semantics: NOT + * clamped at 100 (a multithreaded process can read e.g. `240.0%`). */ export function formatCpuPercent(value: number): string { if (!Number.isFinite(value)) return UNAVAILABLE_TEXT; @@ -46,9 +38,8 @@ export function formatCpuPercent(value: number): string { } /** - * Formats a per-process CPU percentage with two decimals, e.g. `13.04%`. Used in - * the detail panel, where the extra digit helps distinguish near-idle processes - * that the list's single-decimal format rounds to the same value. + * Two-decimal per-process CPU percentage for the detail panel, where the extra + * digit distinguishes near-idle processes the list rounds to the same value. */ export function formatCpuPercentPrecise(value: number): string { if (!Number.isFinite(value)) return UNAVAILABLE_TEXT; @@ -56,10 +47,9 @@ export function formatCpuPercentPrecise(value: number): string { } /** - * Formats a byte count using binary units (1024) with adaptive precision, e.g. - * `512 MB`, `15.6 GB`. Sub-GB values stay whole; larger values keep one digit. - * Pass `precise` for one extra decimal (`512.4 MB`, `15.63 GB`) in the detail - * panel, where the finer figure is useful. + * Formats a byte count using binary units (1024), e.g. `512 MB`, `15.6 GB`. + * Sub-GB values stay whole; larger keep one digit. `precise` adds one more + * digit each for the detail panel. */ export function formatBytes(bytes: number, precise = false): string { if (!Number.isFinite(bytes) || bytes < 0) return UNAVAILABLE_TEXT; @@ -72,18 +62,16 @@ export function formatBytes(bytes: number, precise = false): string { unit += 1; } - // One decimal from GB up, whole below; `precise` adds one more digit each. const baseDigits = unit >= 3 ? 1 : 0; - const digits = precise ? baseDigits + 1 : baseDigits; - return `${value.toFixed(digits)} ${BYTE_UNITS[unit]}`; + return `${value.toFixed(precise ? baseDigits + 1 : baseDigits)} ${BYTE_UNITS[unit]}`; } /** - * Formats a per-second byte rate split into number and unit, e.g. `2.1` + - * `KB/s`. Unlike {@link formatBytes}, the unit is promoted at 1000 (not 1024), - * so the numeric part never exceeds three digits — a rate hovering just under - * 1 KB/s reads `1.0 KB/s` instead of a wide `1018 B/s`. Sub-10 values keep one - * decimal so a slow rate still visibly moves; larger values stay whole. + * Formats a per-second byte rate, e.g. `2.1` + `KB/s`. Unlike + * {@link formatBytes}, the unit is promoted at 1000 (not 1024) so the numeric + * part never exceeds three digits - a rate just under 1 KB/s reads `1.0 KB/s` + * instead of a wide `1018 B/s`. Sub-10 values keep one decimal so a slow rate + * still visibly moves. */ export function formatRateParts(bytesPerSecond: number): ValueParts { if (!Number.isFinite(bytesPerSecond) || bytesPerSecond < 0) return { value: UNAVAILABLE_TEXT, unit: "" }; @@ -100,8 +88,8 @@ export function formatRateParts(bytesPerSecond: number): ValueParts { } /** - * Formats an uptime in seconds as a compact duration, e.g. `3d 4h`, `5h 12m`, - * `8m`. Only the two most significant non-zero units are shown to stay compact. + * Formats an uptime in seconds as a compact duration showing the two most + * significant non-zero units, e.g. `3d 4h`, `5h 12m`, `8m`. */ export function formatUptime(seconds: number): string { if (!Number.isFinite(seconds) || seconds < 0) return UNAVAILABLE_TEXT; @@ -118,14 +106,10 @@ export function formatUptime(seconds: number): string { } /** - * Formats a cumulative CPU time given in nanoseconds as a compact duration, - * matching Activity Monitor's "CPU Time" column: `4.62s` below a minute and - * `40:31.84` (m:ss.cc) below an hour both carry centiseconds, so the value - * visibly advances on each refresh even when a near-idle process only accrues a - * few milliseconds per tick. From an hour up it is `1:00:05` (h:mm:ss) without - * centiseconds - it still ticks every second and keeps the width bounded. - * Tabular figures (applied where it is rendered) keep the width stable as the - * value changes. + * Formats cumulative CPU time (nanoseconds) like Activity Monitor's "CPU + * Time" column: `4.62s` below a minute and `40:31.84` (m:ss.cc) below an hour + * carry centiseconds so a near-idle process still visibly advances each + * refresh; from an hour up `1:00:05` (h:mm:ss) keeps the width bounded. */ export function formatCpuTime(nanos: number): string { if (!Number.isFinite(nanos) || nanos < 0) return UNAVAILABLE_TEXT; @@ -136,46 +120,34 @@ export function formatCpuTime(nanos: number): string { const seconds = totalSeconds % 60; if (hours > 0) { - const wholeSeconds = Math.floor(seconds); - return `${hours}:${pad2(minutes)}:${pad2(wholeSeconds)}`; + return `${hours}:${pad2(minutes)}:${pad2(Math.floor(seconds))}`; } if (minutes > 0) { - // m:ss.cc - centiseconds keep the value visibly ticking each refresh. return `${minutes}:${pad2(Math.floor(seconds))}.${centis(seconds)}`; } return `${seconds.toFixed(2)}s`; } -/** - * Two-digit zero-padded integer, for the mm/ss fields. - */ function pad2(value: number): string { return value.toString().padStart(2, "0"); } -/** - * The centiseconds (00-99) of a fractional second, zero-padded. - */ +/** The centiseconds (00-99) of a fractional second, zero-padded. */ function centis(seconds: number): string { return Math.floor((seconds % 1) * 100) .toString() .padStart(2, "0"); } -/** - * Formats a CPU temperature in Celsius, e.g. `48°C`. Whole degrees keep the - * width stable and match how macOS surfaces temperatures. - */ +/** Whole-degree Celsius, e.g. `48°C`, matching how macOS surfaces temperatures. */ export function formatCelsius(celsius: number): string { if (!Number.isFinite(celsius)) return UNAVAILABLE_TEXT; return `${Math.round(celsius)}°C`; } /** - * Formats a process start time (Unix milliseconds) as a local date and time, - * e.g. `Oct 29, 2025, 15:34:39`, for the detail view's "Started" line. Uses the - * locale's medium date with a 24-hour clock so the string stays compact and - * stable. + * Formats a process start time (Unix ms) as a compact local date and time + * with a 24-hour clock, e.g. `Oct 29, 2025, 15:34:39`. */ export function formatStartTime(epochMs: number): string { if (!Number.isFinite(epochMs) || epochMs <= 0) return UNAVAILABLE_TEXT; diff --git a/tests/unit/metrics-sampler.test.ts b/tests/unit/metrics-sampler.test.ts index 363d1b2..b1142f6 100644 --- a/tests/unit/metrics-sampler.test.ts +++ b/tests/unit/metrics-sampler.test.ts @@ -25,8 +25,11 @@ vi.mock("@main/gen/native", () => ({ vi.mock("node:os", () => ({ cpus: h.cpus, uptime: h.uptime })); vi.mock("node:fs", () => ({ statfsSync: h.statfsSync })); +import { MetricStatus } from "@main/gen/metrics"; import { MetricsSampler } from "@main/metrics/metrics-sampler"; +const { METRIC_STATUS_UNKNOWN: UNKNOWN, METRIC_STATUS_OK: OK, METRIC_STATUS_UNAVAILABLE: UNAVAILABLE } = MetricStatus; + const GB = 1024 * 1024 * 1024; /** Builds one logical core's tick counters (ms). */ @@ -56,7 +59,7 @@ describe("CPU delta math", () => { it("reports unknown on the first sample (no delta yet)", async () => { const sampler = new MetricsSampler(); const reading = await sampler.sample(); - expect(reading.cpu.status).toBe("unknown"); + expect(reading.cpu.status).toBe(UNKNOWN); }); it("computes usage from busy/total tick deltas on the second sample", async () => { @@ -65,7 +68,7 @@ describe("CPU delta math", () => { await sampler.sample(); h.cpus.mockReturnValue([core("M2", 175, 125)]); // +75 busy, +25 idle -> 75/100 = 75% const reading = await sampler.sample(); - expect(reading.cpu.status).toBe("ok"); + expect(reading.cpu.status).toBe(OK); expect(reading.cpu.usagePercent).toBeCloseTo(75); }); @@ -75,7 +78,7 @@ describe("CPU delta math", () => { await sampler.sample(); // Identical counters: totalDelta 0 -> unknown, not a fake 0%. const reading = await sampler.sample(); - expect(reading.cpu.status).toBe("unknown"); + expect(reading.cpu.status).toBe(UNKNOWN); }); it("reports unknown when the counters went backwards (reset)", async () => { @@ -84,7 +87,7 @@ describe("CPU delta math", () => { await sampler.sample(); h.cpus.mockReturnValue([core("M2", 100, 100)]); // busy delta negative const reading = await sampler.sample(); - expect(reading.cpu.status).toBe("unknown"); + expect(reading.cpu.status).toBe(UNKNOWN); }); it("clamps usage into 0-100", async () => { @@ -94,7 +97,7 @@ describe("CPU delta math", () => { // Busy grows far more than total would allow -> clamped at 100. h.cpus.mockReturnValue([core("M2", 1000, 0)]); const reading = await sampler.sample(); - expect(reading.cpu.status).toBe("ok"); + expect(reading.cpu.status).toBe(OK); expect(reading.cpu.usagePercent).toBe(100); }); @@ -107,14 +110,14 @@ describe("CPU delta math", () => { throw new Error("os boom"); }); const failed = await sampler.sample(); - expect(failed.cpu.status).toBe("unavailable"); + expect(failed.cpu.status).toBe(UNAVAILABLE); // Other groups stay produced. - expect(failed.uptime.status).toBe("ok"); + expect(failed.uptime.status).toBe(OK); // The catch reset the baseline, so the next successful read is a first sample // again (unknown), not a delta against the pre-failure ticks. h.cpus.mockReturnValue([core("M2", 500, 500)]); - expect((await sampler.sample()).cpu.status).toBe("unknown"); + expect((await sampler.sample()).cpu.status).toBe(UNKNOWN); }); }); @@ -123,7 +126,7 @@ describe("network delta math", () => { h.readNetwork.mockResolvedValue({ available: true, rxBytes: 1000, txBytes: 2000 }); const sampler = new MetricsSampler(); const reading = await sampler.sample(); - expect(reading.network.status).toBe("unknown"); + expect(reading.network.status).toBe(UNKNOWN); }); it("computes per-second rates over the elapsed window", async () => { @@ -135,7 +138,7 @@ describe("network delta math", () => { h.readNetwork.mockResolvedValue({ available: true, rxBytes: 3000, txBytes: 6000 }); clockMs = 3000; const reading = await sampler.sample(); - expect(reading.network.status).toBe("ok"); + expect(reading.network.status).toBe(OK); expect(reading.network.rxBytesPerSec).toBe(1000); expect(reading.network.txBytesPerSec).toBe(500); }); @@ -149,7 +152,7 @@ describe("network delta math", () => { h.readNetwork.mockResolvedValue({ available: true, rxBytes: 10, txBytes: 10 }); clockMs = 2000; const reading = await sampler.sample(); - expect(reading.network.status).toBe("ok"); + expect(reading.network.status).toBe(OK); expect(reading.network.rxBytesPerSec).toBe(0); expect(reading.network.txBytesPerSec).toBe(0); }); @@ -175,11 +178,11 @@ describe("network delta math", () => { // Counters drop out -> unavailable; the baseline is cleared. h.readNetwork.mockResolvedValue({ available: false, rxBytes: 0, txBytes: 0 }); clockMs = 2000; - expect((await sampler.sample()).network.status).toBe("unavailable"); + expect((await sampler.sample()).network.status).toBe(UNAVAILABLE); // Next available sample is a first sample again -> unknown, not a giant rate. h.readNetwork.mockResolvedValue({ available: true, rxBytes: 9999, txBytes: 9999 }); clockMs = 3000; - expect((await sampler.sample()).network.status).toBe("unknown"); + expect((await sampler.sample()).network.status).toBe(UNKNOWN); }); it("reports unknown when the clock did not advance (no divide-by-zero rate)", async () => { @@ -190,7 +193,7 @@ describe("network delta math", () => { // Two samples at the same timestamp: elapsed <= 0 -> unknown, never a rate. h.readNetwork.mockResolvedValue({ available: true, rxBytes: 9000, txBytes: 9000 }); const reading = await sampler.sample(); - expect(reading.network.status).toBe("unknown"); + expect(reading.network.status).toBe(UNKNOWN); }); }); @@ -198,7 +201,7 @@ describe("disk", () => { it("computes used/free/percent from statfs blocks", async () => { h.statfsSync.mockReturnValue({ blocks: 100, bsize: GB, bavail: 40 }); // 100 GB total, 40 free const reading = await new MetricsSampler().sample(); - expect(reading.disk.status).toBe("ok"); + expect(reading.disk.status).toBe(OK); expect(reading.disk.totalBytes).toBe(100 * GB); expect(reading.disk.freeBytes).toBe(40 * GB); expect(reading.disk.usedBytes).toBe(60 * GB); @@ -208,9 +211,9 @@ describe("disk", () => { it("degrades only disk to unavailable when the total is non-positive", async () => { h.statfsSync.mockReturnValue({ blocks: 0, bsize: GB, bavail: 0 }); const reading = await new MetricsSampler().sample(); - expect(reading.disk.status).toBe("unavailable"); + expect(reading.disk.status).toBe(UNAVAILABLE); // Other groups are unaffected (uptime still ok). - expect(reading.uptime.status).toBe("ok"); + expect(reading.uptime.status).toBe(OK); }); it("degrades only disk to unavailable when statfs throws", async () => { @@ -218,8 +221,8 @@ describe("disk", () => { throw new Error("EACCES"); }); const reading = await new MetricsSampler().sample(); - expect(reading.disk.status).toBe("unavailable"); - expect(reading.uptime.status).toBe("ok"); + expect(reading.disk.status).toBe(UNAVAILABLE); + expect(reading.uptime.status).toBe(OK); }); }); @@ -236,7 +239,7 @@ describe("memory", () => { compressedBytes: 1 * GB, }); const reading = await new MetricsSampler().sample(); - expect(reading.memory.status).toBe("ok"); + expect(reading.memory.status).toBe(OK); expect(reading.memory.usedBytes).toBe(8 * GB); expect(reading.memory.usedPercent).toBe(50); }); @@ -291,7 +294,7 @@ describe("memory", () => { it("is unavailable when the native probe reports unavailable", async () => { h.readMemory.mockResolvedValue({ available: false, totalBytes: 0, usedBytes: 0, availableBytes: 0, cachedBytes: 0 }); - expect((await new MetricsSampler().sample()).memory.status).toBe("unavailable"); + expect((await new MetricsSampler().sample()).memory.status).toBe(UNAVAILABLE); }); it("is unavailable when available but the total is non-finite (garbage probe)", async () => { @@ -303,7 +306,7 @@ describe("memory", () => { cachedBytes: 0, }); // A NaN/<=0 total must not divide into a nonsense percent. - expect((await new MetricsSampler().sample()).memory.status).toBe("unavailable"); + expect((await new MetricsSampler().sample()).memory.status).toBe(UNAVAILABLE); }); }); @@ -311,23 +314,23 @@ describe("temperature", () => { it("is ok with a finite reading when the probe reports available", async () => { h.readTemp.mockResolvedValue({ available: true, celsius: 57.3 }); const reading = await new MetricsSampler().sample(); - expect(reading.temperature.status).toBe("ok"); + expect(reading.temperature.status).toBe(OK); expect(reading.temperature.celsius).toBeCloseTo(57.3); }); it("is unavailable when the probe reports unavailable", async () => { h.readTemp.mockResolvedValue({ available: false, celsius: 0 }); - expect((await new MetricsSampler().sample()).temperature.status).toBe("unavailable"); + expect((await new MetricsSampler().sample()).temperature.status).toBe(UNAVAILABLE); }); it("is unavailable when the probe returns a non-finite value", async () => { h.readTemp.mockResolvedValue({ available: true, celsius: Number.NaN }); - expect((await new MetricsSampler().sample()).temperature.status).toBe("unavailable"); + expect((await new MetricsSampler().sample()).temperature.status).toBe(UNAVAILABLE); }); it("is unavailable when the probe returns an implausible value", async () => { h.readTemp.mockResolvedValue({ available: true, celsius: 300 }); - expect((await new MetricsSampler().sample()).temperature.status).toBe("unavailable"); + expect((await new MetricsSampler().sample()).temperature.status).toBe(UNAVAILABLE); }); it("reads ok temperature live on every tick (no caching)", async () => { @@ -351,11 +354,11 @@ describe("temperature", () => { .mockResolvedValueOnce({ available: true, celsius: 48.2 }); const sampler = new MetricsSampler(); - expect((await sampler.sample()).temperature.status).toBe("unavailable"); + expect((await sampler.sample()).temperature.status).toBe(UNAVAILABLE); expect(h.readTemp).toHaveBeenCalledTimes(1); const reading = await sampler.sample(); - expect(reading.temperature.status).toBe("ok"); + expect(reading.temperature.status).toBe(OK); expect(reading.temperature.celsius).toBeCloseTo(48.2); expect(h.readTemp).toHaveBeenCalledTimes(2); }); @@ -364,9 +367,9 @@ describe("temperature", () => { h.readTemp.mockResolvedValue({ available: false, celsius: 0 }); const sampler = new MetricsSampler(); - expect((await sampler.sample()).temperature.status).toBe("unavailable"); - expect((await sampler.sample()).temperature.status).toBe("unavailable"); - expect((await sampler.sample()).temperature.status).toBe("unavailable"); + expect((await sampler.sample()).temperature.status).toBe(UNAVAILABLE); + expect((await sampler.sample()).temperature.status).toBe(UNAVAILABLE); + expect((await sampler.sample()).temperature.status).toBe(UNAVAILABLE); expect(h.readTemp).toHaveBeenCalledTimes(3); }); }); @@ -375,7 +378,7 @@ describe("uptime", () => { it("reports floored uptime", async () => { h.uptime.mockReturnValue(123.9); const reading = await new MetricsSampler().sample(); - expect(reading.uptime.status).toBe("ok"); + expect(reading.uptime.status).toBe(OK); expect(reading.uptime.uptimeSeconds).toBe(123); }); @@ -384,9 +387,9 @@ describe("uptime", () => { throw new Error("uptime boom"); }); const reading = await new MetricsSampler().sample(); - expect(reading.uptime.status).toBe("unavailable"); + expect(reading.uptime.status).toBe(UNAVAILABLE); // Disk (another sync group) is unaffected. - expect(reading.disk.status).toBe("ok"); + expect(reading.disk.status).toBe(OK); }); }); @@ -394,9 +397,9 @@ describe("failure isolation", () => { it("a native memory rejection degrades only memory, not the snapshot", async () => { h.readMemory.mockRejectedValue(new Error("native boom")); const reading = await new MetricsSampler().sample(); - expect(reading.memory.status).toBe("unavailable"); + expect(reading.memory.status).toBe(UNAVAILABLE); // CPU/disk/uptime are still produced. - expect(reading.disk.status).toBe("ok"); - expect(reading.uptime.status).toBe("ok"); + expect(reading.disk.status).toBe(OK); + expect(reading.uptime.status).toBe(OK); }); }); diff --git a/tests/unit/metrics-service.test.ts b/tests/unit/metrics-service.test.ts index 0a3d215..3719f57 100644 --- a/tests/unit/metrics-service.test.ts +++ b/tests/unit/metrics-service.test.ts @@ -35,16 +35,18 @@ vi.mock("@main/metrics/metrics-sampler", () => ({ }), })); +import { MetricStatus } from "@main/gen/metrics"; import { MetricsService } from "@main/metrics/metrics-service"; const PUBLISH_INTERVAL_MS = 1000; +const UNAVAILABLE = MetricStatus.METRIC_STATUS_UNAVAILABLE; -/** A minimal snapshot; the gating tests only care about call counts. */ +/** A minimal reading; the gating tests only care about call counts. */ function emptyReading() { return { - cpu: { status: "unavailable", usagePercent: 0 }, + cpu: { status: UNAVAILABLE, usagePercent: 0 }, memory: { - status: "unavailable", + status: UNAVAILABLE, usedBytes: 0, totalBytes: 0, availableBytes: 0, @@ -54,10 +56,10 @@ function emptyReading() { compressedBytes: 0, usedPercent: 0, }, - disk: { status: "unavailable", usedBytes: 0, totalBytes: 0, freeBytes: 0, usedPercent: 0 }, - network: { status: "unavailable", rxBytesPerSec: 0, txBytesPerSec: 0 }, - uptime: { status: "unavailable", uptimeSeconds: 0 }, - temperature: { status: "unavailable", celsius: 0 }, + disk: { status: UNAVAILABLE, usedBytes: 0, totalBytes: 0, freeBytes: 0, usedPercent: 0 }, + network: { status: UNAVAILABLE, rxBytesPerSec: 0, txBytesPerSec: 0 }, + uptime: { status: UNAVAILABLE, uptimeSeconds: 0 }, + temperature: { status: UNAVAILABLE, celsius: 0 }, }; } diff --git a/tests/unit/process-detail.test.ts b/tests/unit/process-detail.test.ts index 11f66cf..1ce83cf 100644 --- a/tests/unit/process-detail.test.ts +++ b/tests/unit/process-detail.test.ts @@ -66,11 +66,11 @@ describe("buildProcessDetail - identity from representative", () => { expect(detail.name).toBe("Chrome"); expect(detail.pid).toBe(100); expect(detail.bundleIdentifier).toBe("com.google.Chrome"); - expect(detail.parent).toEqual({ available: true, pid: 1 }); + expect(detail.parentPid).toBe(1); expect(detail.startedAt).toBe("ok"); expect(detail.startedAtUnixMs).toBe(1000); - expect(detail.path).toBe("ok"); - expect(detail.pathText).toBe("/Applications/Chrome.app/Contents/MacOS/Chrome"); + expect(detail.path.state).toBe("ok"); + expect(detail.path.text).toBe("/Applications/Chrome.app/Contents/MacOS/Chrome"); expect(detail.commandLine.state).toBe("ok"); }); }); @@ -158,9 +158,9 @@ describe("buildProcessDetail - availability", () => { // No start time given -> identity startedAtStatus defaults to UNKNOWN -> pending. expect(detail.startedAt).toBe("pending"); // No path / command line -> pending (proto-default UNKNOWN distinguished from unavailable). - expect(detail.path).toBe("pending"); + expect(detail.path.state).toBe("pending"); expect(detail.commandLine.state).toBe("pending"); - expect(detail.parent.available).toBe(false); + expect(detail.parentPid).toBeUndefined(); }); it("distinguishes permission-denied command line as unavailable, not pending", () => { diff --git a/tests/unit/process-list.test.ts b/tests/unit/process-list.test.ts index 54e0c86..245a353 100644 --- a/tests/unit/process-list.test.ts +++ b/tests/unit/process-list.test.ts @@ -80,7 +80,7 @@ describe("projectProcessList - grouping", () => { makeRow({ pid: 200, executableName: "Chrome Helper", bundlePath: "/Applications/Chrome.app", cpuPercent: 3 }), makeRow({ pid: 300, executableName: "Chrome Helper", bundlePath: "/Applications/Chrome.app", cpuPercent: 2 }), ]; - const { groups } = projectProcessList(makeSnapshot(rows), "cpu", ""); + const groups = projectProcessList(makeSnapshot(rows), "cpu", ""); expect(groups).toHaveLength(1); const chrome = groups[0]; expect(chrome.name).toBe("Chrome"); @@ -111,7 +111,7 @@ describe("projectProcessList - grouping", () => { footprintBytes: 30 * MB, }), ]; - const { groups } = projectProcessList(makeSnapshot(rows), "memory", ""); + const groups = projectProcessList(makeSnapshot(rows), "memory", ""); expect(groups.map((group) => group.name)).toEqual(["AutoFill (Chrome)", "AutoFill (MoStats)"]); expect(groups.every((group) => group.memberCount === 1)).toBe(true); }); @@ -121,7 +121,7 @@ describe("projectProcessList - grouping", () => { makeRow({ pid: 1, commandName: "node", startedAtUnixMs: 1 }), makeRow({ pid: 2, commandName: "node", startedAtUnixMs: 2 }), ]; - const { groups } = projectProcessList(makeSnapshot(rows), "cpu", ""); + const groups = projectProcessList(makeSnapshot(rows), "cpu", ""); // Two unrelated "node" CLIs are NOT merged into one misleading row. expect(groups).toHaveLength(2); expect(groups.every((g) => g.memberCount === 1)).toBe(true); @@ -135,7 +135,7 @@ describe("projectProcessList - sorting", () => { makeRow({ pid: 2, commandName: "high", startedAtUnixMs: 2, cpuPercent: 90 }), makeRow({ pid: 3, commandName: "mid", startedAtUnixMs: 3, cpuPercent: 40 }), ]; - const { groups } = projectProcessList(makeSnapshot(rows), "cpu", ""); + const groups = projectProcessList(makeSnapshot(rows), "cpu", ""); expect(groups.map((g) => g.name)).toEqual(["high", "mid", "low"]); }); @@ -144,8 +144,8 @@ describe("projectProcessList - sorting", () => { makeRow({ pid: 1, commandName: "cpuHog", startedAtUnixMs: 1, cpuPercent: 80, footprintBytes: 10 * MB }), makeRow({ pid: 2, commandName: "ramHog", startedAtUnixMs: 2, cpuPercent: 5, footprintBytes: 900 * MB }), ]; - expect(projectProcessList(makeSnapshot(rows), "cpu", "").groups[0].name).toBe("cpuHog"); - expect(projectProcessList(makeSnapshot(rows), "memory", "").groups[0].name).toBe("ramHog"); + expect(projectProcessList(makeSnapshot(rows), "cpu", "")[0].name).toBe("cpuHog"); + expect(projectProcessList(makeSnapshot(rows), "memory", "")[0].name).toBe("ramHog"); }); it("preserves snapshot order on a cold start (all pending, no value)", () => { @@ -155,7 +155,7 @@ describe("projectProcessList - sorting", () => { makeRow({ pid: 1, commandName: "zeta", startedAtUnixMs: 1, cpuStatus: FieldStatus.FIELD_STATUS_UNKNOWN }), makeRow({ pid: 2, commandName: "alpha", startedAtUnixMs: 2, cpuStatus: FieldStatus.FIELD_STATUS_UNKNOWN }), ]; - const { groups } = projectProcessList(makeSnapshot(rows), "cpu", ""); + const groups = projectProcessList(makeSnapshot(rows), "cpu", ""); expect(groups.map((g) => g.name)).toEqual(["zeta", "alpha"]); expect(groups.every((g) => g.metricState === "pending")).toBe(true); }); @@ -166,7 +166,7 @@ describe("pinGroupOrder", () => { const rows = Object.entries(cpuByName).map(([name, cpu], index) => makeRow({ pid: index + 1, commandName: name, startedAtUnixMs: index + 1, cpuPercent: cpu }), ); - return projectProcessList(makeSnapshot(rows), "cpu", "").groups; + return projectProcessList(makeSnapshot(rows), "cpu", ""); } it("replays the pinned order over a re-ranked projection, keeping fresh values", () => { @@ -191,7 +191,7 @@ describe("pinGroupOrder", () => { makeRow({ pid: 3, commandName: "gamma", startedAtUnixMs: 3, cpuPercent: 30 }), makeRow({ pid: 4, commandName: "delta", startedAtUnixMs: 4, cpuPercent: 95 }), ]; - const next = projectProcessList(makeSnapshot(nextRows), "cpu", "").groups; + const next = projectProcessList(makeSnapshot(nextRows), "cpu", ""); expect(pinGroupOrder(next, pinned).map((group) => group.name)).toEqual(["alpha", "gamma", "delta"]); }); @@ -224,39 +224,39 @@ describe("projectProcessList - search", () => { ]; it("matches an app group by name and keeps it grouped", () => { - const { groups } = projectProcessList(makeSnapshot(rows), "cpu", "chrome"); + const groups = projectProcessList(makeSnapshot(rows), "cpu", "chrome"); expect(groups).toHaveLength(1); expect(groups[0].memberCount).toBe(2); }); it("matches by bundle identifier", () => { - const { groups } = projectProcessList(makeSnapshot(rows), "cpu", "com.google.chrome"); + const groups = projectProcessList(makeSnapshot(rows), "cpu", "com.google.chrome"); expect(groups).toHaveLength(1); expect(groups[0].name).toBe("Chrome"); }); it("matches by PID", () => { - const { groups } = projectProcessList(makeSnapshot(rows), "cpu", "900"); + const groups = projectProcessList(makeSnapshot(rows), "cpu", "900"); expect(groups).toHaveLength(1); expect(groups[0].name).toBe("postgres"); }); it("matches by executable path", () => { - const { groups } = projectProcessList(makeSnapshot(rows), "cpu", "/usr/local/bin/postgres"); + const groups = projectProcessList(makeSnapshot(rows), "cpu", "/usr/local/bin/postgres"); expect(groups.map((g) => g.name)).toContain("postgres"); }); it("matches a helper by command-line args and returns it as its own row", () => { // The app group does not match "--type=renderer" by name, so only the // matching helper is returned (as a singleton), not the whole Chrome group. - const { groups } = projectProcessList(makeSnapshot(rows), "cpu", "--type=renderer"); + const groups = projectProcessList(makeSnapshot(rows), "cpu", "--type=renderer"); expect(groups).toHaveLength(1); expect(groups[0].memberCount).toBe(1); expect(groups[0].pid).toBe(200); }); it("returns no groups when nothing matches", () => { - expect(projectProcessList(makeSnapshot(rows), "cpu", "nonexistent").groups).toHaveLength(0); + expect(projectProcessList(makeSnapshot(rows), "cpu", "nonexistent")).toHaveLength(0); }); }); @@ -265,7 +265,7 @@ describe("projectProcessList - display cap", () => { const rows = Array.from({ length: DISPLAY_LIMIT + 25 }, (_, i) => makeRow({ pid: i + 1, commandName: `proc${i}`, startedAtUnixMs: i + 1, cpuPercent: i + 1 }), ); - const { groups } = projectProcessList(makeSnapshot(rows), "cpu", ""); + const groups = projectProcessList(makeSnapshot(rows), "cpu", ""); expect(groups).toHaveLength(DISPLAY_LIMIT); // The cap keeps the highest-ranked rows (largest cpu first). expect(groups[0].sortValue).toBe(rows.length); @@ -346,7 +346,7 @@ describe("projectProcessList - icon resolution", () => { // makeSnapshot tables the row's icon key (the base64 itself, in fixtures), so // the projection resolves the row's icon back through the table by its key. const rows = [makeRow({ pid: 1, commandName: "tool", iconPngBase64: "ICON-BYTES" })]; - const { groups } = projectProcessList(makeSnapshot(rows), "cpu", ""); + const groups = projectProcessList(makeSnapshot(rows), "cpu", ""); expect(groups[0].iconPngBase64).toBe("ICON-BYTES"); }); @@ -355,13 +355,13 @@ describe("projectProcessList - icon resolution", () => { makeRow({ pid: 100, bundlePath: "/Applications/App.app", bundleName: "App", iconPngBase64: "APP-ICON", cpuPercent: 1 }), makeRow({ pid: 200, bundlePath: "/Applications/App.app", iconPngBase64: "APP-ICON", cpuPercent: 1 }), ]; - const { groups } = projectProcessList(makeSnapshot(rows), "cpu", ""); + const groups = projectProcessList(makeSnapshot(rows), "cpu", ""); expect(groups).toHaveLength(1); expect(groups[0].iconPngBase64).toBe("APP-ICON"); }); it("leaves the icon undefined when the row has no icon key", () => { - const { groups } = projectProcessList(makeSnapshot([makeRow({ pid: 1, commandName: "tool" })]), "cpu", ""); + const groups = projectProcessList(makeSnapshot([makeRow({ pid: 1, commandName: "tool" })]), "cpu", ""); expect(groups[0].iconPngBase64).toBeUndefined(); }); }); @@ -374,7 +374,7 @@ describe("projectProcessList - System group", () => { ]; it("buckets Apple-path non-app processes into one System group", () => { - const { groups } = projectProcessList(makeSnapshot(daemons), "cpu", ""); + const groups = projectProcessList(makeSnapshot(daemons), "cpu", ""); expect(groups).toHaveLength(1); const system = groups[0]; @@ -400,7 +400,7 @@ describe("projectProcessList - System group", () => { makeRow({ pid: 503, commandName: "fake-pathless", startedAtUnixMs: 7, cpuPercent: 1 }), ]; - const { groups } = projectProcessList(makeSnapshot(rows), "cpu", ""); + const groups = projectProcessList(makeSnapshot(rows), "cpu", ""); const names = groups.map((group) => group.name).sort(); expect(names).toEqual(["Fake Dock", "System", "fake-node", "fake-pathless", "fake-postgres"]); @@ -408,7 +408,7 @@ describe("projectProcessList - System group", () => { }); it("search surfaces a matching daemon as its own row, not the whole bucket", () => { - const { groups } = projectProcessList(makeSnapshot(daemons), "cpu", "fake-sharingd"); + const groups = projectProcessList(makeSnapshot(daemons), "cpu", "fake-sharingd"); expect(groups).toHaveLength(1); expect(groups[0].system).toBe(false); @@ -417,7 +417,7 @@ describe("projectProcessList - System group", () => { }); it("searching 'system' surfaces the System group itself", () => { - const { groups } = projectProcessList(makeSnapshot(daemons), "cpu", "system"); + const groups = projectProcessList(makeSnapshot(daemons), "cpu", "system"); expect(groups.some((group) => group.key === SYSTEM_GROUP_KEY)).toBe(true); }); From a692a96ce0c8a8e682c53964ee037288faef4c68 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Thu, 11 Jun 2026 00:46:18 +0300 Subject: [PATCH 149/169] Remove unnecessary entries from .gitignore --- .gitignore | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitignore b/.gitignore index aac3825..388d213 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,3 @@ gen/ .idea .claude -docs/ -DESIGN.md -moproduct.yaml From cd6a8e7e00f17c02bc6c682faad5df7bb050bc51 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Thu, 11 Jun 2026 16:19:10 +0300 Subject: [PATCH 150/169] Update network metrics handling --- src/main/application-window.ts | 128 ++------------- src/main/application.ts | 3 - src/renderer/components/metrics/cpu-graph.tsx | 9 +- src/renderer/components/metrics/cpu-row.tsx | 6 +- .../components/metrics/metrics-overview.tsx | 4 +- .../components/metrics/network-graph.tsx | 152 ++++++++++++++++++ .../components/metrics/network-row.tsx | 90 +++++++++-- .../{cpu-history.ts => sample-history.ts} | 15 +- src/renderer/index.css | 15 ++ ...history.test.ts => sample-history.test.ts} | 2 +- 10 files changed, 271 insertions(+), 153 deletions(-) create mode 100644 src/renderer/components/metrics/network-graph.tsx rename src/renderer/domain/{cpu-history.ts => sample-history.ts} (62%) rename tests/unit/{cpu-history.test.ts => sample-history.test.ts} (92%) diff --git a/src/main/application-window.ts b/src/main/application-window.ts index 475d15c..2a351b4 100644 --- a/src/main/application-window.ts +++ b/src/main/application-window.ts @@ -3,29 +3,13 @@ import { app, BrowserWindow } from "@mobrowser/api"; import type { CloseBrowserWindowAction, CloseBrowserWindowParams } from "@mobrowser/api"; import { DISPLAY_NAME } from "./branding"; -/** The two top-level views; the window picks its height per view. */ -type WindowView = "stats" | "processes"; - /** - * Compact window dimensions, closer to a menu-bar popover than a dashboard. - * Width is constant; the height follows the active view so neither view - * wastes vertical space. + * Compact fixed window dimensions, closer to a menu-bar popover than a + * dashboard. Both views are laid out for the same frame, so the window never + * resizes. */ const WINDOW_WIDTH = 360; -const VIEW_HEIGHT: Record = { - stats: 465, - processes: 560, -}; - -const INITIAL_VIEW: WindowView = "stats"; - -/** - * Per-view resize animation. macOS has no documented animate flag on - * setBounds, so a short eased loop in main gives a smooth grow/shrink (both - * views stay mounted, so only the window frame moves). - */ -const RESIZE_DURATION_MS = 160; -const RESIZE_STEP_MS = 16; // ~60fps +const WINDOW_HEIGHT = 560; /** Traffic-light position clearing the custom draggable title row. */ const MAC_WINDOW_BUTTON_POSITION = { x: 16, y: 18 } as const; @@ -39,11 +23,6 @@ const MAC_WINDOW_BUTTON_POSITION = { x: 16, y: 18 } as const; export class ApplicationWindow { private window: BrowserWindow | null = null; - /** Target height for the active view; used when creating or re-showing. */ - private targetHeight = VIEW_HEIGHT[INITIAL_VIEW]; - - private resizeTimer: ReturnType | null = null; - /** * @param onVisibilityChange Notified after the window is shown, hidden, or * destroyed so observers (e.g. the tray menu) can stay in sync. @@ -62,7 +41,6 @@ export class ApplicationWindow { hide(): void { const window = this.instance; if (window?.isVisible) { - this.settleResize(window); window.hide(); } } @@ -91,39 +69,6 @@ export class ApplicationWindow { this.getOrCreateWindow().setAlwaysOnTop(alwaysOnTop); } - /** - * Resizes to the active view's height with a short eased animation, keeping - * the top-left corner fixed like a menu-bar popover. With no live window it - * just records the target so the next create() opens at the right size. - */ - resizeForView(view: WindowView): void { - const target = VIEW_HEIGHT[view]; - const window = this.instance; - if (window === null) { - this.targetHeight = target; - return; - } - - if (target === this.targetHeight && this.resizeTimer !== null) { - return; // Already animating to this target. - } - - this.targetHeight = target; - - if (!window.isVisible) { - this.settleResize(window); - return; - } - - const from = Math.round(window.size.height); - if (from === target) { - this.stopResize(); - return; - } - - this.animateHeight(window, from, target); - } - private getOrCreateWindow(): BrowserWindow { if (this.window === null || this.window.isClosed) { this.window = this.create(); @@ -136,8 +81,7 @@ export class ApplicationWindow { const window = new BrowserWindow({ url: app.url, title: DISPLAY_NAME, - size: { width: WINDOW_WIDTH, height: this.targetHeight }, - minimumSize: { width: WINDOW_WIDTH, height: VIEW_HEIGHT.stats }, + size: { width: WINDOW_WIDTH, height: WINDOW_HEIGHT }, resizable: false, // No larger layout to expand into; close and minimize stay native. windowButtonVisible: { maximize: false, zoom: false }, @@ -148,6 +92,11 @@ export class ApplicationWindow { window.browser.zoom.setEnabled(false); + // The creation-time `size` lands short by the hidden title bar's height, + // clipping the bottom of both views; setting the size after creation + // applies the exact frame height. + window.setSize({ width: WINDOW_WIDTH, height: WINDOW_HEIGHT }); + if (isMac) { window.setWindowButtonPosition({ ...MAC_WINDOW_BUTTON_POSITION }); } @@ -167,67 +116,10 @@ export class ApplicationWindow { this.onVisibilityChange?.(); }); window.on("closed", () => { - this.stopResize(); this.window = null; this.onVisibilityChange?.(); }); return window; } - - /** - * Steps the height from `from` to `to` with an ease-out curve. A new call - * cancels any in-flight animation, so rapid view switches settle on the - * latest target instead of fighting each other. - */ - private animateHeight(window: BrowserWindow, from: number, to: number): void { - this.stopResize(); - - const steps = Math.max(1, Math.round(RESIZE_DURATION_MS / RESIZE_STEP_MS)); - const origin = { ...window.bounds.origin }; - let step = 0; - - this.resizeTimer = setInterval(() => { - step += 1; - const t = Math.min(1, step / steps); - const eased = 1 - Math.pow(1 - t, 3); // ease-out cubic - const height = Math.round(from + (to - from) * eased); - - if (this.window !== window || window.isClosed) { - this.stopResize(); - return; - } - this.setWindowHeight(window, height, origin); - - if (t >= 1) { - this.stopResize(); - } - }, RESIZE_STEP_MS); - } - - private setWindowHeight( - window: BrowserWindow, - height: number, - origin = window.bounds.origin, - ): void { - window.setBounds({ - origin: { x: origin.x, y: origin.y }, - size: { width: WINDOW_WIDTH, height }, - }); - } - - /** Finishes any in-flight resize at the latest target while the frame is hidden. */ - private settleResize(window: BrowserWindow): void { - this.stopResize(); - if (!window.isClosed && Math.round(window.size.height) !== this.targetHeight) { - this.setWindowHeight(window, this.targetHeight); - } - } - - private stopResize(): void { - if (this.resizeTimer !== null) { - clearInterval(this.resizeTimer); - this.resizeTimer = null; - } - } } diff --git a/src/main/application.ts b/src/main/application.ts index 23be812..9707efe 100644 --- a/src/main/application.ts +++ b/src/main/application.ts @@ -130,9 +130,6 @@ export class Application { SetActiveView: async (request: SetActiveViewRequest) => { this.activeView = request.view; this.updateServiceActivation(); - this.window.resizeForView( - request.view === ActiveView.ACTIVE_VIEW_PROCESSES ? "processes" : "stats", - ); return {}; }, async CopyText(request: CopyTextRequest) { diff --git a/src/renderer/components/metrics/cpu-graph.tsx b/src/renderer/components/metrics/cpu-graph.tsx index ea48970..efc2f89 100644 --- a/src/renderer/components/metrics/cpu-graph.tsx +++ b/src/renderer/components/metrics/cpu-graph.tsx @@ -2,7 +2,10 @@ import { useRef, type PointerEvent as ReactPointerEvent } from "react"; import { cn } from "@/lib/utils"; import type { MetricState } from "@/domain/metric-view"; -import { CPU_HISTORY_CAPACITY, sampleIndexAtFraction, type CpuSample } from "@/domain/cpu-history"; +import { HISTORY_CAPACITY, sampleIndexAtFraction } from "@/domain/sample-history"; + +/** A 0-100 percent reading, or `null` for a tick whose reading was not OK. */ +export type CpuSample = number | null; const FILL_BY_STATE: Record = { ok: "text-success", @@ -31,7 +34,7 @@ export function CpuGraph({ onScrub: (index: number | null) => void; }) { const ref = useRef(null); - const offset = CPU_HISTORY_CAPACITY - history.length; + const offset = HISTORY_CAPACITY - history.length; const fill = FILL_BY_STATE[state]; const axisMax = Math.max(AXIS_FLOOR, ...history.map((sample) => sample ?? 0)); @@ -45,7 +48,7 @@ export function CpuGraph({ return ( viewBox slot center, as a percent for the tooltip x. const scrubPercent = - scrubIndex !== null ? ((CPU_HISTORY_CAPACITY - history.length + scrubIndex + 0.5) / CPU_HISTORY_CAPACITY) * 100 : null; + scrubIndex !== null ? ((HISTORY_CAPACITY - history.length + scrubIndex + 0.5) / HISTORY_CAPACITY) * 100 : null; return (
diff --git a/src/renderer/components/metrics/metrics-overview.tsx b/src/renderer/components/metrics/metrics-overview.tsx index 89c32c0..50d046e 100644 --- a/src/renderer/components/metrics/metrics-overview.tsx +++ b/src/renderer/components/metrics/metrics-overview.tsx @@ -35,10 +35,10 @@ export function MetricsOverview({ active }: { active: boolean }) {
- +
- +
diff --git a/src/renderer/components/metrics/network-graph.tsx b/src/renderer/components/metrics/network-graph.tsx new file mode 100644 index 0000000..c6a4d51 --- /dev/null +++ b/src/renderer/components/metrics/network-graph.tsx @@ -0,0 +1,152 @@ +import { useRef, type PointerEvent as ReactPointerEvent } from "react"; + +import { HISTORY_CAPACITY, sampleIndexAtFraction } from "@/domain/sample-history"; + +/** One tick of throughput, or `null` for a tick whose reading was not OK. */ +export type NetSample = { rxBytesPerSec: number; txBytesPerSec: number } | null; + +const BASELINE = 50; // center y of the 0-100 viewBox +const LANE = 46; // max amplitude per direction; keeps peaks off the edges +// Smallest y-axis max (bytes/s) so idle background chatter is not drawn as a +// storm; the axis grows past it to the largest visible sample. +const AXIS_FLOOR = 100 * 1024; + +/** + * Mirrored area chart of recent network throughput: download fills upward from + * the center baseline, upload fills downward. Both directions share one axis + * (so their magnitudes stay comparable) with square-root amplitude scaling, so + * a single burst does not flatten typical traffic into invisibility. + */ +export function NetworkGraph({ + history, + scrubIndex, + onScrub, +}: { + history: NetSample[]; + scrubIndex: number | null; + onScrub: (index: number | null) => void; +}) { + const ref = useRef(null); + const offset = HISTORY_CAPACITY - history.length; + + const axisMax = Math.max( + AXIS_FLOOR, + ...history.flatMap((sample) => (sample ? [sample.rxBytesPerSec, sample.txBytesPerSec] : [])), + ); + const down = laneRuns(history, offset, (sample) => sample.rxBytesPerSec, axisMax, -1); + const up = laneRuns(history, offset, (sample) => sample.txBytesPerSec, axisMax, 1); + + const handleMove = (event: ReactPointerEvent) => { + const rect = ref.current?.getBoundingClientRect(); + if (!rect || rect.width === 0) return; + onScrub(sampleIndexAtFraction((event.clientX - rect.left) / rect.width, history.length)); + }; + + return ( + onScrub(null)} + > + + + + {scrubIndex !== null ? ( + + ) : null} + + ); +} + +/** Fill + edge path data for one contiguous run of non-null samples. */ +interface LaneRun { + fill: string; + edge: string; +} + +/** + * Converts one direction's history into area paths, splitting at null samples + * so a failed tick reads as a gap. Vertices sit at slot centers, padded half a + * slot at each end so an isolated sample still has visible width. + */ +function laneRuns( + history: NetSample[], + offset: number, + rate: (sample: NonNullable) => number, + axisMax: number, + direction: 1 | -1, +): LaneRun[] { + const runs: LaneRun[] = []; + let run: { x: number; y: number }[] = []; + + const flush = () => { + if (run.length === 0) return; + const first = run[0]; + const last = run[run.length - 1]; + const points = [{ x: first.x - 0.5, y: first.y }, ...run, { x: last.x + 0.5, y: last.y }]; + const edge = points.map((point, index) => `${index === 0 ? "M" : "L"} ${point.x},${point.y}`).join(" "); + runs.push({ + edge, + fill: `M ${points[0].x},${BASELINE} ${points.map((point) => `L ${point.x},${point.y}`).join(" ")} L ${points[points.length - 1].x},${BASELINE} Z`, + }); + run = []; + }; + + history.forEach((sample, index) => { + if (sample === null) { + flush(); + return; + } + const amplitude = Math.sqrt(Math.min(1, rate(sample) / axisMax)) * LANE; + run.push({ x: offset + index + 0.5, y: round2(BASELINE + direction * amplitude) }); + }); + flush(); + return runs; +} + +function round2(value: number): number { + return Math.round(value * 100) / 100; +} + +function Lane({ runs, className }: { runs: LaneRun[]; className: string }) { + return ( + + {runs.map((run, index) => ( + + + + + ))} + + ); +} diff --git a/src/renderer/components/metrics/network-row.tsx b/src/renderer/components/metrics/network-row.tsx index 88b5607..b6bb724 100644 --- a/src/renderer/components/metrics/network-row.tsx +++ b/src/renderer/components/metrics/network-row.tsx @@ -1,33 +1,93 @@ +import { useEffect, useState } from "react"; import { Network } from "lucide-react"; -import { MetricRowHeader, ValueUnit } from "@/components/metrics/metric-row-header"; +import { MeterTooltip, MetricRowHeader, ValueUnit } from "@/components/metrics/metric-row-header"; +import { NetworkGraph, type NetSample } from "@/components/metrics/network-graph"; import type { MetricsSnapshot } from "@/gen/metrics"; +import { MetricStatus } from "@/gen/metrics"; import { baseState, isLive } from "@/domain/metric-view"; +import { HISTORY_CAPACITY, pushSample } from "@/domain/sample-history"; import { formatRateParts } from "@/lib/format"; +import { cn } from "@/lib/utils"; -/** Down (rx) and up (tx) rates grouped on one line; network has no meter. */ +/** + * Network row: a mirrored down/up area chart with each direction's live rate + * beside its own lane (scrubbing swaps them to the hovered second, like CPU). + */ export function NetworkRow({ snapshot }: { snapshot: MetricsSnapshot | null }) { + const [history, setHistory] = useState([]); + const [scrubIndex, setScrubIndex] = useState(null); const network = snapshot?.network; + + useEffect(() => { + if (!network) return; + const sample = + network.status === MetricStatus.METRIC_STATUS_OK + ? { rxBytesPerSec: network.rxBytesPerSec, txBytesPerSec: network.txBytesPerSec } + : null; + setHistory((prev) => pushSample(prev, sample)); + }, [snapshot, network]); + const live = network ? isLive(baseState(network.status)) : false; + const scrubbed = scrubIndex !== null ? (history[scrubIndex] ?? null) : null; + const shown = scrubIndex !== null ? scrubbed : live && network ? network : null; + // History index -> viewBox slot center, as a percent for the tooltip x. + const scrubPercent = + scrubIndex !== null ? ((HISTORY_CAPACITY - history.length + scrubIndex + 0.5) / HISTORY_CAPACITY) * 100 : null; + + return ( +
+ +
+
+ + {scrubbed && scrubPercent !== null ? ( + + + + ) : null} +
+
+ + +
+
+
+ ); +} + +/** One direction's rate, right-aligned and vertically centered on its lane. */ +function Rate({ + prefix, + prefixClassName, + bytesPerSec, +}: { + prefix: string; + prefixClassName: string; + bytesPerSec: number | undefined; +}) { + const parts = bytesPerSec !== undefined ? formatRateParts(bytesPerSec) : null; return ( - - {live && network ? ( - - - - - ) : null} - + + {prefix} + + ); } -function Rate({ prefix, bytesPerSec }: { prefix: string; bytesPerSec: number }) { - const { value, unit } = formatRateParts(bytesPerSec); +/** Both directions of a scrubbed sample, for the tooltip pill. */ +function RatePair({ sample }: { sample: NonNullable }) { + const rx = formatRateParts(sample.rxBytesPerSec); + const tx = formatRateParts(sample.txBytesPerSec); return ( - - {prefix} - + + + {rx.value} {rx.unit} + + + {tx.value} {tx.unit} + ); } diff --git a/src/renderer/domain/cpu-history.ts b/src/renderer/domain/sample-history.ts similarity index 62% rename from src/renderer/domain/cpu-history.ts rename to src/renderer/domain/sample-history.ts index 90b14c3..46c5534 100644 --- a/src/renderer/domain/cpu-history.ts +++ b/src/renderer/domain/sample-history.ts @@ -1,15 +1,14 @@ /** - * Pure helpers for the CPU usage graph: a fixed-capacity ring buffer of recent - * samples and the geometry to draw and scrub them. A sample is a 0-100 percent, - * or `null` for a tick whose reading was not OK (drawn as a gap, not a fake 0). + * Pure helpers shared by the time-series metric graphs (CPU, network): a + * fixed-capacity ring buffer of recent samples and the geometry to scrub them. + * A `null` sample marks a tick whose reading was not OK (drawn as a gap, not a + * fake 0). */ -export type CpuSample = number | null; - -export const CPU_HISTORY_CAPACITY = 60; +export const HISTORY_CAPACITY = 60; /** Appends `sample`, keeping at most `capacity` newest entries (oldest dropped). */ -export function pushSample(history: CpuSample[], sample: CpuSample, capacity = CPU_HISTORY_CAPACITY): CpuSample[] { +export function pushSample(history: T[], sample: T, capacity = HISTORY_CAPACITY): T[] { const next = [...history, sample]; return next.length > capacity ? next.slice(next.length - capacity) : next; } @@ -20,7 +19,7 @@ export function pushSample(history: CpuSample[], sample: CpuSample, capacity = C * the leftmost filled slots map to index 0. Returns null when the cursor is over * the still-empty left part of the track or there is no history yet. */ -export function sampleIndexAtFraction(fraction: number, filled: number, capacity = CPU_HISTORY_CAPACITY): number | null { +export function sampleIndexAtFraction(fraction: number, filled: number, capacity = HISTORY_CAPACITY): number | null { if (filled <= 0) return null; const slot = Math.round(Math.min(1, Math.max(0, fraction)) * capacity - 0.5); const firstFilled = capacity - filled; diff --git a/src/renderer/index.css b/src/renderer/index.css index 3b5a853..6924d64 100644 --- a/src/renderer/index.css +++ b/src/renderer/index.css @@ -51,6 +51,10 @@ --color-mem-cached: var(--mem-cached); --color-mem-free: var(--mem-free); + /* Network throughput — the mirrored chart's two directions. */ + --color-net-down: var(--net-down); + --color-net-up: var(--net-up); + /* Border radius */ --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); @@ -106,6 +110,11 @@ --mem-cached: oklch(60% 0.020 90deg); --mem-free: oklch(80% 0.006 258deg); + /* Network directions (light fallback; app ships dark). Same hue assignments + as dark, shifted darker for contrast on a light surface. */ + --net-down: oklch(58% 0.130 258deg); /* matches --success blue (own token, shared value) */ + --net-up: oklch(50% 0.150 300deg); /* matches --mem-wired violet (own token, shared value) */ + /* Base radius — 10px, matching ../voice/../icons. */ --radius: 0.625rem; } @@ -153,6 +162,12 @@ --mem-compressed: oklch(68% 0.095 195deg); /* teal/cyan - cool, off the blue arc */ --mem-cached: oklch(67% 0.020 90deg); /* near-neutral taupe, only a touch warm */ --mem-free: oklch(48% 0.006 258deg); /* dark neutral - the empty tail, visible */ + + /* Network directions — categorical like the memory segments, not state. + Down stays on the app's resting blue; up borrows the wired violet so the + two lanes separate without introducing a new hue. */ + --net-down: oklch(72% 0.130 258deg); /* matches --success blue (own token, shared value) */ + --net-up: oklch(62% 0.150 300deg); /* matches --mem-wired violet (own token, shared value) */ } @layer utilities { diff --git a/tests/unit/cpu-history.test.ts b/tests/unit/sample-history.test.ts similarity index 92% rename from tests/unit/cpu-history.test.ts rename to tests/unit/sample-history.test.ts index f664530..fdc7044 100644 --- a/tests/unit/cpu-history.test.ts +++ b/tests/unit/sample-history.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { pushSample, sampleIndexAtFraction } from "@/domain/cpu-history"; +import { pushSample, sampleIndexAtFraction } from "@/domain/sample-history"; describe("pushSample", () => { it("appends and keeps at most capacity newest entries", () => { From b98d18a1ef0144ac29fe2ab49590d20639419b09 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Thu, 11 Jun 2026 16:32:56 +0300 Subject: [PATCH 151/169] Add area-layer components for CPU and network graphs --- .../components/metrics/area-layer.tsx | 34 +++++++ src/renderer/components/metrics/cpu-graph.tsx | 34 +++---- .../components/metrics/network-graph.tsx | 94 ++----------------- .../components/metrics/network-row.tsx | 4 +- src/renderer/domain/area-path.ts | 56 +++++++++++ tests/unit/area-path.test.ts | 30 ++++++ 6 files changed, 142 insertions(+), 110 deletions(-) create mode 100644 src/renderer/components/metrics/area-layer.tsx create mode 100644 src/renderer/domain/area-path.ts create mode 100644 tests/unit/area-path.test.ts diff --git a/src/renderer/components/metrics/area-layer.tsx b/src/renderer/components/metrics/area-layer.tsx new file mode 100644 index 0000000..a609bd5 --- /dev/null +++ b/src/renderer/components/metrics/area-layer.tsx @@ -0,0 +1,34 @@ +import type { AreaRun } from "@/domain/area-path"; + +/** + * Shared SVG layers for the time-series graphs (CPU, network). The graphs draw + * in a `0..capacity × 0..100` viewBox stretched to the row + * (`preserveAspectRatio="none"`), so strokes opt out of scaling. + */ + +/** Area runs as a translucent fill under a brighter edge line, in currentColor. */ +export function AreaLayer({ runs, className }: { runs: AreaRun[]; className?: string }) { + return ( + + {runs.map((run, index) => ( + + + + + ))} + + ); +} + +/** Full-height highlight band over the scrubbed history slot. */ +export function ScrubBand({ x }: { x: number }) { + return ; +} diff --git a/src/renderer/components/metrics/cpu-graph.tsx b/src/renderer/components/metrics/cpu-graph.tsx index efc2f89..d8d782d 100644 --- a/src/renderer/components/metrics/cpu-graph.tsx +++ b/src/renderer/components/metrics/cpu-graph.tsx @@ -2,7 +2,9 @@ import { useRef, type PointerEvent as ReactPointerEvent } from "react"; import { cn } from "@/lib/utils"; import type { MetricState } from "@/domain/metric-view"; +import { areaRuns } from "@/domain/area-path"; import { HISTORY_CAPACITY, sampleIndexAtFraction } from "@/domain/sample-history"; +import { AreaLayer, ScrubBand } from "@/components/metrics/area-layer"; /** A 0-100 percent reading, or `null` for a tick whose reading was not OK. */ export type CpuSample = number | null; @@ -15,12 +17,14 @@ const FILL_BY_STATE: Record = { unavailable: "text-muted-foreground/40", }; -const BAR_GAP = 0.25; // viewBox units between bars (slot width is 1) -const MIN_BAR = 1.5; // floor so a ~0% sample is still a visible nub +const PEAK = 97; // max amplitude; keeps the peak's edge stroke inside the viewBox +const MIN_AMPLITUDE = 1.5; // floor so a ~0% sample still draws a visible line const AXIS_FLOOR = 20; // smallest y-axis max, so a flat-idle graph is not "maxed" /** - * Column graph of recent CPU usage. + * Area graph of recent CPU usage, in the same style as the network chart: + * a translucent fill under an edge line, rising from the bottom. Color + * follows the metric state rather than a category. */ export function CpuGraph({ history, @@ -38,6 +42,7 @@ export function CpuGraph({ const fill = FILL_BY_STATE[state]; const axisMax = Math.max(AXIS_FLOOR, ...history.map((sample) => sample ?? 0)); + const runs = areaRuns(history, offset, (sample) => Math.max(MIN_AMPLITUDE, (sample / axisMax) * PEAK), 100, -1); const handleMove = (event: ReactPointerEvent) => { const rect = ref.current?.getBoundingClientRect(); @@ -51,28 +56,13 @@ export function CpuGraph({ viewBox={`0 0 ${HISTORY_CAPACITY} 100`} preserveAspectRatio="none" className={cn("h-full w-full", fill)} + role="img" + aria-label="Recent CPU usage" onPointerMove={handleMove} onPointerLeave={() => onScrub(null)} > - {history.map((sample, index) => { - if (sample === null) return null; - const height = Math.max(MIN_BAR, Math.min(100, (sample / axisMax) * 100)); - const active = scrubIndex === index; - return ( - - ); - })} + + {scrubIndex !== null ? : null} ); } diff --git a/src/renderer/components/metrics/network-graph.tsx b/src/renderer/components/metrics/network-graph.tsx index c6a4d51..f69a112 100644 --- a/src/renderer/components/metrics/network-graph.tsx +++ b/src/renderer/components/metrics/network-graph.tsx @@ -1,6 +1,8 @@ import { useRef, type PointerEvent as ReactPointerEvent } from "react"; +import { areaRuns } from "@/domain/area-path"; import { HISTORY_CAPACITY, sampleIndexAtFraction } from "@/domain/sample-history"; +import { AreaLayer, ScrubBand } from "@/components/metrics/area-layer"; /** One tick of throughput, or `null` for a tick whose reading was not OK. */ export type NetSample = { rxBytesPerSec: number; txBytesPerSec: number } | null; @@ -33,8 +35,9 @@ export function NetworkGraph({ AXIS_FLOOR, ...history.flatMap((sample) => (sample ? [sample.rxBytesPerSec, sample.txBytesPerSec] : [])), ); - const down = laneRuns(history, offset, (sample) => sample.rxBytesPerSec, axisMax, -1); - const up = laneRuns(history, offset, (sample) => sample.txBytesPerSec, axisMax, 1); + const amplitude = (bytesPerSec: number) => Math.sqrt(Math.min(1, bytesPerSec / axisMax)) * LANE; + const down = areaRuns(history, offset, (sample) => amplitude(sample.rxBytesPerSec), BASELINE, -1); + const up = areaRuns(history, offset, (sample) => amplitude(sample.txBytesPerSec), BASELINE, 1); const handleMove = (event: ReactPointerEvent) => { const rect = ref.current?.getBoundingClientRect(); @@ -63,90 +66,9 @@ export function NetworkGraph({ strokeWidth={1} vectorEffect="non-scaling-stroke" /> - - - {scrubIndex !== null ? ( - - ) : null} + + + {scrubIndex !== null ? : null} ); } - -/** Fill + edge path data for one contiguous run of non-null samples. */ -interface LaneRun { - fill: string; - edge: string; -} - -/** - * Converts one direction's history into area paths, splitting at null samples - * so a failed tick reads as a gap. Vertices sit at slot centers, padded half a - * slot at each end so an isolated sample still has visible width. - */ -function laneRuns( - history: NetSample[], - offset: number, - rate: (sample: NonNullable) => number, - axisMax: number, - direction: 1 | -1, -): LaneRun[] { - const runs: LaneRun[] = []; - let run: { x: number; y: number }[] = []; - - const flush = () => { - if (run.length === 0) return; - const first = run[0]; - const last = run[run.length - 1]; - const points = [{ x: first.x - 0.5, y: first.y }, ...run, { x: last.x + 0.5, y: last.y }]; - const edge = points.map((point, index) => `${index === 0 ? "M" : "L"} ${point.x},${point.y}`).join(" "); - runs.push({ - edge, - fill: `M ${points[0].x},${BASELINE} ${points.map((point) => `L ${point.x},${point.y}`).join(" ")} L ${points[points.length - 1].x},${BASELINE} Z`, - }); - run = []; - }; - - history.forEach((sample, index) => { - if (sample === null) { - flush(); - return; - } - const amplitude = Math.sqrt(Math.min(1, rate(sample) / axisMax)) * LANE; - run.push({ x: offset + index + 0.5, y: round2(BASELINE + direction * amplitude) }); - }); - flush(); - return runs; -} - -function round2(value: number): number { - return Math.round(value * 100) / 100; -} - -function Lane({ runs, className }: { runs: LaneRun[]; className: string }) { - return ( - - {runs.map((run, index) => ( - - - - - ))} - - ); -} diff --git a/src/renderer/components/metrics/network-row.tsx b/src/renderer/components/metrics/network-row.tsx index b6bb724..bbd02f7 100644 --- a/src/renderer/components/metrics/network-row.tsx +++ b/src/renderer/components/metrics/network-row.tsx @@ -39,7 +39,7 @@ export function NetworkRow({ snapshot }: { snapshot: MetricsSnapshot | null }) { return (
-
+
{scrubbed && scrubPercent !== null ? ( @@ -48,7 +48,7 @@ export function NetworkRow({ snapshot }: { snapshot: MetricsSnapshot | null }) { ) : null}
-
+
diff --git a/src/renderer/domain/area-path.ts b/src/renderer/domain/area-path.ts new file mode 100644 index 0000000..af312f5 --- /dev/null +++ b/src/renderer/domain/area-path.ts @@ -0,0 +1,56 @@ +/** + * SVG area geometry for the time-series graphs: converts a sample history into + * filled-area and edge-line path data in the graphs' shared + * `0..capacity × 0..100` viewBox space. + */ + +/** Fill + edge path data for one contiguous run of non-null samples. */ +export interface AreaRun { + fill: string; + edge: string; +} + +/** + * Builds one run per contiguous stretch of non-null samples, splitting at + * nulls so a failed tick reads as a gap. `amplitude` maps a sample to its + * viewBox-unit height; the area extends from `baseline` toward `direction` + * (-1 up, +1 down). Vertices sit at slot centers (slot width 1, starting at + * `offset`), padded half a slot at each end so an isolated sample still has + * visible width. + */ +export function areaRuns( + history: (T | null)[], + offset: number, + amplitude: (sample: T) => number, + baseline: number, + direction: 1 | -1, +): AreaRun[] { + const runs: AreaRun[] = []; + let run: { x: number; y: number }[] = []; + + const flush = () => { + if (run.length === 0) return; + const first = run[0]; + const last = run[run.length - 1]; + const points = [{ x: first.x - 0.5, y: first.y }, ...run, { x: last.x + 0.5, y: last.y }]; + runs.push({ + edge: points.map((point, index) => `${index === 0 ? "M" : "L"} ${point.x},${point.y}`).join(" "), + fill: `M ${points[0].x},${baseline} ${points.map((point) => `L ${point.x},${point.y}`).join(" ")} L ${points[points.length - 1].x},${baseline} Z`, + }); + run = []; + }; + + history.forEach((sample, index) => { + if (sample === null) { + flush(); + return; + } + run.push({ x: offset + index + 0.5, y: round2(baseline + direction * amplitude(sample)) }); + }); + flush(); + return runs; +} + +function round2(value: number): number { + return Math.round(value * 100) / 100; +} diff --git a/tests/unit/area-path.test.ts b/tests/unit/area-path.test.ts new file mode 100644 index 0000000..e286ba6 --- /dev/null +++ b/tests/unit/area-path.test.ts @@ -0,0 +1,30 @@ +import { describe, expect, it } from "vitest"; +import { areaRuns } from "@/domain/area-path"; + +const identity = (sample: number) => sample; + +describe("areaRuns", () => { + it("returns no runs for empty or all-null history", () => { + expect(areaRuns([], 60, identity, 100, -1)).toEqual([]); + expect(areaRuns([null, null], 58, identity, 100, -1)).toEqual([]); + }); + + it("pads a single sample to a full slot so it stays visible", () => { + const [run] = areaRuns([10], 59, identity, 100, -1); + expect(run.edge).toBe("M 59,90 L 59.5,90 L 60,90"); + expect(run.fill).toBe("M 59,100 L 59,90 L 59.5,90 L 60,90 L 60,100 Z"); + }); + + it("splits runs at null samples", () => { + const runs = areaRuns([10, null, 20], 0, identity, 100, -1); + expect(runs).toHaveLength(2); + expect(runs[0].edge).toBe("M 0,90 L 0.5,90 L 1,90"); + expect(runs[1].edge).toBe("M 2,80 L 2.5,80 L 3,80"); + }); + + it("extends from the baseline downward for direction 1", () => { + const [run] = areaRuns([46], 0, identity, 50, 1); + expect(run.edge).toBe("M 0,96 L 0.5,96 L 1,96"); + expect(run.fill).toBe("M 0,50 L 0,96 L 0.5,96 L 1,96 L 1,50 Z"); + }); +}); From 85d8cc1417c8c4124bd80056ba26a44e5956a8a1 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Thu, 11 Jun 2026 16:38:47 +0300 Subject: [PATCH 152/169] Update segmented meter styles for improved responsiveness --- src/renderer/components/metrics/segmented-meter.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/components/metrics/segmented-meter.tsx b/src/renderer/components/metrics/segmented-meter.tsx index 956b9ba..08a2563 100644 --- a/src/renderer/components/metrics/segmented-meter.tsx +++ b/src/renderer/components/metrics/segmented-meter.tsx @@ -58,7 +58,7 @@ export function SegmentedMeter({ type="button" aria-label={`${segment.label}: ${formatBytes(segment.bytes)}`} className={cn( - "h-1 cursor-default rounded-full outline-none transition-[opacity,height]", + "h-1 min-w-1.5 cursor-default rounded-full outline-none transition-[opacity,height]", segment.fillClass, active ? "h-2 opacity-100" : hovered ? "opacity-50" : "opacity-90", )} From b033b39567d77b51feee24c6c68b4458a40cb11d Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Thu, 11 Jun 2026 17:04:05 +0300 Subject: [PATCH 153/169] Enhance metric row components with improved tooltip handling and value color states --- src/renderer/components/metrics/cpu-row.tsx | 14 +++++-- src/renderer/components/metrics/disk-row.tsx | 10 +---- .../components/metrics/memory-row.tsx | 7 +++- .../components/metrics/metric-row-header.tsx | 20 ++++++++- .../components/metrics/network-row.tsx | 2 +- .../components/metrics/segmented-meter.tsx | 42 ++++++++++++------- 6 files changed, 62 insertions(+), 33 deletions(-) diff --git a/src/renderer/components/metrics/cpu-row.tsx b/src/renderer/components/metrics/cpu-row.tsx index dbe89d9..11c9bd2 100644 --- a/src/renderer/components/metrics/cpu-row.tsx +++ b/src/renderer/components/metrics/cpu-row.tsx @@ -1,7 +1,7 @@ import { useEffect, useState } from "react"; import { Cpu } from "lucide-react"; -import { MeterTooltip, MetricRowHeader, ValueUnit } from "@/components/metrics/metric-row-header"; +import { MeterTooltip, MetricRowHeader, ValueUnit, VALUE_COLOR_BY_STATE } from "@/components/metrics/metric-row-header"; import { CpuGraph, type CpuSample } from "@/components/metrics/cpu-graph"; import type { MetricsSnapshot } from "@/gen/metrics"; import { MetricStatus } from "@/gen/metrics"; @@ -23,8 +23,10 @@ export function CpuRow({ snapshot }: { snapshot: MetricsSnapshot | null }) { const state = cpu ? usageState(cpu.status, cpu.usagePercent) : "pending"; const live = isLive(state); - const scrubbed = scrubIndex !== null ? history[scrubIndex] : null; - const shown = scrubbed ?? (live && cpu ? cpu.usagePercent : null); + const scrubbed = scrubIndex !== null ? (history[scrubIndex] ?? null) : null; + // While scrubbing, show the hovered second as-is ("--" over a gap) rather + // than falling back to the live value. + const shown = scrubIndex !== null ? scrubbed : live && cpu ? cpu.usagePercent : null; const value = shown != null ? formatPercentParts(shown) : undefined; // History index -> viewBox slot center, as a percent for the tooltip x. const scrubPercent = @@ -33,7 +35,11 @@ export function CpuRow({ snapshot }: { snapshot: MetricsSnapshot | null }) { return (
- +
diff --git a/src/renderer/components/metrics/disk-row.tsx b/src/renderer/components/metrics/disk-row.tsx index b5f35a2..b216b0e 100644 --- a/src/renderer/components/metrics/disk-row.tsx +++ b/src/renderer/components/metrics/disk-row.tsx @@ -1,19 +1,11 @@ import { HardDrive } from "lucide-react"; -import { MetricRowHeader, ValueUnit } from "@/components/metrics/metric-row-header"; +import { MetricRowHeader, ValueUnit, VALUE_COLOR_BY_STATE } from "@/components/metrics/metric-row-header"; import type { MetricsSnapshot } from "@/gen/metrics"; import { cn } from "@/lib/utils"; import { displayText, isLive, usageState, type MetricState } from "@/domain/metric-view"; import { formatBytes, formatPercentParts } from "@/lib/format"; -const VALUE_COLOR_BY_STATE: Record = { - ok: "text-foreground", - elevated: "text-warning", - critical: "text-destructive", - pending: "text-muted-foreground", - unavailable: "text-muted-foreground", -}; - const FILL_BY_STATE: Record = { ok: "bg-success", elevated: "bg-warning", diff --git a/src/renderer/components/metrics/memory-row.tsx b/src/renderer/components/metrics/memory-row.tsx index b5533f3..dfbf5e1 100644 --- a/src/renderer/components/metrics/memory-row.tsx +++ b/src/renderer/components/metrics/memory-row.tsx @@ -35,14 +35,17 @@ export function MemoryRow({ snapshot }: { snapshot: MetricsSnapshot | null }) { const [totalValue, totalUnit] = memory ? formatBytes(memory.totalBytes).split(" ") : []; return ( -
+
{live && totalValue ? : null} {memory ? ( ) : ( - diff --git a/src/renderer/components/metrics/network-row.tsx b/src/renderer/components/metrics/network-row.tsx index bbd02f7..7db2756 100644 --- a/src/renderer/components/metrics/network-row.tsx +++ b/src/renderer/components/metrics/network-row.tsx @@ -43,7 +43,7 @@ export function NetworkRow({ snapshot }: { snapshot: MetricsSnapshot | null }) {
{scrubbed && scrubPercent !== null ? ( - + ) : null} diff --git a/src/renderer/components/metrics/segmented-meter.tsx b/src/renderer/components/metrics/segmented-meter.tsx index 08a2563..c868429 100644 --- a/src/renderer/components/metrics/segmented-meter.tsx +++ b/src/renderer/components/metrics/segmented-meter.tsx @@ -1,4 +1,4 @@ -import { useState } from "react"; +import { useLayoutEffect, useRef, useState } from "react"; import { cn } from "@/lib/utils"; import { formatBytes } from "@/lib/format"; @@ -26,35 +26,47 @@ export function SegmentedMeter({ totalBytes: number; ariaLabel: string; }) { - const [hovered, setHovered] = useState(null); + const [hoveredKey, setHoveredKey] = useState(null); + const [tooltipLeft, setTooltipLeft] = useState(50); + const barRef = useRef(null); + const segmentRefs = useRef(new Map()); const total = Number.isFinite(totalBytes) && totalBytes > 0 ? totalBytes : 0; const drawable = total > 0 ? segments.filter((segment) => segment.bytes > 0) : []; - const enter = (key: string) => setHovered(key); - const leave = (key: string) => setHovered((current) => (current === key ? null : current)); - - // Center of each segment as a percent of the bar, for the static tooltip. - const drawableTotal = drawable.reduce((sum, segment) => sum + segment.bytes, 0) || 1; - let running = 0; - const centerByKey = new Map(); - for (const segment of drawable) { - centerByKey.set(segment.key, ((running + segment.bytes / 2) / drawableTotal) * 100); - running += segment.bytes; - } + const enter = (key: string) => setHoveredKey(key); + const leave = (key: string) => setHoveredKey((current) => (current === key ? null : current)); + // A segment can unmount mid-hover (its bytes dropping to 0 on a tick), with + // no pointerleave to clear the state; resolve against the current list so + // the rest of the bar never stays dimmed for a ghost. + const hovered = drawable.some((segment) => segment.key === hoveredKey) ? hoveredKey : null; const hoveredSegment = drawable.find((segment) => segment.key === hovered); + // Tooltip x from the rendered segment, not its byte share: the gaps and the + // min-width floor shift real positions, most visibly for tiny segments. + useLayoutEffect(() => { + if (hovered === null) return; + const bar = barRef.current; + const segment = segmentRefs.current.get(hovered); + if (!bar || !segment || bar.offsetWidth === 0) return; + setTooltipLeft(((segment.offsetLeft + segment.offsetWidth / 2) / bar.offsetWidth) * 100); + }, [hovered, segments]); + return (
{/* bg-background (not a rail) so the gaps read as empty space; no clip so the hovered slice can lift past its resting height. */} -
+
{drawable.map((segment) => { const active = hovered === segment.key; return (
{hoveredSegment ? ( - + {formatBytes(hoveredSegment.bytes)} ) : null} From 8a0096acb391738344016dcd353b25f355c4894e Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Thu, 11 Jun 2026 17:18:10 +0300 Subject: [PATCH 154/169] Refactor MemoryRow component to enhance value display and state-based styling --- src/renderer/components/metrics/memory-row.tsx | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/renderer/components/metrics/memory-row.tsx b/src/renderer/components/metrics/memory-row.tsx index dfbf5e1..6c4cb4e 100644 --- a/src/renderer/components/metrics/memory-row.tsx +++ b/src/renderer/components/metrics/memory-row.tsx @@ -1,10 +1,10 @@ import { MemoryStick } from "lucide-react"; -import { MetricRowHeader, ValueUnit } from "@/components/metrics/metric-row-header"; +import { MetricRowHeader, ValueUnit, VALUE_COLOR_BY_STATE } from "@/components/metrics/metric-row-header"; import { SegmentedMeter, type MeterSegment } from "@/components/metrics/segmented-meter"; import type { MetricsSnapshot } from "@/gen/metrics"; -import { isLive, usageState } from "@/domain/metric-view"; -import { formatBytes } from "@/lib/format"; +import { displayText, isLive, usageState } from "@/domain/metric-view"; +import { formatBytes, formatPercentParts } from "@/lib/format"; type Memory = NonNullable; @@ -30,14 +30,19 @@ function ariaLabel(segments: MeterSegment[], totalBytes: number): string { export function MemoryRow({ snapshot }: { snapshot: MetricsSnapshot | null }) { const memory = snapshot?.memory; - const live = memory ? isLive(usageState(memory.status, memory.usedPercent)) : false; + const state = memory ? usageState(memory.status, memory.usedPercent) : "pending"; + const live = isLive(state); const segments = memory ? buildSegments(memory) : []; - const [totalValue, totalUnit] = memory ? formatBytes(memory.totalBytes).split(" ") : []; + const percent = memory ? formatPercentParts(memory.usedPercent) : undefined; return (
- {live && totalValue ? : null} + {memory ? ( From 3398dce82fa52ee1a484822fd9b50ff664f2ac63 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Thu, 11 Jun 2026 18:08:13 +0300 Subject: [PATCH 155/169] Remove delta logic and simplify snapshot retrieval --- .../processes/process-explorer-service.ts | 2 +- .../processes/process-snapshot-service.ts | 90 +----------------- .../gateway/process-explorer-gateway.ts | 44 ++++----- src/renderer/gateway/snapshot-delta.ts | 49 ---------- src/renderer/proto/process_explorer.proto | 26 +----- tests/helpers/process-fixtures.ts | 5 +- tests/unit/process-explorer-gateway.test.ts | 47 ++-------- tests/unit/process-snapshot-service.test.ts | 72 --------------- tests/unit/snapshot-delta.test.ts | 92 ------------------- 9 files changed, 33 insertions(+), 394 deletions(-) delete mode 100644 src/renderer/gateway/snapshot-delta.ts delete mode 100644 tests/unit/snapshot-delta.test.ts diff --git a/src/main/processes/process-explorer-service.ts b/src/main/processes/process-explorer-service.ts index d36a9ee..e09dbfd 100644 --- a/src/main/processes/process-explorer-service.ts +++ b/src/main/processes/process-explorer-service.ts @@ -28,7 +28,7 @@ export class ProcessExplorerService { ProcessExplorerServiceImpl, "GetProcessSnapshot" | "GetProcessIcons" | "GetProcessActionStates" | "RunProcessAction" > = { - GetProcessSnapshot: async (request) => this.snapshots.getSnapshot(request.haveRevision), + GetProcessSnapshot: async () => this.snapshots.getSnapshot(), GetProcessIcons: (request) => this.snapshots.getIcons(request.keys), GetProcessActionStates: async (request) => this.actions.getActionStates(request), RunProcessAction: (request) => this.actions.runAction(request), diff --git a/src/main/processes/process-snapshot-service.ts b/src/main/processes/process-snapshot-service.ts index 4386d8b..492b19f 100644 --- a/src/main/processes/process-snapshot-service.ts +++ b/src/main/processes/process-snapshot-service.ts @@ -159,13 +159,12 @@ function toProcessUser(user: NativeProcessUser | undefined): ProcessUser { */ function toCommandLine(commandLine: NativeCommandLine | undefined): CommandLine { if (commandLine === undefined) { - return { status: FieldStatus.FIELD_STATUS_UNAVAILABLE, arguments: [], fromPrev: false }; + return { status: FieldStatus.FIELD_STATUS_UNAVAILABLE, arguments: [] }; } const status = toFieldStatus(commandLine.status); return { status, arguments: status === FieldStatus.FIELD_STATUS_OK ? commandLine.arguments : [], - fromPrev: false, }; } @@ -182,64 +181,6 @@ function recordKey(record: NativeProcessRecord): ProcessKey | null { return `${identity.pid}:${startedAt}`; } -/** Identity key for one renderer row, used to align rows across revisions. */ -function rowKey(row: ProcessRow): ProcessKey { - const pid = row.identity?.pid ?? 0; - const startedAt = - row.identity?.startedAtStatus === FieldStatus.FIELD_STATUS_OK - ? row.identity.startedAtUnixMs - : "unknown"; - return `${pid}:${startedAt}`; -} - -function argvEqual(a: string[], b: string[]): boolean { - return a.length === b.length && a.every((value, index) => value === b[index]); -} - -/** - * Builds the delta form of `current` for a renderer that proved (via - * have_revision) it holds `previous` in full: a row's argv is replaced by a - * from_prev marker when it compares value-equal to the previous row's, so any - * real change ships in full and staleness is impossible by construction. argv - * is the only reduced field - it dominates the payload and rarely changes. - * The renderer gateway reverses the reduction before presentation code runs. - */ -function buildSnapshotDelta( - current: ProcessSnapshot, - previous: ProcessSnapshot, -): ProcessSnapshot { - const previousRows = new Map(); - for (const row of previous.processes) { - previousRows.set(rowKey(row), row); - } - - const processes = current.processes.map((row) => { - const commandLine = row.commandLine; - if ( - commandLine === undefined || - commandLine.status !== FieldStatus.FIELD_STATUS_OK || - commandLine.arguments.length === 0 - ) { - return row; - } - - const previousCommandLine = previousRows.get(rowKey(row))?.commandLine; - if ( - previousCommandLine?.status !== FieldStatus.FIELD_STATUS_OK || - !argvEqual(previousCommandLine.arguments, commandLine.arguments) - ) { - return row; - } - - return { - ...row, - commandLine: { status: commandLine.status, arguments: [], fromPrev: true }, - }; - }); - - return { ...current, processes, delta: true }; -} - /** * Owns process collection and the renderer-facing snapshot for the process * explorer: a visibility-gated cadence calls the native collector, maps the @@ -269,15 +210,8 @@ export class ProcessSnapshotService { processes: [], warnings: [], icons: {}, - delta: false, }; - /** - * The previous snapshot, kept so a renderer that proved it holds it can be - * served a delta. Only one generation back; older revisions get full data. - */ - private previousSnapshot: ProcessSnapshot | null = null; - private revision = 0; private disposed = false; @@ -293,22 +227,8 @@ export class ProcessSnapshotService { this.loop.setActive(active); } - /** - * Returns the latest cached snapshot. When `haveRevision` names the current - * or immediately-previous revision, the renderer demonstrably holds that - * snapshot in full and gets a delta with known argv omitted; any other value - * (first pull, reload, missed generation) gets the full snapshot. - */ - getSnapshot(haveRevision = 0): ProcessSnapshot { - if (haveRevision !== 0) { - if (haveRevision === this.snapshot.revision) { - // Re-pull of an already-merged revision: argv dedupes against itself. - return buildSnapshotDelta(this.snapshot, this.snapshot); - } - if (haveRevision === this.previousSnapshot?.revision) { - return buildSnapshotDelta(this.snapshot, this.previousSnapshot); - } - } + /** Returns the latest cached snapshot. */ + getSnapshot(): ProcessSnapshot { return this.snapshot; } @@ -339,7 +259,6 @@ export class ProcessSnapshotService { this.disposed = true; this.loop.dispose(); this.cpuBaselines.clear(); - this.previousSnapshot = null; this.revisionHandle.dispose(); } @@ -363,7 +282,6 @@ export class ProcessSnapshotService { } private publishSnapshot(next: ProcessSnapshot): void { - this.previousSnapshot = this.snapshot; this.snapshot = next; this.revisionHandle.StreamRevisions({ revision: next.revision, @@ -416,7 +334,6 @@ export class ProcessSnapshotService { processes, warnings: buildWarnings(permissionDeniedCount, commandLinePartialCount), icons: {}, - delta: false, }; } @@ -432,7 +349,6 @@ export class ProcessSnapshotService { processes: [], warnings: [], icons: {}, - delta: false, }; } diff --git a/src/renderer/gateway/process-explorer-gateway.ts b/src/renderer/gateway/process-explorer-gateway.ts index d4902df..5c890c5 100644 --- a/src/renderer/gateway/process-explorer-gateway.ts +++ b/src/renderer/gateway/process-explorer-gateway.ts @@ -8,7 +8,6 @@ import { RunProcessActionResponse, SnapshotStatus, } from "@/gen/process_explorer"; -import { mergeSnapshotDelta } from "@/gateway/snapshot-delta"; /** Tears down a subscription. Idempotent; safe as a `useEffect` cleanup. */ type Unsubscribe = () => void; @@ -22,30 +21,27 @@ function emptySnapshot(): ProcessSnapshot { processes: [], warnings: [], icons: {}, - delta: false, }; } /** - * The last full snapshot this renderer assembled, advertised to main on every - * pull (have_revision) so main can answer with a delta. Its `icons` table - * doubles as the content-addressed icon store: a held key is never re-fetched. - * Module state on purpose: it survives view re-mounts but resets with the - * renderer, so a reload naturally pulls a full snapshot again. Holds sensitive - * argv like any snapshot; never logged or persisted. + * The content-addressed icon store: the icon table of the last snapshot this + * renderer assembled. A held key is never re-fetched (keys are content hashes, + * so a held value can never be stale). Module state on purpose: it survives + * view re-mounts but resets with the renderer, so a reload naturally re-fetches. + * Volatile display-only data: never logged or persisted. */ -let lastSnapshot: ProcessSnapshot | null = null; +let heldIcons: { [key: string]: string } = {}; /** * Assembles the icon table for `snapshot` (which arrives with an empty one): - * held keys come from the previous table, unseen keys are fetched once. Keys - * are content hashes, so a held value can never be stale, and the rebuilt - * table carries exactly the keys the new rows reference. A failed fetch - * degrades to the held icons; affected rows render the generic glyph and the - * next pull retries. + * held keys come from {@link heldIcons}, unseen keys are fetched once. The + * rebuilt table carries exactly the keys the new rows reference. A failed + * fetch degrades to the held icons; affected rows render the generic glyph + * and the next pull retries. */ async function assembleIcons(snapshot: ProcessSnapshot): Promise<{ [key: string]: string }> { - const known = lastSnapshot?.icons ?? {}; + const known = heldIcons; const referenced = new Set(); for (const row of snapshot.processes) { const key = row.app?.iconKey; @@ -86,21 +82,13 @@ export const processExplorerGateway = { emptySnapshot, /** - * Pulls the latest cached snapshot from main, advertising the snapshot this - * renderer holds; a delta answer is merged locally and the icon table is - * assembled (held keys reused, unknown keys fetched once). Callers always - * receive self-contained data regardless of what went over the wire. + * Pulls the latest cached snapshot from main and assembles its icon table + * (held keys reused, unknown keys fetched once). */ async getSnapshot(): Promise { - const base = lastSnapshot; - const response = await ipc.processExplorer.GetProcessSnapshot({ - haveRevision: base?.revision ?? 0, - }); - const merged = response.delta ? mergeSnapshotDelta(base, response) : response; - const snapshot = { ...merged, icons: await assembleIcons(merged) }; - if (lastSnapshot === null || snapshot.revision >= lastSnapshot.revision) { - lastSnapshot = snapshot; - } + const response = await ipc.processExplorer.GetProcessSnapshot({}); + const snapshot = { ...response, icons: await assembleIcons(response) }; + heldIcons = snapshot.icons; return snapshot; }, diff --git a/src/renderer/gateway/snapshot-delta.ts b/src/renderer/gateway/snapshot-delta.ts deleted file mode 100644 index 8de7388..0000000 --- a/src/renderer/gateway/snapshot-delta.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { FieldStatus, type ProcessRow, type ProcessSnapshot } from "@/gen/process_explorer"; -import { rowIdentityKey } from "@/domain/process-list"; - -/** - * Merges a delta {@link ProcessSnapshot} with the full base snapshot it was - * built against. argv is the only reduced field: rows marked - * `commandLine.from_prev` take their argv from the base row with the same - * identity. Icons never ride the snapshot wire; the gateway assembles the - * icon table separately. - */ -export function mergeSnapshotDelta( - base: ProcessSnapshot | null, - delta: ProcessSnapshot, -): ProcessSnapshot { - const baseRows = new Map(); - if (base !== null) { - for (const row of base.processes) { - baseRows.set(rowIdentityKey(row), row); - } - } - - const processes = delta.processes.map((row) => { - if (!row.commandLine?.fromPrev) { - return row; - } - // A marked row without a base counterpart cannot be rehydrated (a protocol - // mismatch that should not happen); degrade its argv honestly. - const baseRow = baseRows.get(rowIdentityKey(row)); - return { - ...row, - commandLine: baseRow?.commandLine ?? unavailableCommandLine(), - }; - }); - - // The merged snapshot is self-contained: clear the delta marker so downstream - // code (and a later merge using it as base) treats it as a full snapshot. - return { ...delta, processes, delta: false }; -} - -/** - * An explicitly-unavailable argv cell, used when rehydration is impossible. - */ -function unavailableCommandLine() { - return { - status: FieldStatus.FIELD_STATUS_UNAVAILABLE, - arguments: [], - fromPrev: false, - }; -} diff --git a/src/renderer/proto/process_explorer.proto b/src/renderer/proto/process_explorer.proto index ff092b7..4956249 100644 --- a/src/renderer/proto/process_explorer.proto +++ b/src/renderer/proto/process_explorer.proto @@ -1,5 +1,7 @@ syntax = "proto3"; +import "google/protobuf/empty.proto"; + // Process explorer IPC contract (renderer <-> main). // // Kept separate from metrics.proto on purpose: command-line arguments are @@ -142,11 +144,6 @@ message CommandLine { FieldStatus status = 1; // Parsed argument vector when status is OK. Sensitive; see message comment. repeated string arguments = 2; - // Set only on a delta snapshot (see ProcessSnapshot.delta): the arguments are - // omitted from the wire because main verified they are value-identical to this - // identity's row in the snapshot the renderer said it has; the gateway - // rehydrates them from that snapshot before presentation code sees the row. - bool from_prev = 3; } // Stable identity for one process: PID plus an optional start time. Start time @@ -231,23 +228,6 @@ message ProcessSnapshot { // before presentation code sees the snapshot. Volatile display-only data: // never logged or persisted. map icons = 6; - // True when this snapshot is a delta against the revision the renderer sent in - // GetProcessSnapshotRequest.have_revision: rows may mark their argv as - // CommandLine.from_prev. The renderer gateway merges a delta with its previous - // snapshot into a full one; presentation code never sees a delta. False means - // the snapshot is self-contained. - bool delta = 7; -} - -// Read parameters for the snapshot pull. -message GetProcessSnapshotRequest { - // Revision of the last full snapshot the renderer holds, or 0 for none. When - // it matches the current snapshot or the one immediately preceding it, main - // responds with a delta (argv that did not change is omitted; see - // ProcessSnapshot.delta); any other value gets a full snapshot. argv dominates - // the row payload and rarely changes between ticks, so this keeps the - // steady-state pull small without a stateful subscription. - uint64 have_revision = 1; } // Request for icon bytes by content key (AppMetadata.icon_key values the @@ -376,7 +356,7 @@ message RunProcessActionResponse { service ProcessExplorerService { // Returns the latest cached process snapshot, or an explicit // loading/unavailable state. Main owns the collection cadence and cache. - rpc GetProcessSnapshot(GetProcessSnapshotRequest) returns (ProcessSnapshot); + rpc GetProcessSnapshot(google.protobuf.Empty) returns (ProcessSnapshot); // Broadcasts a lightweight revision ping whenever a newer snapshot exists, so // the renderer can pull only on change instead of polling. diff --git a/tests/helpers/process-fixtures.ts b/tests/helpers/process-fixtures.ts index a95ebeb..f331ada 100644 --- a/tests/helpers/process-fixtures.ts +++ b/tests/helpers/process-fixtures.ts @@ -151,10 +151,10 @@ function makeUser(options: RowOptions): ProcessUser | undefined { /** Builds the command-line cell, honoring an explicit non-OK status override. */ function makeCommandLine(options: RowOptions): CommandLine | undefined { if (options.commandLineStatus !== undefined) { - return { status: options.commandLineStatus, arguments: options.commandLine ?? [], fromPrev: false }; + return { status: options.commandLineStatus, arguments: options.commandLine ?? [] }; } if (options.commandLine !== undefined) { - return { status: FieldStatus.FIELD_STATUS_OK, arguments: options.commandLine, fromPrev: false }; + return { status: FieldStatus.FIELD_STATUS_OK, arguments: options.commandLine }; } return undefined; } @@ -218,7 +218,6 @@ export function makeSnapshot(rows: ProcessRow[], revision = 1): ProcessSnapshot processes: rows, warnings: [], icons, - delta: false, }; } diff --git a/tests/unit/process-explorer-gateway.test.ts b/tests/unit/process-explorer-gateway.test.ts index 8c1e9ab..ec0ec26 100644 --- a/tests/unit/process-explorer-gateway.test.ts +++ b/tests/unit/process-explorer-gateway.test.ts @@ -17,7 +17,7 @@ vi.mock("@/gen/ipc", () => ({ }, })); -import { FieldStatus, type ProcessRow, type ProcessSnapshot } from "@/gen/process_explorer"; +import { type ProcessRow, type ProcessSnapshot } from "@/gen/process_explorer"; import { makeRow, makeSnapshot } from "../helpers/process-fixtures"; /** @@ -29,26 +29,8 @@ function wireSnapshot(rows: ProcessRow[], revision: number): ProcessSnapshot { } /** - * Wire form of a delta snapshot whose rows carry from_prev argv markers. - */ -function wireDelta(rows: ProcessRow[], revision: number): ProcessSnapshot { - return { ...wireSnapshot(rows, revision), delta: true }; -} - -/** - * Marks a row's argv as carried by the renderer's previous snapshot. - */ -function withFromPrevArgv(row: ProcessRow): ProcessRow { - return { - ...row, - commandLine: { status: FieldStatus.FIELD_STATUS_OK, arguments: [], fromPrev: true }, - }; -} - -/** - * Imports a fresh gateway module instance so the module-level lastSnapshot (the - * have_revision base and icon store) starts empty for every test, mirroring a - * renderer reload. + * Imports a fresh gateway module instance so the module-level icon store starts + * empty for every test, mirroring a renderer reload. */ async function freshGateway() { const module = await import("@/gateway/process-explorer-gateway"); @@ -73,43 +55,30 @@ describe("processExplorerGateway icon assembly", () => { const snapshot = await gateway.getSnapshot(); - expect(h.getSnapshot).toHaveBeenCalledWith({ haveRevision: 0 }); + expect(h.getSnapshot).toHaveBeenCalledWith({}); // One fetch for the one distinct referenced key; the keyless row adds none. expect(h.getIcons).toHaveBeenCalledTimes(1); expect(h.getIcons).toHaveBeenCalledWith({ keys: ["ICON-A"] }); expect(snapshot.icons).toEqual({ "ICON-A": "BYTES-A" }); }); - it("reuses held keys without refetching and merges a delta against the held base", async () => { + it("reuses held keys without refetching on the next pull", async () => { const gateway = await freshGateway(); h.getSnapshot.mockResolvedValueOnce(wireSnapshot([ - makeRow({ - pid: 20, - startedAtUnixMs: 1_000, - iconPngBase64: "ICON-B", - commandLine: ["fake-app", "--flag"], - }), + makeRow({ pid: 20, startedAtUnixMs: 1_000, iconPngBase64: "ICON-B" }), ], 1)); h.getIcons.mockResolvedValueOnce({ icons: { "ICON-B": "BYTES-B" } }); await gateway.getSnapshot(); - h.getSnapshot.mockResolvedValueOnce(wireDelta([ - withFromPrevArgv(makeRow({ pid: 20, startedAtUnixMs: 1_000, iconPngBase64: "ICON-B" })), + h.getSnapshot.mockResolvedValueOnce(wireSnapshot([ + makeRow({ pid: 20, startedAtUnixMs: 1_000, iconPngBase64: "ICON-B" }), ], 2)); const snapshot = await gateway.getSnapshot(); - expect(h.getSnapshot).toHaveBeenLastCalledWith({ haveRevision: 1 }); // The key is already held; no second icon fetch. expect(h.getIcons).toHaveBeenCalledTimes(1); expect(snapshot.icons).toEqual({ "ICON-B": "BYTES-B" }); - // The from_prev argv was rehydrated from the held base snapshot. - expect(snapshot.processes[0].commandLine).toEqual({ - status: FieldStatus.FIELD_STATUS_OK, - arguments: ["fake-app", "--flag"], - fromPrev: false, - }); - expect(snapshot.delta).toBe(false); }); it("degrades a failed icon fetch to fallback and retries the keys on the next pull", async () => { diff --git a/tests/unit/process-snapshot-service.test.ts b/tests/unit/process-snapshot-service.test.ts index 3e71a8f..7cbe552 100644 --- a/tests/unit/process-snapshot-service.test.ts +++ b/tests/unit/process-snapshot-service.test.ts @@ -301,7 +301,6 @@ describe("ProcessSnapshotService", () => { expect(row.commandLine).toEqual({ status: FieldStatus.FIELD_STATUS_OK, arguments: ["fake-browser", "--renderer-fixture"], - fromPrev: false, }); expect(row.memory?.physicalFootprintBytes).toEqual({ status: FieldStatus.FIELD_STATUS_OK, @@ -465,7 +464,6 @@ describe("ProcessSnapshotService", () => { expect(row.commandLine).toEqual({ status: FieldStatus.FIELD_STATUS_PERMISSION_DENIED, arguments: [], - fromPrev: false, }); expect(row.memory?.physicalFootprintBytes).toEqual({ status: FieldStatus.FIELD_STATUS_PERMISSION_DENIED, @@ -568,76 +566,6 @@ describe("ProcessSnapshotService field mapping", () => { }); }); -describe("ProcessSnapshotService incremental payloads", () => { - it("serves an argv-only delta against the revision the renderer holds", async () => { - const service = makeService(); - - await collectByActivation(service, response([ - record({ pid: 405, startedAtUnixMs: 1_000, commandLine: ["fake-app", "--one"] }), - ])); - // Second pass: same process with value-identical argv (a fresh array each - // response, as native re-sends the bytes every pass), plus a new process. - await collectByActivation(service, response([ - record({ pid: 405, startedAtUnixMs: 1_000, commandLine: ["fake-app", "--one"] }), - record({ pid: 406, startedAtUnixMs: 2_000, commandLine: ["fake-new", "--two"] }), - ])); - - // Renderer holds revision 1: the unchanged argv is omitted behind a - // from_prev marker; every other field still ships in full. - const delta = service.getSnapshot(1); - expect(delta.delta).toBe(true); - expect(delta.revision).toBe(2); - expect(delta.processes[0].commandLine).toEqual({ - status: FieldStatus.FIELD_STATUS_OK, - arguments: [], - fromPrev: true, - }); - expect(delta.processes[0].executablePath?.value).not.toBeUndefined(); - expect(delta.processes[0].app?.iconKey).toBe("fake-icon-png"); - expect(delta.processes[0].memory?.physicalFootprintBytes?.value).toBe(512); - // The new process ships its argv in full. - expect(delta.processes[1].commandLine).toEqual({ - status: FieldStatus.FIELD_STATUS_OK, - arguments: ["fake-new", "--two"], - fromPrev: false, - }); - - // Renderer holds the current revision (re-entering the view): unchanged - // argv dedupes against the snapshot itself. - const reentry = service.getSnapshot(2); - expect(reentry.delta).toBe(true); - expect(reentry.processes[0].commandLine?.fromPrev).toBe(true); - - // An unknown revision (renderer reloaded) gets the full snapshot. - const full = service.getSnapshot(7); - expect(full.delta).toBe(false); - expect(full.processes[0].commandLine?.arguments).toEqual(["fake-app", "--one"]); - - // Callers inside main (the action service) always see the full snapshot. - expect(service.getSnapshot().delta).toBe(false); - }); - - it("ships a changed argv in full even when the identity matches", async () => { - const service = makeService(); - - await collectByActivation(service, response([ - record({ pid: 407, startedAtUnixMs: 1_000, commandLine: ["fake-wrapper"] }), - ])); - // Same identity, new argv (the process exec'd; native re-read it fresh). - await collectByActivation(service, response([ - record({ pid: 407, startedAtUnixMs: 1_000, commandLine: ["fake-real-binary", "--exec"] }), - ])); - - const delta = service.getSnapshot(1); - expect(delta.delta).toBe(true); - expect(delta.processes[0].commandLine).toEqual({ - status: FieldStatus.FIELD_STATUS_OK, - arguments: ["fake-real-binary", "--exec"], - fromPrev: false, - }); - }); -}); - describe("ProcessSnapshotService icons", () => { it("passes icon-byte lookups through to the native cache", async () => { const service = makeService(); diff --git a/tests/unit/snapshot-delta.test.ts b/tests/unit/snapshot-delta.test.ts deleted file mode 100644 index e7b72b3..0000000 --- a/tests/unit/snapshot-delta.test.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { describe, expect, it } from "vitest"; - -import { FieldStatus, type ProcessRow, type ProcessSnapshot } from "@/gen/process_explorer"; -import { mergeSnapshotDelta } from "@/gateway/snapshot-delta"; -import { makeRow, makeSnapshot } from "../helpers/process-fixtures"; - -/** - * Marks a row's argv as carried by the base snapshot (the wire form main sends - * inside a delta). - */ -function withFromPrevArgv(row: ProcessRow): ProcessRow { - return { - ...row, - commandLine: { status: FieldStatus.FIELD_STATUS_OK, arguments: [], fromPrev: true }, - }; -} - -/** - * Builds the wire form of a delta snapshot: rows as given, an empty icon table - * (icons never ride the snapshot wire), and the delta marker set. - */ -function makeDelta(rows: ProcessRow[], revision: number): ProcessSnapshot { - return { ...makeSnapshot(rows, revision), icons: {}, delta: true }; -} - -describe("mergeSnapshotDelta", () => { - it("rehydrates from_prev argv from the base row with the same identity", () => { - const base = makeSnapshot( - [makeRow({ pid: 10, startedAtUnixMs: 1_000, commandLine: ["fake-app", "--flag"] })], - 1, - ); - const delta = makeDelta( - [withFromPrevArgv(makeRow({ pid: 10, startedAtUnixMs: 1_000 }))], - 2, - ); - - const merged = mergeSnapshotDelta(base, delta); - - expect(merged.delta).toBe(false); - expect(merged.revision).toBe(2); - expect(merged.processes[0].commandLine).toEqual({ - status: FieldStatus.FIELD_STATUS_OK, - arguments: ["fake-app", "--flag"], - fromPrev: false, - }); - }); - - it("keeps fresh argv and rows without from_prev untouched", () => { - const base = makeSnapshot([makeRow({ pid: 11, startedAtUnixMs: 1_000 })], 1); - const freshRow = makeRow({ - pid: 12, - startedAtUnixMs: 2_000, - commandLine: ["fake-new", "--exec"], - }); - const delta = makeDelta([freshRow], 2); - - const merged = mergeSnapshotDelta(base, delta); - - expect(merged.processes[0]).toBe(freshRow); - }); - - it("degrades a from_prev row with no base counterpart to UNAVAILABLE argv", () => { - const base = makeSnapshot([makeRow({ pid: 30, startedAtUnixMs: 1_000 })], 1); - // Identity mismatch: same PID but a different start time (reused PID). - const delta = makeDelta( - [withFromPrevArgv(makeRow({ pid: 30, startedAtUnixMs: 9_000 }))], - 2, - ); - - const merged = mergeSnapshotDelta(base, delta); - - expect(merged.processes[0].commandLine).toEqual({ - status: FieldStatus.FIELD_STATUS_UNAVAILABLE, - arguments: [], - fromPrev: false, - }); - }); - - it("degrades gracefully when no base snapshot exists", () => { - const delta = makeDelta( - [withFromPrevArgv(makeRow({ pid: 40, startedAtUnixMs: 1_000 }))], - 2, - ); - - const merged = mergeSnapshotDelta(null, delta); - - expect(merged.delta).toBe(false); - expect(merged.processes[0].commandLine?.status).toBe( - FieldStatus.FIELD_STATUS_UNAVAILABLE, - ); - }); -}); From 233409f03444136e833d45215a8e715d42654529 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Thu, 11 Jun 2026 18:26:16 +0300 Subject: [PATCH 156/169] Add Baseline component for improved graph visualization in CPU and network charts --- .../components/metrics/area-layer.tsx | 20 +++++++++++++++++++ src/renderer/components/metrics/cpu-graph.tsx | 4 +++- .../components/metrics/network-graph.tsx | 13 ++---------- 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src/renderer/components/metrics/area-layer.tsx b/src/renderer/components/metrics/area-layer.tsx index a609bd5..dfbd555 100644 --- a/src/renderer/components/metrics/area-layer.tsx +++ b/src/renderer/components/metrics/area-layer.tsx @@ -1,4 +1,5 @@ import type { AreaRun } from "@/domain/area-path"; +import { HISTORY_CAPACITY } from "@/domain/sample-history"; /** * Shared SVG layers for the time-series graphs (CPU, network). The graphs draw @@ -6,6 +7,25 @@ import type { AreaRun } from "@/domain/area-path"; * (`preserveAspectRatio="none"`), so strokes opt out of scaling. */ +/** + * Axis baseline split at the first filled history slot: dashed over the + * still-unobserved left region (so a warming-up graph reads as "recording + * started here", not as broken), solid under the observed slots. `offset` is + * the first filled slot index (HISTORY_CAPACITY when the history is empty). + */ +export function Baseline({ y, offset }: { y: number; offset: number }) { + return ( + + {offset > 0 ? ( + + ) : null} + {offset < HISTORY_CAPACITY ? ( + + ) : null} + + ); +} + /** Area runs as a translucent fill under a brighter edge line, in currentColor. */ export function AreaLayer({ runs, className }: { runs: AreaRun[]; className?: string }) { return ( diff --git a/src/renderer/components/metrics/cpu-graph.tsx b/src/renderer/components/metrics/cpu-graph.tsx index d8d782d..2713ddb 100644 --- a/src/renderer/components/metrics/cpu-graph.tsx +++ b/src/renderer/components/metrics/cpu-graph.tsx @@ -4,7 +4,7 @@ import { cn } from "@/lib/utils"; import type { MetricState } from "@/domain/metric-view"; import { areaRuns } from "@/domain/area-path"; import { HISTORY_CAPACITY, sampleIndexAtFraction } from "@/domain/sample-history"; -import { AreaLayer, ScrubBand } from "@/components/metrics/area-layer"; +import { AreaLayer, Baseline, ScrubBand } from "@/components/metrics/area-layer"; /** A 0-100 percent reading, or `null` for a tick whose reading was not OK. */ export type CpuSample = number | null; @@ -20,6 +20,7 @@ const FILL_BY_STATE: Record = { const PEAK = 97; // max amplitude; keeps the peak's edge stroke inside the viewBox const MIN_AMPLITUDE = 1.5; // floor so a ~0% sample still draws a visible line const AXIS_FLOOR = 20; // smallest y-axis max, so a flat-idle graph is not "maxed" +const BASELINE_Y = 99.5; // bottom axis, inset so its non-scaling stroke is not clipped by the viewBox edge /** * Area graph of recent CPU usage, in the same style as the network chart: @@ -61,6 +62,7 @@ export function CpuGraph({ onPointerMove={handleMove} onPointerLeave={() => onScrub(null)} > + {scrubIndex !== null ? : null} diff --git a/src/renderer/components/metrics/network-graph.tsx b/src/renderer/components/metrics/network-graph.tsx index f69a112..b7b933d 100644 --- a/src/renderer/components/metrics/network-graph.tsx +++ b/src/renderer/components/metrics/network-graph.tsx @@ -2,7 +2,7 @@ import { useRef, type PointerEvent as ReactPointerEvent } from "react"; import { areaRuns } from "@/domain/area-path"; import { HISTORY_CAPACITY, sampleIndexAtFraction } from "@/domain/sample-history"; -import { AreaLayer, ScrubBand } from "@/components/metrics/area-layer"; +import { AreaLayer, Baseline, ScrubBand } from "@/components/metrics/area-layer"; /** One tick of throughput, or `null` for a tick whose reading was not OK. */ export type NetSample = { rxBytesPerSec: number; txBytesPerSec: number } | null; @@ -56,16 +56,7 @@ export function NetworkGraph({ onPointerMove={handleMove} onPointerLeave={() => onScrub(null)} > - + {scrubIndex !== null ? : null} From dce7c4db26acdb35202b4348f9e172bd32cfacf7 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Fri, 12 Jun 2026 05:17:05 +0300 Subject: [PATCH 157/169] Cache static process data via content-addressed assets, unifying icon fetching --- src/main/processes/process-action-service.ts | 18 +- .../processes/process-explorer-service.ts | 6 +- .../processes/process-snapshot-service.ts | 216 +++++++++++++----- src/renderer/domain/process-detail.ts | 15 +- src/renderer/domain/process-list.ts | 34 +-- .../gateway/process-explorer-gateway.ts | 117 ++++++---- src/renderer/proto/process_explorer.proto | 113 +++++---- tests/helpers/process-fixtures.ts | 37 ++- tests/unit/process-explorer-gateway.test.ts | 170 ++++++++------ tests/unit/process-snapshot-service.test.ts | 101 ++++++-- 10 files changed, 553 insertions(+), 274 deletions(-) diff --git a/src/main/processes/process-action-service.ts b/src/main/processes/process-action-service.ts index 34c23f7..4270175 100644 --- a/src/main/processes/process-action-service.ts +++ b/src/main/processes/process-action-service.ts @@ -93,8 +93,8 @@ export function isCriticalProcess(row: ProcessRow): boolean { if (pid <= 1) { return true; } - const commandName = okString(row.commandName); - const executableName = okString(row.executableName); + const commandName = okString(row.statics?.commandName); + const executableName = okString(row.statics?.executableName); return ( (commandName !== undefined && CRITICAL_PROCESS_NAMES.has(commandName)) || (executableName !== undefined && CRITICAL_PROCESS_NAMES.has(executableName)) @@ -116,7 +116,7 @@ export function disabledReasonFor( target: ProcessIdentity | undefined, ): ActionDisabledReason { if (action === ProcessActionKind.PROCESS_ACTION_KIND_REVEAL) { - return okString(row.executablePath) !== undefined + return okString(row.statics?.executablePath) !== undefined ? ActionDisabledReason.ACTION_DISABLED_REASON_NONE : ActionDisabledReason.ACTION_DISABLED_REASON_NO_PATH; } @@ -151,7 +151,9 @@ export class ProcessActionService { private readonly selfPid = process.pid; /** - * @param getSnapshot Returns the latest cached snapshot to validate against. + * @param getSnapshot Returns the latest cached snapshot to validate against - + * the main-side form with statics joined onto rows (names and paths are + * read from row.statics). * @param getParentWindow Returns the window to parent the confirmation * dialog to, or null when none is live (the dialog is then app-modal). */ @@ -262,7 +264,7 @@ export class ProcessActionService { /** Reveals a resolved row's executable in Finder via the desktop shell. */ private reveal(row: ProcessRow): RunProcessActionResponse { - const path = okString(row.executablePath); + const path = okString(row.statics?.executablePath); if (path === undefined) { return { outcome: Outcome.OUTCOME_NOT_ALLOWED, affectedCount: 0 }; } @@ -298,9 +300,9 @@ export class ProcessActionService { /** Shows the native Force Quit confirmation; names the process by display name only. */ private async confirmForceQuit(row: ProcessRow): Promise { const name = - okString(row.app?.localizedName) ?? - okString(row.executableName) ?? - okString(row.commandName) ?? + okString(row.statics?.app?.localizedName) ?? + okString(row.statics?.executableName) ?? + okString(row.statics?.commandName) ?? `PID ${row.identity?.pid ?? 0}`; const result = await app.showMessageDialog({ parentWindow: this.getParentWindow() ?? undefined, diff --git a/src/main/processes/process-explorer-service.ts b/src/main/processes/process-explorer-service.ts index e09dbfd..0a873bc 100644 --- a/src/main/processes/process-explorer-service.ts +++ b/src/main/processes/process-explorer-service.ts @@ -26,10 +26,10 @@ export class ProcessExplorerService { */ private readonly unaryHandlers: Pick< ProcessExplorerServiceImpl, - "GetProcessSnapshot" | "GetProcessIcons" | "GetProcessActionStates" | "RunProcessAction" + "GetProcessSnapshot" | "GetProcessAssets" | "GetProcessActionStates" | "RunProcessAction" > = { - GetProcessSnapshot: async () => this.snapshots.getSnapshot(), - GetProcessIcons: (request) => this.snapshots.getIcons(request.keys), + GetProcessSnapshot: async () => this.snapshots.getWireSnapshot(), + GetProcessAssets: (request) => this.snapshots.getAssets(request.staticKeys, request.iconKeys), GetProcessActionStates: async (request) => this.actions.getActionStates(request), RunProcessAction: (request) => this.actions.runAction(request), }; diff --git a/src/main/processes/process-snapshot-service.ts b/src/main/processes/process-snapshot-service.ts index 492b19f..9be1196 100644 --- a/src/main/processes/process-snapshot-service.ts +++ b/src/main/processes/process-snapshot-service.ts @@ -1,3 +1,4 @@ +import { createHash } from "node:crypto"; import * as os from "node:os"; import { ipc } from "@mobrowser/api"; import { native } from "../gen/native"; @@ -19,11 +20,12 @@ import { CpuTime, CpuUsage, FieldStatus, - GetProcessIconsResponse, + GetProcessAssetsResponse, ProcessMemory, ProcessRow, ProcessSnapshot, ProcessSnapshotRevision, + ProcessStatics, ProcessUser, SnapshotStatus, SnapshotWarning, @@ -168,6 +170,70 @@ function toCommandLine(commandLine: NativeCommandLine | undefined): CommandLine }; } +/** + * Maps a native record's image-lifetime-stable fields into the statics blob + * rows reference by content key. Forwarded for local display/search only; + * never logged or persisted here. + */ +function toStatics(record: NativeProcessRecord, commandLine: CommandLine): ProcessStatics { + return { + parentStatus: toFieldStatus(record.parentStatus), + parentPid: record.parentPid, + commandName: toStringValue(record.commandName), + executableName: toStringValue(record.executableName), + executablePath: toStringValue(record.executablePath), + app: toAppMetadata(record.app), + commandLine, + user: toProcessUser(record.user), + }; +} + +/** + * Content-hash key of a statics blob: a hash over its deterministic proto + * encoding, so identical blobs dedupe (twin processes share one entry) and any + * value change - including an exec - yields a new key, making a held blob + * stale-proof by construction. 128 hash bits; collisions are not a concern at + * process-list cardinality. + */ +function staticsKey(statics: ProcessStatics): string { + return createHash("sha256") + .update(ProcessStatics.encode(statics).finish()) + .digest("base64url") + .slice(0, 22); +} + +/** + * Builds one row: identity plus the per-tick dynamic readings, with the + * statics blob joined for main-side consumers (the action service). The wire + * form published to the renderer strips the join and keeps only its key. + */ +function toProcessRow( + record: NativeProcessRecord, + cpu: CpuUsage, + staticKey: string, + statics: ProcessStatics, +): ProcessRow { + const identity = record.identity; + return { + identity: { + pid: identity?.pid ?? 0, + startedAtStatus: toFieldStatus( + identity?.startedAtStatus ?? NativeFieldStatus.NATIVE_FIELD_STATUS_UNAVAILABLE, + ), + startedAtUnixMs: identity?.startedAtUnixMs ?? 0, + }, + staticKey, + memory: { + physicalFootprintBytes: toUInt64Value(record.memory?.physicalFootprintBytes), + residentBytes: toUInt64Value(record.memory?.residentBytes), + } satisfies ProcessMemory, + cpu, + threadCount: toUInt64Value(record.threadCount), + cpuTime: toCpuTime(record.cpu), + statics, + }; +} + /** Snapshot-stable identity key for a native record, or null without a PID. */ function recordKey(record: NativeProcessRecord): ProcessKey | null { const identity = record.identity; @@ -212,6 +278,18 @@ export class ProcessSnapshotService { icons: {}, }; + /** The wire form of {@link snapshot}: rows carry static_key, never the blob. */ + private wireSnapshot: ProcessSnapshot = this.snapshot; + + /** + * The statics blobs of the current and previous snapshot generations, by + * content key. Two generations so an asset fetch racing the next tick (the + * renderer pulled revision N, main already produced N+1) still resolves. + */ + private currentStatics = new Map(); + + private previousStatics = new Map(); + private revision = 0; private disposed = false; @@ -227,28 +305,52 @@ export class ProcessSnapshotService { this.loop.setActive(active); } - /** Returns the latest cached snapshot. */ + /** + * Returns the latest cached snapshot in its main-side form, with statics + * joined onto every row (the action service reads names and paths from it). + * The renderer pull is served by {@link getWireSnapshot}. + */ getSnapshot(): ProcessSnapshot { return this.snapshot; } /** - * Resolves icon bytes for content keys the renderer does not hold, from the - * native session cache. Content-addressed, so a returned value is never - * stale; a missing key is omitted and the renderer keeps its fallback glyph. + * Returns the wire form of the latest snapshot: rows carry only static_key; + * the renderer gateway joins blobs fetched through GetProcessAssets. */ - async getIcons(keys: string[]): Promise { - if (this.disposed || keys.length === 0) { - return { icons: {} }; + getWireSnapshot(): ProcessSnapshot { + return this.wireSnapshot; + } + + /** + * Resolves content-addressed assets the renderer does not hold: statics from + * the two retained snapshot generations, icon bytes passed through to the + * native session cache. A key that resolves nowhere is omitted; the renderer + * degrades that row honestly and the next pull retries. + */ + async getAssets(staticKeys: string[], iconKeys: string[]): Promise { + if (this.disposed) { + return { statics: {}, icons: {} }; } - try { - const response = await native.processCollector.GetIcons({ keys }); - return { icons: response.icons }; - } catch { - // Degrade to empty; the next pull retries the still-missing keys. - return { icons: {} }; + const statics: { [key: string]: ProcessStatics } = {}; + for (const key of staticKeys) { + const blob = this.currentStatics.get(key) ?? this.previousStatics.get(key); + if (blob !== undefined) { + statics[key] = blob; + } + } + + let icons: { [key: string]: string } = {}; + if (iconKeys.length > 0) { + try { + icons = (await native.processCollector.GetIcons({ keys: iconKeys })).icons; + } catch { + // Degrade to empty; the next pull retries the still-missing keys. + } } + + return { statics, icons }; } /** Stops the cadence and closes the revision stream. Idempotent and final. */ @@ -259,6 +361,8 @@ export class ProcessSnapshotService { this.disposed = true; this.loop.dispose(); this.cpuBaselines.clear(); + this.currentStatics.clear(); + this.previousStatics.clear(); this.revisionHandle.dispose(); } @@ -273,16 +377,28 @@ export class ProcessSnapshotService { if (this.disposed) { return; } - this.publishSnapshot(this.buildSnapshot(response.available, response.records)); + const built = this.buildSnapshot(response.available, response.records); + this.publishSnapshot(built.snapshot, built.statics); } catch { if (!this.disposed) { - this.publishSnapshot(this.buildUnavailableSnapshot()); + this.publishSnapshot(this.buildUnavailableSnapshot(), new Map()); } } } - private publishSnapshot(next: ProcessSnapshot): void { + /** + * Publishes a built snapshot: rotates the statics generations, caches the + * main-side (statics-joined) and wire (statics-stripped) forms, and + * broadcasts the revision ping. + */ + private publishSnapshot(next: ProcessSnapshot, statics: Map): void { + this.previousStatics = this.currentStatics; + this.currentStatics = statics; this.snapshot = next; + this.wireSnapshot = { + ...next, + processes: next.processes.map((row) => ({ ...row, statics: undefined })), + }; this.revisionHandle.StreamRevisions({ revision: next.revision, timestampMs: next.timestampMs, @@ -291,19 +407,21 @@ export class ProcessSnapshotService { } /** - * Builds a renderer snapshot from native records and updates the CPU - * baselines for the next collection. + * Builds a renderer snapshot from native records, collecting each row's + * statics blob into the content-keyed map served by {@link getAssets}, and + * updates the CPU baselines for the next collection. */ private buildSnapshot( available: boolean, records: NativeProcessRecord[], - ): ProcessSnapshot { + ): { snapshot: ProcessSnapshot; statics: Map } { if (!available) { - return this.buildUnavailableSnapshot(); + return { snapshot: this.buildUnavailableSnapshot(), statics: new Map() }; } const sampledAtMs = performance.now(); const nextBaselines = new Map(); + const statics = new Map(); let permissionDeniedCount = 0; let commandLinePartialCount = 0; @@ -319,21 +437,27 @@ export class ProcessSnapshotService { commandLinePartialCount += 1; } - return this.toProcessRow(record, cpu, commandLine); + const blob = toStatics(record, commandLine); + const blobKey = staticsKey(blob); + statics.set(blobKey, blob); + return toProcessRow(record, cpu, blobKey, blob); }); this.cpuBaselines = nextBaselines; this.revision += 1; return { - status: permissionDeniedCount > 0 - ? SnapshotStatus.SNAPSHOT_STATUS_PERMISSION_LIMITED - : SnapshotStatus.SNAPSHOT_STATUS_OK, - revision: this.revision, - timestampMs: Date.now(), - processes, - warnings: buildWarnings(permissionDeniedCount, commandLinePartialCount), - icons: {}, + snapshot: { + status: permissionDeniedCount > 0 + ? SnapshotStatus.SNAPSHOT_STATUS_PERMISSION_LIMITED + : SnapshotStatus.SNAPSHOT_STATUS_OK, + revision: this.revision, + timestampMs: Date.now(), + processes, + warnings: buildWarnings(permissionDeniedCount, commandLinePartialCount), + icons: {}, + }, + statics, }; } @@ -352,38 +476,6 @@ export class ProcessSnapshotService { }; } - private toProcessRow( - record: NativeProcessRecord, - cpu: CpuUsage, - commandLine: CommandLine, - ): ProcessRow { - const identity = record.identity; - return { - identity: { - pid: identity?.pid ?? 0, - startedAtStatus: toFieldStatus( - identity?.startedAtStatus ?? NativeFieldStatus.NATIVE_FIELD_STATUS_UNAVAILABLE, - ), - startedAtUnixMs: identity?.startedAtUnixMs ?? 0, - }, - parentStatus: toFieldStatus(record.parentStatus), - parentPid: record.parentPid, - commandName: toStringValue(record.commandName), - executableName: toStringValue(record.executableName), - executablePath: toStringValue(record.executablePath), - app: toAppMetadata(record.app), - commandLine, - memory: { - physicalFootprintBytes: toUInt64Value(record.memory?.physicalFootprintBytes), - residentBytes: toUInt64Value(record.memory?.residentBytes), - } satisfies ProcessMemory, - cpu, - threadCount: toUInt64Value(record.threadCount), - cpuTime: toCpuTime(record.cpu), - user: toProcessUser(record.user), - }; - } - /** * Derives a CPU usage percent from the cumulative-counter delta and records * the new baseline. UNKNOWN on a first sample, a missing identity or counter, diff --git a/src/renderer/domain/process-detail.ts b/src/renderer/domain/process-detail.ts index c9a8f97..87a7fee 100644 --- a/src/renderer/domain/process-detail.ts +++ b/src/renderer/domain/process-detail.ts @@ -121,7 +121,7 @@ function detailString(value: { status: FieldStatus; value: string } | undefined) /** Reads the representative's command line as a joined string with availability. */ function detailCommandLine(row: ProcessRow): DetailField { - const commandLine = row.commandLine; + const commandLine = row.statics?.commandLine; if (commandLine && commandLine.status === FieldStatus.FIELD_STATUS_OK) { return { state: "ok", text: commandLine.arguments.join(" ") }; } @@ -174,7 +174,7 @@ function rowCpuTime(row: ProcessRow): MetricCell { /** The owning user as a display stat: login name, else `uid N`. */ function detailUser(row: ProcessRow): DetailField { - const user = row.user; + const user = row.statics?.user; if (user && user.status === FieldStatus.FIELD_STATUS_OK) { return { state: "ok", text: user.name.length > 0 ? user.name : `uid ${user.uid}` }; } @@ -202,11 +202,12 @@ function buildMember(row: ProcessRow, sort: SortMode, icons: IconTable): DetailM */ export function buildProcessDetail(group: ProcessGroup, sort: SortMode, icons: IconTable): ProcessDetail { const representative = group.members[0]; + const statics = representative.statics; const startedAtUnixMs = rowStartedAt(representative); const read = sort === "cpu" ? rowCpu : rowMemory; const parentAvailable = - representative.parentStatus === FieldStatus.FIELD_STATUS_OK && representative.parentPid > 0; + statics?.parentStatus === FieldStatus.FIELD_STATUS_OK && statics.parentPid > 0; // Members ranked by the active metric like the main list, with a PID // tie-break so equal-value rows (e.g. idle 0.00% members) stay stable across @@ -228,14 +229,14 @@ export function buildProcessDetail(group: ProcessGroup, sort: SortMode, icons: I name: group.name, pid: group.pid, iconPngBase64: group.iconPngBase64, - bundleIdentifier: okString(representative.app?.bundleIdentifier), - executableName: okString(representative.executableName), - parentPid: parentAvailable ? representative.parentPid : undefined, + bundleIdentifier: okString(statics?.app?.bundleIdentifier), + executableName: okString(statics?.executableName), + parentPid: parentAvailable ? statics?.parentPid : undefined, startedAt: startedAtUnixMs !== undefined ? "ok" : missingState(representative.identity?.startedAtStatus), startedAtUnixMs, - path: detailString(representative.executablePath), + path: detailString(statics?.executablePath), commandLine: detailCommandLine(representative), threadCount: sumGroup(group.members, rowThreadCount, (value) => Math.round(value).toString()), cpuTime: sumGroup(group.members, rowCpuTime, formatCpuTime), diff --git a/src/renderer/domain/process-list.ts b/src/renderer/domain/process-list.ts index 3d7f246..2071e37 100644 --- a/src/renderer/domain/process-list.ts +++ b/src/renderer/domain/process-list.ts @@ -97,7 +97,7 @@ export function okString(value: { status: FieldStatus; value: string } | undefin * or the key is not in the table. */ export function rowIcon(row: ProcessRow, icons: IconTable): string | undefined { - const key = row.app?.iconKey; + const key = row.statics?.app?.iconKey; if (key === undefined || key.length === 0) { return undefined; } @@ -111,9 +111,9 @@ export function rowIcon(row: ProcessRow, icons: IconTable): string | undefined { */ export function rowDisplayName(row: ProcessRow): string { return ( - okString(row.app?.localizedName) ?? - okString(row.executableName) ?? - okString(row.commandName) ?? + okString(row.statics?.app?.localizedName) ?? + okString(row.statics?.executableName) ?? + okString(row.statics?.commandName) ?? `PID ${row.identity?.pid ?? 0}` ); } @@ -220,11 +220,11 @@ function isSystemPath(path: string): boolean { * a singleton. */ function rowGroupKey(row: ProcessRow): string { - const bundlePath = okString(row.app?.bundle?.path); + const bundlePath = okString(row.statics?.app?.bundle?.path); if (bundlePath) { return `app:${bundlePath}`; } - const path = okString(row.executablePath); + const path = okString(row.statics?.executablePath); if (path !== undefined && isSystemPath(path)) { return SYSTEM_GROUP_KEY; } @@ -239,14 +239,15 @@ function rowGroupKey(row: ProcessRow): string { */ function rowHaystack(row: ProcessRow): string { const parts: string[] = [rowDisplayName(row), String(rowPid(row))]; - const path = okString(row.executablePath); + const path = okString(row.statics?.executablePath); if (path) parts.push(path); - const bundle = okString(row.app?.bundleIdentifier); + const bundle = okString(row.statics?.app?.bundleIdentifier); if (bundle) parts.push(bundle); - const command = okString(row.commandName); + const command = okString(row.statics?.commandName); if (command) parts.push(command); - if (row.commandLine && row.commandLine.status === FieldStatus.FIELD_STATUS_OK) { - parts.push(row.commandLine.arguments.join(" ")); + const commandLine = row.statics?.commandLine; + if (commandLine && commandLine.status === FieldStatus.FIELD_STATUS_OK) { + parts.push(commandLine.arguments.join(" ")); } return parts.join(" ").toLowerCase(); } @@ -258,14 +259,15 @@ function rowHaystack(row: ProcessRow): string { */ function groupHaystack(group: ProcessGroup): string { const representative = group.members[0]; + const app = representative.statics?.app; const parts: string[] = [group.name, String(group.pid)]; - const bundle = okString(representative.app?.bundleIdentifier); + const bundle = okString(app?.bundleIdentifier); if (bundle) parts.push(bundle); - const localizedName = okString(representative.app?.localizedName); + const localizedName = okString(app?.localizedName); if (localizedName) parts.push(localizedName); - const bundleName = okString(representative.app?.bundle?.name); + const bundleName = okString(app?.bundle?.name); if (bundleName) parts.push(bundleName); - const bundlePath = okString(representative.app?.bundle?.path); + const bundlePath = okString(app?.bundle?.path); if (bundlePath) parts.push(bundlePath); return parts.join(" ").toLowerCase(); } @@ -336,7 +338,7 @@ function buildGroupRow(group: GroupAccumulator, sort: SortMode, icons: IconTable // A multi-process group shows the owning `.app` name; a single process shows // its own display name. The System group shows its fixed label and the gear // glyph (no member's executable icon should brand the whole bucket). - const appName = group.members.length > 1 ? okString(representative.app?.bundle?.name) : undefined; + const appName = group.members.length > 1 ? okString(representative.statics?.app?.bundle?.name) : undefined; return { key: group.key, name: isSystem ? "System" : appName ?? rowDisplayName(representative), diff --git a/src/renderer/gateway/process-explorer-gateway.ts b/src/renderer/gateway/process-explorer-gateway.ts index 5c890c5..6facaea 100644 --- a/src/renderer/gateway/process-explorer-gateway.ts +++ b/src/renderer/gateway/process-explorer-gateway.ts @@ -1,10 +1,12 @@ import { ipc } from "@/gen/ipc"; import { GetProcessActionStatesResponse, + GetProcessAssetsResponse, ProcessIdentity, ProcessActionKind, ProcessSnapshot, ProcessSnapshotRevision, + ProcessStatics, RunProcessActionResponse, SnapshotStatus, } from "@/gen/process_explorer"; @@ -25,49 +27,87 @@ function emptySnapshot(): ProcessSnapshot { } /** - * The content-addressed icon store: the icon table of the last snapshot this - * renderer assembled. A held key is never re-fetched (keys are content hashes, - * so a held value can never be stale). Module state on purpose: it survives - * view re-mounts but resets with the renderer, so a reload naturally re-fetches. - * Volatile display-only data: never logged or persisted. + * The renderer's content-addressed asset stores: the statics blobs and icon + * bytes referenced by the last snapshot this gateway assembled. A held key is + * never re-fetched (keys are content hashes, so a held value can never be + * stale); each assembly rebuilds the stores to exactly the keys the new rows + * reference, so exited processes' data is dropped. Module state on purpose: it + * survives view re-mounts but resets with the renderer, so a reload naturally + * re-fetches. Statics hold sensitive argv; never logged or persisted. */ +let heldStatics: { [key: string]: ProcessStatics } = {}; let heldIcons: { [key: string]: string } = {}; -/** - * Assembles the icon table for `snapshot` (which arrives with an empty one): - * held keys come from {@link heldIcons}, unseen keys are fetched once. The - * rebuilt table carries exactly the keys the new rows reference. A failed - * fetch degrades to the held icons; affected rows render the generic glyph - * and the next pull retries. - */ -async function assembleIcons(snapshot: ProcessSnapshot): Promise<{ [key: string]: string }> { - const known = heldIcons; - const referenced = new Set(); - for (const row of snapshot.processes) { - const key = row.app?.iconKey; - if (key !== undefined && key.length > 0) { - referenced.add(key); - } +/** Fetches assets for the given keys, degrading to empty maps on failure (the next pull retries). */ +async function fetchAssets(staticKeys: string[], iconKeys: string[]): Promise { + if (staticKeys.length === 0 && iconKeys.length === 0) { + return { statics: {}, icons: {} }; } + try { + return await ipc.processExplorer.GetProcessAssets({ staticKeys, iconKeys }); + } catch { + // No diagnostic is logged - asset content is sensitive. + return { statics: {}, icons: {} }; + } +} - const missing = [...referenced].filter((key) => known[key] === undefined); - let fetched: { [key: string]: string } = {}; - if (missing.length > 0) { - try { - fetched = (await ipc.processExplorer.GetProcessIcons({ keys: missing })).icons; - } catch { - // Degrade to the locally held icons; no diagnostic is logged. +/** The distinct non-empty keys produced by `read` across `items`. */ +function referencedKeys(items: T[], read: (item: T) => string | undefined): string[] { + const keys = new Set(); + for (const item of items) { + const key = read(item); + if (key !== undefined && key.length > 0) { + keys.add(key); } } + return [...keys]; +} - const icons: { [key: string]: string } = {}; - for (const key of referenced) { - const bytes = known[key] ?? fetched[key]; - if (bytes !== undefined) { - icons[key] = bytes; +/** Rebuilds a content store to exactly `keys`, reusing held values and filling gaps from `fetched`. */ +function rebuildStore( + keys: string[], + held: { [key: string]: T }, + fetched: { [key: string]: T }, +): { [key: string]: T } { + const store: { [key: string]: T } = {}; + for (const key of keys) { + const value = held[key] ?? fetched[key]; + if (value !== undefined) { + store[key] = value; } } - return icons; + return store; +} + +/** + * Assembles a wire snapshot into the self-contained form presentation code + * consumes: statics blobs for keys not yet held are fetched and joined onto + * their rows, then icon bytes for keys those statics reference are fetched and + * built into the snapshot's icon table. An unresolved key degrades that row + * (absent statics render as unavailable fields, a missing icon as the fallback + * glyph) and is retried on the next pull. + */ +async function assembleSnapshot(wire: ProcessSnapshot): Promise { + const staticKeys = referencedKeys(wire.processes, (row) => row.staticKey); + const missingStatics = staticKeys.filter((key) => heldStatics[key] === undefined); + const statics = rebuildStore( + staticKeys, + heldStatics, + (await fetchAssets(missingStatics, [])).statics, + ); + const processes = wire.processes.map((row) => ({ ...row, statics: statics[row.staticKey] })); + + const iconKeys = referencedKeys(processes, (row) => row.statics?.app?.iconKey); + const missingIcons = iconKeys.filter((key) => heldIcons[key] === undefined); + const icons = rebuildStore( + iconKeys, + heldIcons, + (await fetchAssets([], missingIcons)).icons, + ); + + heldStatics = statics; + heldIcons = icons; + return { ...wire, processes, icons }; } /** @@ -82,14 +122,13 @@ export const processExplorerGateway = { emptySnapshot, /** - * Pulls the latest cached snapshot from main and assembles its icon table - * (held keys reused, unknown keys fetched once). + * Pulls the latest cached snapshot from main and assembles it locally: + * statics joined onto rows and the icon table built, with held content + * reused and unknown keys fetched once. Callers always receive + * self-contained rows regardless of what went over the wire. */ async getSnapshot(): Promise { - const response = await ipc.processExplorer.GetProcessSnapshot({}); - const snapshot = { ...response, icons: await assembleIcons(response) }; - heldIcons = snapshot.icons; - return snapshot; + return assembleSnapshot(await ipc.processExplorer.GetProcessSnapshot({})); }, /** Subscribes to revision pings; the cadence is owned by main. */ diff --git a/src/renderer/proto/process_explorer.proto b/src/renderer/proto/process_explorer.proto index 4956249..0e4d140 100644 --- a/src/renderer/proto/process_explorer.proto +++ b/src/renderer/proto/process_explorer.proto @@ -12,14 +12,15 @@ import "google/protobuf/empty.proto"; // be logged, persisted, exported, included in telemetry, or sent over a // network - and they must not be echoed back in action results. // -// Delivery shape: full snapshots (hundreds of rows with argv) are too large to -// push every tick, so main owns the collection cadence/cache and the renderer +// Delivery shape: main owns the collection cadence/cache and the renderer // pulls a cached snapshot with GetProcessSnapshot while subscribing to a // lightweight StreamRevisions broadcast (revision id + timestamp only) to learn -// when a newer snapshot exists. Icon bytes never ride snapshots: rows carry a -// content-hash icon_key and the gateway fetches unknown keys once through -// GetProcessIcons. Actions stay unary because each has an explicit user target -// validated in main. +// when a newer snapshot exists. Immutable data never rides snapshots: rows +// carry content-hash keys (static_key for the per-process ProcessStatics blob, +// icon_key inside it for icon bytes) and the gateway fetches unknown content +// once through GetProcessAssets, so each tick ships only the dynamic readings. +// Actions stay unary because each has an explicit user target validated in +// main. // Availability of a single value or group inside a process snapshot. UNKNOWN is // the proto3 default and means "not yet determined"; the other states are @@ -131,7 +132,7 @@ message AppMetadata { // Owning `.app` bundle for grouping; absent for non-bundled processes. AppBundle bundle = 3; // Content-hash key of this process's icon, or empty when none. The gateway - // fetches unknown keys through GetProcessIcons and assembles + // fetches unknown keys through GetProcessAssets and assembles // ProcessSnapshot.icons locally. Volatile display-only data. string icon_key = 4; } @@ -158,34 +159,52 @@ message ProcessIdentity { int64 started_at_unix_ms = 3; } -// One process row in a snapshot. Most fields carry their own availability so a -// single unreadable field degrades that field, not the whole row or snapshot. -message ProcessRow { - // PID + start-time identity used for selection and action targeting. - ProcessIdentity identity = 1; +// The fields of one process that are fixed for the life of its process image: +// parent, names, paths, app metadata, command line, and owner. Shipped once per +// distinct content under a content-hash key (ProcessRow.static_key) and joined +// back onto rows by the renderer gateway. Any change (e.g. an exec) produces +// new bytes and therefore a new key, so a held blob can never be stale. +// Contains the sensitive command line; see the file comment. Fields carry their +// own availability so a single unreadable field degrades that field only. +message ProcessStatics { // Parent PID for shallow hierarchy context; status NOT readable -> UNAVAILABLE. - FieldStatus parent_status = 2; - int32 parent_pid = 3; + FieldStatus parent_status = 1; + int32 parent_pid = 2; // Short process command name from macOS. - StringValue command_name = 4; + StringValue command_name = 3; // Executable file name (basename of the path or command name). - StringValue executable_name = 5; + StringValue executable_name = 4; // Absolute executable path when macOS permits access; also drives reveal. - StringValue executable_path = 6; + StringValue executable_path = 5; // Optional GUI app metadata (bundle id, localized name, icon). - AppMetadata app = 7; + AppMetadata app = 6; // Sensitive command-line arguments for display/search/manual copy only. - CommandLine command_line = 8; + CommandLine command_line = 7; + // The user the process runs as (uid + resolved name). + ProcessUser user = 8; +} + +// One process row in a snapshot: the per-tick dynamic readings plus the +// content-hash key of the row's immutable {@link ProcessStatics}. +message ProcessRow { + // PID + start-time identity used for selection and action targeting. + ProcessIdentity identity = 1; + // Content-hash key of this row's ProcessStatics, resolved through + // GetProcessAssets into `statics` below. + string static_key = 2; // Per-process memory (physical footprint, resident fallback). - ProcessMemory memory = 9; + ProcessMemory memory = 3; // Per-process CPU usage percent, computed in main from CPU-time deltas. - CpuUsage cpu = 10; + CpuUsage cpu = 4; // Number of threads in the process. - UInt64Value thread_count = 11; + UInt64Value thread_count = 5; // Total CPU time consumed since launch (cumulative; see CpuTime). - CpuTime cpu_time = 12; - // The user the process runs as (uid + resolved name). - ProcessUser user = 13; + CpuTime cpu_time = 6; + // The joined statics for this row. Main always sends this UNSET over the + // wire (each distinct blob ships once through GetProcessAssets); the renderer + // gateway joins its content-addressed store back in before presentation code + // sees the row - the same local-assembly contract as ProcessSnapshot.icons. + ProcessStatics statics = 7; } // A safe, non-sensitive warning about a snapshot. Counts only - it must never @@ -222,26 +241,31 @@ message ProcessSnapshot { // Safe, count-only warnings (no sensitive text). repeated SnapshotWarning warnings = 5; // Base64 PNG app icons for this snapshot, keyed by content hash; a row - // resolves its icon by looking AppMetadata.icon_key up here. Main always sends - // this EMPTY over the wire: the renderer gateway assembles it locally from its - // content-addressed icon store, fetching unknown keys through GetProcessIcons, - // before presentation code sees the snapshot. Volatile display-only data: - // never logged or persisted. + // resolves its icon by looking its statics' AppMetadata.icon_key up here. + // Main always sends this EMPTY over the wire: the renderer gateway assembles + // it locally from its content-addressed icon store, fetching unknown keys + // through GetProcessAssets, before presentation code sees the snapshot. + // Volatile display-only data: never logged or persisted. map icons = 6; } -// Request for icon bytes by content key (AppMetadata.icon_key values the -// renderer does not hold yet). -message GetProcessIconsRequest { - repeated string keys = 1; +// Request for content-addressed assets the renderer does not hold yet: statics +// blobs by ProcessRow.static_key and icon bytes by AppMetadata.icon_key. The +// gateway fetches the statics a snapshot pull revealed first, then any icon +// keys those statics reference; both kinds can ride one request. +message GetProcessAssetsRequest { + repeated string static_keys = 1; + repeated string icon_keys = 2; } -// Resolved icons by content key: base64-encoded PNG bytes. A requested key with -// no entry is omitted (the icon could not be resolved or its app exited); the -// row renders a fallback glyph and the next snapshot drops the key. Volatile -// display-only data: never logged or persisted. -message GetProcessIconsResponse { - map icons = 1; +// Resolved assets by content key; icons are base64-encoded PNG bytes. A +// requested key with no entry is omitted (its process exited between ticks, or +// the icon could not be resolved); the affected row degrades honestly for one +// tick and the next pull retries. Content-addressed, so a returned value can +// never be stale. Sensitive/volatile display data: never logged or persisted. +message GetProcessAssetsResponse { + map statics = 1; + map icons = 2; } // A lightweight notification that a new snapshot revision exists. Deliberately @@ -362,10 +386,11 @@ service ProcessExplorerService { // the renderer can pull only on change instead of polling. rpc StreamRevisions(StreamRevisionsRequest) returns (stream ProcessSnapshotRevision); - // Returns icon bytes for content keys the renderer does not hold. Stateless - // pass-through to the native collector's session icon cache; content-addressed, - // so a returned value can never be stale. - rpc GetProcessIcons(GetProcessIconsRequest) returns (GetProcessIconsResponse); + // Returns content-addressed assets for keys the renderer does not hold. + // Statics are served from the latest two snapshot generations in main (two, + // so a fetch racing the next tick still resolves); icons pass through to the + // native collector's session icon cache. + rpc GetProcessAssets(GetProcessAssetsRequest) returns (GetProcessAssetsResponse); // Returns per-action availability for one target, validated against the // latest snapshot. diff --git a/tests/helpers/process-fixtures.ts b/tests/helpers/process-fixtures.ts index f331ada..63d182d 100644 --- a/tests/helpers/process-fixtures.ts +++ b/tests/helpers/process-fixtures.ts @@ -8,6 +8,7 @@ import { type ProcessMemory, type ProcessRow, type ProcessSnapshot, + type ProcessStatics, type ProcessUser, SnapshotStatus, type StringValue, @@ -70,6 +71,8 @@ export interface RowOptions { uid?: number; /** Owning user login name (empty string keeps the numeric uid). */ userName?: string; + /** Content key of the statics blob; defaults to a per-PID fake key. */ + staticKey?: string; } /** An OK string wrapper. */ @@ -171,15 +174,9 @@ function makeIdentity(options: RowOptions): ProcessIdentity { }; } -/** - * Builds one {@link ProcessRow} with correct defaults: identity present, every - * optional field absent unless the options set it. A field with an explicit - * status override (e.g. `cpuStatus`) is built with that status so pending / - * permission-denied paths are testable. - */ -export function makeRow(options: RowOptions = {}): ProcessRow { +/** Builds the statics blob a row references by content key. */ +function makeStatics(options: RowOptions): ProcessStatics { return { - identity: makeIdentity(options), parentStatus: options.parentStatus ?? (options.parentPid !== undefined ? FieldStatus.FIELD_STATUS_OK : FieldStatus.FIELD_STATUS_UNAVAILABLE), @@ -189,14 +186,34 @@ export function makeRow(options: RowOptions = {}): ProcessRow { executablePath: options.executablePath !== undefined ? okStr(options.executablePath) : undefined, app: makeApp(options), commandLine: makeCommandLine(options), + user: makeUser(options), + }; +} + +/** + * Builds one {@link ProcessRow} with correct defaults: identity present, every + * optional field absent unless the options set it, and the statics blob joined + * (the assembled form presentation code and the action service consume). A + * field with an explicit status override (e.g. `cpuStatus`) is built with that + * status so pending / permission-denied paths are testable. + */ +export function makeRow(options: RowOptions = {}): ProcessRow { + return { + identity: makeIdentity(options), + staticKey: options.staticKey ?? `statics-${options.pid ?? 0}`, memory: makeMemory(options), cpu: makeCpu(options), threadCount: options.threadCount !== undefined ? okU64(options.threadCount) : undefined, cpuTime: makeCpuTime(options), - user: makeUser(options), + statics: makeStatics(options), }; } +/** The wire form of a fixture row: the statics blob stripped, only its key kept. */ +export function wireRow(row: ProcessRow): ProcessRow { + return { ...row, statics: undefined }; +} + /** * Wraps rows in an OK {@link ProcessSnapshot} for projection/lookup tests, * rebuilding the icon table from the rows' keys so {@link rowIcon} resolves. Each @@ -206,7 +223,7 @@ export function makeRow(options: RowOptions = {}): ProcessRow { export function makeSnapshot(rows: ProcessRow[], revision = 1): ProcessSnapshot { const icons: { [key: string]: string } = {}; for (const row of rows) { - const key = row.app?.iconKey; + const key = row.statics?.app?.iconKey; if (key !== undefined && key.length > 0) { icons[key] = key; } diff --git a/tests/unit/process-explorer-gateway.test.ts b/tests/unit/process-explorer-gateway.test.ts index ec0ec26..e7301cf 100644 --- a/tests/unit/process-explorer-gateway.test.ts +++ b/tests/unit/process-explorer-gateway.test.ts @@ -2,14 +2,14 @@ import { beforeEach, describe, expect, it, vi } from "vitest"; const h = vi.hoisted(() => ({ getSnapshot: vi.fn(), - getIcons: vi.fn(), + getAssets: vi.fn(), })); vi.mock("@/gen/ipc", () => ({ ipc: { processExplorer: { GetProcessSnapshot: h.getSnapshot, - GetProcessIcons: h.getIcons, + GetProcessAssets: h.getAssets, StreamRevisions: vi.fn(), GetProcessActionStates: vi.fn(), RunProcessAction: vi.fn(), @@ -17,20 +17,32 @@ vi.mock("@/gen/ipc", () => ({ }, })); -import { type ProcessRow, type ProcessSnapshot } from "@/gen/process_explorer"; -import { makeRow, makeSnapshot } from "../helpers/process-fixtures"; +import { type ProcessRow, type ProcessSnapshot, type ProcessStatics } from "@/gen/process_explorer"; +import { makeRow, makeSnapshot, wireRow } from "../helpers/process-fixtures"; /** - * Wire form of a full snapshot as main sends it: the icon table is always empty - * on the wire (the gateway assembles it locally from content keys). + * Wire form of a snapshot as main sends it: rows carry only their static_key + * (blobs stripped) and the icon table is empty; the gateway assembles both + * locally from content keys. */ function wireSnapshot(rows: ProcessRow[], revision: number): ProcessSnapshot { - return { ...makeSnapshot(rows, revision), icons: {} }; + return { ...makeSnapshot(rows, revision), processes: rows.map(wireRow), icons: {} }; +} + +/** The statics map an asset fetch would return for the given joined rows. */ +function staticsOf(rows: ProcessRow[]): { [key: string]: ProcessStatics } { + const statics: { [key: string]: ProcessStatics } = {}; + for (const row of rows) { + if (row.statics !== undefined) { + statics[row.staticKey] = row.statics; + } + } + return statics; } /** - * Imports a fresh gateway module instance so the module-level icon store starts - * empty for every test, mirroring a renderer reload. + * Imports a fresh gateway module instance so the module-level content stores + * (statics and icons) start empty for every test, mirroring a renderer reload. */ async function freshGateway() { const module = await import("@/gateway/process-explorer-gateway"); @@ -40,105 +52,135 @@ async function freshGateway() { beforeEach(() => { vi.resetModules(); h.getSnapshot.mockReset(); - h.getIcons.mockReset(); + h.getAssets.mockReset(); }); -describe("processExplorerGateway icon assembly", () => { - it("fetches referenced icon keys once on first pull and assembles the table", async () => { +describe("processExplorerGateway asset assembly", () => { + it("fetches statics then icons on the first pull and joins them onto rows", async () => { const gateway = await freshGateway(); - h.getSnapshot.mockResolvedValueOnce(wireSnapshot([ - makeRow({ pid: 10, startedAtUnixMs: 1_000, iconPngBase64: "ICON-A" }), + const rows = [ + makeRow({ pid: 10, startedAtUnixMs: 1_000, iconPngBase64: "ICON-A", commandLine: ["fake-app"] }), makeRow({ pid: 11, startedAtUnixMs: 1_000, iconPngBase64: "ICON-A" }), makeRow({ pid: 12, startedAtUnixMs: 1_000 }), - ], 1)); - h.getIcons.mockResolvedValueOnce({ icons: { "ICON-A": "BYTES-A" } }); + ]; + h.getSnapshot.mockResolvedValueOnce(wireSnapshot(rows, 1)); + h.getAssets.mockResolvedValueOnce({ statics: staticsOf(rows), icons: {} }); + h.getAssets.mockResolvedValueOnce({ statics: {}, icons: { "ICON-A": "BYTES-A" } }); const snapshot = await gateway.getSnapshot(); expect(h.getSnapshot).toHaveBeenCalledWith({}); - // One fetch for the one distinct referenced key; the keyless row adds none. - expect(h.getIcons).toHaveBeenCalledTimes(1); - expect(h.getIcons).toHaveBeenCalledWith({ keys: ["ICON-A"] }); + expect(h.getAssets).toHaveBeenNthCalledWith(1, { + staticKeys: rows.map((row) => row.staticKey), + iconKeys: [], + }); + // One icon fetch for the one distinct referenced key; the keyless row adds none. + expect(h.getAssets).toHaveBeenNthCalledWith(2, { staticKeys: [], iconKeys: ["ICON-A"] }); + expect(snapshot.processes[0].statics?.commandLine?.arguments).toEqual(["fake-app"]); expect(snapshot.icons).toEqual({ "ICON-A": "BYTES-A" }); }); - it("reuses held keys without refetching on the next pull", async () => { + it("reuses held statics and icons without any fetch on the next pull", async () => { const gateway = await freshGateway(); - h.getSnapshot.mockResolvedValueOnce(wireSnapshot([ - makeRow({ pid: 20, startedAtUnixMs: 1_000, iconPngBase64: "ICON-B" }), - ], 1)); - h.getIcons.mockResolvedValueOnce({ icons: { "ICON-B": "BYTES-B" } }); + const rows = [makeRow({ pid: 20, startedAtUnixMs: 1_000, iconPngBase64: "ICON-B" })]; + h.getSnapshot.mockResolvedValueOnce(wireSnapshot(rows, 1)); + h.getAssets.mockResolvedValueOnce({ statics: staticsOf(rows), icons: {} }); + h.getAssets.mockResolvedValueOnce({ statics: {}, icons: { "ICON-B": "BYTES-B" } }); await gateway.getSnapshot(); - h.getSnapshot.mockResolvedValueOnce(wireSnapshot([ - makeRow({ pid: 20, startedAtUnixMs: 1_000, iconPngBase64: "ICON-B" }), - ], 2)); + h.getSnapshot.mockResolvedValueOnce(wireSnapshot(rows, 2)); const snapshot = await gateway.getSnapshot(); - // The key is already held; no second icon fetch. - expect(h.getIcons).toHaveBeenCalledTimes(1); + // Everything is held; no further asset round-trips. + expect(h.getAssets).toHaveBeenCalledTimes(2); + expect(snapshot.processes[0].statics).toBeDefined(); expect(snapshot.icons).toEqual({ "ICON-B": "BYTES-B" }); }); - it("degrades a failed icon fetch to fallback and retries the keys on the next pull", async () => { + it("fetches only the new statics when a new process shares a held icon", async () => { + const gateway = await freshGateway(); + const existing = makeRow({ pid: 30, startedAtUnixMs: 1_000, iconPngBase64: "ICON-C" }); + h.getSnapshot.mockResolvedValueOnce(wireSnapshot([existing], 1)); + h.getAssets.mockResolvedValueOnce({ statics: staticsOf([existing]), icons: {} }); + h.getAssets.mockResolvedValueOnce({ statics: {}, icons: { "ICON-C": "BYTES-C" } }); + await gateway.getSnapshot(); + + // A second instance of the same app appears: new statics, same icon. + const arrived = makeRow({ pid: 31, startedAtUnixMs: 2_000, iconPngBase64: "ICON-C" }); + h.getSnapshot.mockResolvedValueOnce(wireSnapshot([existing, arrived], 2)); + h.getAssets.mockResolvedValueOnce({ statics: staticsOf([arrived]), icons: {} }); + + const snapshot = await gateway.getSnapshot(); + + expect(h.getAssets).toHaveBeenCalledTimes(3); + expect(h.getAssets).toHaveBeenLastCalledWith({ staticKeys: [arrived.staticKey], iconKeys: [] }); + expect(snapshot.processes[1].statics).toBeDefined(); + expect(snapshot.icons).toEqual({ "ICON-C": "BYTES-C" }); + }); + + it("degrades a failed asset fetch to bare rows and heals on the next pull", async () => { const gateway = await freshGateway(); - h.getSnapshot.mockResolvedValueOnce(wireSnapshot([ - makeRow({ pid: 30, startedAtUnixMs: 1_000, iconPngBase64: "ICON-C" }), - ], 1)); - h.getIcons.mockRejectedValueOnce(new Error("ipc fixture failed")); + const rows = [makeRow({ pid: 40, startedAtUnixMs: 1_000, commandLine: ["fake-app"] })]; + h.getSnapshot.mockResolvedValueOnce(wireSnapshot(rows, 1)); + h.getAssets.mockRejectedValueOnce(new Error("ipc fixture failed")); const first = await gateway.getSnapshot(); - // The pull itself succeeds; the row just has no icon bytes this tick. + // The pull itself succeeds; the rows just have no statics this tick. + expect(first.processes[0].statics).toBeUndefined(); expect(first.icons).toEqual({}); - h.getSnapshot.mockResolvedValueOnce(wireSnapshot([ - makeRow({ pid: 30, startedAtUnixMs: 1_000, iconPngBase64: "ICON-C" }), - ], 2)); - h.getIcons.mockResolvedValueOnce({ icons: { "ICON-C": "BYTES-C" } }); + h.getSnapshot.mockResolvedValueOnce(wireSnapshot(rows, 2)); + h.getAssets.mockResolvedValueOnce({ statics: staticsOf(rows), icons: {} }); const second = await gateway.getSnapshot(); - // The key was still missing, so the next pull refetched and healed it. - expect(h.getIcons).toHaveBeenLastCalledWith({ keys: ["ICON-C"] }); - expect(second.icons).toEqual({ "ICON-C": "BYTES-C" }); + // The keys were still missing, so the next pull refetched and healed. + expect(second.processes[0].statics?.commandLine?.arguments).toEqual(["fake-app"]); }); - it("leaves a key main cannot resolve absent and retries it on the next pull", async () => { + it("retries an icon key main could not resolve on the next pull", async () => { const gateway = await freshGateway(); - h.getSnapshot.mockResolvedValueOnce(wireSnapshot([ - makeRow({ pid: 40, startedAtUnixMs: 1_000, iconPngBase64: "ICON-D" }), - ], 1)); - h.getIcons.mockResolvedValueOnce({ icons: {} }); + const rows = [makeRow({ pid: 50, startedAtUnixMs: 1_000, iconPngBase64: "ICON-D" })]; + h.getSnapshot.mockResolvedValueOnce(wireSnapshot(rows, 1)); + h.getAssets.mockResolvedValueOnce({ statics: staticsOf(rows), icons: {} }); + h.getAssets.mockResolvedValueOnce({ statics: {}, icons: {} }); const first = await gateway.getSnapshot(); expect(first.icons).toEqual({}); - h.getSnapshot.mockResolvedValueOnce(wireSnapshot([ - makeRow({ pid: 40, startedAtUnixMs: 1_000, iconPngBase64: "ICON-D" }), - ], 2)); - h.getIcons.mockResolvedValueOnce({ icons: { "ICON-D": "BYTES-D" } }); + h.getSnapshot.mockResolvedValueOnce(wireSnapshot(rows, 2)); + h.getAssets.mockResolvedValueOnce({ statics: {}, icons: { "ICON-D": "BYTES-D" } }); const second = await gateway.getSnapshot(); - expect(h.getIcons).toHaveBeenCalledTimes(2); + expect(h.getAssets).toHaveBeenLastCalledWith({ staticKeys: [], iconKeys: ["ICON-D"] }); expect(second.icons).toEqual({ "ICON-D": "BYTES-D" }); }); - it("drops icons no longer referenced by the new snapshot", async () => { + it("drops statics and icons no longer referenced by the new snapshot", async () => { const gateway = await freshGateway(); - h.getSnapshot.mockResolvedValueOnce(wireSnapshot([ - makeRow({ pid: 50, startedAtUnixMs: 1_000, iconPngBase64: "ICON-E" }), - makeRow({ pid: 51, startedAtUnixMs: 1_000, iconPngBase64: "ICON-F" }), - ], 1)); - h.getIcons.mockResolvedValueOnce({ icons: { "ICON-E": "BYTES-E", "ICON-F": "BYTES-F" } }); + const staying = makeRow({ pid: 60, startedAtUnixMs: 1_000, iconPngBase64: "ICON-E" }); + const exiting = makeRow({ pid: 61, startedAtUnixMs: 1_000, iconPngBase64: "ICON-F" }); + h.getSnapshot.mockResolvedValueOnce(wireSnapshot([staying, exiting], 1)); + h.getAssets.mockResolvedValueOnce({ statics: staticsOf([staying, exiting]), icons: {} }); + h.getAssets.mockResolvedValueOnce({ + statics: {}, + icons: { "ICON-E": "BYTES-E", "ICON-F": "BYTES-F" }, + }); await gateway.getSnapshot(); - // ICON-F's app exited; only ICON-E is still referenced. - h.getSnapshot.mockResolvedValueOnce(wireSnapshot([ - makeRow({ pid: 50, startedAtUnixMs: 1_000, iconPngBase64: "ICON-E" }), - ], 2)); - + // The second process exits; its content drops out of the stores. + h.getSnapshot.mockResolvedValueOnce(wireSnapshot([staying], 2)); const snapshot = await gateway.getSnapshot(); - expect(h.getIcons).toHaveBeenCalledTimes(1); + expect(h.getAssets).toHaveBeenCalledTimes(2); expect(snapshot.icons).toEqual({ "ICON-E": "BYTES-E" }); + + // It comes back: both its statics and icon must be refetched (proves the drop). + h.getSnapshot.mockResolvedValueOnce(wireSnapshot([staying, exiting], 3)); + h.getAssets.mockResolvedValueOnce({ statics: staticsOf([exiting]), icons: {} }); + h.getAssets.mockResolvedValueOnce({ statics: {}, icons: { "ICON-F": "BYTES-F" } }); + + await gateway.getSnapshot(); + expect(h.getAssets).toHaveBeenNthCalledWith(3, { staticKeys: [exiting.staticKey], iconKeys: [] }); + expect(h.getAssets).toHaveBeenNthCalledWith(4, { staticKeys: [], iconKeys: ["ICON-F"] }); }); }); diff --git a/tests/unit/process-snapshot-service.test.ts b/tests/unit/process-snapshot-service.test.ts index 7cbe552..fa9974c 100644 --- a/tests/unit/process-snapshot-service.test.ts +++ b/tests/unit/process-snapshot-service.test.ts @@ -291,14 +291,15 @@ describe("ProcessSnapshotService", () => { startedAtStatus: FieldStatus.FIELD_STATUS_OK, startedAtUnixMs: 10_000, }); - expect(row.parentStatus).toBe(FieldStatus.FIELD_STATUS_OK); - expect(row.parentPid).toBe(1); - expect(row.commandName?.value).toBe("fake-browser"); - expect(row.executablePath?.value).toBe("/Applications/FakeBrowser.app/Contents/MacOS/Fake Browser"); - expect(row.app?.bundleIdentifier?.value).toBe("com.example.FakeBrowser"); - expect(row.app?.localizedName?.value).toBe("Fake Browser"); - expect(row.app?.bundle?.path?.value).toBe("/Applications/FakeBrowser.app"); - expect(row.commandLine).toEqual({ + expect(row.staticKey).not.toBe(""); + expect(row.statics?.parentStatus).toBe(FieldStatus.FIELD_STATUS_OK); + expect(row.statics?.parentPid).toBe(1); + expect(row.statics?.commandName?.value).toBe("fake-browser"); + expect(row.statics?.executablePath?.value).toBe("/Applications/FakeBrowser.app/Contents/MacOS/Fake Browser"); + expect(row.statics?.app?.bundleIdentifier?.value).toBe("com.example.FakeBrowser"); + expect(row.statics?.app?.localizedName?.value).toBe("Fake Browser"); + expect(row.statics?.app?.bundle?.path?.value).toBe("/Applications/FakeBrowser.app"); + expect(row.statics?.commandLine).toEqual({ status: FieldStatus.FIELD_STATUS_OK, arguments: ["fake-browser", "--renderer-fixture"], }); @@ -318,7 +319,7 @@ describe("ProcessSnapshotService", () => { status: FieldStatus.FIELD_STATUS_OK, value: 12, }); - expect(row.user).toEqual({ + expect(row.statics?.user).toEqual({ status: FieldStatus.FIELD_STATUS_OK, uid: 502, name: "fixtureuser", @@ -457,11 +458,11 @@ describe("ProcessSnapshotService", () => { affectedCount: 1, }, ]); - expect(row.executablePath).toEqual({ + expect(row.statics?.executablePath).toEqual({ status: FieldStatus.FIELD_STATUS_PERMISSION_DENIED, value: "", }); - expect(row.commandLine).toEqual({ + expect(row.statics?.commandLine).toEqual({ status: FieldStatus.FIELD_STATUS_PERMISSION_DENIED, arguments: [], }); @@ -504,7 +505,7 @@ describe("ProcessSnapshotService field mapping", () => { const bare: NativeProcessRecord = { ...record({ pid: 200 }), app: undefined }; await collectByActivation(service, response([bare])); - const app = service.getSnapshot().processes[0].app; + const app = service.getSnapshot().processes[0].statics?.app; expect(app?.bundleIdentifier?.status).toBe(FieldStatus.FIELD_STATUS_UNKNOWN); expect(app?.localizedName?.status).toBe(FieldStatus.FIELD_STATUS_UNKNOWN); // No app -> empty icon key (the gateway then leaves the icon as a fallback). @@ -524,8 +525,8 @@ describe("ProcessSnapshotService field mapping", () => { const snapshot = service.getSnapshot(); expect(snapshot.icons).toEqual({}); - expect(snapshot.processes[0].app?.iconKey).toBe("SHARED-ICON"); - expect(snapshot.processes[1].app?.iconKey).toBe("SHARED-ICON"); + expect(snapshot.processes[0].statics?.app?.iconKey).toBe("SHARED-ICON"); + expect(snapshot.processes[1].statics?.app?.iconKey).toBe("SHARED-ICON"); }); it("drops the app bundle to undefined when its path is not AVAILABLE", async () => { @@ -547,7 +548,7 @@ describe("ProcessSnapshotService field mapping", () => { }; await collectByActivation(service, response([withUnreadableBundlePath])); - expect(service.getSnapshot().processes[0].app?.bundle).toBeUndefined(); + expect(service.getSnapshot().processes[0].statics?.app?.bundle).toBeUndefined(); }); it("clamps negative native byte/count values to zero", async () => { @@ -566,21 +567,79 @@ describe("ProcessSnapshotService field mapping", () => { }); }); -describe("ProcessSnapshotService icons", () => { +describe("ProcessSnapshotService assets", () => { + it("serves statics by content key from the latest two generations", async () => { + const service = makeService(); + + await collectByActivation(service, response([ + record({ pid: 501, startedAtUnixMs: 1_000, commandLine: ["fake-app", "--one"] }), + ])); + + // The wire row carries only the key; the blob is fetched on demand. An + // unknown key is omitted, not errored. + const wireRow = service.getWireSnapshot().processes[0]; + expect(wireRow.staticKey).not.toBe(""); + expect(wireRow.statics).toBeUndefined(); + const assets = await service.getAssets([wireRow.staticKey, "unknown-key"], []); + expect(assets.statics[wireRow.staticKey]?.commandLine?.arguments).toEqual(["fake-app", "--one"]); + expect(assets.statics["unknown-key"]).toBeUndefined(); + expect(h.icons).not.toHaveBeenCalled(); + + // After the process exits, its blob stays resolvable for exactly one more + // generation (an asset fetch racing the next tick), then drops out. + await collectByActivation(service, response([])); + expect((await service.getAssets([wireRow.staticKey], [])).statics[wireRow.staticKey]).toBeDefined(); + await collectByActivation(service, response([])); + expect((await service.getAssets([wireRow.staticKey], [])).statics[wireRow.staticKey]).toBeUndefined(); + }); + + it("dedupes identical statics under one key and keeps main's own rows joined", async () => { + const service = makeService(); + + // Twin processes (same image, same argv) share one statics blob. + await collectByActivation(service, response([ + record({ pid: 601, startedAtUnixMs: 1_000, commandLine: ["fake-twin"] }), + record({ pid: 602, startedAtUnixMs: 1_000, commandLine: ["fake-twin"] }), + ])); + + const [first, second] = service.getWireSnapshot().processes; + expect(first.staticKey).toBe(second.staticKey); + + // Main's internal snapshot keeps the blob joined for the action service. + expect(service.getSnapshot().processes[0].statics?.commandLine?.arguments).toEqual(["fake-twin"]); + }); + + it("gives changed statics a new key for the same identity (exec)", async () => { + const service = makeService(); + + await collectByActivation(service, response([ + record({ pid: 603, startedAtUnixMs: 1_000, commandLine: ["fake-wrapper"] }), + ])); + const before = service.getWireSnapshot().processes[0].staticKey; + + // Same (pid, started_at), new argv: the process exec'd into another image. + await collectByActivation(service, response([ + record({ pid: 603, startedAtUnixMs: 1_000, commandLine: ["fake-real-binary", "--exec"] }), + ])); + const after = service.getWireSnapshot().processes[0].staticKey; + + expect(after).not.toBe(before); + }); + it("passes icon-byte lookups through to the native cache", async () => { const service = makeService(); h.icons.mockResolvedValueOnce({ icons: { "ICON-A": "BYTES-A" } }); - const result = await service.getIcons(["ICON-A", "ICON-GONE"]); + const result = await service.getAssets([], ["ICON-A", "ICON-GONE"]); expect(h.icons).toHaveBeenCalledWith({ keys: ["ICON-A", "ICON-GONE"] }); - expect(result).toEqual({ icons: { "ICON-A": "BYTES-A" } }); + expect(result.icons).toEqual({ "ICON-A": "BYTES-A" }); }); - it("short-circuits an empty key list without a native call", async () => { + it("short-circuits empty key lists without a native call", async () => { const service = makeService(); - expect(await service.getIcons([])).toEqual({ icons: {} }); + expect(await service.getAssets([], [])).toEqual({ statics: {}, icons: {} }); expect(h.icons).not.toHaveBeenCalled(); }); @@ -588,6 +647,6 @@ describe("ProcessSnapshotService icons", () => { const service = makeService(); h.icons.mockRejectedValueOnce(new Error("native fixture failed")); - expect(await service.getIcons(["ICON-A"])).toEqual({ icons: {} }); + expect((await service.getAssets([], ["ICON-A"])).icons).toEqual({}); }); }); From c42d5aab4025b78e24770d1ea7cc55d2095e498a Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Fri, 12 Jun 2026 16:36:22 +0300 Subject: [PATCH 158/169] Add responsiveness tracking for GUI apps to indicate "Not Responding" state --- CMakeLists.txt | 12 ++- .../processes/process-snapshot-service.ts | 22 ++++++ src/native/processes/process_collector.cc | 6 ++ src/native/processes/responsiveness.cc | 76 +++++++++++++++++++ src/native/processes/responsiveness.h | 35 +++++++++ src/native/proto/process_collector.proto | 18 +++++ .../components/processes/process-detail.tsx | 18 ++++- .../components/processes/process-row.tsx | 23 +++++- src/renderer/domain/process-detail.ts | 7 ++ src/renderer/domain/process-list.ts | 25 ++++++ src/renderer/proto/process_explorer.proto | 19 ++++- tests/helpers/process-fixtures.ts | 17 +++++ tests/unit/process-list.test.ts | 26 +++++++ tests/unit/process-snapshot-service.test.ts | 45 +++++++++++ 14 files changed, 340 insertions(+), 9 deletions(-) create mode 100644 src/native/processes/responsiveness.cc create mode 100644 src/native/processes/responsiveness.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 9098f3c..94542c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,7 +25,9 @@ set(APP_SOURCES src/native/processes/process_collector.h src/native/processes/process_collector.cc src/native/processes/app_metadata.h - src/native/processes/app_metadata.mm) + src/native/processes/app_metadata.mm + src/native/processes/responsiveness.h + src/native/processes/responsiveness.cc) # The AppKit/NSWorkspace bridge uses Objective-C objects while rasterizing icons. # Scope ARC to this Objective-C++ file so native C++ sources stay unchanged. @@ -46,8 +48,12 @@ target_include_directories(mobrowser_lib PUBLIC # Framework links: IOKit + CoreFoundation for the CPU-temperature probe (AppleSMC # core keys plus the HID CPU-core sensors), and AppKit for the NSWorkspace # GUI-app icon/metadata enrichment in the process collector. The network probe -# uses only libSystem (POSIX). +# uses only libSystem (POSIX). ApplicationServices contributes no link-time +# symbols (the responsiveness probe resolves its private CGS/Process Manager +# entry points with dlsym), but linking it guarantees the HIServices image is +# loaded so GetProcessForPID resolves at runtime. target_link_libraries(mobrowser_lib PRIVATE "-framework IOKit" "-framework CoreFoundation" - "-framework AppKit") + "-framework AppKit" + "-framework ApplicationServices") diff --git a/src/main/processes/process-snapshot-service.ts b/src/main/processes/process-snapshot-service.ts index 9be1196..fe28fcc 100644 --- a/src/main/processes/process-snapshot-service.ts +++ b/src/main/processes/process-snapshot-service.ts @@ -11,6 +11,7 @@ import { NativeProcessCpu, NativeProcessRecord, NativeProcessUser, + NativeResponsiveness, NativeString, } from "../gen/native/process_collector"; import { @@ -27,6 +28,7 @@ import { ProcessSnapshotRevision, ProcessStatics, ProcessUser, + Responsiveness, SnapshotStatus, SnapshotWarning, SnapshotWarning_Code, @@ -155,6 +157,25 @@ function toProcessUser(user: NativeProcessUser | undefined): ProcessUser { }; } +/** + * Maps the window-server responsiveness of a GUI app. Absent in, absent out: + * only NSWorkspace apps carry the field, and a row without it renders no + * responsiveness state at all. The flag is only trusted when the native read + * succeeded. + */ +function toResponsiveness( + value: NativeResponsiveness | undefined, +): Responsiveness | undefined { + if (value === undefined) { + return undefined; + } + const status = toFieldStatus(value.status); + return { + status, + unresponsive: status === FieldStatus.FIELD_STATUS_OK ? value.unresponsive : false, + }; +} + /** * Maps the sensitive command-line group. Arguments are forwarded verbatim for * local display/search only and are never logged or persisted here. @@ -230,6 +251,7 @@ function toProcessRow( cpu, threadCount: toUInt64Value(record.threadCount), cpuTime: toCpuTime(record.cpu), + responsiveness: toResponsiveness(record.responsiveness), statics, }; } diff --git a/src/native/processes/process_collector.cc b/src/native/processes/process_collector.cc index 8cc251c..0819d48 100644 --- a/src/native/processes/process_collector.cc +++ b/src/native/processes/process_collector.cc @@ -24,6 +24,7 @@ #include #include "processes/app_metadata.h" +#include "processes/responsiveness.h" namespace mostats { namespace { @@ -681,6 +682,11 @@ void FillRecord( const auto match = app_metadata.find(static_cast(pid)); if (match != app_metadata.end()) { *record->mutable_app() = match->second; + // Window-server responsiveness exists only for these NSWorkspace apps and + // is the one per-app value that is dynamic (a hang flips tick to tick), so + // it is read fresh every pass - never from the metadata cache. + FillResponsiveness(static_cast(pid), + record->mutable_responsiveness()); } // Normalize the grouping bundle from the executable path when it lives inside a diff --git a/src/native/processes/responsiveness.cc b/src/native/processes/responsiveness.cc new file mode 100644 index 0000000..3d8d8dd --- /dev/null +++ b/src/native/processes/responsiveness.cc @@ -0,0 +1,76 @@ +#include "processes/responsiveness.h" + +#include +#include +#include + +namespace mostats { +namespace { + +// The window-server connection handle type used by the private CGS calls. +typedef int CGSConnectionID; + +// Private SkyLight/CGS and deprecated Process Manager entry points. There is +// no public macOS API for "is this app marked Not Responding", so these are +// resolved by name at runtime instead of being declared and linked: a future +// macOS that drops a symbol degrades this feature to UNSUPPORTED instead of +// failing the whole native module load. The images are guaranteed present by +// the AppKit and ApplicationServices framework links in CMakeLists. +using CGSMainConnectionIDFn = CGSConnectionID (*)(); +using CGSEventIsAppUnresponsiveFn = bool (*)(CGSConnectionID, + const ProcessSerialNumber*); +using GetProcessForPIDFn = OSStatus (*)(pid_t, ProcessSerialNumber*); + +// The resolved symbols plus this process's window-server connection, looked up +// once per session (thread-safe static init; only the serial collector calls +// in). `available` is true only when every symbol resolved. +struct CgsApi { + CGSEventIsAppUnresponsiveFn is_unresponsive = nullptr; + GetProcessForPIDFn psn_for_pid = nullptr; + CGSConnectionID connection = 0; + bool available = false; +}; + +const CgsApi& Api() { + static const CgsApi api = [] { + CgsApi out; + const auto main_connection = reinterpret_cast( + dlsym(RTLD_DEFAULT, "CGSMainConnectionID")); + out.is_unresponsive = reinterpret_cast( + dlsym(RTLD_DEFAULT, "CGSEventIsAppUnresponsive")); + out.psn_for_pid = reinterpret_cast( + dlsym(RTLD_DEFAULT, "GetProcessForPID")); + out.available = main_connection != nullptr && + out.is_unresponsive != nullptr && + out.psn_for_pid != nullptr; + if (out.available) { + out.connection = main_connection(); + } + return out; + }(); + return api; +} + +} // namespace + +void FillResponsiveness(int32_t pid, NativeResponsiveness* out) { + const CgsApi& api = Api(); + if (!api.available) { + out->set_status(NATIVE_FIELD_STATUS_UNSUPPORTED); + return; + } + + // A PSN lookup failure means the process has no Process Manager entry (it + // exited between the NSWorkspace snapshot and this read, or it is not really + // a window-server client); there is no responsiveness to report. + ProcessSerialNumber psn = {0, 0}; + if (api.psn_for_pid(static_cast(pid), &psn) != 0) { + out->set_status(NATIVE_FIELD_STATUS_UNAVAILABLE); + return; + } + + out->set_status(NATIVE_FIELD_STATUS_AVAILABLE); + out->set_unresponsive(api.is_unresponsive(api.connection, &psn)); +} + +} // namespace mostats diff --git a/src/native/processes/responsiveness.h b/src/native/processes/responsiveness.h new file mode 100644 index 0000000..63a4436 --- /dev/null +++ b/src/native/processes/responsiveness.h @@ -0,0 +1,35 @@ +#ifndef MOSTATS_PROCESSES_RESPONSIVENESS_H_ +#define MOSTATS_PROCESSES_RESPONSIVENESS_H_ + +#include + +#include "gen/process_collector.pb.h" + +namespace mostats { + +/** + * Fills the window-server responsiveness for one GUI app: whether macOS + * currently marks it "Not Responding" (the exact state behind the beachball, + * the system Force Quit dialog, and Activity Monitor's red label). The window + * server flags an app once an event has sat unserviced in its event queue past + * the system threshold - so a stalled app the user is interacting with is + * flagged, while an idle stopped app with an empty queue is not, matching what + * the system itself reports. + * + * Call only for PIDs in the NSWorkspace running-apps set: responsiveness is a + * window-server concept, and daemons/helpers without a Process Manager entry + * report UNAVAILABLE. macOS exposes no public API for this signal, so it is + * read through private CGS symbols resolved once at runtime; on a macOS that + * no longer exposes them every record reports UNSUPPORTED and the UI simply + * shows no state (verified working on macOS 26 / Darwin 25). + * + * Cost (measured, ~57 GUI apps): ~2.5 ms per warm pass, flat whether apps are + * responsive or hung - the call reads state the window server already tracks; + * it never pings the app. Threading: serial collector contract, same as the + * other process sources. + */ +void FillResponsiveness(int32_t pid, NativeResponsiveness* out); + +} // namespace mostats + +#endif // MOSTATS_PROCESSES_RESPONSIVENESS_H_ diff --git a/src/native/proto/process_collector.proto b/src/native/proto/process_collector.proto index 3059f84..1258aaf 100644 --- a/src/native/proto/process_collector.proto +++ b/src/native/proto/process_collector.proto @@ -98,6 +98,22 @@ message NativeProcessUser { string name = 3; } +// Window-server responsiveness of a GUI app: whether macOS currently marks it +// "Not Responding" - the same signal behind the beachball, the system Force +// Quit dialog, and Activity Monitor's red label (an event has sat unserviced +// in the app's event queue past the system threshold). Read through private +// CGS symbols resolved at runtime: UNSUPPORTED when this macOS no longer +// exposes them (the row simply shows no state), UNAVAILABLE when the app has +// no Process Manager entry. Only set for processes in the NSWorkspace +// running-apps set; absent for daemons and helpers, which have no +// window-server connection and therefore no notion of responsiveness. +message NativeResponsiveness { + NativeFieldStatus status = 1; + // True when the window server currently marks the app unresponsive. Only + // meaningful when status is AVAILABLE. + bool unresponsive = 2; +} + // The application bundle a process belongs to, used to group a multi-process // app's members (a browser and its helpers/renderers) into one row. It is the // outermost `.app` in the executable path, so the main app process and its @@ -151,6 +167,8 @@ message NativeProcessRecord { NativeInt64 thread_count = 11; // The user the process runs as (uid + resolved name). NativeProcessUser user = 12; + // Window-server responsiveness; set only for GUI apps (see message comment). + NativeResponsiveness responsiveness = 13; // Per-process network is intentionally absent: macOS has no reliable, // non-brittle per-process source, so the collector does not gather it. } diff --git a/src/renderer/components/processes/process-detail.tsx b/src/renderer/components/processes/process-detail.tsx index 2620af5..e305c4e 100644 --- a/src/renderer/components/processes/process-detail.tsx +++ b/src/renderer/components/processes/process-detail.tsx @@ -63,6 +63,7 @@ export function ProcessDetailView({ : `${secondary ? `${secondary} - ` : ""}PID ${detail.pid}${ detail.parentPid !== undefined ? ` - Parent ${detail.parentPid}` : "" }`; + const metadataTitle = detail.notResponding ? `Not Responding - ${metadata}` : metadata; const grouped = detail.memberCount > 1; return ( @@ -94,8 +95,11 @@ export function ProcessDetailView({ {detail.name} - +

+ {detail.notResponding ? ( + Not Responding - + ) : null} {metadata}

@@ -395,7 +399,14 @@ const MemberRow = memo( className="no-drag flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left transition-colors hover:bg-muted/50 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring" > - {member.name} + + {member.name} + - {group.name} + + {group.name} + + + {group.notResponding ? ( + + Not Responding + + ) : null} {group.childCount > 0 ? ( { expect(cellState({ pending: true })).toBe("pending"); expect(cellState({ pending: false })).toBe("unavailable"); }); + + it("rowNotResponding is true only for an OK read with the flag set", () => { + expect(rowNotResponding(makeRow({ notResponding: true }))).toBe(true); + expect(rowNotResponding(makeRow({ notResponding: false }))).toBe(false); + // Daemons/helpers carry no responsiveness field at all. + expect(rowNotResponding(makeRow({}))).toBe(false); + // A failed/unsupported read must not surface as a real hang. + expect( + rowNotResponding( + makeRow({ notResponding: true, responsivenessStatus: FieldStatus.FIELD_STATUS_UNSUPPORTED }), + ), + ).toBe(false); + }); }); describe("projectProcessList - grouping", () => { @@ -126,6 +140,18 @@ describe("projectProcessList - grouping", () => { expect(groups).toHaveLength(2); expect(groups.every((g) => g.memberCount === 1)).toBe(true); }); + + it("marks a group Not Responding when any member is", () => { + const rows = [ + // The hung app's flag sits on its main process; helpers carry none. + makeRow({ pid: 100, localizedName: "Hung", bundlePath: "/Applications/Hung.app", bundleName: "Hung", notResponding: true }), + makeRow({ pid: 200, executableName: "Hung Helper", bundlePath: "/Applications/Hung.app" }), + makeRow({ pid: 300, localizedName: "Fine", bundlePath: "/Applications/Fine.app", bundleName: "Fine", notResponding: false }), + ]; + const groups = projectProcessList(makeSnapshot(rows), "cpu", ""); + expect(groups.find((group) => group.name === "Hung")?.notResponding).toBe(true); + expect(groups.find((group) => group.name === "Fine")?.notResponding).toBe(false); + }); }); describe("projectProcessList - sorting", () => { diff --git a/tests/unit/process-snapshot-service.test.ts b/tests/unit/process-snapshot-service.test.ts index fa9974c..d5a5bed 100644 --- a/tests/unit/process-snapshot-service.test.ts +++ b/tests/unit/process-snapshot-service.test.ts @@ -45,6 +45,7 @@ import { type NativeProcessMemory, type NativeProcessRecord, type NativeProcessUser, + type NativeResponsiveness, type NativeString, } from "@main/gen/native/process_collector"; import { ProcessSnapshotService } from "@main/processes/process-snapshot-service"; @@ -117,6 +118,8 @@ interface RecordOptions { uid?: number; userName?: string; userStatus?: NativeFieldStatus; + notResponding?: boolean; + responsivenessStatus?: NativeFieldStatus; } function appMetadata(options: RecordOptions): NativeAppMetadata { @@ -172,6 +175,18 @@ function user(options: RecordOptions): NativeProcessUser { }; } +// Absent unless the test sets it, like the collector: only NSWorkspace apps +// carry the field. +function responsiveness(options: RecordOptions): NativeResponsiveness | undefined { + if (options.responsivenessStatus !== undefined) { + return { status: options.responsivenessStatus, unresponsive: options.notResponding ?? false }; + } + if (options.notResponding !== undefined) { + return { status: OK, unresponsive: options.notResponding }; + } + return undefined; +} + function record(options: RecordOptions = {}): NativeProcessRecord { return { identity: { @@ -193,6 +208,7 @@ function record(options: RecordOptions = {}): NativeProcessRecord { cpu: cpu(options), threadCount: nativeInt(options.threadCount ?? 8, options.threadStatus ?? OK), user: user(options), + responsiveness: responsiveness(options), }; } @@ -551,6 +567,35 @@ describe("ProcessSnapshotService field mapping", () => { expect(service.getSnapshot().processes[0].statics?.app?.bundle).toBeUndefined(); }); + it("maps responsiveness absent-in/absent-out and trusts the flag only when OK", async () => { + const service = makeService(); + + // A hung GUI app, a healthy one, a daemon with no field at all, and a GUI + // app whose read failed: only the OK read may surface a true flag, and the + // failed read must not leak its native value as a real hang. + await collectByActivation(service, response([ + record({ pid: 401, notResponding: true }), + record({ pid: 402, notResponding: false }), + record({ pid: 403 }), + record({ pid: 404, notResponding: true, responsivenessStatus: UNAVAILABLE }), + ])); + + const rows = service.getSnapshot().processes; + expect(rows[0].responsiveness).toEqual({ + status: FieldStatus.FIELD_STATUS_OK, + unresponsive: true, + }); + expect(rows[1].responsiveness).toEqual({ + status: FieldStatus.FIELD_STATUS_OK, + unresponsive: false, + }); + expect(rows[2].responsiveness).toBeUndefined(); + expect(rows[3].responsiveness).toEqual({ + status: FieldStatus.FIELD_STATUS_UNAVAILABLE, + unresponsive: false, + }); + }); + it("clamps negative native byte/count values to zero", async () => { const service = makeService(); From e236f4b3fc77ae1b33ba13da321e9a82f925e9a8 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Fri, 12 Jun 2026 16:46:28 +0300 Subject: [PATCH 159/169] Refactor process action styles to simplify hover and focus states for destructive actions --- src/renderer/components/processes/process-actions.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/components/processes/process-actions.tsx b/src/renderer/components/processes/process-actions.tsx index 439c1cf..ec94c32 100644 --- a/src/renderer/components/processes/process-actions.tsx +++ b/src/renderer/components/processes/process-actions.tsx @@ -93,7 +93,7 @@ function ActionButton({ className={cn( "no-drag flex h-8 items-center gap-1.5 rounded-lg px-2.5 text-[12px] font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-40", destructive - ? "text-destructive/80 enabled:hover:bg-destructive/10 enabled:hover:text-destructive enabled:focus-visible:bg-destructive/10 enabled:focus-visible:text-destructive" + ? "text-destructive enabled:hover:bg-destructive/10 enabled:focus-visible:bg-destructive/10" : "text-foreground enabled:hover:bg-muted/60", )} > From 31f44fbd8e4f2c2188d1145584562a144857238c Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Fri, 12 Jun 2026 17:57:51 +0300 Subject: [PATCH 160/169] Update README --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3d225d9..c2caa6e 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,11 @@ Live macOS system resources at a glance, plus a searchable process explorer. -Built with [MōBrowser](https://teamdev.com/mobrowser/), React, and TypeScript, with a small native module for the -metrics macOS does not expose to Node. +Built with [MōBrowser](https://teamdev.com/mobrowser/), React, and TypeScript, with a small native module for the metrics. ## What it does -- **System overview.** CPU, memory, disk, network, uptime, and CPU temperature. +- **System overview.** CPU, memory, network, disk, uptime, and CPU temperature. - **Process explorer.** A searchable list that groups an app with its helpers. - **Process detail.** Command line, executable path, start time, user, threads, hierarchy, and CPU/memory totals. - **Process actions.** Reveal in Finder, Quit, and Force Quit. From f9ee7a35660535d34540e3923d76344c20870b14 Mon Sep 17 00:00:00 2001 From: Danil-Didkovskiy Date: Fri, 12 Jun 2026 22:52:17 +0300 Subject: [PATCH 161/169] Minor cleanup --- .github/workflows/build.yml | 5 +- .vscode/launch.json | 12 +- .vscode/tasks.json | 2 +- CMakeLists.txt | 4 + README.md | 2 +- mobrowser.conf.json | 1 - package-lock.json | 306 +----------------- package.json | 16 +- src/main/application-window.ts | 3 +- src/main/application.ts | 29 +- src/main/metrics/metrics-sampler.ts | 82 +++-- src/main/processes/process-action-service.ts | 24 +- .../processes/process-snapshot-service.ts | 68 ++-- src/native/metrics/memory_probe.cc | 8 +- src/native/metrics/network_probe.cc | 107 ++++-- src/native/metrics/network_probe.h | 12 +- src/native/metrics/temperature_probe.cc | 170 +++++----- src/native/processes/app_metadata.mm | 28 +- src/native/processes/process_collector.cc | 47 +-- src/native/proto/network.proto | 37 ++- src/native/proto/process_collector.proto | 32 +- src/renderer/App.tsx | 2 +- src/renderer/components/metrics/cpu-row.tsx | 9 +- .../components/metrics/memory-row.tsx | 2 +- .../components/metrics/metrics-overview.tsx | 19 +- .../components/metrics/network-row.tsx | 13 +- .../components/metrics/segmented-meter.tsx | 4 +- .../components/processes/disclosure.tsx | 20 +- .../components/processes/process-actions.tsx | 29 +- .../components/processes/process-detail.tsx | 19 +- .../processes/process-explorer-view.tsx | 3 + .../components/processes/process-list.tsx | 24 +- .../components/processes/process-row.tsx | 4 +- .../processes/process-search-field.tsx | 9 +- .../processes/process-sort-control.tsx | 2 +- .../components/processes/scroll-fade.tsx | 6 +- .../processes/use-process-actions.ts | 16 +- src/renderer/components/ui/button.tsx | 32 +- .../components/ui/segmented-control.tsx | 15 +- src/renderer/domain/process-list.ts | 36 ++- src/renderer/domain/sample-history.ts | 12 +- .../gateway/process-explorer-gateway.ts | 17 +- src/renderer/index.css | 47 +-- src/renderer/lib/format.ts | 27 +- src/renderer/proto/process_explorer.proto | 31 +- tests/helpers/process-fixtures.ts | 1 - tests/unit/format.test.ts | 16 + tests/unit/metrics-sampler.test.ts | 90 +++++- tests/unit/process-action-service.test.ts | 25 +- tests/unit/process-snapshot-service.test.ts | 22 +- tsconfig.json | 8 +- tsconfig.node.json | 4 +- vite.config.ts | 19 +- 53 files changed, 762 insertions(+), 816 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 34d0ed1..fb1ee0d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,11 +60,10 @@ jobs: echo "$MACOS_CERTIFICATE" | base64 --decode > $RUNNER_TEMP/certificate.p12 security import "$RUNNER_TEMP/certificate.p12" -k "$KEYCHAIN_PATH" -P "$MACOS_CERTIFICATE_PWD" -T /usr/bin/codesign security set-key-partition-list -S apple-tool:,apple: -s -k "$MACOS_KEYCHAIN_PWD" "$KEYCHAIN_PATH" + # Putting the temp keychain on the user search list is what lets + # codesign find the imported identity during the build step. security list-keychain -d user -s "$KEYCHAIN_PATH" - # Export KEYCHAIN_PATH for the build step (referenced by mobrowser.conf.json). - echo "KEYCHAIN_PATH=$KEYCHAIN_PATH" >> $GITHUB_ENV - - name: Build release package run: npm run build diff --git a/.vscode/launch.json b/.vscode/launch.json index c27320a..4f8b060 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,21 +5,18 @@ "name": "Debug Main", "type": "node", "request": "launch", - "cwd": "${workspaceRoot}", - "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/mobrowser", + "cwd": "${workspaceFolder}", + "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/mobrowser", "runtimeArgs": [ "dev", "--inspect=5858", "--remote-debugging-port=9222" ], - "args": [ - "${workspaceRoot}/out/main/index.js" - ], "sourceMaps": true, "outFiles": [ - "${workspaceRoot}/out/main/**/*.js" + "${workspaceFolder}/out/main/**/*.js" ], - "preLaunchTask": "npm: build:main", + "preLaunchTask": "vite: build main", "env": { "NODE_ENV": "development" }, @@ -57,4 +54,3 @@ } ] } - diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 4499f8f..64306b5 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -5,7 +5,7 @@ "type": "shell", "command": "npx vite build --mode main", "problemMatcher": [], - "label": "npm: build:main" + "label": "vite: build main" } ] } diff --git a/CMakeLists.txt b/CMakeLists.txt index 94542c0..b0ba216 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,6 +37,10 @@ set_source_files_properties(src/native/processes/app_metadata.mm # Defines the main target of the application. add_library(mobrowser_lib STATIC ${APP_SOURCES} ${GENERATED_SOURCES}) +# The native sources hand-roll kernel ABI structs and parse raw sysctl buffers; +# keep the standard warning set on for them. +target_compile_options(mobrowser_lib PRIVATE -Wall -Wextra) + target_include_directories(mobrowser_lib PUBLIC ${PROJECT_SOURCE_DIR}/src/native ${PROJECT_SOURCE_DIR}/src/native/gen diff --git a/README.md b/README.md index c2caa6e..8398626 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Built with [MōBrowser](https://teamdev.com/mobrowser/), React, and TypeScript, ## Requirements - macOS 14 (Apple Silicon) or later. -- [Node.js](https://nodejs.org/en/download/) 20.20.2 (LTS) or later. +- [Node.js](https://nodejs.org/en/download/) 24.14.1 (LTS) or later. ## Setup diff --git a/mobrowser.conf.json b/mobrowser.conf.json index 64cf29d..4e5474a 100644 --- a/mobrowser.conf.json +++ b/mobrowser.conf.json @@ -17,7 +17,6 @@ "icon": "assets/app.icns", "bundleID": "com.teamdev.MoStats", "codesignIdentity": "${MACOS_CODESIGN_IDENTITY}", - "codesignKeychain": "${KEYCHAIN_PATH}", "codesignEntitlements": "assets/entitlements.plist", "teamID": "${MACOS_TEAM_ID}", "appleID": "${MACOS_APPLE_ID}", diff --git a/package-lock.json b/package-lock.json index 4575cc5..d34802a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,42 +1,36 @@ { "name": "MoStats", - "version": "0.0.0", + "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "MoStats", - "version": "0.0.0", + "version": "1.0.0", "dependencies": { "@fontsource-variable/sora": "^5.2.8", "@mobrowser/api": "2.8.0", "@mobrowser/cli": "2.8.0", "@mobrowser/native": "2.8.0", "@radix-ui/react-dropdown-menu": "^2.0.6", - "@radix-ui/react-slot": "^1.0.2", - "@radix-ui/react-toggle": "^1.1.10", - "@radix-ui/react-toggle-group": "^1.1.11", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "lucide-react": "^0.503.0", "react": "^19.1.0", "react-dom": "^19.1.0", - "tailwind-merge": "^3.2.0", - "tailwindcss-animate": "^1.0.7" + "tailwind-merge": "^3.2.0" }, "devDependencies": { "@stylistic/eslint-plugin": "^5.10.0", "@tailwindcss/postcss": "^4.1.2", - "@types/node": "^20.11.5", + "@types/node": "^24.13.2", "@types/react": "^19.1.2", "@types/react-dom": "^19.1.2", "@typescript-eslint/eslint-plugin": "^8.21.0", "@typescript-eslint/parser": "^8.21.0", "@vitejs/plugin-react": "^6.0.0", - "autoprefixer": "^10.4.17", "eslint": "^9.18.0", "eslint-plugin-react-hooks": "^5.1.0", - "eslint-plugin-react-refresh": "^0.4.5", "postcss": "^8.4.33", "tailwindcss": "^4.1.4", "ts-proto": "^2.10.1", @@ -45,7 +39,7 @@ "vitest": "^4.1.8" }, "engines": { - "node": "^20.20.2 || ^22.22.2 || >=24.14.1" + "node": ">=24.14.1" }, "optionalDependencies": { "@mobrowser/sdk-darwin-arm64": "2.8.0", @@ -1019,78 +1013,6 @@ } } }, - "node_modules/@radix-ui/react-slot": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.4.tgz", - "integrity": "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-toggle": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.1.10.tgz", - "integrity": "sha512-lS1odchhFTeZv3xwHH31YPObmJn8gOg7Lq12inrr0+BH/l3Tsq32VfjqH1oh80ARM3mlkfMic15n0kg4sD1poQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-toggle-group": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.1.11.tgz", - "integrity": "sha512-5umnS0T8JQzQT6HbPyO7Hh9dgd82NmS36DQr+X/YJ9ctFNCiiQd6IJAYYZ33LUwm8M+taCz5t2ui29fHZc4Y6Q==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-roving-focus": "1.1.11", - "@radix-ui/react-toggle": "1.1.10", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-use-callback-ref": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", @@ -1852,13 +1774,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.19.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.41.tgz", - "integrity": "sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==", + "version": "24.13.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.2.tgz", + "integrity": "sha512-fRa09kZTgu8o71KFcDjUFuc7F+dEbZYZmkI0mg5YBTRs0yMKjYHsq/c0urDKeDb+D5qVgXOdFcuu+DZPKOITwA==", "devOptional": true, "license": "MIT", "dependencies": { - "undici-types": "~6.21.0" + "undici-types": "~7.18.0" } }, "node_modules/@types/react": { @@ -2347,43 +2269,6 @@ "node": ">=12" } }, - "node_modules/autoprefixer": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.5.0.tgz", - "integrity": "sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.28.2", - "caniuse-lite": "^1.0.30001787", - "fraction.js": "^5.3.4", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, "node_modules/b4a": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.1.tgz", @@ -2499,19 +2384,6 @@ "bare-path": "^3.0.0" } }, - "node_modules/baseline-browser-mapping": { - "version": "2.10.32", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.32.tgz", - "integrity": "sha512-wbPvpyjJPC0zdfdKXxqEL3Ea+bOMD/87X4lftiJkkaBiuG6ALQy1SLmEd7BSmVCuwCQsBrCamgBoLyfFDD1EPg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/brace-expansion": { "version": "5.0.6", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", @@ -2525,40 +2397,6 @@ "node": "18 || 20 || >=22" } }, - "node_modules/browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -2569,27 +2407,6 @@ "node": ">=6" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001793", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz", - "integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, "node_modules/case-anything": { "version": "2.1.13", "resolved": "https://registry.npmjs.org/case-anything/-/case-anything-2.1.13.tgz", @@ -2771,13 +2588,6 @@ "node": ">=0.10" } }, - "node_modules/electron-to-chromium": { - "version": "1.5.363", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.363.tgz", - "integrity": "sha512-VjUKPyWzGnT1fujlkEGC/BvN70Hh70KXtAqcmniXviYlJC/ivcT+BWGPyxWVbJZLfvtKR6dqg1L7T7pgAMBtWA==", - "dev": true, - "license": "ISC" - }, "node_modules/enhanced-resolve": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.22.0.tgz", @@ -2799,16 +2609,6 @@ "dev": true, "license": "MIT" }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -2895,16 +2695,6 @@ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.26", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.26.tgz", - "integrity": "sha512-1RETEylht2O6FM/MvgnyvT+8K21wLqDNg4qD51Zj3guhjt433XbnnkVttHMyaVyAFD03QSV4LPS5iE3VQmO7XQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": ">=8.40" - } - }, "node_modules/eslint-scope": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", @@ -3191,20 +2981,6 @@ "dev": true, "license": "ISC" }, - "node_modules/fraction.js": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", - "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/rawify" - } - }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -3759,16 +3535,6 @@ "dev": true, "license": "MIT" }, - "node_modules/node-releases": { - "version": "2.0.46", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.46.tgz", - "integrity": "sha512-GYVXHE2KnrzAfsAjl4uP++evGFCrAU1jta4ubEjIG7YWt/64Gqv66a30yKwWczVjA6j3bM4nBwH7Pk1JmDHaxQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, "node_modules/obug": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.2.tgz", @@ -3922,13 +3688,6 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "license": "MIT" - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -4207,17 +3966,9 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.0.tgz", "integrity": "sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==", + "dev": true, "license": "MIT" }, - "node_modules/tailwindcss-animate": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", - "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", - "license": "MIT", - "peerDependencies": { - "tailwindcss": ">=3.0.0 || insiders" - } - }, "node_modules/tapable": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", @@ -4389,43 +4140,12 @@ } }, "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", "devOptional": true, "license": "MIT" }, - "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", diff --git a/package.json b/package.json index 8f2beb9..6ea105c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "MoStats", "private": true, - "version": "0.0.0", + "version": "1.0.0", "type": "module", "scripts": { "dev": "mobrowser dev", @@ -9,7 +9,7 @@ "gen": "mobrowser gen", "mobrowser": "mobrowser", "lint": "eslint . --max-warnings=0", - "typecheck": "tsc --noEmit", + "typecheck": "tsc --noEmit && tsc -p tsconfig.node.json --noEmit", "test": "vitest run", "verify": "npm run gen && npm run lint && npm run typecheck && npm run test && npm run build" }, @@ -19,16 +19,12 @@ "@mobrowser/cli": "2.8.0", "@mobrowser/native": "2.8.0", "@radix-ui/react-dropdown-menu": "^2.0.6", - "@radix-ui/react-slot": "^1.0.2", - "@radix-ui/react-toggle": "^1.1.10", - "@radix-ui/react-toggle-group": "^1.1.11", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "lucide-react": "^0.503.0", "react": "^19.1.0", "react-dom": "^19.1.0", - "tailwind-merge": "^3.2.0", - "tailwindcss-animate": "^1.0.7" + "tailwind-merge": "^3.2.0" }, "optionalDependencies": { "@mobrowser/sdk-darwin-arm64": "2.8.0", @@ -38,16 +34,14 @@ "devDependencies": { "@stylistic/eslint-plugin": "^5.10.0", "@tailwindcss/postcss": "^4.1.2", - "@types/node": "^20.11.5", + "@types/node": "^24.13.2", "@types/react": "^19.1.2", "@types/react-dom": "^19.1.2", "@typescript-eslint/eslint-plugin": "^8.21.0", "@typescript-eslint/parser": "^8.21.0", "@vitejs/plugin-react": "^6.0.0", - "autoprefixer": "^10.4.17", "eslint": "^9.18.0", "eslint-plugin-react-hooks": "^5.1.0", - "eslint-plugin-react-refresh": "^0.4.5", "postcss": "^8.4.33", "tailwindcss": "^4.1.4", "ts-proto": "^2.10.1", @@ -56,6 +50,6 @@ "vitest": "^4.1.8" }, "engines": { - "node": "^20.20.2 || ^22.22.2 || >=24.14.1" + "node": ">=24.14.1" } } diff --git a/src/main/application-window.ts b/src/main/application-window.ts index 2a351b4..936f96d 100644 --- a/src/main/application-window.ts +++ b/src/main/application-window.ts @@ -65,8 +65,9 @@ export class ApplicationWindow { return this.window !== null && !this.window.isClosed ? this.window : null; } + /** Applies always-on-top to the live window. */ setAlwaysOnTop(alwaysOnTop: boolean): void { - this.getOrCreateWindow().setAlwaysOnTop(alwaysOnTop); + this.instance?.setAlwaysOnTop(alwaysOnTop); } private getOrCreateWindow(): BrowserWindow { diff --git a/src/main/application.ts b/src/main/application.ts index 9707efe..0524c11 100644 --- a/src/main/application.ts +++ b/src/main/application.ts @@ -87,18 +87,23 @@ export class Application { /** Shows the About dialog: branded name, live version, and a repository link. */ private async showAbout(): Promise { - const result = await app.showMessageDialog({ - parentWindow: this.window.instance ?? undefined, - type: "info", - message: `${DISPLAY_NAME} ${app.version}`, - informativeText: `${app.description}\n\nPowered by MōBrowser.\n\n${app.copyright}`, - buttons: [ - { label: "Close", type: "primary" }, - { label: "Open GitHub Repository...", type: "secondary" }, - ], - }); - if (result.button.type === "secondary") { - desktop.openUrl(REPOSITORY_URL); + try { + const result = await app.showMessageDialog({ + parentWindow: this.window.instance ?? undefined, + type: "info", + message: `${DISPLAY_NAME} ${app.version}`, + informativeText: `${app.description}\n\nPowered by MōBrowser.\n\n${app.copyright}`, + buttons: [ + { label: "Close", type: "primary" }, + { label: "Open GitHub Repository...", type: "secondary" }, + ], + }); + if (result.button.type === "secondary") { + desktop.openUrl(REPOSITORY_URL); + } + } catch { + // The menu action floats this promise; a dialog failure must not become + // an unhandled rejection in main. } } diff --git a/src/main/metrics/metrics-sampler.ts b/src/main/metrics/metrics-sampler.ts index 74aac8b..13b0dbd 100644 --- a/src/main/metrics/metrics-sampler.ts +++ b/src/main/metrics/metrics-sampler.ts @@ -15,21 +15,34 @@ const { METRIC_STATUS_UNKNOWN: UNKNOWN, METRIC_STATUS_OK: OK, METRIC_STATUS_UNAV const SYSTEM_VOLUME_PATH = "/"; +/** + * Hard cap on a native probe RPC. The native calls have no built-in timeout, + * so a hung probe would otherwise leave the tick promise pending forever and + * permanently wedge the poll loop (its overlap guard never re-arms). The + * probes are sub-millisecond syscall reads; the abort rejects into each + * group's catch, degrading only that group, and the next tick retries. + */ +const NATIVE_CALL_TIMEOUT_MS = 2500; + +/** Call options aborting a native probe at the timeout. */ +function nativeCallTimeout() { + return { signal: AbortSignal.timeout(NATIVE_CALL_TIMEOUT_MS) }; +} + /** Temperature values outside this Celsius range are treated as bad sensor data. */ const MIN_PLAUSIBLE_TEMPERATURE_CELSIUS = 10; const MAX_PLAUSIBLE_TEMPERATURE_CELSIUS = 120; /** - * Upper bound on a plausible per-interface throughput (100 Gbps, in bytes/s). + * Upper bound on a plausible machine-wide throughput (100 Gbps, in bytes/s). * A single-tick delta above it is a counter discontinuity, dropped to a 0 rate * rather than reported as a spike. */ const MAX_PLAUSIBLE_BYTES_PER_SEC = 100_000_000_000 / 8; -/** Cumulative interface byte counters at a monotonic timestamp. */ -interface NetworkCounters { - rxBytes: number; - txBytes: number; +/** Cumulative per-interface byte counters at a monotonic timestamp. */ +interface NetworkSample { + byName: Map; atMs: number; } @@ -61,16 +74,24 @@ export interface MetricsReading { export class MetricsSampler { private previousCpuTicks: CpuTicks | null = null; - private previousNetworkCounters: NetworkCounters | null = null; + private previousNetworkSample: NetworkSample | null = null; async sample(): Promise { + // The native probes are independent; sampling them concurrently keeps the + // pass as fast as the slowest probe. None of them ever rejects (each + // degrades its own group), so Promise.all cannot throw here. + const [memory, network, temperature] = await Promise.all([ + this.sampleMemory(), + this.sampleNetwork(), + this.sampleTemperature(), + ]); return { cpu: this.sampleCpu(), - memory: await this.sampleMemory(), + memory, disk: this.sampleDisk(), - network: await this.sampleNetwork(), + network, uptime: this.sampleUptime(), - temperature: await this.sampleTemperature(), + temperature, }; } @@ -105,7 +126,7 @@ export class MetricsSampler { /** Physical memory usage from the native macOS VM-statistics probe. */ private async sampleMemory(): Promise { try { - const usage = await native.memory.ReadUsage({}); + const usage = await native.memory.ReadUsage({}, nativeCallTimeout()); if (!usage.available || !Number.isFinite(usage.totalBytes) || usage.totalBytes <= 0) { return unavailableMemory(); } @@ -158,39 +179,54 @@ export class MetricsSampler { * Network throughput from the native interface counter probe: successive * cumulative readings turned into a per-second rate over the measured elapsed * time. UNKNOWN without a baseline (first sample, or after the counters were - * unavailable) or when the clock did not advance; a counter that went - * backwards re-arms via {@link rate} as a 0 rate instead of a spike. + * unavailable) or when the clock did not advance. + * + * Each interface is diffed against its own previous reading. One seen for + * the first time has no baseline and contributes nothing that tick, so an + * interface (re)joining the active set never registers its cumulative total + * as a burst of traffic; one that left simply stops contributing, and a + * per-interface counter reset clamps to 0 instead of going negative. */ private async sampleNetwork(): Promise { try { - const counters = await native.network.ReadCounters({}); + const counters = await native.network.ReadCounters({}, nativeCallTimeout()); if (!counters.available) { - this.previousNetworkCounters = null; + this.previousNetworkSample = null; return { status: UNAVAILABLE, rxBytesPerSec: 0, txBytesPerSec: 0 }; } - const current: NetworkCounters = { - rxBytes: counters.rxBytes, - txBytes: counters.txBytes, + const current: NetworkSample = { + byName: new Map(counters.interfaces.map( + ({ name, rxBytes, txBytes }) => [name, { rxBytes, txBytes }], + )), // performance.now() is monotonic, so the rate window survives // wall-clock/NTP adjustments. atMs: performance.now(), }; - const previous = this.previousNetworkCounters; - this.previousNetworkCounters = current; + const previous = this.previousNetworkSample; + this.previousNetworkSample = current; const elapsedSeconds = previous === null ? 0 : (current.atMs - previous.atMs) / 1000; if (previous === null || elapsedSeconds <= 0) { return { status: UNKNOWN, rxBytesPerSec: 0, txBytesPerSec: 0 }; } + let rxDelta = 0; + let txDelta = 0; + for (const [name, currentCounters] of current.byName) { + const previousCounters = previous.byName.get(name); + if (previousCounters === undefined) continue; + rxDelta += Math.max(0, currentCounters.rxBytes - previousCounters.rxBytes); + txDelta += Math.max(0, currentCounters.txBytes - previousCounters.txBytes); + } + return { status: OK, - rxBytesPerSec: rate(current.rxBytes - previous.rxBytes, elapsedSeconds), - txBytesPerSec: rate(current.txBytes - previous.txBytes, elapsedSeconds), + rxBytesPerSec: rate(rxDelta, elapsedSeconds), + txBytesPerSec: rate(txDelta, elapsedSeconds), }; } catch { - this.previousNetworkCounters = null; + this.previousNetworkSample = null; return { status: UNAVAILABLE, rxBytesPerSec: 0, txBytesPerSec: 0 }; } } @@ -202,7 +238,7 @@ export class MetricsSampler { */ private async sampleTemperature(): Promise { try { - const result = await native.temperature.ReadCpuTemperature({}); + const result = await native.temperature.ReadCpuTemperature({}, nativeCallTimeout()); if (!result.available || !isPlausibleTemperature(result.celsius)) { return { status: UNAVAILABLE, celsius: 0 }; } diff --git a/src/main/processes/process-action-service.ts b/src/main/processes/process-action-service.ts index 4270175..d89074d 100644 --- a/src/main/processes/process-action-service.ts +++ b/src/main/processes/process-action-service.ts @@ -35,7 +35,6 @@ const CRITICAL_PROCESS_NAMES: ReadonlySet = new Set([ "launchd", // PID 1, the init/service manager "WindowServer", // the display server; killing it logs the user out "loginwindow", // owns the login/user session - "logind", // session lifecycle "SystemUIServer", // the menu bar "Dock", // the Dock and Mission Control "Finder", // the desktop and file UI @@ -150,6 +149,13 @@ export class ProcessActionService { /** MoStats' own PID; destructive actions against it are always blocked. */ private readonly selfPid = process.pid; + /** + * True while a Force Quit confirmation dialog is up. A second request + * arriving meanwhile (e.g. a double-click racing the dialog) is answered + * CANCELED instead of stacking another modal dialog. + */ + private confirmInFlight = false; + /** * @param getSnapshot Returns the latest cached snapshot to validate against - * the main-side form with statics joined onto rows (names and paths are @@ -231,15 +237,25 @@ export class ProcessActionService { /** * Confirms Force Quit through the native dialog, then re-resolves the target * (it may have exited while the dialog was up) before signaling. A declined - * confirmation is a no-op, not a failure. + * confirmation - or a request racing an already-open dialog - is CANCELED: + * an explicit no-op, not a failure. */ private async confirmAndForceQuit( request: RunProcessActionRequest, row: ProcessRow, ): Promise { - const confirmed = await this.confirmForceQuit(row); + if (this.confirmInFlight) { + return { outcome: Outcome.OUTCOME_CANCELED, affectedCount: 0 }; + } + this.confirmInFlight = true; + let confirmed = false; + try { + confirmed = await this.confirmForceQuit(row); + } finally { + this.confirmInFlight = false; + } if (!confirmed) { - return { outcome: Outcome.OUTCOME_SUCCEEDED, affectedCount: 0 }; + return { outcome: Outcome.OUTCOME_CANCELED, affectedCount: 0 }; } const fresh = this.resolveAllowedRow(request); diff --git a/src/main/processes/process-snapshot-service.ts b/src/main/processes/process-snapshot-service.ts index fe28fcc..a5da8cb 100644 --- a/src/main/processes/process-snapshot-service.ts +++ b/src/main/processes/process-snapshot-service.ts @@ -30,8 +30,6 @@ import { ProcessUser, Responsiveness, SnapshotStatus, - SnapshotWarning, - SnapshotWarning_Code, StringValue, UInt64Value, } from "../gen/process_explorer"; @@ -40,6 +38,17 @@ import { PollLoop } from "../poll-loop"; const COLLECT_INTERVAL_MS = 3000; +/** + * Hard cap on a native collector RPC. The native calls have no built-in + * timeout, so a hung call would otherwise leave the tick promise pending + * forever and permanently wedge the poll loop (its overlap guard never + * re-arms). Generous relative to the tick: a cold pass rasterizes icons for + * every visible app once, and a timeout only needs to catch a genuine hang. + * The abort rejects into the existing catch, which degrades the snapshot to + * unavailable; the next tick retries. + */ +const NATIVE_CALL_TIMEOUT_MS = 10_000; + /** * Per-process CPU uses Activity Monitor semantics (one fully busy core reads * ~100%, multi-threaded processes can exceed it), capped at all cores busy. @@ -213,8 +222,8 @@ function toStatics(record: NativeProcessRecord, commandLine: CommandLine): Proce * Content-hash key of a statics blob: a hash over its deterministic proto * encoding, so identical blobs dedupe (twin processes share one entry) and any * value change - including an exec - yields a new key, making a held blob - * stale-proof by construction. 128 hash bits; collisions are not a concern at - * process-list cardinality. + * stale-proof by construction. 22 base64url chars carry 132 hash bits; + * collisions are not a concern at process-list cardinality. */ function staticsKey(statics: ProcessStatics): string { return createHash("sha256") @@ -282,7 +291,7 @@ function recordKey(record: NativeProcessRecord): ProcessKey | null { * interval yields UNKNOWN rather than a fabricated value. * * Privacy: command lines pass through for local display/search only; nothing - * process-identifying is ever logged, and warnings are count-only. + * process-identifying is ever logged. */ export class ProcessSnapshotService { private readonly revisionHandle = ipc.registerService(ProcessExplorerServiceDescriptor); @@ -296,7 +305,6 @@ export class ProcessSnapshotService { revision: 0, timestampMs: 0, processes: [], - warnings: [], icons: {}, }; @@ -366,7 +374,10 @@ export class ProcessSnapshotService { let icons: { [key: string]: string } = {}; if (iconKeys.length > 0) { try { - icons = (await native.processCollector.GetIcons({ keys: iconKeys })).icons; + icons = (await native.processCollector.GetIcons( + { keys: iconKeys }, + { signal: AbortSignal.timeout(NATIVE_CALL_TIMEOUT_MS) }, + )).icons; } catch { // Degrade to empty; the next pull retries the still-missing keys. } @@ -395,7 +406,10 @@ export class ProcessSnapshotService { */ private async collect(): Promise { try { - const response = await native.processCollector.CollectProcesses({}); + const response = await native.processCollector.CollectProcesses( + {}, + { signal: AbortSignal.timeout(NATIVE_CALL_TIMEOUT_MS) }, + ); if (this.disposed) { return; } @@ -444,20 +458,14 @@ export class ProcessSnapshotService { const sampledAtMs = performance.now(); const nextBaselines = new Map(); const statics = new Map(); - let permissionDeniedCount = 0; - let commandLinePartialCount = 0; + let anyFieldDenied = false; const processes: ProcessRow[] = records.map((record) => { const key = recordKey(record); const cpu = this.deriveCpu(record.cpu, key, sampledAtMs, nextBaselines); const commandLine = toCommandLine(record.commandLine); - if (hasDeniedField(record)) { - permissionDeniedCount += 1; - } - if (commandLine.status !== FieldStatus.FIELD_STATUS_OK) { - commandLinePartialCount += 1; - } + anyFieldDenied ||= hasDeniedField(record); const blob = toStatics(record, commandLine); const blobKey = staticsKey(blob); @@ -470,13 +478,12 @@ export class ProcessSnapshotService { return { snapshot: { - status: permissionDeniedCount > 0 + status: anyFieldDenied ? SnapshotStatus.SNAPSHOT_STATUS_PERMISSION_LIMITED : SnapshotStatus.SNAPSHOT_STATUS_OK, revision: this.revision, timestampMs: Date.now(), processes, - warnings: buildWarnings(permissionDeniedCount, commandLinePartialCount), icons: {}, }, statics, @@ -493,7 +500,6 @@ export class ProcessSnapshotService { revision: this.revision, timestampMs: Date.now(), processes: [], - warnings: [], icons: {}, }; } @@ -549,6 +555,7 @@ export class ProcessSnapshotService { */ function hasDeniedField(record: NativeProcessRecord): boolean { const statuses = [ + record.identity?.startedAtStatus, record.parentStatus, record.commandName?.status, record.executableName?.status, @@ -557,29 +564,12 @@ function hasDeniedField(record: NativeProcessRecord): boolean { record.memory?.physicalFootprintBytes?.status, record.memory?.residentBytes?.status, record.cpu?.cumulativeCpuTimeNs?.status, + record.threadCount?.status, + record.user?.status, + record.responsiveness?.status, ]; return statuses.some( (status) => status === NativeFieldStatus.NATIVE_FIELD_STATUS_PERMISSION_DENIED, ); } -/** Builds the count-only snapshot warnings from the per-pass tallies. */ -function buildWarnings( - permissionDeniedCount: number, - commandLinePartialCount: number, -): SnapshotWarning[] { - const warnings: SnapshotWarning[] = []; - if (permissionDeniedCount > 0) { - warnings.push({ - code: SnapshotWarning_Code.CODE_PERMISSION_DENIED, - affectedCount: permissionDeniedCount, - }); - } - if (commandLinePartialCount > 0) { - warnings.push({ - code: SnapshotWarning_Code.CODE_COMMAND_LINE_PARTIAL, - affectedCount: commandLinePartialCount, - }); - } - return warnings; -} diff --git a/src/native/metrics/memory_probe.cc b/src/native/metrics/memory_probe.cc index 63a1eb7..5997ee8 100644 --- a/src/native/metrics/memory_probe.cc +++ b/src/native/metrics/memory_probe.cc @@ -51,11 +51,15 @@ void ReadMemoryUsage(MemoryUsage* response) { uint64_t total_bytes = 0; const long raw_page_size = sysconf(_SC_PAGESIZE); + // mach_host_self() adds a send-right uref that is never deallocated; the + // port is process-lifetime stable, so acquire it once instead of leaking one + // reference per tick. + static const host_t host = mach_host_self(); + vm_statistics64_data_t stats = {}; mach_msg_type_number_t count = HOST_VM_INFO64_COUNT; const kern_return_t result = host_statistics64( - mach_host_self(), HOST_VM_INFO64, reinterpret_cast(&stats), - &count); + host, HOST_VM_INFO64, reinterpret_cast(&stats), &count); if (!ReadPhysicalMemorySize(&total_bytes) || raw_page_size <= 0 || result != KERN_SUCCESS) { diff --git a/src/native/metrics/network_probe.cc b/src/native/metrics/network_probe.cc index b924501..ece1cc5 100644 --- a/src/native/metrics/network_probe.cc +++ b/src/native/metrics/network_probe.cc @@ -1,21 +1,28 @@ #include "metrics/network_probe.h" -#include #include #include #include #include +#include +#include #include #include #include +#include +#include +#include +#include #include #include +#include -// Technique reference: exelban/stats Modules/Net/readers.swift reads the same -// getifaddrs / if_data ifi_ibytes / ifi_obytes counters. This sums the active -// physical interfaces rather than tracking a single stored primary. No upstream -// code is copied. +// Counter source: sysctl(NET_RT_IFLIST2) RTM_IFINFO2 messages carry struct +// if_data64 with 64-bit ifi_ibytes/ifi_obytes (net/if_var.h) - the same sysctl +// netstat -ib reads. The simpler getifaddrs path exposes these counters as +// 32-bit (struct if_data), which wraps every 4 GiB (about half a minute of +// sustained 1 Gbps), so it cannot feed a rate. namespace mostats { namespace { @@ -43,20 +50,14 @@ bool HasActiveMedia(int media_socket, const char* name) { // IFF_UP + IFT_CELLULAR alone: SIOCGIFMEDIA is an Ethernet concept and a // cellular interface commonly reports no media status, so gating it would // wrongly drop a live cellular-only uplink. -bool IsCountedInterface(const ifaddrs* ptr, int media_socket) { - if ((ptr->ifa_flags & IFF_UP) == 0 || (ptr->ifa_flags & IFF_LOOPBACK) != 0) { +bool IsCountedInterface(uint32_t flags, uint8_t link_type, const char* name, + int media_socket) { + if ((flags & IFF_UP) == 0 || (flags & IFF_LOOPBACK) != 0) { return false; } - if (ptr->ifa_addr == nullptr || ptr->ifa_addr->sa_family != AF_LINK) { + if (link_type != IFT_ETHER && link_type != IFT_CELLULAR) { return false; } - - const sockaddr_dl* link = reinterpret_cast(ptr->ifa_addr); - if (link->sdl_type != IFT_ETHER && link->sdl_type != IFT_CELLULAR) { - return false; - } - - const char* name = ptr->ifa_name; if (strncmp(name, "pdp_ip", 6) == 0) { return true; } @@ -66,11 +67,28 @@ bool IsCountedInterface(const ifaddrs* ptr, int media_socket) { return false; } +// Fetches the NET_RT_IFLIST2 routing dump. A failure (including the rare +// ENOMEM when an interface appears between the size query and the copy) just +// reports unavailable for this tick; the sampler retries on the next one. +bool FetchInterfaceList(std::vector* buffer) { + int mib[6] = {CTL_NET, PF_ROUTE, 0, 0, NET_RT_IFLIST2, 0}; + size_t length = 0; + if (sysctl(mib, 6, nullptr, &length, nullptr, 0) != 0) { + return false; + } + buffer->resize(length); + if (sysctl(mib, 6, buffer->data(), &length, nullptr, 0) != 0) { + return false; + } + buffer->resize(length); + return true; +} + } // namespace void ReadNetworkCounters(NetworkCounters* response) { - ifaddrs* addresses = nullptr; - if (getifaddrs(&addresses) != 0) { + std::vector buffer; + if (!FetchInterfaceList(&buffer)) { // Report unavailable rather than zeros that would read as "no traffic". response->set_available(false); return; @@ -78,35 +96,56 @@ void ReadNetworkCounters(NetworkCounters* response) { const int media_socket = socket(AF_INET, SOCK_DGRAM, 0); if (media_socket < 0) { - freeifaddrs(addresses); response->set_available(false); return; } - uint64_t rx_bytes = 0; - uint64_t tx_bytes = 0; - bool found = false; + // Every routing message starts with the same msglen/version/type prefix; + // the rest of the layout varies by type (RTM_IFINFO2 carries if_msghdr2, + // while the interleaved per-address RTM_NEWADDR messages are much shorter), + // so only that prefix may be read or length-checked before the type switch. + constexpr size_t kMessagePrefixSize = offsetof(if_msghdr, ifm_addrs); + const char* const end = buffer.data() + buffer.size(); + for (const char* next = buffer.data(); + next + kMessagePrefixSize <= end;) { + const if_msghdr* header = reinterpret_cast(next); + if (header->ifm_msglen < kMessagePrefixSize) { + break; // Malformed length; bail rather than loop forever. + } + const char* const message_end = next + header->ifm_msglen; + next = message_end; + if (message_end > end || header->ifm_type != RTM_IFINFO2) { + continue; + } + if (header->ifm_msglen < sizeof(if_msghdr2) + sizeof(sockaddr_dl)) { + continue; + } - for (ifaddrs* ptr = addresses; ptr != nullptr; ptr = ptr->ifa_next) { - // Byte counters live on the link-layer (AF_LINK) entry of each interface. - if (!IsCountedInterface(ptr, media_socket)) { + const if_msghdr2* info = reinterpret_cast(header); + // The interface-name sockaddr immediately follows the fixed header. + const sockaddr_dl* link = reinterpret_cast(info + 1); + if ((info->ifm_addrs & RTA_IFP) == 0 || link->sdl_family != AF_LINK) { continue; } - const if_data* data = static_cast(ptr->ifa_data); - if (data == nullptr) { + + char name[IFNAMSIZ] = {}; + const size_t name_length = + std::min(link->sdl_nlen, sizeof(name) - 1); + memcpy(name, link->sdl_data, name_length); + + if (!IsCountedInterface(info->ifm_flags, link->sdl_type, name, + media_socket)) { continue; } - rx_bytes += data->ifi_ibytes; - tx_bytes += data->ifi_obytes; - found = true; + + InterfaceCounters* entry = response->add_interfaces(); + entry->set_name(name); + entry->set_rx_bytes(info->ifm_data.ifi_ibytes); + entry->set_tx_bytes(info->ifm_data.ifi_obytes); } close(media_socket); - freeifaddrs(addresses); - - response->set_available(found); - response->set_rx_bytes(rx_bytes); - response->set_tx_bytes(tx_bytes); + response->set_available(response->interfaces_size() > 0); } } // namespace mostats diff --git a/src/native/metrics/network_probe.h b/src/native/metrics/network_probe.h index 5a2fed7..cb584b2 100644 --- a/src/native/metrics/network_probe.h +++ b/src/native/metrics/network_probe.h @@ -7,12 +7,12 @@ namespace mostats { // Reads cumulative network byte counters into the generated response. // -// Sums the kernel's per-interface rx/tx totals across the active physical -// interfaces (Ethernet/Wi-Fi/Thunderbolt and cellular), skipping loopback, VPN -// tunnels, and AirDrop/sharing so traffic is not double-counted. On failure the -// response is marked unavailable. Only raw counters are returned; the -// main-process sampler owns the delta-to-rate math. See network_probe.cc for the -// interface-selection rule. +// Returns the kernel's 64-bit rx/tx totals per active physical interface +// (Ethernet/Wi-Fi/Thunderbolt and cellular), skipping loopback, VPN tunnels, +// and AirDrop/sharing so traffic is not double-counted. On failure the +// response is marked unavailable. Only raw per-interface counters are +// returned; the main-process sampler owns the delta-to-rate math. See +// network_probe.cc for the counter source and interface-selection rule. void ReadNetworkCounters(NetworkCounters* response); } // namespace mostats diff --git a/src/native/metrics/temperature_probe.cc b/src/native/metrics/temperature_probe.cc index 384abc5..6fb7234 100644 --- a/src/native/metrics/temperature_probe.cc +++ b/src/native/metrics/temperature_probe.cc @@ -100,8 +100,9 @@ constexpr uint8_t kSmcCmdReadKeyInfo = 9; enum class AppleSiliconGeneration { kUnknown, kM1, kM2, kM3, kM4, kM5 }; -// SMC RPC structs. The kernel expects this exact 80-byte layout (verified by -// sizeof); the fields we do not use are present only to reproduce that layout. +// SMC RPC structs. The kernel expects this exact 80-byte layout (enforced by +// the static_assert below); the fields we do not use are present only to +// reproduce that layout. struct SmcKeyDataVers { uint8_t major = 0; uint8_t minor = 0; @@ -136,6 +137,9 @@ struct SmcKeyData { uint8_t bytes[32] = {}; }; +static_assert(sizeof(SmcKeyData) == 80, + "the AppleSMC user-client RPC requires this exact 80-byte layout"); + struct SmcValue { uint32_t data_size = 0; uint32_t data_type = 0; @@ -180,7 +184,7 @@ uint32_t FourCharToKey(std::string_view value) { } // Builds a FourCharCode from a literal at compile time, for the data-type -// switch below. Distinct from FourCharToKey to keep that runtime path simple. +// check below. Distinct from FourCharToKey to keep that runtime path simple. constexpr uint32_t TypeCode(const char (&value)[5]) { uint32_t code = 0; for (int i = 0; i < 4; ++i) { @@ -243,43 +247,21 @@ bool HasNonZeroBytes(const SmcValue& value) { return false; } -double DecodeFixedPoint(const SmcValue& value, double denominator) { - const int raw = (static_cast(value.bytes[0]) << 8) | - static_cast(value.bytes[1]); - return static_cast(raw) / denominator; -} - -// Decodes the SMC value bytes per its data type. Covers the temperature types -// Apple Silicon uses ("flt " on M-series; the fixed-point sp* and fpe2 types -// for completeness / Intel diodes). Returns nullopt for an all-zero or -// unrecognized value. Decode math mirrors exelban/stats SMC/smc.swift. +// Decodes the SMC value bytes per its data type. Apple Silicon - this app's +// support matrix, and the only platform the per-generation key lists cover - +// reports temperatures exclusively as "flt " (IEEE float); the Intel-era +// fixed-point types (sp*, fpe2) are deliberately not decoded. Returns nullopt +// for an all-zero or unrecognized value. std::optional DecodeSmcTemperature(const SmcValue& value) { if (value.data_size == 0 || !HasNonZeroBytes(value)) { return std::nullopt; } - switch (value.data_type) { - case TypeCode("sp1e"): return DecodeFixedPoint(value, 16384.0); - case TypeCode("sp3c"): return DecodeFixedPoint(value, 4096.0); - case TypeCode("sp4b"): return DecodeFixedPoint(value, 2048.0); - case TypeCode("sp5a"): return DecodeFixedPoint(value, 1024.0); - case TypeCode("sp69"): return DecodeFixedPoint(value, 512.0); - case TypeCode("sp78"): return DecodeFixedPoint(value, 256.0); - case TypeCode("sp87"): return DecodeFixedPoint(value, 128.0); - case TypeCode("sp96"): return DecodeFixedPoint(value, 64.0); - case TypeCode("spa5"): return DecodeFixedPoint(value, 32.0); - case TypeCode("spb4"): return DecodeFixedPoint(value, 16.0); - case TypeCode("spf0"): return DecodeFixedPoint(value, 1.0); - case TypeCode("fpe2"): - return static_cast((static_cast(value.bytes[0]) << 6) + - (static_cast(value.bytes[1]) >> 2)); - case TypeCode("flt "): { - float raw = 0.0F; - std::memcpy(&raw, value.bytes.data(), sizeof(raw)); - return static_cast(raw); - } - default: - return std::nullopt; + if (value.data_type != TypeCode("flt ") || value.data_size < sizeof(float)) { + return std::nullopt; } + float raw = 0.0F; + std::memcpy(&raw, value.bytes.data(), sizeof(raw)); + return static_cast(raw); } // Owns an open AppleSMC user-client connection and reads one key at a time via @@ -322,7 +304,10 @@ class SmcConnection { SmcKeyData output; input.key = FourCharToKey(key); input.data8 = kSmcCmdReadKeyInfo; - if (Call(input, &output) != kIOReturnSuccess || output.key_info.data_size == 0) { + // `result` is the SMC status byte (e.g. 0x84 = key not found); a non-zero + // status can come back with kIOReturnSuccess, so both must be checked. + if (Call(input, &output) != kIOReturnSuccess || output.result != 0 || + output.key_info.data_size == 0) { return std::nullopt; } return output.key_info; @@ -342,7 +327,10 @@ class SmcConnection { input.key = FourCharToKey(key); input.key_info.data_size = info.data_size; input.data8 = kSmcCmdReadBytes; - if (Call(input, &output) != kIOReturnSuccess) { + // A non-zero SMC status byte means the read failed even when the RPC + // itself succeeded; without this check garbage bytes could decode into a + // plausible value and contaminate the held per-core readings. + if (Call(input, &output) != kIOReturnSuccess || output.result != 0) { return std::nullopt; } @@ -410,9 +398,10 @@ class CpuCoreTemperatureReader { // nullopt ("known absent") so it is probed at most once, never re-queried // every tick - the generation key lists are supersets and many keys do not // exist on a given chip. - auto info_it = key_info_.find(std::string(key)); + const uint32_t key_code = FourCharToKey(key); + auto info_it = key_info_.find(key_code); if (info_it == key_info_.end()) { - info_it = key_info_.emplace(std::string(key), smc_.ReadKeyInfo(key)).first; + info_it = key_info_.emplace(key_code, smc_.ReadKeyInfo(key)).first; } if (!info_it->second.has_value()) { continue; // Known-absent key on this chip. @@ -427,7 +416,7 @@ class CpuCoreTemperatureReader { // ignored this tick (its held value, if any, still counts below). const std::optional celsius = DecodeSmcTemperature(*value); if (celsius.has_value() && IsPlausibleTemperature(*celsius)) { - last_good_[std::string(key)] = *celsius; + last_good_[key_code] = *celsius; } } @@ -445,9 +434,11 @@ class CpuCoreTemperatureReader { bool initialized_ = false; AppleSiliconGeneration generation_ = AppleSiliconGeneration::kUnknown; SmcConnection smc_; - // nullopt = key probed and absent on this chip (do not re-probe). - std::unordered_map> key_info_; - std::unordered_map last_good_; + // Both maps are keyed by the key's FourCharCode, so the per-tick lookups + // allocate nothing. nullopt = key probed and absent on this chip (do not + // re-probe). + std::unordered_map> key_info_; + std::unordered_map last_good_; }; // --------------------------------------------------------------------------- @@ -494,44 +485,17 @@ bool IsCpuCoreSensorName(CFStringRef name) { CFStringHasPrefix(name, CFSTR("eACC MTR Temp")); } -// One HID enumeration pass. Sets `enumerated` true once the IOHID client and -// service list are created (a real query happened, even if it matched nothing); -// it stays false only on a transient setup failure that should be retried. Sets -// `has_cpu_sensor` true when at least one CPU-core sensor *service* is present. -// The caller latches off only when `enumerated && !has_cpu_sensor` - i.e. a -// successful query proved this machine has no such sensors (a fixed hardware -// fact). Keying on the sensor *existing* (not on a plausible reading this tick) -// means a present-but-momentarily-unreadable sensor never causes a false latch. -TemperatureAccumulator ReadHidCpuCoreTemperaturesOnce(bool* enumerated, - bool* has_cpu_sensor) { +// One read pass over an already-copied service list. Sets `has_cpu_sensor` +// true when at least one CPU-core sensor *service* is present, independent of +// whether its reading is plausible this tick - the caller latches off only on +// a successful enumeration that proved this machine has no such sensors (a +// fixed hardware fact), so a present-but-momentarily-unreadable sensor never +// causes a false latch. +TemperatureAccumulator ReadCpuCoreTemperaturesFrom(CFArrayRef services, + bool* has_cpu_sensor) { TemperatureAccumulator accumulator; - *enumerated = false; *has_cpu_sensor = false; - CFDictionaryRef match = CreateCpuCoreSensorMatch(); - if (match == nullptr) { - return accumulator; - } - - IOHIDEventSystemClientRef client = - IOHIDEventSystemClientCreate(kCFAllocatorDefault); - if (client == nullptr) { - CFRelease(match); - return accumulator; - } - - IOHIDEventSystemClientSetMatching(client, match); - CFArrayRef services = IOHIDEventSystemClientCopyServices(client); - CFRelease(match); - if (services == nullptr) { - CFRelease(client); - return accumulator; - } - - // The service list was obtained: a genuine enumeration, authoritative for this - // machine even if it matches zero CPU-core sensors. - *enumerated = true; - const CFIndex service_count = CFArrayGetCount(services); for (CFIndex i = 0; i < service_count; ++i) { IOHIDServiceClientRef service = static_cast( @@ -565,8 +529,6 @@ TemperatureAccumulator ReadHidCpuCoreTemperaturesOnce(bool* enumerated, } } - CFRelease(services); - CFRelease(client); return accumulator; } @@ -574,26 +536,55 @@ TemperatureAccumulator ReadHidCpuCoreTemperaturesOnce(bool* enumerated, // Macs and is entirely absent on others (e.g. the M2 Max this was developed on // returns no CPU-core sensors). Whether the page has sensors cannot change while // the machine runs, so once an enumeration succeeds and finds none, this latches -// "unavailable" and skips the (non-trivial) IOHID client/match/copy-services -// work on every later tick. A transient setup failure does not latch - it is -// retried. Mutex-guarded because the RPC handler may call it off the main thread. +// "unavailable" and skips all HID work on every later tick. A transient setup +// failure does not latch - it is retried. Mutex-guarded because the RPC handler +// may call it off the main thread. class HidCpuCoreTemperatureReader { public: + ~HidCpuCoreTemperatureReader() { + if (client_ != nullptr) { + CFRelease(client_); + } + } + TemperatureAccumulator Read() { std::lock_guard lock(mutex_); if (latched_unavailable_) { return {}; } - bool enumerated = false; + // The matched client is created once and reused: client creation is the + // expensive part of a pass. The service list is still copied fresh each + // tick, so no stale service reference is ever read. A transient creation + // failure leaves `client_` null and retries on the next tick. + if (client_ == nullptr) { + CFDictionaryRef match = CreateCpuCoreSensorMatch(); + if (match == nullptr) { + return {}; + } + client_ = IOHIDEventSystemClientCreate(kCFAllocatorDefault); + if (client_ == nullptr) { + CFRelease(match); + return {}; + } + IOHIDEventSystemClientSetMatching(client_, match); + CFRelease(match); + } + + CFArrayRef services = IOHIDEventSystemClientCopyServices(client_); + if (services == nullptr) { + return {}; + } + bool has_cpu_sensor = false; TemperatureAccumulator accumulator = - ReadHidCpuCoreTemperaturesOnce(&enumerated, &has_cpu_sensor); + ReadCpuCoreTemperaturesFrom(services, &has_cpu_sensor); + CFRelease(services); - // Latch off only when a successful enumeration proved there is no CPU-core - // sensor service - a fixed hardware fact. A transient setup failure - // (enumerated == false) leaves the latch off so it retries on the next tick. - if (enumerated && !has_cpu_sensor) { + // The service list was obtained: a genuine enumeration, authoritative for + // this machine even when it matched zero CPU-core sensors - a fixed + // hardware fact, so latch off rather than re-enumerating forever. + if (!has_cpu_sensor) { latched_unavailable_ = true; } return accumulator; @@ -602,6 +593,7 @@ class HidCpuCoreTemperatureReader { private: std::mutex mutex_; bool latched_unavailable_ = false; + IOHIDEventSystemClientRef client_ = nullptr; }; } // namespace diff --git a/src/native/processes/app_metadata.mm b/src/native/processes/app_metadata.mm index ff92514..f5cea6a 100644 --- a/src/native/processes/app_metadata.mm +++ b/src/native/processes/app_metadata.mm @@ -89,7 +89,8 @@ // accepted staleness: an app that flips its activation policy after first // sight keeps its cached bundle-path visibility; grouping still works through // the executable-path bundle, so nothing user-visible breaks. Threading: -// serial collector contract, same as the other caches. +// passes are serialized by the pass mutex in CollectProcesses, same as the +// other session caches. std::unordered_map& AppMetadataCache() { static std::unordered_map cache; return cache; @@ -115,16 +116,21 @@ void FillString(NativeString* out, NSString* value) { return std::string(); } - NSImage* resized = - [[NSImage alloc] initWithSize:NSMakeSize(kIconSizePoints, kIconSizePoints)]; - [resized lockFocus]; - [icon drawInRect:NSMakeRect(0, 0, kIconSizePoints, kIconSizePoints) - fromRect:NSZeroRect - operation:NSCompositingOperationSourceOver - fraction:1.0 - respectFlipped:YES - hints:@{NSImageHintInterpolation : @(NSImageInterpolationHigh)}]; - [resized unlockFocus]; + // imageWithSize:flipped:drawingHandler: is the supported offscreen-render + // path (lockFocus is deprecated for this); the handler runs when the CGImage + // is requested below. + NSImage* resized = [NSImage + imageWithSize:NSMakeSize(kIconSizePoints, kIconSizePoints) + flipped:NO + drawingHandler:^BOOL(NSRect destination) { + [icon drawInRect:destination + fromRect:NSZeroRect + operation:NSCompositingOperationSourceOver + fraction:1.0 + respectFlipped:YES + hints:@{NSImageHintInterpolation : @(NSImageInterpolationHigh)}]; + return YES; + }]; CGImageRef cg_image = [resized CGImageForProposedRect:nullptr context:nil hints:nil]; diff --git a/src/native/processes/process_collector.cc b/src/native/processes/process_collector.cc index 0819d48..07d1819 100644 --- a/src/native/processes/process_collector.cc +++ b/src/native/processes/process_collector.cc @@ -14,9 +14,9 @@ #include #include #include -#include #include #include +#include #include #include #include @@ -102,8 +102,9 @@ int64_t SaturatingInt64(uint64_t value) { // pre-exec value for the process's lifetime. Pruned each pass to the keys // actually seen (see CollectProcesses). // -// Threading: touched only by the collector, which runs serially on the native -// main thread - no lock needed, same contract as the icon and uid caches. +// Threading: touched only during a collection pass, and passes are serialized +// by the pass mutex in CollectProcesses - no per-cache lock needed, same +// contract as the uid and app-metadata caches. std::unordered_map& CommandLineCache() { static std::unordered_map cache; return cache; @@ -204,7 +205,10 @@ bool ListAllPids(std::vector* out, NativeFieldStatus* status) { if (static_cast(count) < pids.size()) { pids.resize(static_cast(count)); - // proc_listallpids can pad the tail with 0 entries; drop them. + // Drop pid 0: within the valid count it is the genuine kernel_task + // pseudo-process, not tail padding. Excluding it is deliberate - its + // task info and argv are denied to user space, so a row for it would + // carry a name and no usable metrics. pids.erase(std::remove(pids.begin(), pids.end(), 0), pids.end()); *out = std::move(pids); *status = NATIVE_FIELD_STATUS_AVAILABLE; @@ -518,8 +522,14 @@ void FillCpu(const proc_taskallinfo& task, bool task_ok, uint64_t ticks = task.ptinfo.pti_total_user; const uint64_t remaining = std::numeric_limits::max() - ticks; ticks += std::min(remaining, task.ptinfo.pti_total_system); - SetAvailableInt64(out->mutable_cumulative_cpu_time_ns(), - SaturatingInt64(MachTicksToNanos(ticks))); + // Clamp to JS Number.MAX_SAFE_INTEGER: the generated main-side decoder + // throws on a larger int64, and one long-lived hot process (2^53 ns is ~104 + // days of cumulative CPU) would poison the decode of the whole response. + // Display precision is irrelevant at that magnitude. + constexpr uint64_t kMaxSafeJsInteger = (uint64_t{1} << 53) - 1; + SetAvailableInt64( + out->mutable_cumulative_cpu_time_ns(), + SaturatingInt64(std::min(MachTicksToNanos(ticks), kMaxSafeJsInteger))); } // Fills the thread count from task info (pti_threadnum). Available only when the @@ -540,8 +550,9 @@ void FillThreadCount(const proc_taskallinfo& task, bool task_ok, // unmapped uid is cached as an empty name so a missing entry is not re-queried // every pass. getpwuid_r (not getpwuid) keeps the lookup thread-safe. // -// Threading: the collector runs serially on the native main thread (one pass at -// a time), so this static cache needs no lock - same contract as the icon cache. +// Threading: passes are serialized by the pass mutex in CollectProcesses (one +// pass at a time), so this static cache needs no lock - same contract as the +// argv and app-metadata caches. const std::string& LoginNameForUid(uid_t uid) { static std::unordered_map cache; const auto cached = cache.find(uid); @@ -726,24 +737,24 @@ void FillRecord( } // namespace void CollectProcesses(CollectProcessesResponse* response) { + // The session caches a pass touches (argv, uid -> name, app metadata) are + // unlocked; serializing whole passes here gives them a happens-before edge + // even if the host ever dispatches successive invokes on different threads. + // Uncontended in practice: the main-process poll loop never overlaps ticks. + static std::mutex pass_mutex; + const std::lock_guard pass_lock(pass_mutex); + std::vector pids; NativeFieldStatus list_status = NATIVE_FIELD_STATUS_UNAVAILABLE; if (!ListAllPids(&pids, &list_status)) { - // Could not enumerate at all: report unavailable with no rows. A - // permission-limited enumeration is summarized as a count-only warning. + // Could not enumerate at all: report unavailable with no rows. Main maps + // this to an unavailable snapshot; per-field statuses carry the detail in + // every other case. response->set_available(false); - if (list_status == NATIVE_FIELD_STATUS_PERMISSION_DENIED) { - NativeCollectorWarning* warning = response->add_warnings(); - warning->set_code(NativeCollectorWarning::CODE_PERMISSION_DENIED); - warning->set_affected_count(0); - } return; } response->set_available(true); - const int64_t now_ms = - static_cast(std::time(nullptr)) * 1000; - response->set_collected_at_unix_ms(now_ms); // Snapshot GUI app metadata once for the whole pass (one NSWorkspace query), // then merge the matching entry onto each record by PID. diff --git a/src/native/proto/network.proto b/src/native/proto/network.proto index e46938c..1fe41ed 100644 --- a/src/native/proto/network.proto +++ b/src/native/proto/network.proto @@ -6,24 +6,35 @@ import "google/protobuf/empty.proto"; // // Node exposes interface addresses via os.networkInterfaces() but no rx/tx byte // counters, so throughput needs a native probe. This service reads the kernel's -// cumulative per-interface byte counters (getifaddrs / if_data) and returns the -// summed totals for the active non-loopback interfaces. It is deliberately -// narrow: it returns raw cumulative counters only. The delta-to-rate math, -// first-sample handling, and counter-reset rejection live in the main-process -// sampler, not here. +// cumulative 64-bit per-interface byte counters (sysctl NET_RT_IFLIST2 / +// if_data64; the getifaddrs counters are 32-bit and wrap every 4 GiB) and +// returns them per interface for the active non-loopback interfaces. It is +// deliberately narrow: it returns raw cumulative counters only. The +// delta-to-rate math, first-sample handling, and counter-reset rejection live +// in the main-process sampler, not here. Counters are per interface (not +// summed) so the sampler can diff each interface against its own previous +// reading - an interface joining or leaving the active set must not register +// as a burst of traffic. -// Cumulative byte counters since boot, summed across the active non-loopback -// interfaces. Counters only increase under normal operation; the sampler turns -// successive readings into a per-second rate. -message NetworkCounters { - // False when no active interface could be read; the other fields are then 0 - // and the sampler degrades only the network card to unavailable. - bool available = 1; +// Cumulative byte counters since boot for one active interface. 64-bit, so +// they only increase under normal operation; an interface re-creation resets +// them to zero, which the sampler rejects per interface. +message InterfaceCounters { + string name = 1; // Kernel interface name, e.g. "en0". uint64 rx_bytes = 2; // Total bytes received (download). uint64 tx_bytes = 3; // Total bytes transmitted (upload). } +// The currently active, counted interfaces and their cumulative counters. +message NetworkCounters { + // False when the interface list could not be read or no active interface + // exists; `interfaces` is then empty and the sampler degrades only the + // network card to unavailable. + bool available = 1; + repeated InterfaceCounters interfaces = 2; +} + service NetworkService { - // Reads the current cumulative interface byte counters. + // Reads the current cumulative byte counters of the active interfaces. rpc ReadCounters(google.protobuf.Empty) returns (NetworkCounters); } diff --git a/src/native/proto/process_collector.proto b/src/native/proto/process_collector.proto index 1258aaf..731fb7e 100644 --- a/src/native/proto/process_collector.proto +++ b/src/native/proto/process_collector.proto @@ -12,11 +12,7 @@ syntax = "proto3"; // // Privacy: command-line arguments are sensitive display/search data. The // collector returns them for local display and search only - main must never -// log, persist, export, auto-copy, or transmit them, and warnings must never -// echo argument values, paths, or process names. -// -// As of I10 this contract exists and compiles; the native implementation and -// the main snapshot service that calls it are added in a later iteration. +// log, persist, export, auto-copy, or transmit them. // Availability of a native per-process value. UNSPECIFIED is the proto3 default; // the other states let main map each field to an explicit renderer status @@ -173,38 +169,18 @@ message NativeProcessRecord { // non-brittle per-process source, so the collector does not gather it. } -// A safe, count-only warning about a collection pass. Must never include -// command-line arguments, executable paths, or process names. -message NativeCollectorWarning { - enum Code { - CODE_UNSPECIFIED = 0; - // Collection completed with some per-process fields unavailable. - CODE_PARTIAL_FIELDS = 1; - // macOS denied access to one or more processes/fields. - CODE_PERMISSION_DENIED = 2; - // Command-line arguments were partially unavailable/unparsable. - CODE_COMMAND_LINE_PARTIAL = 3; - } - Code code = 1; - // Number of processes affected, or 0 when untracked. No sensitive text. - int32 affected_count = 2; -} - // Request to collect the current macOS process list. Empty for now. message CollectProcessesRequest {} // Result of one native collection pass. Main maps these raw records into the -// renderer ProcessSnapshot, computing per-process CPU deltas and applying +// renderer ProcessSnapshot, computing per-process CPU deltas, deriving its +// renderer-facing warnings from the per-field statuses, and applying // availability/privacy rules. message CollectProcessesResponse { // Whether collection produced a usable process list at all. bool available = 1; - // Unix milliseconds when native collection completed. - int64 collected_at_unix_ms = 2; // Raw per-process records for main-side mapping. - repeated NativeProcessRecord records = 3; - // Safe, count-only warnings (no sensitive text). - repeated NativeCollectorWarning warnings = 4; + repeated NativeProcessRecord records = 2; } // Request for icon bytes by content key (NativeAppMetadata.icon_key values). diff --git a/src/renderer/App.tsx b/src/renderer/App.tsx index 10ba2f8..3c076e8 100644 --- a/src/renderer/App.tsx +++ b/src/renderer/App.tsx @@ -32,7 +32,7 @@ function App() { const [view, setView] = useState("stats"); useEffect(() => { - void appGateway.setActiveView(ACTIVE_VIEW_BY_VIEW[view]); + appGateway.setActiveView(ACTIVE_VIEW_BY_VIEW[view]).catch(() => undefined); }, [view]); return ( diff --git a/src/renderer/components/metrics/cpu-row.tsx b/src/renderer/components/metrics/cpu-row.tsx index 11c9bd2..706065a 100644 --- a/src/renderer/components/metrics/cpu-row.tsx +++ b/src/renderer/components/metrics/cpu-row.tsx @@ -16,7 +16,12 @@ export function CpuRow({ snapshot }: { snapshot: MetricsSnapshot | null }) { useEffect(() => { if (!cpu) return; - const sample = cpu.status === MetricStatus.METRIC_STATUS_OK ? cpu.usagePercent : null; + // A non-finite value must enter history as a gap, not a sample: it would + // turn the axis max NaN and blank every path until it ages out. + const sample = + cpu.status === MetricStatus.METRIC_STATUS_OK && Number.isFinite(cpu.usagePercent) + ? cpu.usagePercent + : null; setHistory((prev) => pushSample(prev, sample)); }, [snapshot, cpu]); @@ -45,7 +50,7 @@ export function CpuRow({ snapshot }: { snapshot: MetricsSnapshot | null }) { {scrubbed != null && scrubPercent !== null ? ( - {scrubbed.toFixed(0)}% + {formatPercentParts(scrubbed).value}% ) : null}
diff --git a/src/renderer/components/metrics/memory-row.tsx b/src/renderer/components/metrics/memory-row.tsx index 6c4cb4e..7457f92 100644 --- a/src/renderer/components/metrics/memory-row.tsx +++ b/src/renderer/components/metrics/memory-row.tsx @@ -44,7 +44,7 @@ export function MemoryRow({ snapshot }: { snapshot: MetricsSnapshot | null }) { valueClassName={VALUE_COLOR_BY_STATE[state]} /> - {memory ? ( + {memory && live ? ( ) : (
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 }9;=cMeEaKnS9WmW-yskgkj_s~OtA{0vQAJzZ# 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�Nq1%j9p28$-F4z1!pl`Qtb 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