Commit Graph
26 Commits
Author SHA1 Message Date
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 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
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 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
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 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 56282c5080 [eric] build: stop shipping the dead google client id/secret that nothing reads at runtime 2026-05-27 14:40:04 -07:00
Eric 237738d928 [eric] build: pin uv + npm ci the builders + add an opt-in squirrel target 2026-05-27 10:19:54 -07:00
Eric ca5d69301d [eric] app builder: fix windows-built apps failing by always creating the workspace .env (the windows build dropped the .env.example it seeds from) and writing app files as utf-8 (windows cp1252 choked on arrows and chess pieces); stays on 1.1.69 to rebuild only the windows installer 2026-05-26 17:40:51 -07:00
ciregenz e9a2aac1ef [eric] win: alias step now finds installer in squirrel-windows subdir (-Recurse) 2026-05-25 14:24:31 -07:00
ciregenz 20ff15e6a0 [eric] win: upload stable-named OpenSwarm-Setup-x64.exe alias so site link stops 404ing 2026-05-25 14:01:01 -07:00
ciregenz 9001cb8e38 [eric] DMG/EXE slim ~445 MB: drop legacy onboarding videos, per-arch node + lipo-thin uv, electronLanguages=[en], exclude backend/data + uv-bin
from bundle rsync (closes dev auth.token / install_id leak), strip pip + Tcl/Tk + pydoc_data + _pyrepl, both platforms
2026-05-20 01:52:47 -07:00
ciregenz 11487456b5 eric] Google OAuth via cloud-proxy + gitleaks CI 2026-05-06 13:28:35 -07:00
ciregenzandClaude Opus 4.7 f0ea0fd1bc [eric] 1.0.27 production push: fixes the weird "exec" icon next to OpenSwarm on fresh Macs, faster startup (~10s less from shipping a real Node binary instead of running Electron as Node), and Google Workspace + other uvx-based MCPs work again on machines without uv installed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 22:37:17 -07:00
ciregenz c501b6340c [eric] OAuth + MCP polish: more reliable connect flow, Discord shim,
connected MCPs sort to top, Haiku-overflow warning, misc fixes, security risks fixes
2026-04-26 15:14:16 -07:00
Eric bb97438b66 [eric] windows install reliability: NSIS recovery layers + PS5.1 build-script ASCII fix
Three changes that make Windows installs/upgrades stop stalling on the
  'OpenSwarm cannot be closed' modal -- independent of the cloud OAuth
  work happening on the Mac side.
2026-04-26 11:35:50 -07:00
ciregenz ee91092284 [eric] fix packaged Mac boot: splash icon path, ship OAuth-only .env, exempt tools oauth callback from auth 2026-04-26 01:17:01 -07:00
ciregenz d8f69bb23d [eric] shrink prod payload another ~125MB: drop unused binary (-97MB), trim babel non-en locale data (-30MB), strip pip-only dist-info
noise (-2MB), move pytest to dev-requirements (-4MB)
2026-04-25 04:35:20 -07:00
ciregenz 94ea07dd0c [eric] make Windows install + boot way faster: splash window so it's not frozen on startup, swap MCP node_modules for tiny esbuild bundles
(138MB → 7MB), pre-compile python bytecode, parallelize Widevine, never silently quit
2026-04-25 03:05:08 -07:00
ciregenz f5cc3a36fb [eric] remove vendored 9router (now fetched from npm at build), remove Copilot, and fix subs + tools 2026-04-25 02:26:08 -07:00
Eric 744a14dc47 [eric] 1.0.26 windows-only: fix subscription OAuth + perf pass
Connecting→Connect mid-flow on Windows: 9router callback hardcoded
  localhost:8324 (dies when backend lands on 8325+)
2026-04-22 16:33:00 -07:00
Eric 4ce4dec33c [eric] windows polish + bump 1.0.25: publish-win.ps1 mirror of publish.sh + run.ps1 windows dev launcher, build-app-win.ps1 warns 8s if Mac latest-mac.yml missing in
v<version> release before -Publish, python-env cache skip via OPENSWARM_REBUILD_PYTHON, pip stderr wrapped to suppress PS5.1 NativeCommandError; analytics APP_VERSION
  auto-derived from electron/package.json (single source of truth); OnboardingModal renders Connected state for already-active providers; gitignore fix for backend/.venv.
  Bumps 1.0.25 - first version that ships Mac and Windows together.
2026-04-21 21:53:48 -07:00
Eric 9ff07443db [eric] windows shipping: electron-builder win+nsis + Azure Trusted Signing hook, build-app-win.ps1 / build-python-env-win.ps1 mirroring mac, release-windows.yml tag-triggered CI, icon.ico + .env.windows.example, .claude/ + .env.* gitignored. Runtime fixes: PYTHONUTF8=1 (cp1252 UnicodeDecode), python.exe / Lib\site-packages paths, PYTHONPATH path.delimiter, taskkill /T /F process tree, OAuth UA platform branch, sign-vmp postinstall via node wrapper. Backend: _resolve_command PATHEXT probing (fixes uvx not found), UV_PYTHON Windows path. Cross-env added to 9router+electron for NODE_ENV prefix on cmd. Onboarding: poll subscriptions/status while connect step is open, render Connected for active providers (was stuck on "Connect" after 30s OAuth poll timeout). 2026-04-21 18:15:49 -07:00