codeburn/src
ozymandiashh 7cd1f90631
fix(web): reject invalid dashboard periods without exiting (#554)
* fix(web): reject invalid dashboard periods without exiting

* test(web): assert invalid periods return 400 without exiting; drop redundant /api/devices re-parse

- Add tests/web-dashboard.test.ts: boots the dashboard on an ephemeral port and asserts
  /api/usage and /api/devices answer 400 (not process.exit) for a bad period, and that
  the server keeps serving afterward. runWebDashboard now returns the http.Server so it
  can be exercised in-process; callers that ignore the return value are unaffected.
- /api/devices: resolve periodInfo once instead of validating then re-parsing it inside
  localGetUsage (pullDevices invokes localGetUsage with the same already-validated query).

---------

Co-authored-by: AgentSeal <hello@agentseal.org>
2026-06-28 19:35:46 +02:00
..
data fix(pricing): restore Mythos 5 pricing dropped by gap-fill cleanup 2026-06-10 00:09:31 +02:00
mcp Merge PR #423 (local-model savings) onto main, re-homing payload savings into usage-aggregator 2026-06-06 22:14:13 +02:00
providers feat(providers): add open-design provider for per-model usage tracking (#559) 2026-06-28 19:17:23 +02:00
sharing fix(web): reject invalid dashboard periods without exiting (#554) 2026-06-28 19:35:46 +02:00
antigravity-statusline.ts refactor(cli): share persistent-codeburn resolver; tighten Antigravity hook ownership 2026-05-31 20:07:57 -07:00
bash-utils.ts Strip ANSI escapes from bash commands across all providers 2026-05-02 20:59:24 -07:00
classifier.ts File-aware retry detection with typed ToolCall (#379) 2026-05-22 01:21:42 -07:00
cli-date.ts fix(web): reject invalid dashboard periods without exiting (#554) 2026-06-28 19:35:46 +02:00
cli.ts Merge main into feat/multi-provider-plans, remove dead tautology 2026-05-16 10:42:03 -07:00
codex-cache.ts fix(codex): attribute MCP calls emitted as event_msg/mcp_tool_call_end (#513) 2026-06-18 22:32:40 +02:00
codex-credits.ts feat(codex): compute Codex credit usage (#408, #495) (#510) 2026-06-18 17:03:46 +02:00
compare-stats.ts feat(compare): model comparison with planning rate fix 2026-04-19 08:34:49 -07:00
compare.tsx Quiet routine pricing warnings + menubar recovery from stuck-loading (#266) 2026-05-08 20:33:48 -07:00
config.ts feat(pricing): add user price overrides for models (#390) (#560) 2026-06-28 19:07:29 +02:00
content-utils.ts fix(parser): tolerate string message content; isolate per-file parse failures (#441) (#450) 2026-06-06 04:01:12 +02:00
context-budget.ts fix(context-budget): use bounded readSessionFile helper 2026-04-17 08:32:19 +02:00
currency.ts fix(network): add timeouts to critical-path fetches (#445) (#448) 2026-06-06 03:25:36 +02:00
cursor-cache.ts fix(cursor): period-aligned lookback; add Vercel AI Gateway provider (#432) 2026-06-09 23:01:43 +02:00
daily-cache.ts fix: clean model names in reports and re-hydrate daily cache for new providers (#550) 2026-06-22 03:38:50 +02:00
dashboard.tsx fix(dashboard): scope the plan banner to its own provider tab (#524) 2026-06-19 19:04:54 +02:00
day-aggregator.ts feat(cli): track local-model cost savings against a paid baseline (#421) 2026-06-01 11:06:39 +03:00
export.ts feat(export): surface MCP server usage in JSON and CSV exports (#514) 2026-06-18 23:13:48 +02:00
fetch-utils.ts fix(network): add timeouts to critical-path fetches (#445) (#448) 2026-06-06 03:25:36 +02:00
format.ts Validator hardenings on the bug-hunt batch (#254) 2026-05-06 19:50:40 -07:00
fs-utils.ts Raise streaming session cap to 4GB so large Codex sessions are counted (#569) 2026-06-26 01:16:56 +02:00
ink-win.ts Fix dashboard hang and ExperimentalWarning on Windows 2026-05-02 11:54:58 -07:00
main.ts feat(pricing): add user price overrides for models (#390) (#560) 2026-06-28 19:07:29 +02:00
menubar-installer.ts fix(menubar): support installer HTTP proxies (#475) 2026-06-11 14:13:10 +02:00
menubar-json.ts feat(codex): compute Codex credit usage (#408, #495) (#510) 2026-06-18 17:03:46 +02:00
model-efficiency.ts feat(report): add per-model efficiency metrics 2026-05-05 23:36:59 -07:00
models-report.ts feat(codex): compute Codex credit usage (#408, #495) (#510) 2026-06-18 17:03:46 +02:00
models.ts feat(providers): add open-design provider for per-model usage tracking (#559) 2026-06-28 19:17:23 +02:00
optimize.ts Add JSON output for optimize and yield 2026-06-18 12:13:17 +02:00
overview.ts Show real Claude project leaf names; stop stray-.git over-grouping (#540) 2026-06-21 22:42:19 +02:00
parser.ts feat: add Hermes Agent provider 2026-06-21 23:29:22 +02:00
persistent-codeburn.ts refactor(cli): share persistent-codeburn resolver; tighten Antigravity hook ownership 2026-05-31 20:07:57 -07:00
plan-usage.ts Merge main into feat/multi-provider-plans, remove dead tautology 2026-05-16 10:42:03 -07:00
plans.ts feat(providers): add Grok Build provider (#521) 2026-06-19 17:21:41 +02:00
session-cache.ts fix(cursor-agent): ingest workspace-less CLI transcript layout (#542) 2026-06-22 00:55:01 +02:00
sqlite.ts Merge main into feat/multi-provider-plans, remove dead tautology 2026-05-16 10:42:03 -07:00
text-table.ts feat(devices): joined Totals by machine report (#536) 2026-06-20 19:23:03 +02:00
types.ts feat: add Hermes Agent provider 2026-06-21 23:29:22 +02:00
usage-aggregator.ts feat(pricing): add user price overrides for models (#390) (#560) 2026-06-28 19:07:29 +02:00
web-dashboard.ts fix(web): reject invalid dashboard periods without exiting (#554) 2026-06-28 19:35:46 +02:00
yield.ts Add JSON output for optimize and yield 2026-06-18 12:13:17 +02:00