Commit Graph
127 Commits
Author SHA1 Message Date
ciregenz ae2f5e0f3d [eric] release: smoke the packaged Mac build, including whether it contains the fixes it claims 2026-08-02 21:51:52 -07:00
ciregenz 06a4d3f29a [eric] build: signup already prompts for the code, so stop asking twice 2026-08-02 19:08:22 -07:00
ciregenz 45e9c98826 [eric] build: one-time EVS setup so a Mac release stops stalling on missing Widevine creds 2026-08-02 19:01:28 -07:00
ciregenz 0d826b5daa [eric] build: drop foreign-arch native prebuilds from the app, with a release gate to keep them out 2026-07-31 00:05:54 -07:00
ciregenz df0e4a2393 [eric] merge eric/onboarding into eric/dev; version 1.6.0 2026-07-28 22:20:34 -07:00
ciregenz 35a281f4ad [eric] voice: bundle per-arch whisper-server into the mac build (pinned v1.7.6, static + non-system-dylib gate; model stays the proven first-run download) 2026-07-28 17:27:05 -07:00
ciregenz bf49c2c528 [eric] win: sign the bundled claude.exe (AV-quarantine class) + require-signed gate + post-sign smoke 2026-07-28 15:49:59 -07:00
ciregenz fe29551d74 [eric] voice: native trackpad haptics addon (NSHapticFeedbackManager, mouseclamp pattern) taps on dictation start/stop 2026-07-28 15:01:59 -07:00
ciregenz b8122d5649 [eric] build: uv presence check requires a universal binary, a thin dev uv no longer kills the dual-arch cut mid-build 2026-07-26 21:36:48 -07:00
ciregenz 243207e9b9 [eric] build: per-arch bundled python-env; x64 DMG shipped arm64 python, bricking Intel Macs 2026-07-06 14:52:26 -07:00
ciregenz a0947fe13e [eric] build: VMP_REQUIRE_SIGN=0 override for cred-less local cuts (CI keeps the hard gate) 2026-07-05 16:53:00 -07:00
ciregenz 0680c873dd [eric] merge #117: VMP-sign packaged builds so Widevine playback works 2026-07-05 16:14:57 -07:00
ciregenz 9603912237 [eric] merge eric/app-ux: app builder UX + browser tab drag-out + CreateApp fold-in 2026-07-02 16:10:56 -07:00
ciregenz 01e70fdd40 [eric] apps: restart.sh lets the agent bounce its own runtime (sentinel watched by the harness) 2026-07-02 02:48:21 -07:00
ciregenz 85d77ca552 [eric] apps: multiple independent instances per app (own runtime + ports; alt-click or paste to open) 2026-07-02 01:24:22 -07:00
ciregenz 6c916e633d [eric] build: ship mac en.lproj locale pak + blocking verify gate (passkey suicide fix) 2026-07-02 00:45:27 -07:00
ciregenz f19284a456 [eric] apps: card Preview/Code/Terminal switcher, terminal hard-reload, agent-readable terminal.log 2026-07-02 00:35:13 -07:00
ciregenz 77ff2b79e9 [eric] debugger: swap vendored debugger/ for PyPI swarm-debug in app workspaces 2026-07-02 00:16:53 -07:00
abccodes fe52665193 [aidan] fix/spotify-drm: VMP-sign packaged builds so Widevine playback works 2026-07-01 18:28:53 -07:00
ciregenz a2b8a2c335 [eric] build: bundle npm with node so packaged apps can install custom deps (fixes imported backend apps not starting) 2026-06-26 05:14:04 -07:00
ciregenz 1767389cbb [eric] browser: leading-_ -> p_/P_/public for module functions+constants+state across browser subsystem; promote cross-file symbols public (detect_loop, BROWSER_HISTORY, TRUSTED, etc.), align analyze-browser-metrics.py + tests 2026-06-23 19:37:40 -07:00
Eric 1a559deadf [eric] perf: revert #9 items 1+3 build wiring (measured: no cold benefit)
- zip-stdlib + pyc-only gave no cold improvement (cold is native-binary-scan-bound)

- keep build lean; scripts stay as drafts; cold lever is the opt-in defender exclusion (item 5)
2026-06-17 01:50:18 -07:00
Eric b22f46be47 [eric] perf: enable #9 items 1+3 in the windows build (zip stdlib + pyc-only deps)
- shrinks python-env 13554 -> 9287 files (~31%); validated: backend.main imports clean with both applied

- targets the python-env Defender scan that dominates the 22.5s cold start

- guarded (skips if python313.zip already present); non-fatal
2026-06-17 01:08:00 -07:00
Eric 41f812f7d6 [eric] app-builder: ship webapp node_modules as .tar.gz, not pre-extracted (build perf)
- pre-extracting ~30k files into resources blew the windows build past 50min (squirrel lzma on tiny files) + bloated the installer

- revert step 4b to a single node_modules.<digest>.tar.gz (mirrors mac); runtime extracts to warm cache in the background at startup (off the create path)

- runtime _bundled_extracted_modules() stays as a harmless fallback (returns None -> tar path)
2026-06-16 23:44:21 -07:00
Eric 947a6c1db5 [eric] perf: draft opt-in defender exclusion helper for windows cold-start (#9 item 5)
- scripts/add-defender-exclusion.ps1: dry-run default; -Apply/-Remove (admin); -Status

- excludes %LOCALAPPDATA%/%APPDATA%/~ openswarm dirs; kills defender cold-scan entirely

- security-sensitive: opt-in only, never silent; settings-toggle design documented, not auto-applied
2026-06-16 22:23:11 -07:00
Eric dcd4f6f149 [eric] perf: draft pyc-only site-packages strip to shrink defender cold-start (#9 item 3)
- standalone, dry-run by default, NOT wired into the release build (build-gated)

- strips 3352 .py (26.9MB) from site-packages to sourceless .pyc; mechanism proven on bundled 3.13

- scope: site-packages only (keeps backend source for the debugger); validate on a packaged exe
2026-06-16 22:15:45 -07:00
Eric 8df4d3821b [eric] perf: draft stdlib-zip tool to shrink defender cold-start surface (#9 item 1)
- standalone, dry-run by default, NOT wired into the release build (build-gated)

- collapses ~910 loose stdlib files into python313.zip (cpython auto-adds it to sys.path)

- validate on a packaged exe before enabling; see docs/perf/winv2
2026-06-16 21:59:16 -07:00
Eric 9f0f561dde [eric] app-builder: pre-extract webapp-template node_modules into windows resources
- step 4b builds node_modules natively and robocopies it into resources (digest-tagged)

- runtime junctions straight at it; kills the ~14s first-app extract; non-fatal on failure
2026-06-16 21:59:16 -07:00
ciregenz d9481eb4b6 [eric] macos: native mouse-clamp addon to dodge the off-window mouse-release RootView::UpdateCursor crash 2026-06-13 21:29:03 -07:00
ciregenz e6a1a5f2a5 [eric] browser: measure whether the playbook cuts exploration turns, flag when it doesn't 2026-06-02 23:19:47 -07:00
ciregenz 2b2d5909a8 [eric] browser: instrument skill lifecycle, measure replay speedup, flag silent non-help 2026-06-02 18:03:43 -07:00
ciregenz 69c4546735 [eric] browser: refine ghost detector so read tasks need returned content, not state change 2026-06-02 12:35:12 -07:00
ciregenz 8a0cb4a6a0 [eric] browser: human-performance benchmark harness for rudimentary tasks 2026-06-02 12:29:59 -07:00
ciregenz e2102afeab [eric] browser: metrics analyzer with ghost-success detection 2026-06-02 12:13:59 -07:00
ciregenz 04faff315a [eric] ci: fix mcp-bundles node path and whitelist wheel sboms in host-leakage 2026-06-01 15:01:13 -07:00
eric 6b145b7c88 [eric] fix: merge eric/youtube into eric/dev (bundle kirbah-mcp-youtube to skip npx on windows) 2026-05-31 17:18:24 -07:00
eric 1a80d7329c [eric] fix: bundle @kirbah/mcp-youtube in build-app.sh so windows users dont need npx 2026-05-31 16:06:04 -07:00
eric d0e03e4555 [eric] sync: merge v1.1.71 into main (take theirs on stale 1.1.43 hotfixes) 2026-05-31 15:56:09 -07:00
ciregenz 329e43ce2c [eric] win: generate latest.yml for squirrel releases so existing NSIS clients can migrate 2026-05-31 13:06:06 -07:00
ciregenz 028984cb67 [eric] build: precompile python bytecode with unchecked-hash so installs stop recompiling every launch 2026-05-29 22:17:26 -07:00
ciregenz e209c48f59 [eric] build: pass squirrelWindows.iconUrl in -Squirrel override (eb26 requires it) 2026-05-29 19:08:45 -07:00
ciregenz 7e8a5fa440 [eric] build: fix -Squirrel arg passing (array expansion not @ splat) so the target override reaches electron-builder 2026-05-29 19:02:00 -07:00
ciregenz e7991f138b [eric] ci: run signtool verify /pa unconditionally when authenticode status isnt Valid 2026-05-29 15:53:10 -07:00
ciregenz af24590b5f [eric] ci: verify-signature accepts Azure Trusted Signing via signtool /pa cross-check 2026-05-29 15:37:59 -07:00
Eric 2b4d90edaa [eric] ci: parallelize + cache the e2e gate to cut push wall-clock under ~10 min
- split the single windows e2e job into parallel jobs: gate (pure-node
  selftests, no build), verify (build + verify-all), playwright (build +
  renderer suite). verify and playwright run concurrently so wall-clock is
  max(verify, playwright), not their sum
- build the UNPACKED app on the gate path (electron-builder --dir via a new
  -DirOnly switch in build-app-win.ps1), skipping the ~2min NSIS LZMA
  compression. verify-all drives win-unpacked\OpenSwarm.exe; afterPack +
  locale paks still run in the pack phase, and verify-update-feed skips
  cleanly when no installer feed is present
- cache the heavy build inputs (bundled Python env, uv, MCP bundles) + npm
  across runs, keyed on their source manifests; the build script already skips
  any input already on disk, so warm builds are fast
- move the destructive installer cycle to its own job gated off routine pushes
  (runs on PR-to-main / dispatch; release-windows.yml covers v* tags)
- apply the same caching to dogfood (shares cache keys, so the two warm each other)
2026-05-28 23:55:32 -07:00
Eric 99f1e56497 [eric] installer: skip Defender prewarm on silent installs to fix the install hang
- the customInstall macro runs `OpenSwarm.exe --prewarm` via nsExec::Exec,
  which is synchronous with no upper time bound. On a clean box the silent
  install launches the freshly-extracted, not-yet-signed binaries, provoking a
  cold Windows Defender scan that stalls for minutes - this hung the CI
  installer-verification step (no output for ~3m, then cancelled)
- both CI verification and production auto-updates run the installer with /S,
  so this same stall could hang a real user's auto-update
- gate the prewarm behind ${If} ${Silent} ... ${Else}: interactive first-time
  installs (where the cold-start win lands) still prewarm; silent installs skip
  it and finish promptly
- verify-installer: keep the blocking spawnSync (it must wait for the registry
  uninstall entry the gate checks) but add a 300s timeout so any future
  synchronous stall fails the gate in minutes instead of hanging the job
2026-05-28 23:39:41 -07:00
Eric 77ad8333c9 [eric] ci: stop host-leakage flagging the generic CI runner account
- skip the bare /Users/runner and /home/runner homes and the literal
  "runner" username: they collide with third-party embedded paths and the
  english word "runner" everywhere, burying real leaks in noise
- the precise /Users/runner/work + D:\a\openswarm work-dir patterns still
  catch a genuine leak from those accounts
2026-05-28 23:14:02 -07:00
Eric d6e6f9e9e0 [eric] ci: drop macOS legs and gate the packaged-app build on artifact paths
- e2e + dogfood matrices are now windows-latest only: GitHub's scarce mac
  runners left the macos legs perpetually queued/starved and they surfaced
  mac-only failures untriageable from the Windows dev box, so the whole
  matrix read red
- remove the now-dead macOS build steps; re-add macos-14/macos-13 (matrix
  edit + workflow_dispatch) when a Mac maintainer can own them
- gate the expensive build on artifact-affecting paths only (electron,
  frontend, backend, e2e, build+ci scripts) plus PRs to main + dispatch;
  cheap hermetic gates still run on every push
- verify-release-readiness defaults to --require win32 so the removed darwin
  leg does not block every v* tag forever
2026-05-28 23:14:01 -07:00
Eric f1a3ec2598 [eric] electron: fix the electron 42 windows build - electronLanguages en to en-US so the renderer gets a non-empty --lang (electron 42 renamed en.pak to en-US.pak; empty locale crashed blink LCIDFromLocaleInternal with 0xC0000005), bump electron-builder 25.1.8 to 26.8.1 + migrate win.sign to signtoolOptions, after-pack hook restores the 9router node_modules eb26 drops from extraResources so the subscription service stops hanging, and verify-locale-paks + verify-router-deps gate both in verify-all 2026-05-28 21:41:01 -07:00
Eric d8c4aeb137 [eric] e2e+ci: addInitScript in launchApp setting __OPENSWARM_E2E__=true before bundle.js parses so the production-build store-on-window gate fires for specs that drive Redux directly, plus chain selftest-pairwise into verify-all and the e2e workflow so the covering-array math is validated on every CI push 2026-05-28 09:35:27 -07:00