Commit Graph

2007 Commits

Author SHA1 Message Date
Aurora
1811418fd7 fix(workspace): add COOP+COEP (credentialless) headers so embedded HermesWorld WebGL keeps SharedArrayBuffer multithreading — matches standalone web client latency/perf instead of dropping to single-threaded in the iframe 2026-06-05 20:42:09 -04:00
Aurora
51fc76611e feat(hermesworld): embed v1 web client (play.hermes-world.ai/play/web) in workspace — real in-app iframe replacing open-in-tab placeholder, with loading veil + fallback + open-full affordance 2026-06-05 20:04:41 -04:00
Eric
f547ca1c4e Merge PR #595: Workspace shakedown — 23 PRs + ~17 issue fixes (2026-06-05)
Overnight PR shakedown: integrate validated fixes (2026-06-05)
2026-06-05 17:55:29 -04:00
Aurora
40ad61ea6b docs: pairing/setup flow — dashboard on 9119, verify /api/sessions before starting another gateway, Codex auth (codex login + Hermes import) for gpt-5.4 default 2026-06-05 17:51:51 -04:00
Aurora
fab418b9fe docs: cycle 17 — Echo Studio Labs gating integrated, backlog exhausted 2026-06-05 17:27:11 -04:00
Aurora
8eec98f257 feat(workspace): gate Echo Studio scaffold behind off-by-default Labs toggle
Echo Studio (integrated from #457 in cycle 2b) was always-visible in the
chat sidebar and mobile hamburger nav. It's a scaffold/prototype, so surface
it only when opted in.

- add experimentalEchoStudio: false to StudioSettings + defaults
- new Settings > Labs (experimental) section with a Switch
- chat-sidebar + mobile-hamburger filter the Echo Studio nav item by the flag
2026-06-05 17:25:10 -04:00
Aurora
9c31f52623 docs: round 2 gap-close status 2026-06-05 17:00:35 -04:00
Aurora
cb054c59d0 fix(workspace): close round-two issue gaps 2026-06-05 16:56:08 -04:00
Aurora
4b9c7bd9a4 docs: cycle 16 — no-op, stashed found uncommitted feature batch, backlog exhausted, build green 2026-06-05 16:44:21 -04:00
Aurora
0f0e9554c4 docs: cycle 15 capability reporting fix status 2026-06-05 15:54:29 -04:00
Aurora
d861fb097e fix(capabilities): separate optional gaps from missing APIs 2026-06-05 15:52:28 -04:00
Aurora
b8e8ef6893 docs: cycle 14 — L7 issue-fix lane pushed (#594, #570/#573, #473), PR body updated, build green 2026-06-05 15:51:40 -04:00
Aurora
ca5792eafb fix(models): merge live OpenAI-compatible catalogs from configured base_url proxies (#473)
/api/models now reads provider base_url + api_key entries from config.yaml and
fetches their /v1/models (60s cache, 3s timeout, server-side keys only), merging
them into the picker so configured upstream proxies restore dynamic discovery.
2026-06-05 15:49:22 -04:00
Aurora
eab27ac3bf fix(sessions): guard /api/sessions against non-JSON (HTML) responses (#570, #573)
fetchSessions now sends accept: application/json, verifies the content-type is
JSON before parsing, and validates the response shape. When an auth/proxy layer
intercepts /api/sessions and returns HTML, the user gets a clear error instead
of a React crash from JSON.parse on '<!doctype html>'.
2026-06-05 15:49:22 -04:00
Aurora
9e1b0b0fe9 fix(ui): auto-recover ErrorBoundary from React DOM reconciliation crash (#594)
When React throws 'Failed to execute insertBefore/removeChild ... not a child
of this node' (stale DOM/runtime mismatch on navigation), the ErrorBoundary now
clears service-worker + cache-storage and reloads once (30s TTL guard to avoid
reload loops) instead of leaving the user on a dead error screen.
2026-06-05 15:49:22 -04:00
Aurora
04418b1069 docs: cycle 13 — no-op, backlog exhausted, synced stale remote ref, build green 2026-06-05 14:46:22 -04:00
Aurora
fb1c732858 docs: cycle 12 — no-op, backlog exhausted, branch in sync, build green 2026-06-05 13:42:58 -04:00
Aurora
d27085d275 docs: cycle 11 — no-op, backlog exhausted, branch in sync, build green 2026-06-05 12:39:24 -04:00
Aurora
d1f9d65e8e docs: cycle 10 — pushed L6 issue fixes (#583 #552 #569) + updated PR #595 body 2026-06-05 11:35:17 -04:00
Aurora
bab940934e docs: L6 issue-fix lane status (3 fixed, 1 skipped) 2026-06-05 11:17:29 -04:00
Aurora
cf16f9a5fe fix(#569): merge providers.*.models and model_aliases from config.yaml
The Workspace model picker only saw entries from ~/.hermes/models.json,
the gateway /v1/models endpoint, and local provider discovery (Ollama,
Atomic Chat). Hermes Agent's actual catalog lives in ~/.hermes/config.yaml
under providers.<id>.models, providers.<id>.model, and model_aliases.
In setups where /v1/models intentionally returns only 'hermes-agent',
this meant the picker showed maybe 4 models out of the ~60 the user
had configured.

Add readClaudeConfigCatalog() to /api/models that walks providers.*.models
(strings or {id,name,provider} objects), each provider's default model,
and model_aliases (mapped to {id: alias, target: '<provider>/<model>'}).
Merge those entries via mergeModelEntries() so existing dedup and ordering
behavior is preserved, and append '+config.yaml' to the source label so
the UI/debug can tell where models came from.
2026-06-05 11:15:10 -04:00
Aurora
0a6d1bccb0 fix(#552): release stick-to-bottom on any upward user scroll
The chat viewport previously only released stick-to-bottom when the
user scrolled up AND was already more than 200px from the bottom.
While reading near the end of a streaming response, any upward scroll
inside the bottom 200px did nothing — the ResizeObserver then yanked
the viewport back to the bottom on the next streaming chunk, producing
the 'can't scroll up' tug-of-war reported in #552.

Fix: any user-initiated upward scroll releases stick-to-bottom
immediately. Re-stick only when the user has stopped scrolling up
AND is at the bottom (<=NEAR_BOTTOM_THRESHOLD). Applied symmetrically
in ChatContainerRoot (handleScroll) and in chat-message-list's
handleUserScroll mirror.
2026-06-05 11:13:30 -04:00
Aurora
40828fc30d fix(#583): add Google (Gemini) to model provider selection
The model-config provider dropdown in the Providers settings screen
(also shown in the in-chat Providers dialog) only offered Custom,
OpenRouter, Anthropic, and OpenAI. Despite docker-compose exposing
GOOGLE_API_KEY, users could not select Google/Gemini as a provider
without hand-editing config. Add 'google' to ModelProviderOption and
MODEL_PROVIDER_OPTIONS (label 'Google (Gemini)'), and register 'google'
as a known provider prefix so google/* model ids strip correctly.
2026-06-05 11:03:50 -04:00
Aurora
6912b95ebc docs: cycle 9 status — backlog exhausted, branch re-validated green 2026-06-05 10:27:40 -04:00
Aurora
26da8fa9b3 docs: cycle 8 status — backlog exhausted, branch re-validated green 2026-06-05 09:49:22 -04:00
Aurora
e9915ff43e docs: cycle 7 status — backlog exhausted, branch re-validated green 2026-06-05 08:46:44 -04:00
Aurora
dc901c2a7a docs: cycle 6 status — backlog exhausted, branch re-validated green 2026-06-05 07:44:01 -04:00
Aurora
5b0d53c611 docs: cycle 5 status — backlog exhausted, branch re-validated green 2026-06-05 06:41:01 -04:00
Aurora
7eb58ab2a9 docs: cycle 4 status log for overnight PR shakedown 2026-06-05 06:03:11 -04:00
Aurora
5271ca9ad3 PR #543: chat UIX/UX fixes — thinking indicators, message dedup, streaming stability (JohnGuidry)
Addresses #572 (double chat responses) + #561 (stuck Thinking indicator).
Adds optimistic-message-reinject hook, vite loadEnv→process.env bridge for SSR
bearer token, dedup + streaming stability. eslint --fix on touched files
(net lint errors 1700→1588). Build GREEN, test 33 fail/694 pass (zero regressions).
2026-06-05 06:01:21 -04:00
Aurora
ef2e4ba02b PR #589: fix native Conductor dispatch and stale terminal state (Battlelamb)
Resolved swarm-dispatch.ts conflict by taking buildHermesChatQueryArgs helper
(correct -q prompt adjacency). Adds 8 passing regression tests for native
dispatch/runtime + terminal active-mission persistence. eslint --fix on touched files.
2026-06-05 05:58:15 -04:00
Aurora
8d3c400f83 docs: cycle 3 status log for overnight PR shakedown 2026-06-05 05:14:42 -04:00
Aurora
b22d9d5025 lint: autofix import sorting + type-only imports in PR #579 files 2026-06-05 05:12:17 -04:00
Aurora
287eef5c62 PR #579: Windows Electron desktop build compatibility (prasairaul-del); native worker process fallback for non-tmux platforms 2026-06-05 05:09:58 -04:00
Aurora
1e817d919c docs: cycle 2b status log 2026-06-05 04:40:50 -04:00
Aurora
552ee7c986 PR #457: add Echo Studio dashboard builder scaffold (waylonkenning); closes #447; dropped e2e spec (no @playwright/test in CI, matches existing e2e exclusion) 2026-06-05 04:39:47 -04:00
Aurora
e6752046ad PR #450: add external memory provider browser (kiosvantra); routeTree regenerated 2026-06-05 04:37:34 -04:00
Aurora
b95137bff7 docs: cycle 2 status log for overnight PR shakedown 2026-06-05 04:35:49 -04:00
Aurora
96b727416f lint: autofix new agent-bus files (PR #477) 2026-06-05 04:32:30 -04:00
Aurora
35f44176c2 fixup: restore /plugins description to satisfy slash-command-menu test (PR #523 regression) 2026-06-05 04:30:03 -04:00
Aurora
e9a4935a70 PR #429: per-profile skills toggle in Skills screen (cypres0099); routeTree regenerated 2026-06-05 04:28:01 -04:00
Aurora
61ed3b5898 PR #477: add Agent Bus operations panel (ovelhatdai) 2026-06-05 04:26:26 -04:00
Aurora
782c23dbca PR #545: load files into Monaco editor with download/open actions (rmnelson) 2026-06-05 04:25:17 -04:00
Aurora
d05113b3cd PR #523: sync slash commands with gateway registry (mwaxman1) 2026-06-05 04:25:16 -04:00
Aurora
bac192d834 PR #568: add CODEOWNERS for auth, security, CI/CD, Docker paths (Rookied-AI) 2026-06-05 04:25:00 -04:00
Aurora
3fac6bfbff docs: cycle 1 status log for overnight PR shakedown 2026-06-05 03:58:46 -04:00
Aurora
611359b943 PR #550: surface kanban state in workspace dashboard (janishohbergs85-star) — addresses #570; restored null-guards in normalizeCron that PR removed 2026-06-05 03:55:58 -04:00
Aurora
58b5cba680 PR #544: ignore stale runs + Background runs panel (rmnelson) — addresses #561 stuck Thinking 2026-06-05 03:53:27 -04:00
Aurora
afadf846d5 PR #593: hydrate Operations system prompt from profile config or SOUL (antoineayoub) 2026-06-05 03:51:01 -04:00
Aurora
49d7e6c9ad PR #575: make swarm router dispatch nonblocking + use runtime bearer token (im-khang); export getBearerToken from openai-compat-api to satisfy import 2026-06-05 03:49:59 -04:00