hermes-agent/apps
emozilla 4ed01f2fa4 fix(dashboard): return 404 JSON for unmatched /api paths instead of SPA HTML
The SPA catch-all (serve_spa) served index.html for any unmatched GET,
including unregistered /api/* endpoints. A missing API route therefore
came back as <!doctype html> with status 200, and JSON clients (the
desktop app's fetchJson) crashed with an opaque
'SyntaxError: Unexpected token <' instead of a clear error.

- web_server.py: unmatched /api or /api/... now returns 404 JSON
  ('No such API endpoint'); non-api paths still serve the SPA for
  client-side routing.
- main.cjs fetchJson: detect an HTML body / text/html content-type on a
  2xx response and reject with a clear message naming the URL, rather
  than a raw JSON.parse SyntaxError. Empty bodies resolve to null;
  malformed JSON reports the URL plus a snippet.
2026-05-30 20:05:49 -04:00
..
bootstrap-installer Merge origin/main into bb/gui 2026-05-29 20:40:08 -05:00
desktop fix(dashboard): return 404 JSON for unmatched /api paths instead of SPA HTML 2026-05-30 20:05:49 -04:00
shared feat: move dashboard to apps/ so we can share ws proto 2026-05-02 13:38:49 -05:00