Daniel
094de9ebd1
fix: mobile menu — no icons, hard-truncated titles within the drawer width, ⋮ always visible without horizontal scroll; translation uses the reliable plain-text path
Forgejo Android APK / Root app tests (push) Successful in 50s
Forgejo Android APK / Build signed APK (push) Successful in 2m11s
2026-09-09 12:29:37 +02:00
Daniel
ec4f1905de
fix: DOMParser guard in translation simplification; translate test contract updated to html mode
Forgejo Android APK / Root app tests (push) Successful in 51s
Forgejo Android APK / Build signed APK (push) Successful in 1m58s
2026-09-09 05:09:02 +02:00
Daniel
609dbe70b1
feat: unboxed chat menu on desktop and mobile; flat OWUI-style mobile drawer; message scroll to the question; taller sources scroll
Forgejo Android APK / Root app tests (push) Successful in 48s
Forgejo Android APK / Build signed APK (push) Successful in 2m6s
2026-09-09 04:42:54 +02:00
Daniel
143030bf00
fix: usable mobile chat menu — left drawer with close X and backdrop, main-menu style rows, internal message scroll to the question, taller sources scroll; context metadata line removed from image cards
2026-09-09 04:39:20 +02:00
Daniel
653d6d6ed6
fix: strip [src]/[source] placeholder tokens from rendered answers instead of showing src
Forgejo Android APK / Root app tests (push) Successful in 59s
Forgejo Android APK / Build signed APK (push) Successful in 2m15s
2026-09-09 04:22:15 +02:00
Daniel
2f7d929464
fix: translation 400 — translate raw markdown as text and re-render; download buttons on previews and library items; Done state on image completion; mic mirrors the working dictation flow; send→stop icon; grouped bottom-left tools
Forgejo Android APK / Root app tests (push) Successful in 46s
Forgejo Android APK / Build signed APK (push) Successful in 2m4s
2026-09-09 04:17:18 +02:00
Daniel
d6476f99d9
fix: send button morphs into a clickable STOP icon while working (no more disabled spinner); grouped bottom-left tools; silent-recording message; completed images auto-join the library; transient image-status retries
2026-09-09 04:12:30 +02:00
Daniel
fe63014a1f
feat: image generation everywhere — deterministic fallback when the model writes text, unbounded completion poll, No-chat default with description-only generation, context passed with every image job; stop-icon send button; attach/mic bottom-left composer; single-model selectors hidden; admin image allowlist from discovered models; PDF take-home export; new-chat confirm removed; sources same-height column with internal scroll
2026-09-09 04:04:00 +02:00
Daniel
6760f34143
test: PUT count updates for the new allowlist settings
Forgejo Android APK / Root app tests (push) Successful in 1m0s
Forgejo Android APK / Build signed APK (push) Successful in 2m7s
2026-09-09 03:02:23 +02:00
Daniel
73955dd5f9
feat: model selection in chat (composer pill + popup image model), deterministic image dispatch when the model writes text instead of calling the tool, markdown-rendered email, OWUI stacked composer, left mobile drawer, Go back in topbar, DeepL removed, image history inside the Create image popup
2026-09-09 02:55:28 +02:00
Daniel
982a089fcb
fix: authHeaders must include Content-Type — Express never parsed JSON bodies, causing empty "Question is required" on every chat send. Also: Learning Hub back in the main menu, sources-only right column, image gallery as the user library with poll+preview, queued job reference handling
2026-09-09 02:13:17 +02:00
Daniel
b9ac93ddc6
test: coverage for learning-hub page mode, chat pin/rename menu, example auto-ask
Forgejo Android APK / Root app tests (push) Successful in 49s
Forgejo Android APK / Build signed APK (push) Successful in 2m4s
2026-09-09 01:33:57 +02:00
Daniel
c8a9f934be
feat: AI Assistant at the top of the main menu; warn-only conversation budget
Forgejo Android APK / Root app tests (push) Successful in 57s
Forgejo Android APK / Build signed APK (push) Successful in 2m3s
2026-09-09 01:25:46 +02:00
Daniel
7fdbcd51e6
feat: ChatGPT-style chat list — abbreviated rows with relative dates, pinned-first ordering, ⋮ menu (Rename/Pin/Export/Delete); clinical context always on; warn-only budget; mic live-transcript fallback; learning-hub page mode; composer autosize; include-context icon fix
2026-09-09 00:14:34 +02:00
Daniel
77375c7461
test: create-image dialog coverage (describe or pick a chat)
2026-09-08 23:44:26 +02:00
Daniel
bb218750d9
feat: Create image tool at rail top (describe or pick a chat), Images gallery of past creations, ChatGPT-style composer icons (headset/mic/attach/send), example tap asks immediately
2026-09-08 23:40:53 +02:00
Daniel
cc9188fa08
fix: OWUI hover-delete on saved-chat rows (row click opens, trash icon deletes)
Forgejo Android APK / Root app tests (push) Successful in 56s
Forgejo Android APK / Build signed APK (push) Successful in 2m3s
2026-09-08 22:45:13 +02:00
Daniel
da86c7db79
fix: OWUI-style polish — fullscreen workspace replaces main menu, row-click saved chats (delete stays as hover), markdown-rendered patient handout, admin-only raw transcript, /api TTS URL, scrollable unclipped tables, action buttons hidden in exports, autosave-only copy
2026-09-08 22:41:08 +02:00
Daniel
2e0951995c
fix: take-home and translate-languages fetch URLs must be /api-prefixed
Forgejo Android APK / Root app tests (push) Successful in 48s
Forgejo Android APK / Build signed APK (push) Successful in 2m11s
2026-09-08 20:07:27 +02:00
Daniel
09a4e02e39
feat: patient take home (copy/export/email), composer mic dictation, voice conversation mode, provider-aware translate languages
2026-09-08 20:01:46 +02:00
Daniel
79de7ccddb
fix: reviewer findings — mhchem macro wrapping, regenerate history dedupe, strict safe image allowlist, stale docs
2026-09-08 19:25:31 +02:00
Daniel
8b072496e2
feat: Open WebUI-style assistant workspace — 3-column layout, markdown/math/code/tables, autosave with images, translation (LibreTranslate+DeepL), citation modal, Learning Hub moved in, handoff removed
2026-09-08 18:52:35 +02:00
Daniel
9bbcf0049a
feat: instruct the assistant to call the generate_image tool for image requests
2026-09-08 17:41:06 +02:00
Daniel
94210ac0a1
feat: attach images to clinical search with strict validation and multimodal routing
2026-09-08 15:53:05 +02:00
Daniel
c237826ef6
feat: clinical handoff as the standard site modal, closes back to the chat
Forgejo Android APK / Root app tests (push) Successful in 24s
Forgejo Android APK / Build signed APK (push) Successful in 1m59s
2026-09-07 21:10:23 +02:00
Daniel
f1ac24a17d
fix: simple prompt editing (save + restore original only), live users search, straight responsive admin rows
Forgejo Android APK / Root app tests (push) Successful in 22s
Forgejo Android APK / Build signed APK (push) Successful in 1m55s
2026-09-07 19:30:40 +02:00
Daniel
e7599128ec
fix: separate Scribe/Clinical/Learning prompt sections; drop model classification entirely with scrub migration
Forgejo Android APK / Root app tests (push) Successful in 26s
Forgejo Android APK / Build signed APK (push) Successful in 1m58s
2026-09-07 18:22:51 +02:00
Daniel
13fca7887d
feat: unify Admin model/prompt UI — single prompt dropdown, two image-model dropdowns, searchable/scrollable users, remove classification/custom-add, consistent font, concise labels
2026-09-07 18:18:48 +02:00
Daniel
75b6d71c6f
test: offbox image is session-only in the durable pipeline integration
2026-09-07 16:59:15 +02:00
Daniel
809e7d5a67
fix: merged suite expectations for compact learning family and session-only offbox image
2026-09-07 16:56:45 +02:00
Daniel
6be2d1375a
feat: integrate durable image jobs/private assets into current core
2026-09-07 16:53:42 +02:00
Daniel
3a8dbbcce3
fix: keep the sidebar generated image session-only, never stored in saved chats
Forgejo Android APK / Root app tests (push) Successful in 26s
Forgejo Android APK / Build signed APK (push) Successful in 4m4s
2026-09-07 16:23:55 +02:00
Daniel
6f63b8f538
feat: image prompt adds full-content detail and bans citations/reference numbers
Forgejo Android APK / Root app tests (push) Successful in 34s
Forgejo Android APK / Build signed APK (push) Successful in 2m23s
2026-09-07 16:13:09 +02:00
Daniel
c09038bfec
fix: compact prompt administration with robust admin loading and concise styling
2026-09-07 16:11:49 +02:00
Daniel
9902ee07a6
fix: render clinical handoff Markdown with a concise heading
Forgejo Android APK / Root app tests (push) Successful in 26s
Forgejo Android APK / Build signed APK (push) Successful in 2m2s
2026-09-07 14:23:56 +02:00
Daniel
40e7dd5206
fix: bind clinical image and export actions to their original account
Forgejo Android APK / Root app tests (push) Successful in 31s
Forgejo Android APK / Build signed APK (push) Successful in 1m57s
2026-09-07 07:45:48 +02:00
Daniel
dc83f6e21b
fix: preserve export navigation and clinical source boundaries
2026-09-07 07:10:47 +02:00
Daniel
b0bebe6970
fix: preserve saved clinical tables and per-turn citation targets
2026-09-07 05:58:12 +02:00
Daniel
cfaf8e957b
feat: ship reviewed prompt history, conversation limits and account protections
2026-09-07 04:01:01 +02:00
Daniel
5c5d68a7c1
fix: make manual CMS category creation visible and keyboard-accessible
Forgejo Android APK / Build signed APK (push) Successful in 1m46s
2026-09-07 01:16:40 +02:00
Daniel
baab83e50e
fix: enforce sessions, escape quiz metadata and isolate ED drafts
Forgejo Android APK / Build signed APK (push) Successful in 1m47s
2026-09-06 07:44:08 +02:00
Daniel
2942d4f6b3
Revert "Sanitize citations from clinical image prompts"
...
Forgejo Android APK / Build signed APK (push) Successful in 1m43s
This reverts commit 7833018695 .
2026-09-02 01:50:44 +02:00
Daniel
7833018695
Sanitize citations from clinical image prompts
Forgejo Android APK / Build signed APK (push) Successful in 1m47s
2026-09-02 01:47:32 +02:00
Daniel
54d49dd28a
Forbid LaTeX escaped clinical citations
Forgejo Android APK / Build signed APK (push) Successful in 1m55s
2026-09-01 19:29:40 +02:00
Daniel
491f5e02b7
Render escaped clinical citations as links
Forgejo Android APK / Build signed APK (push) Successful in 1m49s
2026-09-01 19:19:11 +02:00
Daniel
e4dacbaf09
Rejoin detached clinical citations
Forgejo Android APK / Build signed APK (push) Successful in 1m50s
2026-09-01 19:11:18 +02:00
Daniel
34eef6ec6b
Keep prose citations inline
Forgejo Android APK / Build signed APK (push) Successful in 1m50s
2026-09-01 18:51:39 +02:00
Daniel
e71a7e22e1
Keep clinical citations inline
Forgejo Android APK / Build signed APK (push) Successful in 1m54s
2026-09-01 18:45:44 +02:00
Daniel
c1ba6fa798
Close MCP sessions when they are replaced
...
Forgejo Android APK / Build signed APK (push) Successful in 1m48s
The MCP server builds a Nextcloud client per session and closes it only
when the session ends. The clinical assistant replaced its cached session
every time the ten-minute TTL lapsed but never ended the old one, so each
abandoned client held its Nextcloud connections open. The production MCP
container was holding 708 sockets in CLOSE-WAIT against a 1024 descriptor
ceiling, roughly 300 from the point where every clinical search fails.
Expired and server-rejected sessions are now deleted. Session reuse is
unchanged: a live session is still shared across calls, since closing one
still in use would force a re-initialize on every search.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-28 23:45:26 +02:00
Daniel
3d4a95fea4
Revert the clinical assistant markdown changes and fix mermaid rendering only
...
Forgejo Android APK / Build signed APK (push) Successful in 1m50s
Reverts 126d7928 and 2d292d12 in full. The markdown normaliser and the trailing
emphasis and dollar handling return to exactly the state tagged
pre-citation-fixes-20260828, which has been rendering acceptably in use.
The one change kept is mermaid. DOMPurify 3.1.6 strips an attribute whose value
contains "-->", and every mermaid flowchart contains one, so the sanitiser
removed data-mermaid and querySelectorAll('[data-mermaid]') never matched: the
diagram sat on "Rendering graph..." forever. Reproduced against the exact pinned
build from cdnjs; sequence diagrams using "->>" were unaffected, which is why
only flowcharts failed.
The diagram source is now percent-encoded into the attribute and decoded when
read, so no arrow ever appears in an attribute value. Nothing about the
sanitiser configuration changes and no markup is newly allowed. The reader
tolerates an unencoded value, so anything already in flight still renders.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-28 19:55:03 +02:00