pediatric-ai-scribe-v3/test
Daniel b98ffc61c7
Some checks failed
Forgejo Android APK / Root app tests (push) Successful in 47s
Forgejo Docker Build / Root app tests (push) Successful in 51s
Forgejo Android APK / Build signed APK (push) Successful in 2m2s
Forgejo Docker Build / Build Docker image (push) Successful in 12s
Forgejo Docker Build / Deploy to the host (push) Failing after 2s
fix: expired invitations can be cleared too, revoked ones still cannot
An expired code is as dead as a used one and just as accounted for, so it is now
deletable. The rule the code enforces is the one that matters: a code that could
still be redeemed is never deleted, because that takes it off the list without
taking it out of anybody's inbox — the holder keeps something that looks valid,
it quietly stops working, and nothing is left to say who had it.

One condition, shared by the single delete and the bulk clear:

  (used_at IS NOT NULL OR (revoked_at IS NULL AND expires_at <= NOW()))

Written that way rather than as "used OR past its date" because the second form
also catches a revoked code whose date has since passed — a row the list still
labels revoked and offers no delete on, so the button and the query would have
disagreed about the same row.

Revoked codes keep their rows. Revoking records a decision somebody took, and a
handful of them is not the clutter a pile of expired codes is.

Verified against the live database across every state: active refused, used
deleted, expired deleted, revoked refused, and revoked-with-a-past-date refused
rather than slipping through as expired.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Dv6sqaY6Vq3ChZHMem3cnU
2026-09-11 20:41:18 +02:00
..
account-boundary.test.js feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00
admin-clinical-assistant-wiring.test.js fix: the assistant settings page says what saves what 2026-09-11 04:04:31 +02:00
admin-docs-toc.test.js test docs toc links 2026-05-09 01:33:06 +02:00
assistant-attachment-roundtrip.test.js fix: translated answers keep their source chips; the patient take home can be translated 2026-09-09 18:40:23 +02:00
assistant-autosave.test.js fix: image Done state, chat titles that keep whole words, and readable extension cards 2026-09-10 06:44:22 +02:00
assistant-citation-modal.test.js 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
assistant-citations.test.js feat: citation quality tracking, and the SSO settings fit a phone 2026-09-10 23:44:43 +02:00
assistant-component-css.test.js refactor: drop the "Saved Chats" header and collapse arrow from the rail 2026-09-10 13:27:29 +02:00
assistant-export-owner.test.js feat: integrate durable image jobs/private assets into current core 2026-09-07 16:53:42 +02:00
assistant-image-attachments.test.js refactor: Google models go through LiteLLM; the Vertex SDK is gone 2026-09-11 13:51:22 +02:00
assistant-image-done.test.js fix: image Done state, chat titles that keep whole words, and readable extension cards 2026-09-10 06:44:22 +02:00
assistant-image-intent.test.js fix: mobile layout regression, workspace menu in the assistant rail, prompt as principles 2026-09-09 22:24:10 +02:00
assistant-math-mhchem.test.js fix: reviewer findings — mhchem macro wrapping, regenerate history dedupe, strict safe image allowlist, stale docs 2026-09-08 19:25:31 +02:00
assistant-message-actions.test.js 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
assistant-mobile.test.js fix: recordings that produced nothing, and the boxes that zoomed on iOS 2026-09-11 00:16:19 +02:00
assistant-saved-tables.test.js feat: saved chats grouped by recency, a visible sidebar toggle, and acknowledgements answered cheaply 2026-09-09 18:59:45 +02:00
assistant-sharing-boundary.test.js feat: integrate durable image jobs/private assets into current core 2026-09-07 16:53:42 +02:00
assistant-sources-cleaning.test.js feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00
assistant-translate.test.js fix: translate as HTML so tables and emphasis survive; stop repeat image generation 2026-09-09 18:49:58 +02:00
assistant-user-markdown.test.js 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
assistant-voice.test.js 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
assistant-workspace-layout.test.js revert: remove the signed-out assistant preview 2026-09-11 05:09:02 +02:00
backend-hardening.test.js fix: expired invitations can be cleared too, revoked ones still cannot 2026-09-11 20:41:18 +02:00
bedside-respiratory-ventilation.test.js allow bedside respiratory without weight 2026-05-08 09:10:33 +02:00
build-id.test.js feat: a deploy you can repeat, and prove afterwards 2026-09-11 00:41:11 +02:00
calc-math.test.js feat: B — extract drug data to public/data/drugs.json (schema v1.0) 2026-04-20 04:23:24 +02:00
calculators-data.test.js consolidate calculator growth helpers 2026-05-08 04:36:39 +02:00
clinical-assistant-prompt-pool.test.js feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00
clinical-conversation.test.js refactor: Google models go through LiteLLM; the Vertex SDK is gone 2026-09-11 13:51:22 +02:00
clinical-generation-options.test.js Send reasoning options only to supported model 2026-08-27 21:25:38 +02:00
clinical-mcp-session-lifecycle.test.js refactor: retrieval is text-only; admins can add model ids discovery never returns 2026-09-09 23:35:06 +02:00
clinical-notes-entrypoints.test.js feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00
clinical-release-integration.test.js fix: the assistant settings page says what saves what 2026-09-11 04:04:31 +02:00
clinical-retrieval-title.test.js refactor: retrieval is text-only; admins can add model ids discovery never returns 2026-09-09 23:35:06 +02:00
clinical-table-preservation.test.js feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00
e2e-harness.test.js test(e2e): repair the harness, taking the browser suite from 96 failures to 11 2026-09-11 18:54:03 +02:00
embeddings-provider.test.js fix litellm metadata model discovery 2026-05-09 04:46:06 +02:00
extension-transfer.test.js feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00
frontend-prompt-env.test.js fix: the assistant settings page says what saves what 2026-09-11 04:04:31 +02:00
frontend-rendering-safety.test.js feat: the announcement banner renders Markdown, safely 2026-09-10 19:08:12 +02:00
generated-image-cache.test.js perf: store real image previews in MinIO, generated at creation and on demand 2026-09-10 06:39:30 +02:00
generated-image-storage.test.js feat: integrate durable image jobs/private assets into current core 2026-09-07 16:53:42 +02:00
generated-image-tools.test.js feat: Learning resources can be grounded in the clinical corpus 2026-09-11 14:03:05 +02:00
generated-images-ui.test.js fix: correct a false Settings claim; make every test child's stdout pure TAP 2026-09-10 15:41:44 +02:00
generated-images.integration.js feat: slides are built by pandoc from markdown, with a reference template 2026-09-11 13:25:24 +02:00
learning-hub-ai-category.test.js extract learning hub cms controller 2026-05-08 16:23:01 +02:00
learning-hub-ai-panel-controller.test.js extract learning hub ai panel controller 2026-05-08 16:54:48 +02:00
learning-hub-editor.test.js extract learning hub ai panel controller 2026-05-08 16:54:48 +02:00
learning-hub-manual-category.test.js fix: make manual CMS category creation visible and keyboard-accessible 2026-09-07 01:16:40 +02:00
learning-hub-quiz-controller.test.js extract learning hub quiz controller 2026-05-08 16:38:51 +02:00
learning-hub-webdav-controller.test.js extract learning hub webdav controller 2026-05-08 16:44:02 +02:00
learning-retrieval.test.js feat: the Learning screen can ask for grounding, and says what it got 2026-09-11 14:39:49 +02:00
login-codes.test.js feat: sign in with a code emailed to you, offered beside the password 2026-09-11 20:12:03 +02:00
mcp-shutdown.test.js feat: integrate durable image jobs/private assets into current core 2026-09-07 16:53:42 +02:00
metrics.test.js fix metrics route normalization 2026-05-08 20:22:14 +02:00
model-defaults.test.js feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00
module-entrypoints.test.js convert learning hub to module 2026-05-08 09:01:34 +02:00
my-resources.test.js feat: the model designs the deck instead of writing markdown for a parser to guess at 2026-09-11 19:49:55 +02:00
notes-sanitize.test.js fix diagram delete confirmation 2026-05-08 06:28:12 +02:00
patient-takehome.test.js fix: translate as HTML so tables and emphasis survive; stop repeat image generation 2026-09-09 18:49:58 +02:00
pe-guide-data.test.js move pe guide data to json 2026-05-08 08:56:21 +02:00
policy-flows.test.js fix: metrics are not public, and the workspace launcher renders again 2026-09-11 05:18:02 +02:00
policy-ui.test.js feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00
prompt-administration.test.js fix: mobile layout regression, workspace menu in the assistant rail, prompt as principles 2026-09-09 22:24:10 +02:00
release.test.js feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00
session-quiz-ed-regressions.test.js fix: correct a false Settings claim; make every test child's stdout pure TAP 2026-09-10 15:41:44 +02:00
slide-spec.test.js feat: the model designs the deck instead of writing markdown for a parser to guess at 2026-09-11 19:49:55 +02:00
stt-provider.test.js simplify speech and embeddings through litellm 2026-05-09 05:09:02 +02:00
transcription-memory-policy.test.js feat: a retried transcript goes back to the tab the audio came from 2026-09-11 12:39:50 +02:00
tts-provider.test.js Match TTS voices to the selected LiteLLM model 2026-07-30 17:34:34 +02:00
web-search.test.js feat: My Resources says what it is, offers its sources in one place, and Modify gets them too 2026-09-11 18:54:17 +02:00
well-visit-data.test.js remove legacy well visit schedule data 2026-05-08 08:59:23 +02:00