hermes-agent/apps/desktop/electron
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
..
backend-probes.cjs fix(desktop): probe steps 4 & 5 of resolveHermesBackend before trusting 2026-05-20 14:41:23 -04:00
backend-probes.test.cjs fix(desktop): probe steps 4 & 5 of resolveHermesBackend before trusting 2026-05-20 14:41:23 -04:00
bootstrap-platform.cjs feat(desktop): lead onboarding with Nous Portal + fix fresh-install detection (#34970) 2026-05-29 17:00:45 -05:00
bootstrap-platform.test.cjs feat(desktop): lead onboarding with Nous Portal + fix fresh-install detection (#34970) 2026-05-29 17:00:45 -05:00
bootstrap-runner.cjs feat(desktop): automate first-launch bootstrap on macOS/Linux 2026-05-30 01:40:53 -05:00
entitlements.mac.inherit.plist ci(desktop): automate desktop releases 2026-05-05 13:04:33 -05:00
entitlements.mac.plist ci(desktop): automate desktop releases 2026-05-05 13:04:33 -05:00
hardening.cjs feat(desktop): reconcile live tool events, polish thread chrome, harden boot 2026-05-11 21:38:47 -04:00
hardening.test.cjs feat(desktop): reconcile live tool events, polish thread chrome, harden boot 2026-05-11 21:38:47 -04:00
main.cjs fix(dashboard): return 404 JSON for unmatched /api paths instead of SPA HTML 2026-05-30 20:05:49 -04:00
preload.cjs feat(desktop): thin installer + first-launch install.ps1 bootstrap 2026-05-18 02:26:46 -04:00