100 Commits
Author SHA1 Message Date
ciregenz 3d62a3c4cd [eric] merge origin/eric/dev into eric/mcp (1.5.4 line + Sonnet 5 under the social MCPs) 2026-07-02 16:07:51 -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 169eb0db8a [eric] browser-bridge: serve cookie reads from Electron main (fixes backgrounded timeouts) 2026-07-01 23:50:17 -07:00
ciregenz cb2ccdc37b [eric] browser-bridge: give perform_action a 35s budget (navigate+wait+scrape in one command) 2026-07-01 18:44:57 -07:00
ciregenz 5202f2529d [eric] x-mcp: convert to browser-delegation (X signs every request; drive the real logged-in card via data-testid DOM) 2026-07-01 00:11:21 -07:00
ciregenz 2a0d20a0d1 [eric] reddit-mcp: drive www.reddit.com JSON API + cookie + modhash (bearer no longer in shreddit HTML); live-verified 2026-06-30 22:26:06 -07:00
ciregenz f8620d62d0 [eric] actions: sign-in button + live signed-in status for reddit/x/tiktok browser-login MCPs 2026-06-30 19:41:13 -07:00
ciregenz f24e6ecc52 [eric] mcp: wire X + TikTok into catalog, preflight, env injection + linter exceptions 2026-06-30 17:19:58 -07:00
ciregenz 64191c9d62 [eric] mcp: TikTok MCP shim (HTTP reads + browser-delegated writes, 11 tools) 2026-06-30 17:19:58 -07:00
ciregenz c04a663996 [eric] browser-bridge: /api/browser-session/action + renderer perform_action + shim client 2026-06-30 17:19:58 -07:00
ciregenz 9f85e01574 [eric] mcp: X (Twitter) session-borrow MCP shim (15 tools, full human action set) 2026-06-30 17:06:54 -07:00
ciregenz 20e5deb257 [eric] social-mcp: shared session_source + RateLimiter core; move reddit onto them 2026-06-30 17:06:54 -07:00
ciregenz fb0044f156 [eric] models: add Claude Sonnet 5 (adaptive + cc sub + api-key routes) 2026-06-30 15:26:16 -07:00
ciregenz 46b25f2eda [eric] test: settings default theme is 'light' now (stale 'dark' asserts, pre-1.5.3) 2026-06-30 02:19:03 -07:00
ciregenz 7f48d07bf4 [eric] app-use: scope OPENSWARM_APP bridge to app webviews, drop per-page console.warn
Was injected into every browser card (a window.OPENSWARM_APP bot tell) and went win32-only after the passkey commit; now app-webviews-only on all platforms.
2026-06-30 02:12:49 -07:00
ciregenz 9c1c14bf90 [eric] release: bump version to 1.5.4 2026-06-30 00:21:07 -07:00
ciregenz 7adfeda879 [eric] skills: curated install falls back to cached SKILL.md when GitHub is unreachable (restores offline install, fixes #113 regression) 2026-06-30 00:00:22 -07:00
ciregenz 37c8c89503 [eric] config: rename _fsync_dir -> p_fsync_dir in atomic_write_json (no leading underscore) 2026-06-29 23:08:05 -07:00
ciregenz 1348733d25 [eric] merge #52 (tarun): fsync tempfile + parent dir in atomic_write_json for crash durability 2026-06-29 23:07:35 -07:00
ciregenz 63c32554ae [eric] mcp: reddit session-borrow MCP (free, full human action set; WIP) 2026-06-29 23:05:15 -07:00
ciregenz eb0b0ba661 [eric] merge #59 (karthik): fix debugger filepath-not-found on Linux (case-sensitive paths) (closes #58) 2026-06-29 23:03:50 -07:00
ciregenz 91e4b284c4 [eric] docs: rename CONTRIBUTING 'outside contributors' section to 'External Contributors' (closes #112) 2026-06-29 23:03:50 -07:00
ciregenz 8eb48dfc42 [eric] app-use: strip pierre's transient [app-agent] trace scaffolding + write-only controls cache (no speculative scaffolding) 2026-06-29 23:03:45 -07:00
ciregenz 717763771f [eric] skills: split skill_registry.py (705->275) into sources/github/cache modules to clear the 300-line cap (no cycle, downward imports) 2026-06-29 22:27:19 -07:00
ciregenz e1639468a5 [eric] cleanup: convention fixes for merged #113/#107 (p-private rename, dead code, scratch files, em-dash, lint exceptions) 2026-06-29 21:52:53 -07:00
ciregenz 1b6d747326 [eric] merge #107 (pierre): app-use OPENSWARM_APP bridge + AppAgent
# Conflicts:
#	electron/main.js
#	frontend/src/app/pages/Views/ViewPreview.tsx
2026-06-29 21:34:11 -07:00
ciregenz 197fe258ab [eric] merge #113 (aidan): skills agent-discovery + multi-file install + versioning 2026-06-29 21:26:00 -07:00
ciregenz bd8cdbfb0b [eric] browser: drive the loading bar off main-frame navigation only, so ad/sub-frame loads don't re-sweep it 2026-06-29 20:55:05 -07:00
ciregenz 9f2041ca58 [eric] browser: loading bar is an overlay so it doesn't jitter the webview up/down on busy pages 2026-06-29 20:54:54 -07:00
ciregenz dc2e9378e8 [eric] browser: stub window.chrome to match real Chrome (closes the empty-window.chrome bot tell) 2026-06-29 17:00:55 -07:00
ciregenz 8784ca937c [eric] browser/apps: drop the iframe fallback for a 'run in the desktop app' message (keeps srcdoc + Windows-crash iframe) 2026-06-29 16:38:03 -07:00
ciregenz 6afbc5b849 [eric] browser: throttle in-page URL mirroring so map-churn pages don't storm dashboard saves 2026-06-29 16:37:51 -07:00
ciregenz 30d421993b [eric] apps: export drops the stale inline files snapshot for workspace apps so edits don't revert on import (disk is source of truth) 2026-06-29 15:57:21 -07:00
ciregenz cfaddf1126 [eric] passkey: enable macOS Touch ID WebAuthn (electron 42.0.0->42.3.3 for the localizedReason crash fix + Developer ID provisioning profile + keychain entitlement; reject-shim now Windows-only) 2026-06-28 15:10:59 -07:00
ciregenz fc62986603 [eric] analytics: point packaged builds at analytics.openswarm.com (own public edge, bypasses the cloud billing core; old builds keep the api.openswarm.com relay) 2026-06-27 19:00:26 -07:00
ciregenz 371a254d94 [eric] browser: pre-selected multiple cards fan out one agent per card, not just one 2026-06-27 17:48:01 -07:00
ciregenz 015a2b9265 [eric] release: bump app version to 1.5.3 (analytics lock fix + Google sign-in UA fix; electron package.json + lockfile self-version) 2026-06-27 17:26:35 -07:00
ciregenz 8d3ef7c6f6 [eric] chat: tool-arg summary in mono, clean wrap, stacked when expanded 2026-06-27 17:21:16 -07:00
ciregenz e9644c4091 [eric] dashboard: drop the browser glow and tether fade to ~0.5s 2026-06-27 17:21:16 -07:00
ciregenz 27701d8606 [eric] chat: render a lone MCP tool call bare, no redundant group header 2026-06-27 17:21:16 -07:00
ciregenz 4da3f76ac7 [eric] dashboard: optimistic browser tether so the attach arrow is instant on spawn 2026-06-27 17:21:16 -07:00
ciregenz 8a331fa762 [eric] dashboard: optimistic agent-card spawn so expand + focus feel instant 2026-06-27 17:21:16 -07:00
ciregenz 0d208265e0 [eric] theme: default to light + fix light/dark switch flicker 2026-06-27 17:21:16 -07:00
ciregenz f918e13712 [eric] analytics: add swarm-analytics==0.1.1 to requirements.lock (stale lock dropped it from the packaged python-env) 2026-06-26 14:14:38 -07:00
ciregenz e35ab67fc1 [eric] release: bump app version to 1.5.2 (electron package.json + lockfile self-version) 2026-06-26 09:45:14 -07:00
ciregenz ffbbecc1dc [eric] browser: native right-click menu + spellcheck for browser webviews 2026-06-26 09:36:23 -07:00
ciregenz f3c8189751 [eric] merge eric/browser-parity: in-app browser parity (persistence, focus keystone, zoom/find/tab/middle-click, reopen-closed)
# Conflicts:
#	backend/apps/outputs/workspace_io.py
2026-06-26 09:10:19 -07:00
ciregenz a76c44aeb7 [eric] browser: Ctrl/Cmd+Shift+T reopens the last closed card (browser/tab/agent/note/app/workflow) 2026-06-26 09:04:42 -07:00
ciregenz 37e645c256 [eric] browser: collapse browserZoom doc comment to one line (frontend one-line-comment rule) 2026-06-26 09:04:42 -07:00
ciregenz 61298fcd07 [eric] tests: document gpt5 token-floor lane divergence (#110 floors the passthrough, proxy passes through) 2026-06-26 08:31:38 -07:00
ciregenz 4167a8c930 [eric] browser: zoom focused browser + Ctrl+F find + Ctrl+Tab cycle + middle-click bg tab 2026-06-26 08:25:00 -07:00
ciregenz e1e37d2422 [eric] tests: update clear_free_trial guard to the confirmed contract (haiku stays as trial face; reverts to sonnet only on real key/sub) 2026-06-26 08:01:52 -07:00
ciregenz 3bb910a7fa Merge branch 'aidan/fix/provider-auth-and-workflows-ui' of https://github.com/openswarm-ai/openswarm into integration/pr-110 2026-06-26 07:59:50 -07:00
ciregenz 3368032ff9 [eric] tests: round-trip guard for oversize app-file corruption fix (omit-on-read + refuse-shrink-on-write) 2026-06-26 07:53:23 -07:00
ciregenz b11f0cd58b [eric] browser: force the guest page-world to always report visible/foregrounded (main-world inject) so an off-screen kept-alive Discord doesn't background + drop its session = logout 2026-06-26 07:31:06 -07:00
ciregenz 6094b16986 [eric] browser: go back to off-screen parking for cross-dashboard cards (reload-probe PROVES off-screen keeps the login; on-screen visibility just ghosts through) 2026-06-26 07:13:17 -07:00
ciregenz 48a3e12d38 [eric] browser: remove the opaque cover-overlay hack (unreliable over media-heavy pages like Discord, and a hack) 2026-06-26 07:02:38 -07:00
ciregenz 813ddd2fe1 [eric] browser: cover the hidden cross-dashboard card with an opaque dashboard-colored layer (hides the live webview surface with NO logout, since the guest stays composited) 2026-06-26 06:46:43 -07:00
ciregenz a7cd39e73a [eric] browser: keep cross-dashboard cards on-screen (visibility-hidden) not off-screen, off-screen occlusion-culls the guest and reloads it on return = Discord logout 2026-06-26 06:42:34 -07:00
ciregenz 36268d2448 [eric] browser: fix the REAL bleed (fit-to-view chased the off-screen keep-alive card); restore full keep-alive so Discord stays logged in across dashboard switches 2026-06-26 06:25:44 -07:00
ciregenz f8ab34efc5 [eric] swarm: re-stamp browser card dashboard_id on import so it shows on the imported dashboard 2026-06-26 06:00:46 -07:00
ciregenz 1f3929bda1 [eric] browser: only keep AGENT-driven browsers alive across dashboard switches; manual ones don't render off their home (no bleed, reload on return) 2026-06-26 05:56:45 -07:00
ciregenz 75e7647884 [eric] browser: hide foreign kept-alive webview via visibility:hidden, not just off-screen (heavy live page surface bled past the off-screen move) 2026-06-26 05:31:02 -07:00
ciregenz 421806a196 [eric] runtime: npm --ignore-scripts on app installs to block untrusted-dep postinstall code-exec 2026-06-26 05:23:57 -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 e57bc06c9f [eric] browser: tag agent-spawned + pasted browser cards with their home dashboard (were untagged, bled onto all dashboards) 2026-06-26 05:01:44 -07:00
ciregenz ce7b22a216 [eric] swarm: exclude .DS_Store/Thumbs.db from app exports (WALK_SKIP_FILES) 2026-06-26 04:42:02 -07:00
ciregenz bdbd0acb0d [eric] dashboard: revert orphan-prune to sync dispatch (async teardown was an over-reach, risked over-pruning imported cards) 2026-06-26 04:42:02 -07:00
ciregenz fde08cd55c [eric] browser: derive active dashboardId synchronously from route so a switched-away browser parks instantly (no 1-frame bleed) 2026-06-26 04:40:50 -07:00
ciregenz bce1599f89 [eric] browser: restore Cmd+R reloading your in-use browser (MRU fallback was dropped) 2026-06-26 04:13:01 -07:00
ciregenz d0dd6ee32b [eric] browser: present webview as Google Chrome in client hints + headers, not bare Chromium (anti-bot tell) 2026-06-26 03:47:26 -07:00
ciregenz 80a8b6a94f [eric] browser: Cmd+R reloads focused browser, else the app (MRU fallback was blocking app reload) 2026-06-26 03:15:30 -07:00
ciregenz 22649ba377 [eric] browser: persist browser-card dashboard_id so cards keep their home and stop bleeding across dashboards 2026-06-26 03:00:44 -07:00
ciregenz 9d6abc7091 [eric] browser: tag new browser cards with their home dashboard so they don't bleed onto every dashboard 2026-06-26 02:24:56 -07:00
ciregenz 02f119cdbc [eric] browser: Cmd+R reloads the browser you're in or last used in place (was a no-op), never an app wipe 2026-06-26 02:10:01 -07:00
ciregenz 959ffb0b39 [eric] browser: park keep-alive cards off-screen so they don't bleed onto other dashboards 2026-06-26 02:04:44 -07:00
ciregenz 71e9a62671 [eric] backend: connect OAuth reads pending_oauth from oauth_state, not missing backend.main.p_pending_oauth 2026-06-26 02:01:17 -07:00
ciregenz ef03ea71bb [eric] browser: keep recent browsers alive across dashboard switches so sessions survive 2026-06-26 01:24:20 -07:00
ciregenz f30597b7c8 [eric] browser: Cmd+R outside a browser is a no-op, not an app reload that wipes card sessions 2026-06-26 00:04:57 -07:00
ciregenz 215ddb45c0 [eric] browser: strip openswarm/Electron from webview UA (case-insensitive; was leaking openswarm/1.5.1 to every site) 2026-06-25 23:40:32 -07:00
ciregenz 8cb781c01c [eric] apps: only link warm node_modules on import when package.json matches template (custom-dep apps install their own) 2026-06-25 23:21:44 -07:00
ciregenz ed40d9dc72 [eric] agents: backfill pending_approvals + validate disk browser-agent children (undefined .some() crash) 2026-06-25 23:10:41 -07:00
ciregenz 598af2303e [eric] frontend: fill missing settings fields from defaults + guard new_agent_shortcut crash 2026-06-25 23:10:41 -07:00
ciregenz bdf576126d [eric] apps: link node_modules on import so imported backend apps boot first time, no restart 2026-06-25 23:09:21 -07:00
ciregenz 4ef03b6508 [eric] dashboard: quiesce + serialize app-card delete teardown to stop GPU-death crash 2026-06-25 23:05:19 -07:00
ciregenz ccd0bc3971 [eric] browser: Ctrl/Cmd+R reloads the last-interacted browser, else the app 2026-06-25 20:45:18 -07:00
ciregenz ab982afcea [eric] repo: stop tracking the accidentally-committed root .venv (6338 files); gitignore it 2026-06-25 19:56:47 -07:00
ciregenz 97a859e504 [eric] browser: Settings "Clear browsing data" wipes the browser partition only 2026-06-25 19:50:33 -07:00
ciregenz e5b69bfa00 [eric] browser: give cards a persistent partition so logins survive reload + quit 2026-06-25 19:33:49 -07:00
ciregenz 4d74d02362 [eric] release: bump app version to 1.5.1 (electron package.json + lockfile self-version) 2026-06-25 05:34:37 -07:00
ciregenz 52464e66ee [eric] frontend: one-line every // comment + collapse 3+ blank runs across frontend/src (161 files, -1652 lines, TS-AST-verified code-identical) 2026-06-25 04:20:41 -07:00
ciregenz 407915ec9b [eric] backend: cross-origin 401 from the auth middleware now carries CORS headers for allow-listed origins, so a token-less dev request reads as an honest 401 instead of an opaque 'CORS blocked' 2026-06-25 03:51:28 -07:00
ciregenz 48f475aecf [eric] chat: strip the '--- Selected UI Elements' block + collapse newlines in MCP/browser-agent tool input summaries (was dumping the raw appended prompt) 2026-06-25 03:46:03 -07:00
ciregenz bb31d359ee [eric] analytics: retire the old session-snapshot cloud path (sync_session_close); full transcript + classification now come from Haik's per-message product-analytics bridge, and it was 413ing the 100KB /sync edge 2026-06-25 03:40:35 -07:00
ciregenz 5d82d1ead5 [eric] repo: untrack root CLAUDE.md (gitignored personal notes) 2026-06-25 03:05:57 -07:00
ciregenz ab1f8a4326 [eric] repo: gitignore the root CLAUDE.md (personal notes); conventions stay tracked in backend/frontend CLAUDE.md + linter/README 2026-06-25 03:04:16 -07:00
ciregenz 36626be089 [eric] backend: one-line comments + collapse blank runs across backend root + tests (AST-verified, 1 test skipped: embedded #-lines) 2026-06-25 03:04:16 -07:00
ciregenz aca14c6a3a [eric] agents: restore the openswarm-schedule MCP server registration dropped in the #105 forward-rebase (AddWorkflowStep/ScheduleWorkflow were unavailable to the edit agent) 2026-06-25 02:49:27 -07:00
ciregenz 7564f9c301 [eric] agents: on restart, a session whose last message is a finished assistant reply restores as completed not stopped (kills the spurious Resume button on done chats) 2026-06-25 02:42:20 -07:00
ciregenz 8d01452e24 [eric] agents: collapse per-session startup/shutdown logs into one summary line (hundreds of sessions flooded the console) 2026-06-25 02:36:12 -07:00