wrolpi/app/src
Roland 2ff084d4c4
ai: the Chat tab — SSE streaming chat with modes
The app's first streaming client: sse.js reads the /api/chat POST body
with fetch + a stream reader (apiCall's 60s JSON path cannot stream),
parsing SSE events with abort support.  AiChatContext holds the
conversation (browser-only, per design) so it survives visiting the
Manage tab; switching modes starts a fresh conversation.  The Chat tab
has the three-button mode picker, per-mode suggestion chips, streamed
answers with clickable relative WROLPi links, tool-activity indicators,
a slow-hardware banner, and a "not ready" state pointing at Manage.
ChatMessage states are in the theme-sample gallery.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-24 18:23:22 -06:00
..
api controller: VNC toggle, gated on the Desktop running 2026-07-29 18:10:05 -06:00
components ai: the Chat tab — SSE streaming chat with modes 2026-09-24 18:23:22 -06:00
contexts ai: the Chat tab — SSE streaming chat with modes 2026-09-24 18:23:22 -06:00
hooks Jobs queue, video Edit dropdown: transcode/remux, edit title & description (#711) 2026-09-16 19:25:23 -06:00
themes review: the color-scheme half of this was already there 2026-08-08 18:05:54 -06:00
types ui: the last Semantic UI file, and the stylesheet with it 2026-08-08 18:04:03 -06:00
api.js ai: the AI nav page — Manage tab (model catalog, settings, service) 2026-09-24 18:23:22 -06:00
App.css files: left-align the preview toolbar (#698) 2026-09-03 16:03:17 -06:00
App.js ai: the AI nav page — Manage tab (model catalog, settings, service) 2026-09-24 18:23:22 -06:00
babel-pins.test.js build: put the @babel pins back, and make them fail loudly if dropped again (#653) 2026-08-08 18:54:34 -06:00
DashboardPage.js ui: two upload dialogs that had drifted apart (#664) 2026-08-13 15:15:04 -06:00
DashboardPage.test.js ui: the dashboard's status panel links without looking like a link 2026-08-08 18:05:54 -06:00
Events.js ui: thirty-five files off Semantic, leaving fifteen 2026-08-08 18:04:01 -06:00
import-cycles.test.js fix: break the import cycle that put useCalculators in the TDZ 2026-08-08 18:05:47 -06:00
index.css ui: the last Semantic UI file, and the stylesheet with it 2026-08-08 18:04:03 -06:00
index.js Fixing changes before merge. 2023-02-08 21:18:51 -07:00
logo.svg Renaming examples to avoid grouping of pdf with ebooks. Reworking URLs for media files to avoid escaping url safe characters. 2023-03-29 13:46:39 -06:00
no-semantic-ui.test.js ui: the last of Semantic UI, in name and in dead CSS 2026-08-08 18:05:54 -06:00
reportWebVitals.js Renaming examples to avoid grouping of pdf with ebooks. Reworking URLs for media files to avoid escaping url safe characters. 2023-03-29 13:46:39 -06:00
setupTests.js ui: the last of Semantic UI, in name and in dead CSS 2026-08-08 18:05:54 -06:00
sse.js ai: the Chat tab — SSE streaming chat with modes 2026-09-24 18:23:22 -06:00
Tags.cy.js test: the component suite's twelve failures, none of them about the component 2026-08-08 18:05:54 -06:00
Tags.js files: left-align the preview toolbar (#698) 2026-09-03 16:03:17 -06:00
Tags.test.js ui: the last of Semantic UI, in name and in dead CSS 2026-08-08 18:05:54 -06:00
test-fixtures.js ui: the last of Semantic UI, in name and in dead CSS 2026-08-08 18:05:54 -06:00
test-fixtures.test.js ui: the last of Semantic UI, in name and in dead CSS 2026-08-08 18:05:54 -06:00
test-utils.js style: spell it "color" everywhere 2026-08-08 18:05:50 -06:00
test-utils.test.js style: spell it "color" everywhere 2026-08-08 18:05:50 -06:00