Poznámky k vydání - 26. dubna 2026
Před 19 dny jsme vydali velké vydání s diagnostickým modulem a analýzou prozódie. Od té doby tým prosadil dalších 295 změn - a nejsou malé. V tomto vydání můžete nahrát ad-hoc sezení ještě předtím, než pacient dorazí, vaše poznámky se slučují s prací AI a přepisem vedle sebe ve třech sloupcích, veřejný profil terapeuta je zpět v plné síle a mobilní aplikace má nyní tmavý motiv. Pod kapotou jsme prošli zpřísněním podle SOC 2 / HIPAA, DDD auditem a plnou pseudonymizací dat pacientů na straně AI.
💚 Díky týmu, který toto vydání dotáhl - hlášeními, testy, kódem i trpělivostí:
- Bohdan - ad-hoc sezení, limity balíčků a ochranná lhůta, DDD audit, faktury KSeF, desítky oprav (SCRUM-756, 815, 1267, 1268, 1276, 1280-1290, 1293, 1309-1316, 1353-1357, 1366, 1388, 1391, 1392)
- Bartek - třícestné sloučení, 9 samostatných analýz KBT, kognitivní zkreslení, počítadlo sezení balíčku (SCRUM-1266, 1320, 1338, 1368-1375, 1385, 1386)
- Ewa Cylwik / Ewa - Beck PDF, druhé sezení AITS pro téhož pacienta, tmavý motiv a prázdný stav na mobilu, vícejazyčný mailing, barvy UI, jedinečnost e-mailu pacienta (SCRUM-883, 898, 902, 1089, 1094, 1297, 1304, 1307, 1319)
- Joanna - opakující se kalendář, skrytí Zoomu, včasné zrušení, sebereflexe místo hodnocení kvality sezení (SCRUM-789, 874, 918, 919, 1005)
- Plus Bartlomiej za kognitivní zkreslení a počítadlo sezení, které se stalo základem nového modelu předplatného
1. ⚡ Ad-hoc sezení - nahrávejte ještě předtím, než pacient dorazí
Pokud jste někdy museli rychle zapnout nahrávání - protože pacient přišel neohlášen, protože jde o jednorázovou konzultaci, protože jde o schůzku s někým, kdo ještě není ve vaší evidenci - nový modul ad-hoc sezení řeší celý tento problém.
- Tlačítko rychlého nahrávání ve webovém dashboardu, v PWA na telefonu a v aplikaci MAUI - jedno kliknutí spustí nahrávání ještě předtím, než vyplníte údaje pacienta
- AdHoc Inbox - vyhrazená schránka pro nepřiřazená nahrávání, dokud se nerozhodnete, kam patří
- AssignPatientModal - přiřaďte nahrávku existujícímu pacientovi nebo rovnou ze schránky vytvořte nového
- Pokračovat / znovu vstoupit do místnosti - dokončete nahrávání sezení, které jste začali dříve
- Uchování osiřelých + automatické dokončení - sezení nepřiřazená po dobu X dní se automaticky uzavřou, aby schránka zůstala přehledná
- Video „Začít bez pacienta” - v místnosti LiveKit můžete zahájit sezení, aniž by kolidovalo s existujícím pacientem; ad-hoc sezení pak putuje do schránky
Sekce je skrytá za kódem PromptyAI v Nastavení - ve výchozím stavu vypnutá, pro uživatele, kteří chtějí nejdřív vidět zbytek. Navrhl a dodal Bohdan.
2. 📊 Limity balíčků a ochranná lhůta - transparentní předplatné
Předplatné prošlo úplnou revizí. Staré plány Starter/Standard jsou deaktivovány, nahrazeny plány Start / Practice / Pro - dimenzovanými podle skutečného objemu sezení za měsíc.
- Počítadlo sezení na dashboardu - vidíte, kolik sezení jste tento měsíc využili a kolik jich v balíčku zbývá
- E-maily o limitu - automatická oznámení při 80% a 100% využití
- Výzva k upgradu - jakmile dosáhnete limitu, dostanete jemný návrh změny plánu místo tvrdého zablokování
- Ceny ze Stripe + slevy - cena, kterou vidíte v aplikaci, přichází přímo ze Stripe s aplikovanými aktivními slevami (kód beta testera nevyprší)
- Nativní zrušení předplatného - zrušte přímo v aplikaci, bez nutnosti psát podpoře
- 14denní ochranná lhůta - pokud platba selže, máte 14 dní přístupu pouze k vlastnímu účtu (bez náhledů pacientů), s e-maily v T+0 a T+13. Ke skutečné ztrátě dat dojde až po dvou týdnech
- Banner předplatného - čistá zpráva v horní části aplikace bez prázdného pruhu mezi menu a upozorněním
- Simulátor limitu sezení - v panelu PromptyAI je testovací režim, kde vidíte, jak se aplikace chová při plně vyčerpaném balíčku
Společná práce Bartlomieje (počítadlo a limity, SCRUM-1266) a Bohdana (předplatné, ochranná lhůta, výzva k upgradu - SCRUM-756, SCRUM-1366, SCRUM-1391, SCRUM-1392).
3. 📝 Třícestné sloučení poznámek - terapeut, AI a přepis v jednom pohledu
Toto je jedna z největších architektonických změn pod kapotou, ale efekt na každodenní práci je velmi viditelný: každé pole poznámek (Notes, SessionSummary, sekce konceptualizace) si nyní odděleně pamatuje, co napsal terapeut, co vygenerovala AI a co pochází z diktafonu / přepisu.
- Třícestné poznámky (Notes 3-way) - pohled na poznámky ukazuje tři zdroje vedle sebe: váš text, návrhy AI a automatický přepis, a vy si vyberete, co ponechat
- SessionSummary 2-way + sloučení JSON - v souhrnu sezení sloučíte svou práci s analýzou AI do jednoho souvislého dokumentu
- Oddělovač časového razítka - když ručně upravíte pole AI, systém zanechá viditelnou stopu o tom, kdy a čí je daný fragment
- Značka [AI] od prvního generování - vaše pole se nemísí s vygenerovanými
- SourceBadge - barevná bublinka s ikonou ukazující, odkud fragment pochází, místo textu VELKÝMI PÍSMENY
- Nahrazení sekce AI místo přidávání - když požádáte o nové generování souhrnu, AI sekci nahradí, místo aby pod ní vrstvila další kopii
Navrhl a dodal Bartek (SCRUM-1320, SCRUM-1368-1375). Pod kapotou: plná i18n v 8 jazycích a nové kontexty DDD.
4. 🔍 Analýzy KBT - 9 samostatných reportů na vyžádání
Stará monolitická „generuj analýzu KBT” byla rozdělena na 9 samostatných položek, které terapeut spouští, když je skutečně potřebuje. Méně čekání, více kontroly.
- 9 nezávislých analýz - každá se generuje samostatně, na vyžádání
- Ozubené kolečko úprav promptu - klikněte na ozubené kolečko vedle každé analýzy pro zobrazení/úpravu promptu, který AI použije
- Sekce ANALÝZY KBT za kódem PromptyAI - sekce dostupná po zadání kódu v Nastavení, pro uživatele testující nové funkce
Kognitivní zkreslení dostala vlastní pohled (nahlásil Bartlomiej, SCRUM-1385):
- Datový pohled místo reportu AI - vidíte konkrétní citace z přepisu označené AI, ne narativ z nich vygenerovaný
- Všechny citace po rozbalení - žádný filtr časového rozsahu, rozbalení odhalí vše
- Dostupné v hlavním menu - pod Konceptualizace v2
Starý prompt COGNITIVE_DISTORTIONS_INVENTORY byl odstraněn (SCRUM-1386).
5. 🌐 Veřejný profil terapeuta - kompletní revize s panely úprav
Veřejný profil pod značkou aitherapy.support byl kompletně přebudován.
- 3 nové panely úprav - životopis, specializace, kontaktní údaje se editují v elegantních postranních panelech
- Režim úprav vlastníka - když si prohlížíte vlastní profil po přihlášení, tlačítka úprav jsou po ruce
- Roky praxe - nové pole
YearsOfExperienceviditelné na veřejném profilu - Rebrand barev - paleta šalvěj/levandule pod značkou aitherapy.support
- Odstranění sekce „Vaše soukromí” - byla nadbytečná; GDPR je v patičce
- Ikony Lucide - moderní, čistá typografie ikon
Pod kapotou byl přidán veřejný endpoint GET /api/public/therapists - vrací terapeuty s aktivními veřejnými profily. Základ pro adresář terapeutů.
6. 🎥 Videosezení - PiP, přepínání kamer, opravené rozmazání pozadí
Video dostalo sadu oprav, kterých si všimne každý terapeut vedoucí sezení přes aplikaci.
- PiP / minimalizace - minimalizujte videomístnost do plovoucího mini-přehrávače a zkontrolujte poznámky v jiné kartě bez přerušení spojení. Mikrofon a kamera dál fungují
- Přepínání kamer - přepněte jedním kliknutím, kdo je v hlavním zobrazení a kdo v mini
- Obnovení PiP - při návratu z minimalizace přeskočíte lobby (PreJoinLobby) a skočíte rovnou do rozhovoru
- Zvuk pro jednotlivé účastníky pro diarizaci - přepis rozděluje mluvčí i v režimu PiP
- Opraveno rozmazání pozadí - CSP blokovalo MediaPipe WASM; rozmazání teď funguje na jedno kliknutí
- Čistší UI sezení AITS - asistent AI zmizel z panelu nástrojů, méně vizuálního šumu
- Klikatelný overlay PiP - odstranění
pointerEvents:noneaoverflow:hidden, tlačítka PiP reagují na kliknutí - Tlačítko „Připojit se k sezení” - bylo skryté CSS přepisem, teď je viditelné
- Zastaralý closure v handleMaximize - opraveno; maximalizace PiP už nevyhazuje chybu
7. 📐 Konceptualizace Beck v2 a ABC - PDF, přepínač verzí, úprava promptu
- Beck a ABC v2 PDF - opravené formátování a automatické zahrnutí do materiálů sezení (nahlásila Ewa, SCRUM-1297)
- Beck PDF - sekce pouze s ohraničením, barevné specializace, čisté iniciály, SVG šipka mezi sekcemi
- Přepínač ABC v1/v2 v Konceptualizaci v2 - vyberte, kterou verzi ABC zobrazit
- Ozubené kolečko úprav promptu v ABC v2 - upravte prompt AI v záložce ABC v2
- PDF export pro analýzy AI a ABC podle sezení - jednotlivé analýzy se exportují samostatně
- Pluralizace popisků ABC v 8 jazycích - tabulka konceptualizace má správné tvary množného čísla
- Oprava prázdných sloupců ABC - backend vrací správné názvy vlastností v množném čísle
8. 🧾 Faktury a KSeF - výběr plateb + stavový automat
Fakturační systém byl přepracován pro soulad s KSeF (polský národní systém e-fakturace).
- Faktura z vybraných plateb - vyberte platby a systém z nich vytvoří jednu fakturu (snímek + cizí klíč Payment)
- Vstupní bod „Vystavit fakturu” ve finančním pohledu terapeuta - rychlý přístup z dashboardu
- Odstranění položky v modálním okně vystavení faktury - opravte chyby za pochodu
- Oddělení dev/prod pro KSeF - sandbox a produkce běží na oddělených přihlašovacích údajích
- Stavový automat faktury (SCRUM-1357 Bohdan) - Návrh → Vystaveno → Odesláno → Zrušeno, s databázovým omezením proti nepovoleným přechodům
- AE KsefToken - token KSeF šifrovaný pomocí Always Encrypted
Společná práce Bohdana (SCRUM-1357, SCRUM-1388).
9. 📅 Kalendář, opakující se sezení a lokace
Týdenní a opakující se kalendář dostal desítky menších, ale viditelných vylepšení - většinu nahlásily Joanna a Ewa.
- Sezení od 22:00 - byla neviditelná v týdenní mřížce, teď se zobrazují do konce dne
- Všechny hodiny v mřížce opakujících se slotů (SCRUM-874, Joanna)
- Včas zrušené sezení - nezobrazuje se jako „Nezaplaceno” (SCRUM-918, Joanna)
- Popisek opakování vedle opakujícího se slotu (SCRUM-919, Joanna) - vidíte „týdně”, „jednou za dva týdny” vedle každého opakujícího se sezení
- Skrytí integrace Zoom z UI (SCRUM-789, Joanna) - Zoom už není podporován jako video kanál
- Vyskakovací okno sezení v kalendáři - už se neskrývá mimo obrazovku
- TherapistAvailability - automatické ukládání při každé změně (debounce 800 ms), tlačítko uložení není potřeba
- AddSessionModal - možnost „vytvořit sezení mimo hodiny dostupnosti” - výjimky mohou vynutit slot
- Stav „Nedostavil se” (NoShow=5) - nový stav, nastavitelný i z dokončeného nebo zrušeného sezení
- RecurringSessionsCalendar - souhrnné dlaždice nad legendou a mřížkou
Lokace terapeuta dostaly online komunikační kanály na lokaci:
- Režim na místě - pole adresy a města pro osobní lokace
- Přepínač na místě/online místo zaškrtávacího políčka - jasnější volba režimu
- Online kanál na lokaci - různé lokace mohou mít různé kanály (AITS, Google Meet, externí odkaz), automaticky se propaguje do sezení
- Trvalé místnosti pro schůzky na pacienta - každý pacient má trvalý odkaz do místnosti AITS a samostatný externí odkaz viditelný v nastavení pacienta
- Mazání lokace - opraveno (mizelo z DB, ale zůstávalo v seznamu UI)
A nakonec typ schůzky v opakujících se sezeních - opravena propagace MeetingType a MeetingLink z konfigurace opakující se řady do každého vygenerovaného sezení a do e-mailů s připomenutím (SCRUM-902, Ewa).
10. 📱 Mobilní aplikace - tmavý motiv, AdHoc Inbox, vyladění
Mobil přešel na verzi 1.5.0 (build 18) s množstvím pro uživatele viditelných změn a několika úpravami podepisování pro App Store / Play Store.
- Tmavý motiv - plný tmavý režim s čitelnými záhlavími skupin (SCRUM-1089, Ewa + SCRUM-815)
- Konfigurovatelná připomenutí - vyberte, kdy chcete oznámení o sezení
- Mobilní připomenutí 15 min - připomenutí 15 minut před sezením + upozornění, když jsou systémová oznámení vypnutá (SCRUM-815, Bohdan)
- Prázdný stav pro seznam sezení - místo prázdné obrazovky bohatší onboarding (SCRUM-1094, Ewa)
- Banner automatického obnovení - když aplikace zjistí aktualizaci, zobrazí zvací banner k obnovení
- AdHoc Inbox + AssignPatient + rychlý start v MAUI (SCRUM-1289, Bohdan)
- Rychlý start PWA na mobilu pro ad-hoc sezení (SCRUM-1286, Bohdan)
- Responzivní webové zobrazení pro telefon - desktop beze změny, na telefonu se rozvržení přizpůsobuje úzké obrazovce
- Zpracovatel deep-linků v iOS - používá BindingContext, registraci URL schématu
- Řetězce účelu NSLocation v iOS - oprava ITMS-90683 (App Store odmítl build bez nich)
- Android AAB - explicitní krok jarsigner
- Materiály pro App Store Connect a Google Play - kompletní balíček plus audit WCAG 2.2
11. 🔐 Bezpečnost: SOC 2 / HIPAA, MFA, plná pseudonymizace AI
Pod produktovou vrstvou jsme provedli plné zpřísnění podle SOC 2 a HIPAA plus DDD audit s pěti konkrétními výstupy.
- Opětovné ověření MFA pro kritické operace - u citlivých akcí (změna hesla, export dat) znovu potvrdíte pomocí MFA
- Záložní kódy pro MFA - nouzové kódy při ztrátě telefonu
- IAnonymizedLlmGateway (SCRUM-1353, Bohdan) - všechna volání modelu AI nyní procházejí pseudonymizační bránou. Jména, data, místa jsou nahrazena pseudonymy dřív, než opustí aplikaci; AI dostane pouze anonymizovanou verzi
- Pseudonymizace e-mailových/SMS notifikací (SCRUM-1354) - šablony zpráv při odeslání také neuniknout data pacienta
- Tokeny OAuth Google/Zoom šifrované pomocí Always Encrypted (SCRUM-1355) - přístupové tokeny integrací jsou šifrovány na úrovni sloupce
- Příznak Patient.PendingConsent (SCRUM-1356) - pacienti bez aktivního souhlasu dostanou vynucovací tok + odznak na frontendu
- Stavový automat faktury (SCRUM-1357) - stavy faktur jsou neměnné v neplatných směrech, vynucené na úrovni DB
- Neměnnost auditu + snímek uživatele ve 3 auditních tabulkách - protokol akcí nelze dodatečně upravit
- DeanonymizationAuditLog - každé použití dat pacienta po deanonymizaci se zaznamenává spolu se snímkem e-mailu + zobrazovaného jména uživatele, který ho provedl
- Odstraněny natvrdo zapsané tajné klíče - všechny klíče a hesla z appsettings.json přesunuty do Azure Key Vault
- Always Encrypted pro všechna textová data uživatelů (ADR-0018) - architektonický směr schválen; další tabulky se migrují v příštím vydání
- Analýza mezer souladu ISO/IEC - zmapováno 95 mezer napříč 9 normami, s nápravným plánem
Podpořeno plným DDD auditem (sezení 1-8, fáze 1-6) - restrukturalizace doménových kontextů, dokumentace architektury, ADR, mermaid + testy, playbooky, integrace s Confluence.
12. 👤 Portál pacienta - analýzy v Cílech, materiály, lepší náhled
- Konceptualizace Beck v záložce „Cíle” pacienta - jakmile publikujete konceptualizaci, pacient ji vidí ve svém portálu
- Publikování analýz do portálu pacienta + preference oznámení (SCRUM-1338, Bartlomiej) - kontrolujte, co a kdy pacient dostane
- Náhled PDF v portálu -
iframemístoembed, CSP povolujeblob:(PDF se načítají) - Náhled portálu pacienta z pohledu terapeuta - vidíte, co vidí pacient (obálka v obalu, dashboard 1:1)
- Materiály sezení v Azure Blob Storage - SessionMaterial jako blob, žádný lokální souborový systém
- Sekce souhlasy / dokumenty + zdroj registrace v nastavení pacienta
- Globální jedinečnost e-mailu pacienta (SCRUM-898) - druhý pacient se stejným e-mailem dostane 409 a modální okno se zavře (SCRUM-898, Ewa)
- Seeder šablon oznámení pro SK, CA, RU, UK, LT (SCRUM-883, Joanna) - plný vícejazyčný mailing
- Záložní řešení resolveru na výchozí platformu - když terapeut šablonu nepřepsal, odešle se výchozí vícejazyčná (SCRUM-883)
13. 🎙️ Přepis - spolehlivé nahrávání, přidávání, živý přenos s diarizací
- Přidávání do existujícího přepisu - pokračujte v nahrávání do stejného sezení; segmenty se přidávají (záměr přežije obnovení stránky)
- Zvuk pro jednotlivé účastníky pro diarizaci - videopřepis rozděluje mluvčí na nezávislé stopy
- Přepis přežije PiP - minimalizace místnosti nepřeruší nahrávání
- Jazyk přepisu z nastavení sezení - STT používá jazyk nastavený pro pacienta
- Automatické obnovení přepisu při focus / visibilitychange / návratu z videa
- Potvrzení při zastavení nahrávání < 2s - ochrana proti prázdnému WAV souboru z omylného kliknutí
- Odznak „Odesílá se” v seznamu sezení - vidíte, kdy je nahrávka v nahrávání
- Živý přenos s diarizací ve videosezení - dříve nespouštěl se; nyní funguje
- Záloha OPFS + 48 kbps Opus - nahrávka se také lokálně ukládá do OPFS jako záloha, parametry zvuku sjednoceny
- Přímé nahrávání zvuku přes SAS (SCRUM-1276, Bohdan) - zvuk jde přímo do Azure přes SAS URL, mimo backend
- m4a nativně do Azure Speech - m4a se zpracovává nativně, bez konverze
- Detekce formátu podle magických bytů (SCRUM-1311, Bohdan) - když je Content-Type=
application/octet-stream, formát se detekuje podle obsahu souboru - Hub bez textu v DB - realtime hub SignalR už neukládá text do DB; finishPending používá multipart POST jako MAUI
- Oprava SignalR 1006 - odstraněno skipNegotiation, aby Azure SignalR fungoval + doladění keep-alive
- Značka [AI] od prvního generování + spolehlivé vyhledávání značky
14. 💬 Oznámení, nastavení pacienta, drobné UX
- NotificationTemplatesAdmin - přepínač HTML/Text v editoru e-mailů
- NotificationSettings - náhled e-mailu vykresluje HTML se záložním řešením
- PromptEditModal - přebudováno: karty, výběr modelu, povinné názvy verzí
- Reset příznaku Hide_dev_ui při odhlášení - vývojářské příznaky nepřežívají mezi relacemi
- Testovací pacient Ann Fauler - anglická obdoba 1:1 polské Anny Pełnialské pro ukázky pouze v angličtině
- Přepínač prezentačního režimu v dev UI - rychlý přepnutí do prezentačního režimu
- Hlášení chyb - přílohy Jira + štítek nahlašovatele + vystředěné tlačítko „Odeslat”
- Oprava smyčky obnovení autentizace - přerušení požadavků a návrat na přihlášení při 401
- Banner „Server se spouští” - při studeném startu (scale-to-zero) zobrazujeme upozornění místo prázdné stránky
- Škála hodnocení sezení - sebereflexe místo hodnocení kvality + upozornění (SCRUM-1005, Joanna)
- Barva tlačítka „Minimalizovat” změněna na kobaltově fialovou (SCRUM-1307, Ewa)
- Barva popisku „Přepis” změněna z červené na zelenou (SCRUM-1304, Ewa)
- „Nahrát nyní” → „Nahrát ad-hoc sezení” - přesnější název tlačítka
- Sandbox se zelenou stuhou v levém horním rohu + předpona
[SANDBOX]v titulku - aby se předešlo záměně prostředí, plus opakovatelný klon PROD → Sandbox (Azure IaC + skripty)
✅ Kontrolní seznam QA - co ověřit po nasazení
| Funkce | Ověřit |
|---|---|
| Ad-hoc sezení - rychlé nahrávání | Klikněte na Rychlé nahrávání na dashboardu nebo v PWA - nahrávání se okamžitě spustí, sezení skončí v AdHoc Inbox |
| AssignPatient v AdHoc Inbox | Otevřete ad-hoc nahrávku - lze ji přiřadit existujícímu pacientovi nebo vytvořit nového |
| Limit balíčku | Dashboard ukazuje počítadlo sezení za aktuální měsíc a kolik jich zbývá v balíčku |
| Ochranná lhůta po selhané platbě | Simulátor předplatného v PromptyAI - vynuťte selhanou platbu, dostanete přístup pouze k účtu na 14 dní |
| Třícestné sloučení poznámek | V detailu sezení pole Poznámky ukazuje tři zdroje vedle sebe (terapeut / AI / přepis); můžete vybrat, co ponechat |
| 9 analýz KBT | Karta analýz KBT ukazuje 9 samostatných položek; každá se generuje na vyžádání; každá má ozubené kolečko úpravy promptu |
| Veřejný profil - panely | Otevřete vlastní veřejný profil po přihlášení - panely úprav životopisu, specializace, kontaktu jsou viditelné |
| Video PiP | Během videosezení klikněte na minimalizovat - okno se sbalí do mini-přehrávače, mikrofon dál funguje, vrátíte se bez lobby |
| Rozmazání pozadí | V lobby videa zapněte rozmazání pozadí - funguje okamžitě, žádné chyby CSP |
| PDF konceptualizace Beck | Vygenerujte PDF konceptualizace - objeví se i v materiálech sezení |
| Přepínač ABC v1/v2 | V konceptualizaci v2 lze přepnout zdroj ABC mezi verzí 1 a 2 |
| Faktura z vybraných plateb | Vyberte několik plateb a klikněte na „Vystavit fakturu” - vznikne jedna faktura ze snímku |
| Opakující se sezení s Google Meet | Druhé a třetí sezení v řadě mají správně nastaven Google Meet a e-mail obsahuje správný odkaz |
| Sezení od 22:00 | Týdenní kalendář ukazuje sezení naplánovaná od 22:00 a později |
| Stav „Nedostavil se” | U dokončeného / zrušeného sezení lze změnit stav na „Nedostavil se” |
| Tmavý motiv na mobilu | V mobilní aplikaci přepněte na tmavý motiv - záhlaví skupin jsou čitelná |
| AdHoc Inbox na mobilu | Mobil zobrazuje ad-hoc schránku a umožňuje přiřadit pacienta |
| Opětovné ověření MFA | Při změně hesla aplikace znovu vyžádá MFA |
| Pseudonymizace AI | V protokolech vidíte, že data pacienta jdou k AI jako pseudonymy |
| Materiály sezení jako blob | Nahrajte soubor do materiálů sezení - skončí v Azure Blob Storage, ne na lokálním disku |
| Globální jedinečnost e-mailu pacienta | Přidejte druhého pacienta se stejným e-mailem - dostanete 409 a modální okno se zavře |
| Banner „Server se spouští” | Po delší nečinnosti vstup do aplikace ukáže banner místo prázdné stránky |
🛠️ Co jsme opravili - drobným písmem
Kromě velkých funkcí bylo vyřešeno ~80 hlášení od testerů a uživatelů. Výběr:
- Overlay PiP nebyl klikatelný - opraveno
- Zastaralý closure v handleMaximize - maximalizace PiP už nevyhazuje chybu
- PiP udržuje spojení - dříve se
room.disconnect()spouštěl při přechodu na celou obrazovku ↔ PiP - Tlačítko „Připojit se k sezení” bylo skryté CSS přepisem - odkryto
- Druhé sezení AITS pro stejného pacienta (SCRUM-1319, Ewa) - odstranění UNIQUE INDEX na
Session.VideoInviteToken - Číslování sezení v konceptualizaci přeskakuje zrušená (SCRUM-1267, Bohdan)
- Null-safe přístup k Payment v GetSessionDetailsAsync (SCRUM-1268, Bohdan)
- Kolize testovacího sezení Anny Pełnialské s Janem ve 14:00 - opraveno v seederu
- Zpomalení dashboardu - null-safe mapování v GetTodaySessionsAsync a GetSessionDetailsAsync
- Automatické obnovení po ukončení nahrávání z mikrofonu - funguje
- Dávkové řešení jako záloha nepřepisuje text z předchozích nahrávek ani neblokuje UI stavem Zpracovává se
- Jazyk přepisu z nastavení sezení - STT respektuje preferenci pacienta
- CSP - povolení
*.clarity.ms,blob:v connect-src, analytika ve script-src - Smyčka obnovení autentizace - přerušení požadavků po 401 a návrat na přihlášení
- CSP MediaPipe WASM - rozmazání pozadí funguje
- Stuha DEV/SANDBOX i na Azure FQDN, ne jen na vlastní doméně
- Falešný toast „Přepis selhal” při vstupu do sezení - odstraněno
- Toast místo červeného banneru při selhaném přepisu + odstraněno tlačítko „Resample”
- Živý přenos s diarizací ve videosezení - spouští se správně
- Streamování AI - AbortController pro každý handler místo sdíleného (
BodyStreamBuffer was aborted) - Nginx non-root + Azure Container Apps - více iterací, aby to fungovalo
- Distribuovaný zámek (sp_getapplock) - startovací migrace se už nekolidují při paralelních nasazeních
- DbUpdateConcurrencyException v dávkovém pollerum přepisu (SCRUM-1313, Bohdan)
- BlobNotFound jako očekávaný stav (SCRUM-1314, Bohdan)
- Nezpracovaná JSON data webhooku Stripe (skenery / boti) - tiše zpracováno (SCRUM-1315, Bohdan)
- Detekce formátu zvuku podle magických bytů (SCRUM-1311, Bohdan)
- Odolné nahrávání zvuku + defenzivní Content-Type (SCRUM-1293, Bohdan)
- Migrace cizího klíče ActiveEmbeddingModelId → ON DELETE NO ACTION
- Nasazení dev klienta - CACHE_BUST=
github.shavynucuje rebuild frontendu
Toto je největší a nejnabitější vydání tohoto jara. Pokud vám nějaká funkce připadá povědomá - je to proto, že to byl váš požadavek nebo váš tiket. Děkujeme za každé hlášení a každý screenshot.
Článek připravil tým Therapy Support