pediatric-ai-scribe-v3/public/js
Daniel 4b8223208a feat(pe-guide): unified single-play + remove badges; fix(e2e): shared fixture + raised login limit
User-visible changes:
- Removed the REAL / SYNTH badge from each sound card. User feedback:
  "ridiculous". Cards now just show the sound title + description +
  player, no distinction beyond the player type (native <audio controls>
  for recordings, play/stop/progress bar for synth).
- Removed the "real recordings; synth labelled SYNTH" subtitle from
  the sounds library header.
- Single-playback policy across the whole PE Guide: when any sound
  starts (audio or synth), every other playing sound stops. Covers:
  audio → audio (pause the previous), audio → synth, synth → audio,
  synth → synth. Listeners attach on each .pe-audio 'play' event and
  on every synth play-button click.

E2E infrastructure fixes (for the test failures we hit):
- auth-gated-smoke.spec.js now imports test + loginAs from the shared
  fixtures.js so the token cache is unified across every spec. Without
  this, each spec file's module-scoped _tokenCache multiplied logins
  and hit the 10/15min rate limit.
- server.js: /api/auth/login rate limit is now configurable via
  LOGIN_RATE_LIMIT_MAX env var (default 10, prod unchanged).
- docker-compose.e2e.yml: LOGIN_RATE_LIMIT_MAX="500" so Playwright's
  two-project (chromium + mobile-chrome) multi-worker runs can do
  their logins without tripping the cap. Prod container unaffected.
- fixtures.js console.error allowlist expanded to suppress known
  non-bugs: Cross-Origin-Opener-Policy warnings on http:// e2e
  server, transient 401/403/404/503 resource loads, ERR_BLOCKED_BY_CLIENT.
2026-04-22 22:57:11 +02:00
..
bedside fix(neonatal): replace rounded Fenton 2013 LMS with peditools-validated values 2026-04-22 05:52:00 +02:00
admin.js fix(admin): restore SSO settings loading on admin panel 2026-04-21 22:19:50 +02:00
adminMilestones.js Replace all browser dialogs with modern modal, add OIDC admin UI 2026-04-09 02:43:23 +02:00
app.js Security hardening: low-risk easy wins 2026-04-14 02:42:32 +02:00
audioBackup.js v6.1: Turnstile bot protection, LiteLLM provider, PPTX tables, audio backup fixes, docs 2026-04-04 22:56:24 +02:00
auth.js Hide APK download link on the native Android app 2026-04-14 22:47:59 +02:00
authFetch.js Batch of security + scale fixes 2026-04-14 05:24:40 +02:00
browserWhisper.js FIX: Browser Whisper - 100% self-hosted, zero CDN dependencies 2026-03-31 23:12:21 +00:00
calc-math.js feat: Bedside clinical reference module + age→weight estimator + dose-math unit tests 2026-04-20 02:49:42 +02:00
calculators.js fix(ui): replace native alert/confirm with showConfirm/showToast helpers 2026-04-22 19:29:53 +02:00
chartReview.js Add automatic ICD-10 and CPT billing code suggestions 2026-04-11 01:50:17 +02:00
correctionTracker.js v9: Major feature update — audio backup, SOAP save, Dragon memory, S3 docs, CI/CD, APK 2026-03-28 21:08:32 +00:00
documents.js Hybrid auth: cookie-only on web, Keychain Bearer on mobile 2026-04-14 04:11:55 +02:00
drugs-loader.js feat: B — extract drug data to public/data/drugs.json (schema v1.0) 2026-04-20 04:23:24 +02:00
e2e-bootstrap.js feat: A1+A2 — Playwright smoke suite + index.html mtime-based caching 2026-04-20 03:51:22 +02:00
encounters.js Cache-busting version stamps + client-side encounter version tracking 2026-04-14 05:40:42 +02:00
extensions.js fix(ui): replace native alert/confirm with showConfirm/showToast helpers 2026-04-22 19:29:53 +02:00
hospitalCourse.js Add automatic ICD-10 and CPT billing code suggestions 2026-04-11 01:50:17 +02:00
learningHub.js Security hardening: PHI encryption, argon2, DOMPurify, SRI 2026-04-14 02:49:38 +02:00
liveEncounter.js Native Android: biometric auth, foreground service bridge, mic fix 2026-04-11 03:42:23 +02:00
memories.js Replace all browser dialogs with modern modal, add OIDC admin UI 2026-04-09 02:43:23 +02:00
milestones.js v6.2: Session management, password change, audit logging, refine context, UI fixes 2026-04-08 20:27:45 +02:00
milestonesData.js v4: Fix milestones display + add OpenID auth + 100MB PDF support 2026-04-01 17:59:51 +00:00
nextcloud.js Fix WebDAV selection, pdf-parse, prompt(), CSP, security issues 1/2/4/5 2026-03-24 02:28:43 -04:00
pediatricScheduleData.js feat(wellvisit): add Expected Reflexes section to By Visit Age 2026-04-21 22:20:07 +02:00
peGuide.js feat(pe-guide): unified single-play + remove badges; fix(e2e): shared fixture + raised login limit 2026-04-22 22:57:11 +02:00
respiratorySounds.js feat(pe-guide): real audio, innocent-murmur panel, APTM image, all-ages resp+CV 2026-04-22 21:00:42 +02:00
secureStorage.js Add hardware-backed secure storage for mobile auth token 2026-04-14 02:33:32 +02:00
shadess.js Add automatic ICD-10 and CPT billing code suggestions 2026-04-11 01:50:17 +02:00
sickVisit.js Add automatic ICD-10 and CPT billing code suggestions 2026-04-11 01:50:17 +02:00
soap.js Add pause/stop buttons to SOAP note recording 2026-04-11 05:19:12 +02:00
speechRecognition.js Add Web Speech Recognition option for real-time streaming 2026-03-31 21:57:24 +00:00
transcriptionSettings.js Replace all browser dialogs with modern modal, add OIDC admin UI 2026-04-09 02:43:23 +02:00
voiceDictation.js Add automatic ICD-10 and CPT billing code suggestions 2026-04-11 01:50:17 +02:00
voicePreferences.js Fix TTS preview for 'Server default' voice option 2026-03-31 16:15:41 +00:00
wellVisit.js feat(wellvisit): add Expected Reflexes section to By Visit Age 2026-04-21 22:20:07 +02:00
whisperWorker.js FIX: Browser Whisper - 100% self-hosted, zero CDN dependencies 2026-03-31 23:12:21 +00:00
whisperWorkerV2.js v16: Make Browser Whisper CDN failure graceful with clear warnings 2026-03-31 16:18:46 +00:00