Commit Graph

  • 8d93e29321 [eric] agent: reframe identity as the user's personal digital company, drop coding emphasis eric 2026-05-31 23:38:53 -07:00
  • 979301db4d [eric] agent: trim identity blurb to one OpenSwarm mention and a tighter line (79 tokens) eric 2026-05-31 23:37:26 -07:00
  • 5e4148ef3e [eric] agent: make the identity blurb shorter, quirkier and less repetitive (mistaken-identity framing, one disavowal not three) eric 2026-05-31 23:33:13 -07:00
  • 1bccb24b54 [eric] agent: stop the assistant calling itself Claude Code by appending an identity override after the preset (keeps tools + cache, edit AGENT_NAME to rebrand) eric 2026-05-31 23:29:18 -07:00
  • 2177bee587 [eric] docs: context drawer tip matches the new auto-compact-and-send behavior instead of the stale 90pct trim copy eric 2026-05-31 23:20:19 -07:00
  • 661e6f80e2 [eric] ui: stream text reveals at a steady human-typing cadence for every model, zero-dep and zero added ttft (adaptive char pacing decoupled from bursty network chunks) eric 2026-05-31 23:19:59 -07:00
  • 2ebc395c20 [eric] ui: native files up to 98pct of window, compaction resets every context surface not just tokens, and the context ring eases down with a soft settle-flash when room is freed eric 2026-05-31 23:13:03 -07:00
  • deaab16234 [eric] perf: send files natively up to 85pct of window like claude.ai does instead of force-summarizing at 50pct (kills the 60s pre-process for files that already fit) eric 2026-05-31 23:08:45 -07:00
  • 32bc3077ad [eric] ux: oversize files auto-shrink and over-context sends auto-compact, no click needed, popups are now status not prompts eric 2026-05-31 23:06:28 -07:00
  • 7ed8d8d27a [eric] ui: popups and chip fade in/out instead of snap-cutting and shrink gets a calm 'may take a minute' hint after 10s only eric 2026-05-31 22:51:02 -07:00
  • eb70337b00 [eric] mac: after a crash relaunch user sees a tiny 'we had a hiccup, sessions are still here' chip for 8s instead of nothing eric 2026-05-31 22:22:13 -07:00
  • ec6a923b46 [eric] ui: one popup handles all oversize files at once and the send fires itself after - 5 clicks becomes 1 eric 2026-05-31 22:18:21 -07:00
  • bc1db576a0 [eric] ui: oversize popup and error toast now sit inside the chat panel so they cant get clipped by the canvas eric 2026-05-31 22:03:03 -07:00
  • 91d68985de [eric] docs: precedences for crash mitigations (silent in both directions, per-platform, every guard not most) eric 2026-05-31 21:52:38 -07:00
  • f325bc28c3 [eric] mac: chromium occlusion-feature flag dodge plus a watchdog that quietly relaunches on crash (5 guards so it never false-fires) eric 2026-05-31 21:52:08 -07:00
  • 5d282b67ef [eric] ui: send-block banner is plain not red, compact button actually invalidates the stale estimate, chip tooltips show filename not temp path eric 2026-05-31 19:07:28 -07:00
  • a6dd596405 [eric] ui: shrinking state is just a pulsing dot + one word, docs say minimalism beats carousels eric 2026-05-31 18:53:09 -07:00
  • 11b7d9b7a4 [eric] perf+ui: shrink runs chunks in parallel (5min -> ~1min) and shows a live pulsing label so users know its working eric 2026-05-31 18:50:46 -07:00
  • 56caabebbc [eric] fix: popup uses full width and matches app surface, error toast no longer red wall, summarize chunks small enough for dense pdf tokenization eric 2026-05-31 18:40:33 -07:00
  • efd901318c [eric] docs: ui/ux precedence in frontend claude.md (plain english, no jargon, no backend errors in toasts) eric 2026-05-31 18:35:43 -07:00
  • 9731ccaa7d [eric] ui: oversized file popup is now plain english (shrink it / remove), error toast no longer dumps backend stack traces eric 2026-05-31 18:34:52 -07:00
  • 1372130d28 [eric] fix: summarize big files by chunking when source exceeds aux model window then merging eric 2026-05-31 18:33:02 -07:00
  • 3dc8ff842a [eric] fix: text attachment cap is all-or-nothing now, no half-files since partial confuses the model and the user eric 2026-05-31 18:24:38 -07:00
  • 0ed5457ca2 [eric] docs: record hardening precedences (compaction trims, ssrf is async loopback-allowed, ports must be stable) eric 2026-05-31 18:13:06 -07:00
  • 3b42f608ad [eric] fix: pin packaged frontend server to port 4173 so localstorage survives restart and onboarding doesnt retrigger every update eric 2026-05-31 18:09:36 -07:00
  • 1035c50be3 [eric] perf: force enable_tool_search=1 on non-anthropic paths so schemas load on demand and first message is ~9k tokens cheaper eric 2026-05-31 18:06:39 -07:00
  • 0b35b70d0b [eric] sec: wire ssrf guard into webfetch (per-redirect) and /api/web/fetch (initial) eric 2026-05-31 18:05:34 -07:00
  • 68b7aa9a94 [eric] sec: ssrf guard module (async dns, ipv6 covered, loopback allowed for app builder) eric 2026-05-31 18:04:16 -07:00
  • c9d2005e0b [eric] fix: cap combined inline text attachments at 1.5m chars so a pile of txt files cant silently blow the context window eric 2026-05-31 18:01:48 -07:00
  • ecf348f9cb [eric] fix: autocompact now actually trims the model's history instead of just showing a marker eric 2026-05-31 18:00:39 -07:00
  • ce5c0bcb95 [eric] ci: merge squirrel into eric/dev (mac skip-guard + windows gh-publish naming) eric 2026-05-31 17:32:34 -07:00
  • 6b145b7c88 [eric] fix: merge eric/youtube into eric/dev (bundle kirbah-mcp-youtube to skip npx on windows) eric 2026-05-31 17:18:24 -07:00
  • d544025142 [eric] ci: skip macOS release steps when Apple secrets absent (Mac ships via publish.sh) + drop EP_PRE_RELEASE checkbox-forcing ciregenz 2026-05-31 17:17:59 -07:00
  • 72e0bf4105 [eric] fix: vendor kirbah-mcp-youtube.js bundle (33mb, mostly googleapis) to skip npx on first run eric 2026-05-31 16:07:53 -07:00
  • b1762d1187 [eric] ci: publish windows squirrel assets via gh (not electron-builder) so the installer keeps the OpenSwarm-Setup-x64.exe name v1.1.71 ciregenz 2026-05-31 16:06:50 -07:00
  • 1a80d7329c [eric] fix: bundle @kirbah/mcp-youtube in build-app.sh so windows users dont need npx eric 2026-05-31 16:06:04 -07:00
  • d0e03e4555 [eric] sync: merge v1.1.71 into main (take theirs on stale 1.1.43 hotfixes) eric 2026-05-31 15:56:09 -07:00
  • 67894bdfcf [eric] ci: build windows release with -Squirrel override so the installer is named OpenSwarm-Setup-x64.exe (matches landing page + latest.yml) ciregenz 2026-05-31 15:45:02 -07:00
  • b0c4278ccb [eric] ci: bypass the dogfood release-gate for macOS too (mirrors release-windows) so v1.1.71 builds the DMG ciregenz 2026-05-31 15:28:03 -07:00
  • 3c32fe7773 [eric] ci: ship experimental builds as semver-suffix channel (not GH pre-release) so allowPrerelease clients actually see them v1.1.71-rc.1 ciregenz 2026-05-31 14:26:59 -07:00
  • 4b9823db67 [eric] ci: stage isolated v1.1.71-rc.1 feed to test the live NSIS->squirrel migration ciregenz 2026-05-31 13:06:06 -07:00
  • 329e43ce2c [eric] win: generate latest.yml for squirrel releases so existing NSIS clients can migrate ciregenz 2026-05-31 13:06:06 -07:00
  • 496bea736d [eric] win: match the legacy NSIS uninstall entry by DisplayName -like 'OpenSwarm*' (NSIS appends the version, exact match found nothing) ciregenz 2026-05-30 03:03:49 -07:00
  • c6cdb982fa [eric] release: bump squirrel to 1.1.71 (first squirrel release version / migration target) ciregenz 2026-05-30 01:17:10 -07:00
  • 78eedf18c4 [eric] win: squirrel firstrun silently removes the legacy NSIS install (NSIS->Squirrel migration cleanup, deferred to quit, best-effort) ciregenz 2026-05-30 01:17:10 -07:00
  • abf2daf0da [eric] win: fold proven squirrel autoUpdater fixes into squirrel (non-throwing check, event-signature normalization, already-running guard) ciregenz 2026-05-30 01:06:11 -07:00
  • e7dde47869 [eric] ci: point the squirrel build workflow at the renamed squirrel branch ciregenz 2026-05-29 22:22:43 -07:00
  • be8d6fd081 [eric] win: switch product to squirrel target + wire built-in autoUpdater on the RELEASES feed ciregenz 2026-05-29 22:22:43 -07:00
  • 4c6326a566 [eric] security: pin 9router to loopback so it stops lan-exposing api keys + tripping the firewall prompt ciregenz 2026-05-29 21:04:14 -07:00
  • 028984cb67 [eric] build: precompile python bytecode with unchecked-hash so installs stop recompiling every launch ciregenz 2026-05-29 21:04:14 -07:00
  • 2b92ac663d [eric] ci: push-triggered NSIS fast-boot test build for the bytecode-fix A/B ciregenz 2026-05-29 21:04:14 -07:00
  • 207dc846bc [eric] security: pin 9router to loopback so it stops lan-exposing api keys + tripping the firewall prompt ciregenz 2026-05-29 21:04:14 -07:00
  • 703d9f2866 [eric] build: precompile python bytecode with unchecked-hash so installs stop recompiling every launch ciregenz 2026-05-29 21:04:14 -07:00
  • ac31593eda [eric] win: handle Squirrel install events so the app makes its Start Menu/Desktop shortcut ciregenz 2026-05-29 19:41:03 -07:00
  • e209c48f59 [eric] build: pass squirrelWindows.iconUrl in -Squirrel override (eb26 requires it) ciregenz 2026-05-29 19:08:45 -07:00
  • 7e8a5fa440 [eric] build: fix -Squirrel arg passing (array expansion not @ splat) so the target override reaches electron-builder ciregenz 2026-05-29 19:02:00 -07:00
  • 81cabb5390 [eric] ci: push-triggered Squirrel installer build for personal install-and-feel testing ciregenz 2026-05-29 18:55:24 -07:00
  • 06dde355a5 [eric] build: pin electron-builder-squirrel-windows so the -Squirrel target is build-safe ciregenz 2026-05-29 18:55:24 -07:00
  • 0d0bae0ba8 [eric] build: set explicit dmg.size (5g) so dmgbuild stops under-allocating the disk image ciregenz 2026-05-29 16:14:58 -07:00
  • e7991f138b [eric] ci: run signtool verify /pa unconditionally when authenticode status isnt Valid ciregenz 2026-05-29 15:53:10 -07:00
  • af24590b5f [eric] ci: verify-signature accepts Azure Trusted Signing via signtool /pa cross-check ciregenz 2026-05-29 15:37:59 -07:00
  • f7741de556 [eric] ci: bypass dogfood release-gate for v1.1.70 windows build v1.1.70 ciregenz 2026-05-29 13:09:02 -07:00
  • 96f647c851 [eric] ci: fix invalid flow-mapping env in release workflows (0-job parse failure) ciregenz 2026-05-29 13:05:00 -07:00
  • 90bd4e2372 [eric] release: bump version to 1.1.70 ciregenz 2026-05-29 12:56:10 -07:00
  • ea001272f5 [eric] ops: backlog item for download-tracking visibility ciregenz 2026-05-29 12:19:34 -07:00
  • 88ff712c2e [eric] ci: drop the dogfood cron, run only on build-affecting pushes + dispatch Eric 2026-05-29 12:18:47 -07:00
  • 2b4d90edaa [eric] ci: parallelize + cache the e2e gate to cut push wall-clock under ~10 min Eric 2026-05-28 23:55:32 -07:00
  • 99f1e56497 [eric] installer: skip Defender prewarm on silent installs to fix the install hang Eric 2026-05-28 23:39:41 -07:00
  • ef0c9bd5ee [eric] e2e: fix latent serial-masked failures (modes + theme matrix) Eric 2026-05-28 23:14:02 -07:00
  • 77ad8333c9 [eric] ci: stop host-leakage flagging the generic CI runner account Eric 2026-05-28 23:14:02 -07:00
  • d6e6f9e9e0 [eric] ci: drop macOS legs and gate the packaged-app build on artifact paths Eric 2026-05-28 23:14:01 -07:00
  • e0ebd23a5a [eric] e2e: create a dashboard before the toolbar/canvas specs so a clean CI profile does not fail - combinatorial Add-note and deep-coverage Dashboard-canvas both clicked surfaces that only mount once a dashboard is active, which a freshly-wiped CI profile lacks Eric 2026-05-28 22:29:20 -07:00
  • 203c68f97e [tarun] fix: fsync tempfile and dir in atomic_write_json Tarun Teja Kalagara 2026-05-29 00:52:35 -04:00
  • 894d1a7a95 [eric] gitignore: ignore the repo-root test-results/ playwright drops when run from the root Eric 2026-05-28 21:51:49 -07:00
  • 9aaf503b03 [eric] e2e: expose the redux store deterministically via webPreferences.additionalArguments, fix visibility capture (read the chromium trace from tracingComplete, resolve click targets to the control, drop the dead contextBridge ipc wrap), harden onboarding/settings/combinatorial specs and add multi-window-stress Eric 2026-05-28 21:41:01 -07:00
  • 41031a7790 [eric] backend: load_settings never bricks boot on a corrupt or version-drifted settings.json - preserve unparseable files aside and drop only the invalid fields instead of raising, plus a migration test suite Eric 2026-05-28 21:41:01 -07:00
  • 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 Eric 2026-05-28 21:41:01 -07:00
  • 0d90a469aa [eric] e2e: onboarding-completion gains OPENSWARM_E2E_REAL_UI=1 mode that drives each step's actual primary user action via the DOM - settings open + Models tab, customization to Actions/Skills, dashboard New Agent + Browser webview mount, Add App picker - so animation-timing and AC-runtime bugs surface rather than only slice state corruption, with agent-touching send-message gated on ANTHROPIC_API_KEY/etc being wired Eric 2026-05-28 09:38:43 -07:00
  • c55f802731 [eric] e2e: settings-pairwise gains OPENSWARM_E2E_THROUGH_BACKEND=1 mode that issues the real PUT /api/settings round-trip using the renderer auth token and dispatches the response, exercising the backend pydantic validation, write-lock, and slice-shape contract instead of bypassing them with a local fulfilled-action dispatch Eric 2026-05-28 09:38:35 -07:00
  • 6353bbddda [eric] electron+e2e: close the init-script race - main reads OPENSWARM_E2E env on startup and appends an --openswarm-e2e chromium switch, preload reads the switch BEFORE any page script parses and contextBridge-exposes __OPENSWARM_E2E__=true so the production store-on-window gate fires deterministically rather than racing addInitScript against bundle parse Eric 2026-05-28 09:38:29 -07:00
  • 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 Eric 2026-05-28 09:35:27 -07:00
  • b0d7d8209c [eric] e2e: add onboarding-completion spec that drives every step via markStepCompleted/unmarkStepCompleted across three orderings (sequential 1-8, skip pattern 1-2-4-3-5-7-6-8, full unmark+re-mark idempotency) plus same-id idempotency and roadmap-counter agreement, regressing the AC animation leak class historically caused by re-firing completed-step transitions Eric 2026-05-28 09:35:21 -07:00
  • 510d2bdd42 [eric] e2e: add settings-pairwise spec that applies each generated row via the settings/update/fulfilled action, asserts every switch persisted + theme localStorage took + zero renderer crash + zero unexpected console errors, with OPENSWARM_E2E_EXHAUSTIVE=1 switching to the full sixty-four-row cartesian Eric 2026-05-28 09:35:15 -07:00
  • 27b31c80f1 [eric] ci: add selftest-pairwise that vendors the pairwise generator and asserts every-pair-covered, deterministic, bounded, and isCovering correctly fails on incomplete row sets, catching a future regression that drops the all-pairs guarantee before any e2e spec runs Eric 2026-05-28 09:35:15 -07:00
  • 8bcc18c99c [eric] e2e: add helpers/pairwise with an IPO-style covering-array generator that seeds each row from an uncovered pair (fixing the greedy tie-break bug a pure-greedy hits) plus cartesian for opt-in exhaustive mode, returning eight rows that cover all sixty pairs of the six binary settings instead of the full sixty-four Eric 2026-05-28 09:35:07 -07:00
  • 643f159205 [eric] ci: change dogfood cron from every-six-hours to every-two-hours so twelve consecutive clean runs accrue in twenty-four hours instead of three days while keeping cost at roughly one third of an every-thirty-minutes cadence Eric 2026-05-28 09:24:01 -07:00
  • d6dd58bc65 [eric] ci: add dogfood.yml scheduled every six hours across windows-latest+macos-13+macos-14 that builds, runs verify-dogfood, uploads the per-leg manifest, then aggregates into preflight-tunings.json; gate both release-windows and release-macos on a release-gate job that downloads the latest tunings via gh run download and runs verify-release-readiness so a v* tag halts before signing if the dogfood loop has not validated twelve consecutive clean runs per platform Eric 2026-05-28 09:17:21 -07:00
  • b0b3bff91d [eric] ci: add dogfood-aggregator that walks the rolling manifest, computes per-platform per-check warn/fail rates, emits preflight-tunings.json with a demote list when a check exceeds 2x the false-positive tolerance, and writes a release-readiness block the v* gate reads; preflight.js loadTunings/applyTunings honors the demote list at runtime so a chronically-noisy check gets silently downgraded to warn on subsequent boots Eric 2026-05-28 09:17:15 -07:00
  • db6419fe7e [eric] ci: add verify-dogfood that launches the packaged app, parses the [preflight2] line, INDEPENDENTLY verifies boot evidence (provenance==HEAD, perf marks ordered, health 200, no renderer-gone), and fails red when verdict and reality disagree, recording every run to dogfood-manifest.jsonl for the aggregator Eric 2026-05-28 09:17:07 -07:00
  • d5491ff15e [eric] ci: add verify-packaging-parity that pulls every $STAGING_DIR/<x> from build-app.sh and every Join-Path $Staging '<x>' from build-app-win.ps1 then asserts both stage the same set of dirs and that every extraResources from in electron/package.json is staged by both, with webapp-template-node-modules as the one documented mac-only exception Eric 2026-05-28 02:49:22 -07:00
  • c7a195198a [eric] ci: extend selftest-gate with cross-gate preflight mutation tests so a regression that turns withTimeout into fail-on-hang or readCache into stale-version-passes makes the boot-pipeline gate selftest also go red Eric 2026-05-28 02:49:16 -07:00
  • 7fb57cea5e [eric] electron: defer the preflight cache-write until both preflight finished AND backend-http-ready fired so a kill in the window between cannot leave a verdict=ok token that masks a real boot break on the next launch, plus honor settings.preflight_enabled and a deterministic installation_id-bucket cohort gate Eric 2026-05-28 02:49:11 -07:00
  • e8fd9ceb5a [eric] backend: add preflight_enabled (default true) and preflight_rollout_pct (default 100) to AppSettings so the runtime preflight can be killed per-install via the existing settings sync or staged 5/25/100 by the cloud cohort gate without a release Eric 2026-05-28 02:49:06 -07:00
  • 6fc7e23bbe [eric] ci: chain the four new preflight verifiers (selftest, rigs, race, matrix) at the head of verify-all and add hostile-env legs to e2e.yml so network=blocked + appdata=readonly + lang=de-DE all run on every push Eric 2026-05-28 02:13:21 -07:00
  • 1396372c8f [eric] electron: wire the preflight module into main next to logPreflight, honor OPENSWARM_DISABLE_PREFLIGHT=1 kill switch, fire async so it overlaps with backend spawn instead of adding to boot, emit a [preflight2] verdict line and fold the result into the boot beacon payload Eric 2026-05-28 02:13:14 -07:00
  • 3faacf761c [eric] ci: add verify-preflight Layer 5 matrix verifier that reads OPENSWARM_TEST_NETWORK/_APPDATA/_LANG and asserts the verdict matches the expected envelope per scenario, catching the false-positive class where network=blocked produces fail instead of warn Eric 2026-05-28 02:13:09 -07:00
  • 051ddf5cd7 [eric] ci: add verify-preflight-race Layer 4 that runs twenty parallel preflights asserting no cache contention, then writes a version-keyed token + corrupts it + asserts the next read returns null so mid-boot kill cannot poison a future boots cached verdict Eric 2026-05-28 02:13:09 -07:00
  • ddcf2f08df [eric] ci: add verify-preflight-rigs Layer 3 that spins up hanging http, 500 server, close-mid-handshake, EACCES writeFileSync, and a German pwsh stub then drives the WHOLE preflight against each rig asserting the failing-check name + no neighbor corruption + total runtime under budget Eric 2026-05-28 02:13:00 -07:00
  • 83182b0dfd [eric] ci: add selftest-preflight Layer 1+2 with thirty-eight assertions covering happy paths plus every production failure branch (mips arch, German PowerShell output, statfs throws, dns module missing) and never-resolving fakes for hang fuzz Eric 2026-05-28 02:13:00 -07:00
  • 4843d993d3 [eric] electron: add preflight module with nine env-injected checks (os, resources, appdata-writable, security-block, system-libs, network, gpu, dual-stack, clock) each wrapped by withTimeout that turns hangs into warn-not-fail, plus version-keyed cache read/write/prune so subsequent launches skip the work and a version bump deletes the stale token Eric 2026-05-28 02:12:52 -07:00