Czat AI, animacja agenta, walidacja emaili i optymalizacje
Filip Borkowski, Backend/Frontend/Fullstack Engineer
Agent AI — animacja ogłoszeniowa
Przy pierwszym wejściu do panelu użytkownik zobaczy centralny overlay z informacją "Agent AI jest gotowy". Animowane chipy prezentują obszary, w których agent może pomóc: Zlecenia, Flota, Kontrahenci, Raporty. Po kilku sekundach animacja płynnie przesuwa się ku ikonie czatu z tooltipem zachęcającym do kliknięcia.
Poprawki czatu AI
Naprawiono problem braku odpowiedzi agenta po wywołaniach narzędzi — przejście na protokół data stream zapewnia stabilne przesyłanie odpowiedzi nawet przy wielokrokowych operacjach. Zoptymalizowano system prompt — zamiast ładowania pełnych danych z 6 tabel, agent otrzymuje jedynie podsumowanie i pobiera szczegóły na żądanie przez narzędzie listTable.
Odpowiedzi agenta są teraz krótkie i zwięzłe — na pytanie o liczbę pojazdów odpowiada jednym zdaniem, bez dodatkowych analiz.
Email zlecenia — nowy widok
Usunięto foldery dat i wątków. Emaile wyświetlane są w płaskiej tabeli, grupowanej po zleceniu lub kontrahencie. Podgląd załączników PDF i obrazów działa teraz inline w dialogu zamiast przekierowania na zewnętrzny URL.
Retry z backoff dla API Claude
Czat AI automatycznie ponawia zapytania przy przejściowych błędach rate limit (429) i przeciążeniu serwera (529). Do 3 prób z rosnącym opóźnieniem (1–4 sekundy) — użytkownik zobaczy komunikat błędu tylko jeśli wszystkie próby zawiodą.
Obsługa błędów Anthropic API
Serwer przechwytuje błędy autoryzacji i rate limitów przed rozpoczęciem streamowania odpowiedzi. Klient obsługuje eventy błędów w strumieniu UI Message Stream. Użytkownik widzi czytelne komunikaty po polsku zamiast pustego spinnera.
Animacja agenta — raz na sesję
Animacja ogłoszenia AI odpala się tylko raz po zalogowaniu (sessionStorage), nie przy każdej nawigacji w menu. Przycisk „Czat AI" w sidebarze otrzymał wyraźny obrys i pulsujący glow podczas animacji.
Walidacja email parsera
Odrzucanie zbyt długich wartości, adresów email w polach trasy i zdań zamiast miast. Kolumny Trasa, Ładunek i Kontrahent w panelu zleceń mają teraz obcinanie tekstu (truncate).
Zlecenia — płaska tabela
Usunięto grupowanie po datach i dane testowe. Zlecenia wyświetlane w płaskiej tabeli posortowanej po priorytecie statusu, potem od najnowszych.
Paginacja zadań
Lista zadań wyświetla teraz 50 pozycji na stronę zamiast ładowania wszystkich 838 naraz. Znacząco poprawia to czas interakcji (INP) i responsywność całego panelu.