Produktoppdateringer

Release Notes — 26. april 2026

Bartłomiej Głowacki · CAIO, leder for AI og FoU
Release Notes — 26. april 2026

For 19 dager siden lanserte vi en stor utgivelse med diagnosemodulet og prosodianalyse. Siden da har teamet dyttet gjennom enda 295 endringer — og de er ikke små. I denne utgivelsen kan du ta opp en ad hoc-sesjon før pasienten i det hele tatt ankommer, notatene dine slås sammen med AI-arbeid og transkripsjon side om side i tre kolonner, den offentlige terapeutprofilen er tilbake for fullt, og mobilappen har nå et mørkt tema. Under panseret gikk vi gjennom en SOC 2/HIPAA-herding, en DDD-revisjon og full pseudonymisering av pasientdata på AI-siden.

💚 Takk til teamet som drev denne utgivelsen fremover — gjennom rapporter, tester, kode og tålmodighet:

  • Bohdan — ad hoc-sesjoner, pakkegrenser og henstandsperiode, DDD-revisjon, KSeF-fakturaer, dusinvis av rettelser (SCRUM-756, 815, 1267, 1268, 1276, 1280-1290, 1293, 1309-1316, 1353-1357, 1366, 1388, 1391, 1392)
  • Bartek — 3-veis sammenslåing, 9 separate CBT-analyser, kognitive forvrengninger, pakkesesjonsteller (SCRUM-1266, 1320, 1338, 1368-1375, 1385, 1386)
  • Ewa Cylwik / Ewa — Beck-PDF, andre AITS-sesjon for samme pasient, mørkt tema på mobil og tom tilstand, flerspråklig utsendelse, UI-farger, unikhet for pasient-e-post (SCRUM-883, 898, 902, 1089, 1094, 1297, 1304, 1307, 1319)
  • Joanna — tilbakevendende kalender, skjule Zoom, rettidig avlysning, selvrefleksjon i stedet for vurdering av sesjonskvalitet (SCRUM-789, 874, 918, 919, 1005)
  • Pluss Bartlomiej for kognitive forvrengninger og sesjonstelleren, som ble grunnlaget for den nye abonnementsmodellen

1. ⚡ Ad hoc-sesjoner — ta opp før pasienten ankommer

Har du noen gang måttet slå på en opptaker i full fart — fordi en pasient dukket uanmeldt opp, fordi det er en engangskonsultasjon, fordi det er et møte med noen som ennå ikke er i journalene dine — løser den nye ad hoc-sesjon-modulen hele dette problemet.

  • Hurtig opptak-knapp i webdashbordet, i PWA på telefon og i MAUI-appen — ett klikk starter opptaket før du i det hele tatt har fylt ut pasientens data
  • Ad hoc-innboks — en dedikert skuff for utildelte opptak inntil du bestemmer hvor de skal
  • AssignPatientModal — tildel opptaket til en eksisterende pasient eller opprett en ny direkte fra innboksen
  • Gjenoppta / gå inn i rommet igjen — fullfør opptaket av en sesjon du startet tidligere
  • Foreldreløs oppbevaring + auto-fullføring — sesjoner som ikke er tildelt på X dager, lukkes automatisk slik at innboksen holdes ryddig
  • Video «Start uten pasient» — i LiveKit-rommet kan du starte en sesjon uten å kollidere med en eksisterende pasient; ad hoc-sesjonen havner etterpå i innboksen

Seksjonen er sperret bak PromptyAI-koden i Innstillinger — avslått som standard, for brukere som først vil se resten. Designet og levert av Bohdan.

2. 📊 Pakkegrenser og henstandsperiode — gjennomsiktig abonnement

Abonnementene har fått en full overhaling. De gamle Starter/Standard-planene er deaktivert, erstattet av Start / Practice / Pro — dimensjonert etter det faktiske sesjonsvolumet per måned.

  • Sesjonsteller på dashbordet — se hvor mange sesjoner du har brukt denne måneden, og hvor mange som er igjen i pakken din
  • Grense-e-poster — automatiske varsler ved 80 % og 100 % forbruk
  • Oppgraderingsforslag — når du når grensen, får du et vennlig forslag om planbytte i stedet for en hard blokkering
  • Priser fra Stripe + rabatter — prisen du ser i appen kommer direkte fra Stripe med aktive rabatter anvendt (betatester-koden utløper ikke)
  • Nativ oppsigelse av abonnement — si opp direkte i appen, ingen grunn til å e-poste support
  • 14 dagers henstandsperiode — hvis en betaling mislykkes, får du 14 dager med tilgang kun til din egen konto (ingen pasientforhåndsvisninger), med e-poster på T+0 og T+13. Reelt datatap inntreffer først etter to uker
  • Abonnementsbanner — ren melding øverst i appen uten tom stolpe mellom menyen og varselet
  • Sesjonsgrense-simulator — i PromptyAI-panelet finnes det en testmodus der du kan se hvordan appen oppfører seg ved en full pakke

Felles arbeid av Bartlomiej (teller og grenser, SCRUM-1266) og Bohdan (abonnement, henstand, oppgraderingsforslag — SCRUM-756, SCRUM-1366, SCRUM-1391, SCRUM-1392).

3. 📝 3-veis sammenslåing av notater — terapeut, AI og transkripsjon i én visning

Dette er en av de største arkitektoniske endringene under panseret, men effekten på det daglige arbeidet er svært synlig: hvert notatfelt (Notater, Sesjonssammendrag, konseptualiseringsseksjoner) husker nå separat hva terapeuten skrev, hva AI genererte, og hva som kom fra diktafonen/transkripsjonen.

  • Notater 3-veis — notatvisningen viser tre kilder side om side: din tekst, AI-forslag og automatisk transkripsjon, og du velger hva som skal beholdes
  • Sesjonssammendrag 2-veis + JSON-sammenslåing — i sesjonssammendraget slår du sammen ditt eget arbeid med AI-analysen til ett sammenhengende dokument
  • Tidsstempel-skille — når du redigerer et AI-felt manuelt, etterlater systemet et synlig spor av når og hvis fragment det er
  • [AI]-merke fra første generering — feltene dine blandes ikke sammen med genererte felt
  • SourceBadge — fargerik pille med et ikon som viser hvor et fragment kommer fra, i stedet for tekst med STORE BOKSTAVER
  • Erstatning av AI-seksjon i stedet for tillegg — når du ber om regenerering av sammendraget, erstatter AI seksjonen i stedet for å legge enda en kopi under

Designet og levert av Bartek (SCRUM-1320, SCRUM-1368-1375). Under panseret: full i18n på 8 språk og nye DDD-kontekster.

4. 🔍 CBT-analyser — 9 separate rapporter på forespørsel

Den gamle monolittiske «generer CBT-analyse» er delt opp i 9 separate elementer som terapeuten kjører når de faktisk trenger dem. Mindre venting, mer kontroll.

  • 9 uavhengige analyser — hver genereres separat, på forespørsel
  • Tannhjul for prompt-redigering — klikk på tannhjulet ved siden av hver analyse for å se/endre prompten AI vil bruke
  • Seksjonen CBT-ANALYSER bak PromptyAI-koden — seksjonen er tilgjengelig etter at koden er lagt inn i Innstillinger, for brukere som tester nye funksjoner

Kognitive forvrengninger fikk sin egen visning (rapportert av Bartlomiej, SCRUM-1385):

  • Datavisning i stedet for en AI-rapport — du ser konkrete sitater fra transkripsjonen merket av AI, ikke en fortelling generert ut fra dem
  • Alle sitater etter utvidelse — ingen datofilter, utvidelse avslører alt
  • Tilgjengelig i hovedmenyen — under Konseptualisering v2

Den gamle prompten COGNITIVE_DISTORTIONS_INVENTORY er fjernet (SCRUM-1386).

5. 🌐 Offentlig terapeutprofil — full fornyelse med redigeringspaneler

Den offentlige profilen under merkevaren aitherapy.support er bygget fullstendig om.

  • 3 nye redigeringspaneler — bio, spesialiseringer, kontaktdetaljer redigeres i elegante sidepaneler
  • Eier-redigeringsmodus — når du ser din egen profil mens du er innlogget, er redigeringsknappene lett tilgjengelige
  • Års erfaring — nytt felt YearsOfExperience synlig på den offentlige profilen
  • Fargerebranding — salvie/lavendel-palett under merkevaren aitherapy.support
  • Seksjonen «Ditt personvern» fjernet — den var overflødig; GDPR er i bunnteksten
  • Lucide-ikoner — moderne, ren ikontypografi

Under panseret ble det lagt til et offentlig endepunkt GET /api/public/therapists — som returnerer terapeuter med aktive offentlige profiler. Grunnlag for en terapeutkatalog.

6. 🎥 Videosesjoner — PiP, bytt kamera, rettet bakgrunnsuskarphet

Video har fått en rekke rettelser som enhver terapeut som kjører sesjoner gjennom appen vil legge merke til.

  • PiP/minimer — minimer videorommet til en flytende miniavspiller og sjekk notater i en annen fane uten å bryte forbindelsen. Mikrofon og kamera fortsetter å virke
  • Bytt kamera — bytt hvem som er i hovedvisningen og hvem som er i mini, med ett klikk
  • PiP-gjenopptakelse — når du kommer tilbake fra minimering, hopper du over lobbyen (PreJoinLobby) og går rett inn i samtalen
  • Lyd per deltaker for diarisering — transkripsjonen skiller talere selv i PiP
  • Bakgrunnsuskarphet rettet — CSP blokkerte MediaPipe WASM; uskarphet virker nå med ett klikk
  • Renere AITS-sesjons-UI — AI-assistenten forsvant fra verktøylinjen, mindre visuell støy
  • PiP-overlegg klikkbart — ved å fjerne pointerEvents:none og overflow:hidden reagerer PiP-knappene nå på klikk
  • Knappen «Bli med i sesjon» — var skjult av en CSS-overstyring, nå synlig
  • Foreldet closure i handleMaximize — rettet; PiP-maksimering kaster ikke lenger en feil

7. 📐 Beck v2-konseptualisering og ABC — PDF, versjonsbryter, prompt-redigering

  • Beck- og ABC v2-PDF — rettet formatering og automatisk inkludering i sesjonsmaterialer (rapportert av Ewa, SCRUM-1297)
  • Beck-PDF — seksjoner kun med kant, fargerike spesialiseringer, rene initialer, SVG-pil mellom seksjoner
  • ABC v1/v2-bryter i Konseptualisering v2 — velg hvilken ABC-versjon som skal vises
  • Tannhjul for prompt-redigering i ABC v2 — endre AI-prompten i ABC v2-fanen
  • PDF-eksport for AI-analyser og ABC per sesjon — individuelle analyser eksporteres separat
  • Flertallsbøying av ABC-etiketter på 8 språk — konseptualiseringstabellen har korrekte flertallsformer
  • Retting av tomme ABC-kolonner — backend returnerer korrekte flertallsegenskapsnavn

8. 🧾 Fakturaer og KSeF — betalingsvalg + tilstandsmaskin

Faktureringssystemet ble omstrukturert for samsvar med KSeF (det polske nasjonale e-faktureringssystemet).

  • Faktura fra valgte betalinger — velg betalinger, og systemet oppretter én faktura ut fra dem (øyeblikksbilde + Payment FK)
  • Inngangspunkt «Utsted faktura» i terapeutens finansvisning — rask tilgang fra dashbordet
  • Fjerning av poster i modalen for fakturautstedelse — rett feil på sparket
  • Adskillelse av KSeF dev/prod — sandkasse og produksjon jobber med separate legitimasjonsopplysninger
  • Tilstandsmaskin for fakturaer (SCRUM-1357 Bohdan) — Utkast → Utstedt → Sendt → Kansellert, med et databasekonstraint på ulovlige overganger
  • AE KsefToken — KSeF-token kryptert med Always Encrypted

Felles arbeid av Bohdan (SCRUM-1357, SCRUM-1388).

9. 📅 Kalender, tilbakevendende sesjoner og lokasjoner

Den ukentlige og tilbakevendende kalenderen har fått dusinvis av små, men synlige forbedringer — de fleste rapportert av Joanna og Ewa.

  • Sesjoner fra kl. 22:00 — var usynlige i det ukentlige rutenettet, vises nå til dagens slutt
  • Alle timer i rutenettet for tilbakevendende tidsluker (SCRUM-874, Joanna)
  • Rettidig kansellert sesjon — vises ikke som «Ubetalt» (SCRUM-918, Joanna)
  • Gjentakelsesetikett ved siden av den tilbakevendende tidsluken (SCRUM-919, Joanna) — du ser «ukentlig», «annenhver uke» ved siden av hver gjentakende sesjon
  • Skjuling av Zoom-integrasjon fra UI (SCRUM-789, Joanna) — Zoom støttes ikke lenger som videokanal
  • Sesjonspopover i kalenderen — skjules ikke lenger utenfor skjermen
  • TherapistAvailability — autolagring ved hver endring (debounce 800 ms), ingen lagre-knapp nødvendig
  • AddSessionModal — valget «opprett sesjon utenfor tilgjengelighetstider» — unntak kan tvinge gjennom en tidsluke
  • Status «Ikke møtt» (NoShow=5) — ny status, kan settes selv fra fullførte eller kansellerte sesjoner
  • RecurringSessionsCalendar — oppsummeringsfliser over forklaringen og rutenettet

Terapeutlokasjoner fikk digitale møtekanaler per lokasjon:

  • Fysisk modus — adresse- og byfelt for fysiske lokasjoner
  • Fysisk/digital-bryter i stedet for en avkrysningsboks — tydeligere modusvalg
  • Digital kanal per lokasjon — ulike lokasjoner kan ha ulike kanaler (AITS, Google Meet, ekstern lenke), automatisk videreført til sesjoner
  • Permanente møterom per pasient — hver pasient har en permanent AITS-romlenke og en separat ekstern lenke synlig i pasientinnstillinger
  • Sletting av lokasjon — rettet (forsvant fra databasen, men ble stående på UI-listen)

Og til slutt møtetype i tilbakevendende sesjoner — rettet videreføring av MeetingType og MeetingLink fra konfigurasjonen av den tilbakevendende serien til hver genererte sesjon og til påminnelses-e-poster (SCRUM-902, Ewa).

10. 📱 Mobilapp — mørkt tema, ad hoc-innboks, finpuss

Mobilen gikk over til versjon 1.5.0 (build 18) med en mengde brukersynlige endringer og noen finjusteringer rundt signering for App Store/Play Store.

  • Mørkt tema — full mørk modus med lesbare gruppeoverskrifter (SCRUM-1089, Ewa + SCRUM-815)
  • Konfigurerbare påminnelser — velg når du vil ha et sesjonsvarsel
  • Mobilpåminnelse 15 min — 15-minutters før-sesjon-påminnelse + advarsel når systemvarsler er avslått (SCRUM-815, Bohdan)
  • Tom tilstand for sesjonsliste — i stedet for en tom skjerm, en rikere onboarding (SCRUM-1094, Ewa)
  • Auto-oppdater-banner — når appen oppdager en oppdatering, viser den et innbydende oppdateringsbanner
  • Ad hoc-innboks + AssignPatient + hurtigstart i MAUI (SCRUM-1289, Bohdan)
  • PWA mobil-hurtigstart for ad hoc-sesjoner (SCRUM-1286, Bohdan)
  • Responsiv nettvisning for telefon — desktop uendret, på telefon tilpasser layouten seg til den smale skjermen
  • Deep-link-håndtering i iOS — bruker BindingContext, registrering av URL-skjema
  • iOS NSLocation purpose strings — retter ITMS-90683 (App Store avviste build uten disse)
  • Android AAB — eksplisitt jarsigner-steg
  • App Store Connect- og Google Play-materiell — full pakke pluss WCAG 2.2-revisjon

11. 🔐 Sikkerhet: SOC 2/HIPAA, MFA, full AI-pseudonymisering

Under produktlaget gjennomførte vi en full SOC 2- og HIPAA-herding pluss en DDD-revisjon med fem konkrete leveranser.

  • MFA-reverifisering for kritiske operasjoner — for sensitive handlinger (bytte av passord, dataeksport) bekrefter du på nytt med MFA
  • Backup-koder for MFA — nødkoder hvis du mister telefonen
  • IAnonymizedLlmGateway (SCRUM-1353, Bohdan) — alle kall til AI-modeller går nå gjennom en pseudonymiserende gateway. Navn, datoer, steder erstattes med pseudonymer før de forlater appen; AI får kun den anonymiserte versjonen
  • Pseudonymisering av e-post-/SMS-varsler (SCRUM-1354) — meldingsmaler lekker heller ikke pasientdata ved utsending
  • OAuth-tokens Google/Zoom kryptert med Always Encrypted (SCRUM-1355) — tilgangstokens for integrasjoner er kolonnekryptert
  • Patient.PendingConsent-flagg (SCRUM-1356) — pasienter uten aktivt samtykke får en håndhevelsesflyt + frontend-merke
  • Tilstandsmaskin for fakturaer (SCRUM-1357) — fakturastatuser er uforanderlige i ugyldige retninger, håndhevet på databasenivå
  • Uforanderlig revisjonslogg + brukerøyeblikksbilde i 3 revisjonstabeller — handlingsloggen kan ikke endres i etterkant
  • DeanonymizationAuditLog — hver bruk av pasientdata etter deanonymisering logges sammen med e-post- og displayName-øyeblikksbildet av brukeren som utførte det
  • Hardkodede hemmeligheter fjernet — alle nøkler og passord fra appsettings.json flyttet til Azure Key Vault
  • Always Encrypted for alle brukertekstdata (ADR-0018) — arkitektonisk retning godkjent; flere tabeller migreres neste utgivelse
  • ISO/IEC-samsvarsgapanalyse — 95 gap på tvers av 9 standarder kartlagt, med en utbedringsplan

Understøttet av en full DDD-revisjon (økter 1-8, faser 1-6) — omstrukturering av domenekontekster, arkitekturdokumentasjon, ADR-er, mermaid + tester, playbooks, Confluence-integrasjon.

12. 👤 Pasientportal — analyser i Mål, materialer, bedre forhåndsvisning

  • Beck-konseptualisering i pasientens fane «Mål» — når du publiserer konseptualiseringen, ser pasienten den i sin portal
  • Publisering av analyser til pasientportalen + varslingspreferanser (SCRUM-1338, Bartlomiej) — styr hva og når pasienten mottar
  • PDF-forhåndsvisning i portaleniframe i stedet for embed, CSP tillater blob: (PDF-er lastes inn)
  • Forhåndsvisning av pasientportal fra terapeutens visning — se hva pasienten ser (chrome i wrapper, dashbord 1:1)
  • Sesjonsmaterialer i Azure Blob Storage — SessionMaterial som blob, ikke lenger lokalt filsystem
  • Seksjon for samtykke/dokumenter + registreringskilde i pasientinnstillinger
  • Global unikhet for pasient-e-post (SCRUM-898) — en annen pasient med samme e-post får en 409 og modalen lukkes (SCRUM-898, Ewa)
  • Seeder for varslingsmaler for SK, CA, RU, UK, LT (SCRUM-883, Joanna) — full flerspråklig utsendelse
  • Resolver-fallback til plattformens standard — når en terapeut ikke har overstyrt malen, sendes standardversjonen på flere språk (SCRUM-883)

13. 🎙️ Transkripsjon — pålitelig opptak, tillegg, sanntid med diarisering

  • Tillegg til eksisterende transkripsjon — fortsett å ta opp inn i samme sesjon; segmenter legges til (hensikten overlever en gjeninnlasting av siden)
  • Lyd per deltaker for diarisering — videotranskripsjon skiller talere på uavhengige spor
  • Transkripsjon overlever PiP — minimering av rommet bryter ikke opptaket
  • Transkripsjonsspråk fra sesjonsinnstillinger — STT bruker språket du har satt for pasienten
  • Auto-oppdatering av transkripsjon ved fokus/visibilitychange/retur fra video
  • Bekreftelse ved stopp av opptak < 2s — beskyttelse mot en tom WAV-fil fra et feilklikk
  • «Sender»-merke i sesjonslisten — du ser når et opptak er under opplasting
  • Sanntid med diarisering i videosesjon — startet ikke tidligere; virker nå
  • OPFS-backup + 48 kbps Opus — opptaket lagres også lokalt til OPFS som fallback, lydparametre er samkjørt
  • SAS direkte opplasting av lyd (SCRUM-1276, Bohdan) — lyd går direkte til Azure via SAS-URL, utenom backend
  • m4a nativt til Azure Speech — m4a håndteres nativt, ingen konvertering
  • Formatgjenkjenning via magic bytes (SCRUM-1311, Bohdan) — når Content-Type er application/octet-stream, gjenkjennes formatet fra filens innhold
  • Hub uten DB-tekst — SignalR-sanntidshuben lagrer ikke lenger tekst i databasen; finishPending bruker multipart POST på samme måte som MAUI
  • SignalR 1006-fiks — fjernet skipNegotiation slik at Azure SignalR fungerer + finjustering av keep-alive
  • [AI]-merke fra første generering + pålitelig merkeoppslag

14. 💬 Varsler, pasientinnstillinger, mindre UX

  • NotificationTemplatesAdmin — HTML/tekst-bryter i e-postredigereren
  • NotificationSettings — forhåndsvisning av e-post rendrer HTML med fallback
  • PromptEditModal — bygget om: faner, modellvelger, påkrevde versjonsnavn
  • Nullstilling av flagget Hide_dev_ui ved utlogging — utviklerflagg følger ikke med på tvers av økter
  • Testpasient Ann Fauler — engelsk 1:1-versjon av den polske Anna Pełnialska for rene EN-demoer
  • Bryter for dev UI-presentasjonsmodus — rask veksling til presentasjonsmodus
  • Feilrapport — Jira-vedlegg + rapportør-etikett + sentrert «Send»-knapp
  • Auth-refresh-loop rettet — avbryt forespørsler og gå tilbake til innlogging ved 401
  • Banner «Serveren starter» — ved kaldstart (scale-to-zero) viser vi en melding i stedet for en tom side
  • Sesjonsvurderingsskala — selvrefleksjon i stedet for kvalitetsvurdering + ansvarsfraskrivelse (SCRUM-1005, Joanna)
  • Fargen på knappen «Minimer» endret til koboltfiolett (SCRUM-1307, Ewa)
  • Fargen på etiketten «Transkripsjon» endret fra rød til grønn (SCRUM-1304, Ewa)
  • «Ta opp nå» → «Ta opp ad hoc-sesjon» — mer presist knappenavn
  • Sandkasse med grønt bånd i øvre venstre hjørne + prefikset [SANDBOX] i tittelen — for å unngå forveksling av miljøer, pluss en gjentakbar PROD → Sandkasse-klon (Azure IaC + skript)

✅ QA-sjekkliste — hva du skal verifisere etter utrulling

FunksjonVerifiser
Ad hoc-sesjon — hurtig opptakKlikk på hurtig opptak på dashbordet eller i PWA-en — opptaket starter umiddelbart, sesjonen havner i ad hoc-innboksen
AssignPatient i ad hoc-innboksÅpne et ad hoc-opptak — du kan tildele det til en eksisterende pasient eller opprette en ny
PakkegrenseDashbordet viser sesjonstelleren for inneværende måned og hvor mange som er igjen i pakken
Henstandsperiode etter mislykket betalingAbonnementssimulator i PromptyAI — fremtving en mislykket betaling, du får kun kontotilgang i 14 dager
3-veis sammenslåing av notaterI sesjonsdetaljer viser notatfeltet tre kilder side om side (terapeut/AI/transkripsjon); du kan velge hva som skal beholdes
9 CBT-analyserFanen for CBT-analyser viser 9 separate elementer; hver genereres på forespørsel; hver har et tannhjul for prompt-redigering
Offentlig profil — panelerÅpne din egen offentlige profil mens du er innlogget — redigeringspaneler for bio, spesialisering og kontakt er synlige
Video-PiPUnder en videosesjon klikker du minimer — vinduet krymper til miniavspiller, mikrofonen fungerer fortsatt, du kommer tilbake uten lobby
BakgrunnsuskarphetI videolobbyen aktiverer du bakgrunnsuskarphet — virker umiddelbart, ingen CSP-feil
Beck-konseptualisering PDFGenerer konseptualiserings-PDF-en — vises også i sesjonsmaterialer
ABC v1/v2-bryterI konseptualisering v2 kan du bytte ABC-kilden mellom versjon 1 og 2
Faktura fra valgte betalingerVelg noen betalinger og klikk «Utsted faktura» — én faktura produseres ut fra øyeblikksbildet
Tilbakevendende sesjon med Google MeetDen andre og tredje sesjonen i serien har Google Meet riktig satt, og e-posten inneholder riktig lenke
Sesjoner fra kl. 22:00Den ukentlige kalenderen viser sesjoner planlagt til kl. 22:00 og senere
Status «Ikke møtt»I en fullført/kansellert sesjon kan du endre status til «Ikke møtt»
Mørkt tema på mobilBytt til mørkt tema i mobilappen — gruppeoverskrifter er lesbare
Ad hoc-innboks på mobilMobilen viser ad hoc-innboksen og lar deg tildele en pasient
MFA-reverifiseringVed bytte av passord ber appen om MFA på nytt
AI-pseudonymiseringI loggene ser du at pasientdata sendes til AI som pseudonymer
Sesjonsmaterialer som blobLast opp en fil til sesjonsmaterialer — den havner i Azure Blob Storage, ikke på lokal disk
Global unikhet for pasient-e-postLegg til en annen pasient med samme e-post — du får en 409, og modalen lukkes
Banner «Serveren starter»Etter en lengre periode uten aktivitet viser appens inngang banneret i stedet for en tom side

🛠️ Hva vi rettet — det med liten skrift

I tillegg til de store funksjonene ble rundt 80 rapporter fra testere og brukere løst. Høydepunkter:

  • PiP-overlegg var ikke klikkbart — rettet
  • Foreldet closure i handleMaximize — PiP-maksimering kaster ikke lenger en feil
  • PiP beholder forbindelsen — tidligere ble room.disconnect() utløst ved overgangen fullskjerm↔PiP
  • Knappen «Bli med i sesjon» var skjult av en CSS-overstyring — avdekket
  • Andre AITS-sesjon for samme pasient (SCRUM-1319, Ewa) — fjern UNIQUE INDEX på Session.VideoInviteToken
  • Sesjonsnummerering i konseptualisering hopper over kansellerte (SCRUM-1267, Bohdan)
  • Null-sikker Payment-tilgang i GetSessionDetailsAsync (SCRUM-1268, Bohdan)
  • Testsesjonskollisjon mellom Anna Pełnialska og Jan kl. 14:00 — rettet i seederen
  • Treg dashbord — null-sikker mapping i GetTodaySessionsAsync og GetSessionDetailsAsync
  • Auto-oppdatering etter avsluttet mikrofonopptak — virker
  • Batch-fallback overskriver ikke tekst fra tidligere opptak eller blokkerer UI-en med status «Behandler»
  • Transkripsjonsspråk fra sesjonsinnstillinger — STT respekterer pasientens preferanse
  • CSP — tillater *.clarity.ms, blob: i connect-src, analytics i script-src
  • Auth-refresh-loop — avbryter forespørsler etter 401 og går tilbake til innlogging
  • CSP MediaPipe WASM — bakgrunnsuskarphet virker
  • DEV/SANDBOX-bånd også på Azure FQDN, ikke bare på tilpasset domene
  • Falsk toast «Transkripsjon mislyktes» ved sesjonsinngang — fjernet
  • Toast i stedet for rødt banner ved mislykket transkripsjon + fjernet «Resample»-knapp
  • Sanntid med diarisering i videosesjon — starter korrekt
  • AI-streaming — AbortController per handler i stedet for delt (BodyStreamBuffer was aborted)
  • Nginx non-root + Azure Container Apps — flere iterasjoner for å få det til å virke
  • Distribuert lås (sp_getapplock) — oppstartsmigreringer kolliderer ikke lenger ved parallelle utrullinger
  • DbUpdateConcurrencyException i batch-transkripsjonspolleren (SCRUM-1313, Bohdan)
  • BlobNotFound som forventet tilstand (SCRUM-1314, Bohdan)
  • Ikke-JSON-nyttelast i Stripe-webhook (skannere/roboter) — håndteres uten feil (SCRUM-1315, Bohdan)
  • Gjenkjenning av lydformat via magic bytes (SCRUM-1311, Bohdan)
  • Robust lydopplasting + defensiv Content-Type (SCRUM-1293, Bohdan)
  • FK-migrering ActiveEmbeddingModelId → ON DELETE NO ACTION
  • Dev-klientutrulling — CACHE_BUST=github.sha tvinger frontend-gjenoppbygging

Dette er den største, tetteste utgivelsen denne våren. Hvis en funksjon føles kjent — er det fordi det var din forespørsel eller din sak. Takk for hver rapport og hvert skjermbilde.

Artikkel utarbeidet av Therapy Support-teamet

Therapy Support · Kom i gang allerede i dag

Få tiden tilbake til deg selv
og dine pasienter

Er du CBT-terapeut?
Se hvordan plattformen støtter det daglige arbeidet ditt.
Sesjonsoppsummeringer som organiserer det kliniske materialet. Administrasjon som ikke er i veien.