Skip to content

Commit ba8accb

Browse files
author
Shaw
committed
fix(release): restore desktop release inputs
1 parent f0a35a5 commit ba8accb

3 files changed

Lines changed: 71 additions & 0 deletions

File tree

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Desktop Release Regression Inventory
2+
3+
This inventory records desktop regression coverage that is intentionally outside
4+
the deterministic PR gate. The release matrix validator keeps these entries
5+
visible so they are reviewed before a production desktop release.
6+
7+
## Packaged and E2E Coverage
8+
9+
- gameOpenWindow — full round-trip with openGameWindow mock (needs canvas mock update)
10+
- Abnormal window position (off-screen) is corrected to safe defaults (e2e)
11+
- Deep link received while app is closed causes app to launch (e2e)
12+
- Deep link received while app is open does not launch second instance (e2e)
13+
- Shortcuts survive window focus changes (e2e)
14+
- App launches automatically after system restart (e2e)
15+
- Auto-launch survives app updates (e2e)
16+
- Keyboard shortcut Cmd+Q triggers quit (e2e)
17+
- Keyboard shortcut Cmd+R triggers reload (e2e)
18+
- Keyboard shortcut Cmd+Option+I opens devtools (e2e)
19+
- Gateway discovery sends gatewayDiscovery push event to renderer (integration)
20+
- Canvas window is sandboxed — cannot access main app origin (integration)
21+
- Canvas navigate blocks external URLs (integration)
22+
- Agent port is reachable via HTTP after status reaches 'running' (integration)
23+
- Agent crash triggers automatic restart (integration)
24+
- Stopping agent while starting does not leave zombie process (integration)
25+
- Check for updates contacts the release server (network)
26+
- Applying update relaunches the app (e2e)
27+
- Update check works on both canary and stable channels (network)
28+
- Tray icon persists after main window is closed (e2e)
29+
- Main window has native vibrancy effect on macOS (e2e)
30+
- Context menu closes when clicking elsewhere (e2e)
31+
32+
## Hardware and Manual Coverage
33+
34+
- Microphone input works after permission is granted (hardware)
35+
- Swabble fires 'wakeWordDetected' event when wake word is spoken (hardware)
36+
- Audio transcription produces non-empty text for clear speech (hardware)
37+
- Camera preview renders in the UI when stream is started (hardware)
38+
- Switching between front/rear camera works (hardware)
39+
- takeScreenshot returns a non-empty base64 PNG (hardware)
40+
- Frame capture mode streams frames at configured interval (hardware)
41+
- Left-clicking the tray icon opens the companion window (visual)
42+
- Right-clicking the tray icon shows the tray context menu (visual)
43+
- Window can be dragged by clicking the header region (visual)
44+
- Photo quality is acceptable at default settings (hardware)
45+
- Requesting accessibility opens System Preferences (OS interaction)
46+
- Permission status reflects actual system state (OS interaction)
47+
- Context menu appears at cursor position (visual)
48+
- Power state reflects actual battery status (hardware)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Desktop Release Regression Checklist
2+
3+
Complete these manual checks for desktop release candidates after packaged smoke
4+
tests pass on the target platform.
5+
6+
- [ ] Left-clicking the tray icon opens the companion window (visual)
7+
- [ ] Right-clicking the tray icon shows the tray context menu (visual)
8+
- [ ] Window can be dragged by clicking the header region (visual)
9+
- [ ] Photo quality is acceptable at default settings (hardware)
10+
- [ ] Requesting accessibility opens System Preferences (OS interaction)
11+
- [ ] Permission status reflects actual system state (OS interaction)
12+
- [ ] Context menu appears at cursor position (visual)
13+
- [ ] Power state reflects actual battery status (hardware)

packages/app-core/scripts/desktop-build.mjs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ const CORE_PACKAGE_DIR = resolveWorkspacePackageDir("core");
6363
const ELECTROBUN_CARROTS_PACKAGE_DIR =
6464
resolveWorkspacePackageDir("electrobun-carrots");
6565
const SHARED_PACKAGE_DIR = resolveWorkspacePackageDir("shared");
66+
const UI_PACKAGE_DIR = resolveWorkspacePackageDir("ui");
6667
const VAULT_PACKAGE_DIR = resolveWorkspacePackageDir("vault");
6768

6869
const argv = process.argv.slice(2);
@@ -598,6 +599,13 @@ function ensureWorkspaceRuntimePackagesBuilt() {
598599
ensureWorkspaceRuntimePackageBuilt("@elizaos/app-core", APP_CORE_PACKAGE_DIR);
599600
}
600601

602+
function ensureUiGeneratedAssets() {
603+
runBun(["run", "generate:css-strings"], {
604+
cwd: UI_PACKAGE_DIR,
605+
label: "Generating @elizaos/ui CSS string modules",
606+
});
607+
}
608+
601609
function stageDesktopBuild() {
602610
ensureAppDirs();
603611

@@ -648,6 +656,8 @@ function stageDesktopBuild() {
648656
allowFailure: true,
649657
});
650658

659+
ensureUiGeneratedAssets();
660+
651661
runPackageBinary("vite", ["build"], {
652662
cwd: APP_DIR,
653663
env: {

0 commit comments

Comments
 (0)