源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
Dependency audit / audit (push) Canceled after 0s
CI / plan (push) Canceled after 0s
Gitoxide helper admission / macos-latest (push) Canceled after 0s
Gitoxide helper admission / ubuntu-latest (push) Canceled after 0s
Gitoxide helper admission / windows-latest (push) Canceled after 0s
Runtime Host peer admission / quality (push) Canceled after 0s
Windows recovery / windows_recovery (push) Canceled after 0s
CI / heavy (push) Canceled after 0s
CI / test (push) Canceled after 0s

This commit is contained in:
agent-radar
2026-09-01 19:05:14 +08:00
commit 7be535059e
3358 changed files with 1306357 additions and 0 deletions
+85
View File
@@ -0,0 +1,85 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# Desktop smoke runbook
Use the narrowest deterministic check that covers the change, then add live-window evidence or a Storybook story when the risk requires it. Scenario inventories and check identifiers live in the scripts and fixtures, not in this document.
## Automated desktop checks
Run the desktop test suite for main-process, IPC, fixture, or contract changes:
```bash
npm run build:test
npm --workspace @maka/desktop run test:dist
```
For a journey across renderer and main, extend the existing Playwright E2E suite and run:
```bash
npm --workspace @maka/desktop run e2e
```
Keep these runs on the fake backend and use deterministic fixtures.
## Real Electron window smoke
Screenshots and DOM checks do not prove native resize, drag regions, modal focus, or a healthy live renderer. Changes to the shell, sidebar, modal backdrop, window drag regions, or top-level renderer lifecycle must run:
```bash
npm --workspace @maka/desktop run smoke:real-window
```
The script builds the required workspaces, launches Electron with isolated user data, records programmatic checks, and prompts for native OS checks. Confirm that:
- the window launches without a crash or ErrorBoundary;
- each edge resizes and dragging all four corners resizes diagonally;
- allowed titlebar regions drag the window while controls do not;
- the Search modal opens and closes by button, backdrop, and Escape;
- Tab and Shift+Tab stay inside the modal and return focus afterward;
- modal-open window edges remain resizable;
- switching modules after closing the modal leaves the renderer healthy.
Reports are written under `apps/desktop/tests/real-window-smoke/`. A failed or unverified native check must remain visible in the report. A UI-shell PR is not ready to merge until the required report is attached or summarized for review.
For environments that cannot perform native hit testing, run the programmatic layer explicitly and record the limitation:
```bash
npm --workspace @maka/desktop run smoke:programmatic-window
```
## Storybook baseline and visual contracts
Storybook is the production-backed design catalog, not a screenshot or desktop E2E harness. Page-level stories (e.g. `apps/desktop/stories/settings/settings-pages.stories.tsx`) render each surface with mocked IPC via `withScopedMakaBridge`; add a story variant for any state the page does not already cover. CI only builds the catalog and mounts every story once without running `play`. Style, layout and interaction invariants belong in focused component contracts or the real Electron E2E harness. Run Storybook with:
```bash
npm --workspace @maka/desktop run storybook
```
To inspect a deterministic fixture interactively without touching a real workspace (the same `MAKA_E2E_FIXTURE` mechanism the Playwright E2E suite uses):
```bash
MAKA_E2E_FIXTURE=all npm --workspace @maka/desktop run dev
```
Use a scenario name from the fixture registry for a narrower launch.
## Release floor
Before a release, run the full automated suite and real-window smoke on supported desktop platforms. Visual regressions are caught by Storybook stories and computed-style contract tests; record any platform that could not be verified rather than treating absence of evidence as a pass.