ciregenz
c12ef7f343
[eric] publish: 10s slow-hint on slow builds + two-step confirm before unpublish
2026-06-20 03:08:36 -07:00
ciregenz
ee5b5c2cea
[eric] publish: split 379-line monolith into scan/build/cloud modules + memoize scan by source hash
2026-06-20 03:06:44 -07:00
ciregenz
b6e230e7ad
[eric] edge: octopus instead of bee on the fallback pages
2026-06-20 01:16:15 -07:00
ciregenz
c5262723c4
[eric] edge: rate limiter evicts oldest keys instead of wiping every visitor's window
2026-06-19 22:28:24 -07:00
ciregenz
b630e9ee14
[eric] publish: rename Fix to Scan again (the button re-scans, it doesn't auto-fix)
2026-06-19 21:20:46 -07:00
ciregenz
f611703886
[eric] outputs: remove two dead pass no-ops
2026-06-19 21:20:46 -07:00
ciregenz
6a8197c05b
[eric] publish: never bundle secret-shaped files (.env, private keys) into a public app
2026-06-19 21:20:46 -07:00
ciregenz
7a4777a41f
[eric] edge: drop unused report_footer_note (takedown path not built)
2026-06-19 21:20:46 -07:00
ciregenz
9035f8a2eb
[eric] edge: negative-cache bundle misses so random-slug spray can't hammer Tigris
2026-06-19 21:20:46 -07:00
ciregenz
7a9eb214e9
[eric] publish: neutralize vite-plugin-terminal during build so older workspaces build clean
2026-06-19 20:19:44 -07:00
ciregenz
bf282a20a1
[eric] edge: default Tigris bucket to openswarm-app-bundles
2026-06-19 18:06:12 -07:00
ciregenz
ef1c7a28e2
[eric] publish: don't embed the install token in preview app JS; stub OUTPUT_* (run only when published)
2026-06-19 17:47:25 -07:00
ciregenz
ecaad7c6bd
[eric] edge: degrade to not-found on any storage error, never 500 the whole edge
2026-06-19 17:23:14 -07:00
ciregenz
aae91910f0
[eric] edge: call cloud over private 6PN mesh + rename token to EDGE_AUTH_TOKEN
2026-06-19 17:13:40 -07:00
ciregenz
ab30c08733
[eric] publish: switch hosting apex to openswarm.host (bought) from openswarm.dev
2026-06-19 16:45:30 -07:00
ciregenz
abcd334b34
[eric] publish: OUTPUT_COMPUTE/OUTPUT_LLM runtime in preview + /outputs/llm endpoint + skill doc
2026-06-19 04:57:06 -07:00
ciregenz
def971f5f2
[eric] edge: inject OUTPUT_COMPUTE/OUTPUT_LLM runtime into served HTML
2026-06-19 04:57:06 -07:00
ciregenz
020a67574d
[eric] publish: PublishModal (scan -> Cancel/Fix/Publish-anyway -> live link) wired into ShareModal
2026-06-19 04:26:43 -07:00
ciregenz
b36d38b26f
[eric] publish: outputs publish fields + publishApi (preflight/publish/unpublish)
2026-06-19 04:26:43 -07:00
ciregenz
a64e18e5d2
[eric] edge: openswarm-edge service for *.openswarm.dev (static serve + sandbox compute + LLM proxy)
2026-06-19 04:20:36 -07:00
ciregenz
21a0694914
[eric] publish: send output_id + override to cloud so republish reuses the slug
2026-06-19 04:15:02 -07:00
ciregenz
722a9e896a
[eric] publish: desktop build/scan/bundle + publish/preflight/unpublish endpoints
2026-06-19 03:28:27 -07:00
ciregenz
b7450f885a
[eric] merge winv2: win startup speedups + skill-registry seed, release 1.3.87
v1.3.87
2026-06-19 00:57:57 -07:00
ciregenz
4ae97e5de0
[eric] throttle: emit rate_limited on exhausted backoff + muted auto-clearing pill (no error card)
...
(cherry picked from commit 03a9233b860683ae0f9d15b9e9efda32763c7d41)
2026-06-19 00:25:55 -07:00
ciregenz
6193863408
[eric] subscriptions: confirm active node before Connected (claude+codex), re-check on run-fail, honest copy
...
(cherry picked from commit 3ce44f314b3b51e48692d5f47df38d5bc43ec0f6)
2026-06-19 00:25:54 -07:00
ciregenz
f0cb676afb
[eric] permissions: read-only MCP actions auto-allow by default; writes still ask
...
(cherry picked from commit 03f3ce05be2c555990e7e6486859c48f0cd3c94c)
2026-06-19 00:25:54 -07:00
ciregenz
324edc1971
[eric] approvals: surface Always Allow All in the batch bar so it stops being hidden behind Approve All
...
(cherry picked from commit 9628c1f198ada1f3afdb909c38493bc6f0256f54)
2026-06-19 00:25:54 -07:00
ciregenz
a5d89888d8
[eric] drm: redact Authorization bearer token in [drm-req] license logging
...
(cherry picked from commit 7b32eeea602e436e102fe7578bf50eccace6e0e0)
2026-06-19 00:25:54 -07:00
ciregenz
b97609d92a
[eric] github mcp: point at /x/all so every toolset is exposed, not the default subset
...
(cherry picked from commit 0df418496d98ea769f7cddb9d95219128668fc38)
2026-06-19 00:25:54 -07:00
ciregenz
40c863e9cf
[eric] integrations: add GitHub MCP (remote http server + one-click OAuth)
...
(cherry picked from commit 901e3bf98244d3e599db5f3f05f4dc2ce943888e)
2026-06-19 00:25:54 -07:00
ciregenz
db6c5c4d9d
[eric] agents: idempotent id-keyed message commit so a stop racing the SDK envelope can't append a duplicate reply
2026-06-18 18:44:25 -07:00
ciregenz
c1503eae97
[eric] agents: make Stop instant: commit the partial + free the task before the slow SDK teardown, and ignore a superseded task's late teardown
2026-06-18 18:24:54 -07:00
ciregenz
b1fc1dd923
[eric] chat: on stop, promote the in-flight assistant text to a message immediately so the partial doesn't blink out during the SDK cancel lag
2026-06-18 05:02:19 -07:00
ciregenz
a716b43df1
[eric] agents: after a mid-stream stop, rebuild history from session.messages so resume/follow-ups see the partial reply
2026-06-18 04:36:23 -07:00
ciregenz
fb9a2a5b7b
[eric] chat: fix the malformed resume-agent continue prompt
2026-06-18 04:00:47 -07:00
ciregenz
9a622c48e2
[eric] agents: keep the partial reply when a stream is stopped mid-flight
2026-06-18 04:00:47 -07:00
ciregenz
592744a843
[eric] dashboard: browser page is click-through in select mode so the whole card is pickable
2026-06-18 03:04:49 -07:00
ciregenz
8f922aee2d
[eric] dashboard: revert browser body-click select; it blocked clicking into the page
2026-06-18 02:23:15 -07:00
ciregenz
1122e8846a
[eric] dashboard: toolbar send passes the selected browser id so the agent uses it (was glow-only)
2026-06-18 02:07:58 -07:00
ciregenz
de173a6a1c
[eric] dashboard: body clicks select an unselected browser (webview passes them through)
2026-06-18 01:55:40 -07:00
ciregenz
e0e2bb9f3c
[eric] settings: Data & Privacy buttons match the About outlined style (Restart tour), drop the ellipsis + add section spacing
2026-06-18 00:21:55 -07:00
ciregenz
3f9fde17a8
[eric] electron: hard-reset IPC (kill backend, wipe data dir, relaunch) for factory reset
2026-06-17 23:32:17 -07:00
ciregenz
6d9e559892
[eric] settings: Data & Privacy section, Reset all settings + Erase all content (Apple-minimal, typed-confirm)
2026-06-17 23:31:26 -07:00
ciregenz
8b63e3d7c6
[eric] settings: add reset-to-defaults endpoint (preferences to defaults, keep connections + sign-in)
2026-06-17 23:31:26 -07:00
ciregenz
fdfe014ae0
[eric] dashboard: select/drag a browser card from its whole body, not just the header
2026-06-17 23:13:01 -07:00
ciregenz
a18111ac8a
[eric] electron: red traffic-light quits the app instead of hiding; neuter Cmd+W
2026-06-17 20:12:56 -07:00
Eric
666c53e888
[eric] release: bump version to 1.3.92
2026-06-17 19:28:23 -07:00
Eric
ec0f9600bc
[eric] backend: remove cold-start diagnostics, keep the fix + slim lifespan timer
...
- the is_running() fast-fail fix (v1.3.91) verified cold backend-http-ready
23.5s -> 3.86s and warm 5.0s -> 3.32s on the signed build, no 9Router regression
- strip the [perf] bg entry logs from mcp/skill/settings/service/9router now that
the stall is diagnosed; keep Apps.py per-lifespan timing but only print a
lifespan over 50ms plus the total (cheap regression tripwire)
- document the root cause + fix + before/after in docs/perf/winv2/README.md
2026-06-17 19:28:23 -07:00
Eric
f2c9c25603
[eric] release: bump version to 1.3.91
2026-06-17 19:06:10 -07:00
Eric
24df3e8fac
[eric] backend: fast-fail is_running() to kill the ~18s cold-start event-loop freeze
...
- faulthandler on the signed cold build caught the asyncio loop frozen in
socket.create_connection inside is_running() (process.py): a synchronous
httpx.get to "localhost:20128" called ~5x on the boot path before 9Router is up
- on Windows a dead-port connect to "localhost" stalls ~7s each (tries ::1 first,
loopback refusal is slow), freezing the loop ~18s so uvicorn could not answer
the health probe -> cold backend-http-ready was ~23s
- fix: probe 127.0.0.1 with a 0.3s TCP timeout first (measured 306ms vs ~7s), only
HTTP-confirm when the port is open; 9Router binds 0.0.0.0 so reachability is
unchanged. drop the faulthandler diagnostic from main.py
2026-06-17 19:06:10 -07:00