Realtime kursory, WorkDesk logika, parametry i podglad PDF
Filip Borkowski, Backend/Frontend/Fullstack Engineer
Podglad kursorow w czasie rzeczywistym
Nowa funkcja Realtime Cursors pozwala widziec kursory innych zalogowanych uzytkownikow. Kazdy kursor wyswietlany jest jako kolorowa strzalka z etykieta imienia. System korzysta z Supabase Realtime Presence — nie wymaga dodatkowej tabeli w bazie danych. Pozycja myszy jest aktualizowana z czestotliwoscia 20fps z automatycznym throttlingiem.
WorkDesk — inteligentna lista zlecen
Prawy panel z lista zlecen w WorkDesk zostal usprawniony:
- Zlecenie dodane na obszar roboczy automatycznie znika z listy po prawej stronie.
- Po usunieciu zlecenia z obszaru roboczego (przycisk X) — wraca na liste.
- Zlecenie wyslane do akceptacji nie wraca na liste — jest traktowane jako zakonczone.
- Dodano ochrone przed duplikatami — to samo zlecenie nie moze byc dodane dwukrotnie.
Edycja statusu zgloszeri
Panel Zgloszenia umozliwia teraz zmiane statusu bezposrednio z poziomu tabeli. Dropdown zastapil statyczny badge. System kontroluje uprawnienia — status moze zmienic tylko osoba przypisana do zadania. Domyslnie wszystkie nowe zgloszenia sa przypisywane do Filip Borkowski.
Multi-order emails — wiele zlecen w jednym emailu
System obsluguje teraz emaile zawierajace wiele zlecen w jednej wiadomosci (np. "Nysa / 4x 05.03 / 9316035 / 9316039 / 9136049 / 9328108"). Kazdy numer bookingu tworzy osobne zlecenie w bazie danych. Zalaczniki sa automatycznie przypisywane do odpowiednich zlecen na podstawie numeru w nazwie pliku. Gdy jeden PDF zawiera wszystkie zlecenia — system dzieli go automatycznie na czesci za pomoca pdf-lib.
Naprawa podgladu PDF
Podglad zalacznikow PDF przeszedl dwie iteracje napraw. Poczatkowo zamieniono tag <object> na <iframe>, ale Supabase Storage ustawia naglowek X-Frame-Options: DENY na signed URLs, co blokuje osadzanie w iframe. Rozwiazanie: API proxy — plik jest pobierany z Supabase Storage i streamowany przez wlasny serwer z naglowkiem Content-Disposition: inline. Frontend uzywa URL API bezposrednio jako src iframe.
Czat AI — naprawa streamingu
Naprawiono problem z brakiem odpowiedzi agenta AI. Zmieniono format streamu z toUIMessageStreamResponse() na toTextStreamResponse() co zapewnia kompatybilnosc z parserem frontendowym. Usuniety podwojny request API ktory powodowal bledy 429.
Usuniecie animacji AI
Usunieto animacje purple pulsing ring z przycisku agenta AI oraz animacje highlight w sidebarze. Przycisk agenta ma teraz czysty, statyczny wyglad.
Parametry logiki — usuwanie elementow i synchronizacja
Panel Parametry logiki zyskal nowe funkcje:
- Usuwanie elementow z diagramu — przy najechaniu na node pojawia sie czerwony przycisk X
- Usuniete kropki z etykiet — sama etykieta tekstowa bez ikon
- Synchronizacja diagram-panel — dodanie elementu z diagramu (przycisk +) otwiera dialog i po zapisie element pojawia sie automatycznie po obu stronach
- Usuwanie elementu z diagramu automatycznie usuwa go rowniez z listy po lewej stronie