Commit Graph
693 Commits
Author SHA1 Message Date
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 801268d6b7 [eric] fix: exempt /api/health/* (prefix) so packaged boot doesn't deadlock on 401, onboarding: mirror Settings' provider connect flow so Gemini works, fix packaged-mode boot + sync onboarding Gemini connect flow 2026-04-25 02:27:23 -07:00
ciregenz 2379dd92be [eric] security: lock down the local websocket + http api with a per-install auth token 2026-04-25 02:26:13 -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
ciregenz a53731ccbb [eric] merge origin/eric/v2 — keep local ^0.85.0 bump of @softeria/ms-365-mcp-server over the incoming ^0.79.6 downgrade 2026-04-21 22:17:08 -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
ciregenz c8360cc921 [eric] fix dead annual subscribe buttons: desktop was sending billing_interval="annual" but cloud zod enum only accepted
"monthly"|"yearly" so the POST returned 400 and the click silently no-opped — now map annual→yearly at the fetch boundary,
  UI/types/analytics stay on "annual"
2026-04-21 16:48:05 -07:00
ciregenz 11b07bde28 [eric] production push 1.0.24: removed non-Claude MCP upfront-load warning (context-cost only, zero functionality impact), fixed fullscreen
+ webview popup dark-screen via new-window → exitFullscreen so parent stays interactive, ErrorSlime extracted to shared component and
  rendered on all chat error cards (Network / Servers maxed / Plan limit / Subscription), Network issue classifier tightened to real errno
  codes + retry CTA removed since edit_message-based replay was truncating successful tool history — copy now directs user to send-new-message
   once WS auto-reconnects
2026-04-21 15:11:56 -07:00
ciregenz b9f7698b0c [eric] default-model + thinking-mode settings overhaul: Settings dropdown mirrors the in-session picker (provider-grouped from
state.models.byProvider, disambiguates same-named models by · Provider), toolbar now honors the stored default_model instead of snapping to
  stale Redux initial 'sonnet' and re-syncs on every reopen so last-used picks don't leak, smart fallback per priority Anthropic > OpenAI >
  Gemini > OpenSwarm Pro > OpenSwarm with Snackbar warning when the user's default becomes unreachable, new Default thinking mode setting
  (Auto/Off/Low/Medium/High) added to AppSettings and threaded into AgentSession on launch, onboarding flow for user intuitive-ness slight tweaks
2026-04-20 14:56:09 -07:00
ciregenz 301b0f7707 [eric] auto-heal corrupt npx cache in MCP stdio discovery: on ERR_MODULE_NOT_FOUND pointing into ~/.npm/_npx/<hash>/, wipe
that dir and retry once — fixes Discord/YouTube failing with "MCP stdio process exited unexpectedly" after partial npx installs,
  per-browser auto-close: spawned browser cards now disappear on their own sub-agent's completion instead of lingering until the parent agent
  finishes, WebSocketManager agent:status matches by session.browser_id (spawned_by is the parent, so it never matched the finishing
  sub-agent), user-created/pre-selected browsers untouched
2026-04-20 01:20:20 -07:00
ciregenz 6a1dfae934 [eric] OpenSwarm Pro 3-tier picker: Pro/Pro+/Ultra cards with monthly/annual toggle across Settings, Onboarding, and 429 error card, dynamic
Subscribe/Resubscribe/Upgrade/Downgrade CTA per tier, Anthropic-style layout and copy, bigger onboarding text
2026-04-17 15:28:26 -07:00
ciregenz b469648e05 [eric] production push 1.0.23 2026-04-17 02:58:12 -07:00
ciregenz bb57a2aa51 [eric] passkey-not-supported dialog: intercept WebAuthn in agent browsers and surface a modal instead of letting the page hang on the passkey verifying spinner,
shim injected from main via contents.executeJavaScript (bypasses Trusted Types CSP), webview preload force-attached in will-attach-webview
2026-04-16 15:20:29 -07:00
ciregenz 828dfdb18b [eric] OpenSwarm Pro lifecycle fixes: cancel-in-grace shows access-until-X with Resubscribe, distinct ended and reconnect states, app-launch /sync reconciles
with Stripe, auto-revert to own_key on revoke/expire, PostHog identify segments events by plan, browser agent + capacity UX: browser sub-agents inherit the parent's Anthropic
  pick properly, spawned browser cards auto-close on natural completion, OpenSwarm-servers-maxed card with Discord waitlist CTA, auto-clear local subscription state on cloud
  revoke/expire
2026-04-16 13:56:34 -07:00
ciregenz 7eb85a7127 [eric] subscription UI fixes: cards no longer flicker to the Starting-subscription-service spinner mid-task (is_running TTL cache + retry/poll on mount), show
Anthropic as its own picker group alongside OpenSwarm Pro when both are connected so users can pick per-request
2026-04-16 11:12:27 -07:00
ciregenz 1a68ccfc7b [eric] OpenSwarm Pro: new managed plan alongside BYO — deep-link activation from billing checkout, onboarding + Settings card with live usage, gradient OpenSwarm Pro group in
the model picker, inline error cards for rate-limit/connection failures, debugger startup fix
2026-04-15 23:05:02 -07:00
ciregenz 14e1d02bbb [eric] reasoning UI + thinking-level controls: collapsible 'Thought for Ns' bubble with shimmer, per-session thinking level (off/low/med/high/auto) on
reasoning-capable models, gate GitHub Copilot as 'Coming soon', delete Twitter/xbird integration, fix model-picker first-click + 200K context cap on Sonnet/Opus, revive
  arrow-key dashboard nav after typing/clicking/zooming
2026-04-15 12:47:34 -07:00
ciregenz bc2ca1f33a [eric] multi-model polish: updated model registry, Gemini thought-signature fix, collapsible model picker, UI fixes 2026-04-12 20:49:33 -07:00
ciregenz 4778cea80e [eric] multi-model subscription support: connect ChatGPT Plus, Gemini Advanced, and GitHub Copilot subscriptions via 9Router
- Add BUILTIN_MODELS for OpenAI (GPT-5.4/Mini/5.3-Codex), Google (Gemini 3 Pro/Flash, 2.5 Pro/Flash), and GitHub Copilot
  - Add resolve_model_id_for_sdk() and resolve_aux_model() to route prefixed model IDs (cx/, gc/, gh/) through 9Router translator
  - Add GET /agents/models endpoint returning available models based on live 9Router connection state
  - Enable ENABLE_TOOL_SEARCH=auto for all providers so non-Claude models get full tool access (23 built-in + all MCPs)
  - Add thinking block streaming support (ThinkingBlock in stream handler + AssistantMessage) for reasoning models
  - Fix Gemini 3 thought-signature errors: use skip_thought_signature_validator per Google docs
  - Fix WebSearch blocked_domains/allowed_domains empty-list rejection on Anthropic API
  - Fix browser_agent text_parts UnboundLocalError on non-Claude models
  - Fix auxiliary LLM calls (title gen, group meta, dashboard naming, view builder, browser agent) via resolve_aux_model
  - Add Codex OAuth callback listener on port 1455 for ChatGPT Plus subscription connect
  - Route Gemini OAuth through system browser since Google blocks embedded webviews
  - Override Electron popup user-agent for OAuth
  - Fix duplicate OAuth callback with idempotent completed_oauth tracking
  - Fix Settings modal tab routing and stale warning banner
  - Add API key inputs for OpenAI, Google, and OpenRouter
  - Add MCP warning banner when selecting non-Claude model with many tools
  - Force session fork on cross-provider model switch to prevent transcript corruption
  - Disable GitHub Copilot subscription card (9Router poll issue, marked preview)
  - Delete dead CopilotProvider import and unused CopilotAuthButton component
2026-04-12 12:06:36 -07:00
ciregenz 8f28efd668 [eric] fix empty ghost window after update: single-instance lock loser now calls app.exit(0) instead of app.quit() so whenReady can't still
fire and spawn a second backend + window
2026-04-10 22:15:10 -07:00
ciregenz 7bd0346d21 [eric] 1.0.22 production release 2026-04-10 15:36:30 -07:00
ciregenz bee3f48bb3 [eric] rewrite system prompt to prioritize action over narration, add adaptability directive, remove hardcoded service names, guide
ToolSearch discovery
2026-04-10 14:19:26 -07:00
ciregenz 71f3eb640a [eric] RequestHumanIntervention: show in BrowserAgentOverlay + parent chat inline feed + DynamicIsland with consistent amber UI, add
skip-with-reason text input, shorter intervention messages, register in BUILTIN_TOOLS, fix waiting_approval session selector,
  sticky-to-bottom scroll in inline feed
2026-04-10 10:35:55 -07:00
ciregenz a5fc29351e [eric] stop tab clicks in browser cards from triggering card auto-focus (stopPropagation on tab click events), fix broken PostHog identify (SDK has no .identify(), use .set()), send referral_source to PostHog 2026-04-10 09:26:18 -07:00
ciregenz e252fcc20f [eric] harden chat title + tool group name prompts against role confusion (wrap content in tags, add anti-answer framing & examples) 2026-04-09 16:39:16 -07:00
ciregenz 27149eeb3f [eric] fix extended actions (ToolSearch in allowedTools, claude_code preset+append for system_prompt and tools, ENABLE_TOOL_SEARCH=auto,
drop --bare which was stubbing the default system prompt), drop connected_tools_ctx that leaked MCP server names/emails into every turn, fix
   nine_router asyncio UnboundLocalError, gate 9Router subprocess output on OPENSWARM_DEBUG_9ROUTER
2026-04-09 16:13:03 -07:00
ciregenz 4f50fc2236 [eric] delete unused Prompts feature, force AskUserQuestion for clarifying questions, clean up dead refs and TS errors 2026-04-07 22:54:18 -07:00
ciregenz ee54e56893 [eric] specify to always askuserquestions instead of plain text 2026-04-07 20:12:51 -07:00
ciregenz 1dad8a57fc [eric] browser sub-agent: loop detection, ReportProgress, CDP ax tree, batching, compaction, hide-don't-unmount Dashboard so browser cards survive route navigation 2026-04-07 20:00:32 -07:00
ciregenz 6db2d24f78 [eric] add referral question + back button to onboarding, fix flash + jumping 2026-04-07 00:42:12 -07:00
ciregenz 077d9b4011 [eric] add Discord MCP integration with shared bot + per-user guild scoping 2026-04-06 20:02:27 -07:00
ciregenz 5d7c93d9a5 [eric] HubSpot MCP integrations with OAuth PKCE, fix backend crash from unhandled BaseExceptionGroup during MCP tool denial 2026-04-06 14:43:53 -07:00
ciregenz 3bbc29ea98 [eric] add Airtable MCP integration with OAuth + PKCE 2026-04-06 13:18:43 -07:00
ciregenz 6d8154d5f0 [eric] tweak prompt to always prioritize mcps over browser use 2026-04-06 11:57:34 -07:00
ciregenz 0be4cc98a9 fix MCP docs links not opening in browser cards, implement youtube mcp 2026-04-06 11:48:03 -07:00
ciregenz e78a9744a2 [eric] 1.0.21 prod push 2026-04-05 21:45:08 -07:00
ciregenz 44d2eb306b [eric] Fix dashboard sessions lost after app restart 2026-04-05 00:42:52 -07:00
ciregenz a82059e925 [eric] onboarding flow for first time users 2026-04-04 22:39:13 -07:00
ciregenz 538a639d4f [eric] 1.0.20, version release: canvas UX overhaul, Notion/Microsoft 365
integrations, browser agent fixes, analytics fix, lots of ui/ux bug fixes (more to come)
2026-04-03 18:49:38 -07:00
ciregenz 2412b981b4 [eric] Canvas UX overhaul: minimap, momentum panning, arrow navigation, smooth transitions, and card focus behavior + slight title prompt tweak 2026-04-03 18:41:05 -07:00
ciregenz cc5b3da0cd [eric] dashboard / chat title fix + notion auth logic tweak 2026-04-03 12:34:39 -07:00
ciregenz 8fa39ee03a [eric] microsoft 365 mcp 2026-04-02 22:38:11 -07:00
ciregenz cac9872702 [eric] notion integration 2026-04-02 16:40:36 -07:00
ciregenz 57465a919f [eric] analytics: fix cost tracking, onboarding profile, and data accuracy, also janky titles 2026-04-02 11:18:46 -07:00
ciregenz ab8ffffd8d [eric] reddit mcp electron npm build fix 2026-04-01 22:00:21 -07:00
ciregenz ddac87994b [eric] fix browser agent respawn on stop: return isError to parent, check parent status on spawn 2026-04-01 19:53:50 -07:00