singularity-forge/web/app/api
Jeremy 8078755e4b feat(gsd): persistent notification panel with TUI overlay, widget, and web API
Notifications from ctx.ui.notify() and workflow-logger now persist to
.gsd/notifications.jsonl instead of evaporating as transient toasts.

- notification-store: JSONL persistence with 500-entry rotation, atomic
  temp+rename rewrites, ref-counted suppress API, disk-synced counters
- notify-interceptor: WeakSet-guarded monkey-patch on ctx.ui.notify
  installed at session_start and session_switch
- notification-widget: always-on belowEditor strip showing unread count
- notification-overlay: scrollable Ctrl+Alt+N panel with severity filter
- /gsd notifications command: clear, tail, filter subcommands
- workflow-logger: warnings now also persist to notification store
- web API: GET/DELETE /api/notifications with ?countOnly support
- 16 unit tests covering store, suppress, project isolation, resync
2026-04-05 22:13:28 -05:00
..
boot fix: resolve Node v24 web boot failure — ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING (#1864) 2026-03-21 15:24:07 -06:00
bridge-terminal feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
browse-directories fix: show external drives in directory browser on Linux 2026-03-28 00:45:22 +02:00
captures feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
cleanup feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
dev-mode feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
doctor feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
experimental chore: rename preferences.md to PREFERENCES.md for consistency (#2700) (#2738) 2026-03-26 16:09:59 -06:00
export-data feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
files feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
forensics feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
git feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
history feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
hooks feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
inspect feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
knowledge feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
live-state feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
notifications feat(gsd): persistent notification panel with TUI overlay, widget, and web API 2026-04-05 22:13:28 -05:00
onboarding feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
preferences feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
projects feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
recovery feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
remote-questions chore: rename preferences.md to PREFERENCES.md for consistency (#2700) (#2738) 2026-03-26 16:09:59 -06:00
session feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
settings-data feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
shutdown feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
skill-health feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
steer feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
switch-root feat(web): add "Change project root" button to web UI (#2355) 2026-03-24 07:18:05 -06:00
terminal feat: managed RTK integration with opt-in preference and web UI toggle (#2620) 2026-03-26 09:33:07 -06:00
undo feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
update feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
visualizer feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00