Release Notes — 21 maja 2026
Mały, pilny release zaraz po sprincie z 20 maja — jeden commit, który naprawia regresję wprowadzoną razem z nową integracją Outlook / Microsoft 365.
💚 Podziękowania dla Bohdana — za szybkie wychwycenie problemu na produkcji w trakcie pracy, diagnozę i wdrożenie hotfixa w niecałe pół godziny od zgłoszenia.
1. 🔧 Modal “Dodaj sesję” znowu pokazuje wolne terminy
Co było nie tak. W release z 20 maja dodaliśmy w panelu terapeuty toggle “Uwzględniaj zajętość z kalendarzy zewnętrznych” — pozwala blokować wolne terminy w aplikacji, jeśli w podpiętym Google / Outlook / Apple Calendar masz w tym czasie wydarzenie. Ustawienie zostało domyślnie włączone dla wszystkich terapeutów — i to był błąd.
Skutek był taki, że jeśli miałaś / miałeś podpięty zewnętrzny kalendarz z jakimikolwiek wydarzeniami w bieżącym tygodniu (np. powtarzające się spotkanie, urlop, blok na lunch), to modal “Dodaj sesję” oraz tworzenie sesji z poziomu kalendarza nagle przestawały pokazywać wolne terminy — pusta lista godzin, mimo że:
- w Ustawieniach → Dostępność widać wyraźnie, że pracujesz w tych godzinach,
- w siatce kalendarza sloty są zaznaczone jako dostępne (kolorowe),
co dawało dezorientujące wrażenie, że coś jest popsute “w połowie”.
Co się zmienia od dziś. Domyślnie aplikacja nie patrzy już na zewnętrzny kalendarz przy wyborze terminu nowej sesji. Modal “Dodaj sesję” i kalendarz znowu są zgodne — tam gdzie dostępność wskazuje wolny termin, tam możesz umówić sesję.
Toggle pozostaje na swoim miejscu — w Ustawienia → Integracje pod sekcją kalendarza zewnętrznego. Jeśli świadomie chcesz, żeby wydarzenia z Google / Outlook / Apple blokowały sloty (np. nie chcesz dwa razy patrzeć na ten sam czas), włącz go ręcznie. Rezerwacje publiczne pacjentów są niezmienione — tam zewnętrzny kalendarz zawsze blokuje terminy, żeby pacjent nie umówił się w czasie, w którym faktycznie masz inne spotkanie.
2. 🛠️ Co zostało zmienione pod spodem
Dla zainteresowanych technicznie:
- Migracja
20260521150000_DefaultRespectExternalCalendarBusyToFalse— drop dotychczasowegoDEFAULT 1na kolumnieTherapistProfile.RespectExternalCalendarBusy, addDEFAULT 0, plusUPDATEistniejących rekordów → wszyscy terapeuci wracają do trybu opt-out TherapistAvailabilityController.GetAvailableSlots— fallback gdy profil nie istnieje zmieniony z?? truena?? falseModels.cs+AppDbContextModelSnapshot.cs— domyślna wartość property zmieniona nafalse, snapshot zsynchronizowany- Pełny rozdział mechanik na frontend (siatka kalendarza vs modal) bez zmian — siatka i tak nigdy nie patrzyła na zewnętrzny kalendarz, problem był tylko w endpoincie
/api/therapist/availability/slotsużywanym przez modal
Patient-facing booking (SCRUM-1378) bez zmian — tam dalej domyślnie respektujemy zajętość zewnętrznych kalendarzy.
QA Checklist
| Co sprawdzić | Jak | Oczekiwany wynik |
|---|---|---|
| Modal “Dodaj sesję” | Otwórz modal, wybierz dzień w którym masz dostępność w Ustawieniach | Lista godzin niepusta, pokazuje sloty zgodnie z Twoją dostępnością |
| Tworzenie sesji z siatki kalendarza | Kliknij wolny slot na siatce → wypełnij formularz | Lista godzin w formularzu odpowiada zaznaczonemu slotowi |
| Ustawienia → Integracje | Wejdź w sekcję kalendarza zewnętrznego | Toggle “Uwzględniaj zajętość z kalendarzy zewnętrznych” widoczny i wyłączony dla wszystkich istniejących kont |
| Toggle ręcznie włączony | Włącz toggle → wróć do “Dodaj sesję” | Sloty zajęte w Google/Outlook/Apple zniknęły z listy godzin |
| Rezerwacja publiczna (link na profil terapeuty) | Otwórz publiczną stronę rezerwacji jako pacjent | Wydarzenia z zewnętrznego kalendarza nadal blokują wolne terminy (bez zmian) |
Artykuł przygotowany przez zespół Therapy Support