Co nowego:
- Podgląd logów w panelu admina (Admin > Logi) — pliki storage/logs/*.log
bez potrzeby dostępu do kontenera, z filtrami poziomu/tekstu/liczby wpisów
i auto-odświeżaniem.
- Filtr „Bez kategorii” w kolejce operatora — izoluje zgłoszenia bez
przypisanej kategorii/podkategorii.
- Narzędzie importu z Heska: już nie tworzy automatycznie kont klientów dla
nieznanych e-maili (pomija takie zgłoszenia zamiast zakładać konto),
łączy odpowiedzi/właścicieli zgłoszeń z realnymi kontami operatorów po
e-mailu, nowe flagi --assign-operators i --fix-closed-dates do
donaprawiania wcześniejszych importów, dedykowany log
storage/logs/hesk-import.log.
- Poprawka: pulpit statystyk operatora (rozkład wg kategorii/podkategorii i
filtr kategorii) pomijał zgłoszenia przypisane do samej kategorii bez
podkategorii (np. z poczty IMAP) — teraz liczone poprawnie.
- Poprawka: błąd JS i zawieszone w tle liczniki przy nawigacji z widoku z
aktywnym licznikiem (najbardziej odczuwalne w liczniku czasu pracy
operatora).
- Porządki w bazie: usunięte niewykorzystywane kolumny
(users.remember_token, users.email_verified_at,
email_templates.trigger_label); wartości pól dodatkowych, stan
triage/podsumowania AI i powiązany sprzęt Snipe-IT przeniesione z tabeli
tickets do osobnych tabel (ticket_field_values, ticket_ai_summaries,
ticket_snipeit_assets) — bez zmiany zachowania, ale pola dodatkowe są
teraz efektywnie przeszukiwalne; dodane brakujące indeksy na 4 tabelach
pivot; tickets.source/ticket_messages.source walidowane względem znanego
zestawu wartości.
Zaktualizowana dokumentacja: README, CLAUDE.md, ARCHITECTURE.md,
CHANGELOG.md, wiki/admin, wiki/operator.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Snipe-IT asset inventory integration (Admin > Integracje), optional and off
by default: connect by API address + personal token (+ SSL-verification
bypass). Three independent toggles: client can pick which of their own
Snipe-IT assets a ticket concerns (scoped to admin-selected subcategories,
empty = never shows), operator sees the requester's assets in a ticket-view
sidebar, operator can search the whole inventory from that same sidebar (not
a separate page) for shared equipment. Assets shown as "numer środka - numer
seryjny - producent model" + category; a linked asset's live status is
fetched fresh on the ticket page, and unlinking stays available to an
operator even with both view/search toggles off.
- AI summary: a "Wygeneruj teraz" button for an immediate on-demand refresh,
plus a new admin toggle to regenerate right after every new reply/note
instead of only on the next scheduled sweep. The transcript sent to the
model now also includes the ticket's own opening body, fixing summaries
missing the original request on long threads.
- Fixed: the status dropdown in the operator ticket view could keep showing
the pre-change status after a status-changing quick action until the next
page load (Livewire/Alpine-morph quirk for wire:change-bound selects).
- Docs: README/ARCHITECTURE/CHANGELOG/install/wiki updated for all of the
above, including correcting the AI-summary refresh description left over
from the 1.2.1 release notes.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Generic AI integration (Admin > Integracje > "Integracja AI"), optional and
off by default: an OpenAI-compatible /chat/completions client (Groq, OpenAI,
or a self-hosted Ollama instance) configured by base URL, optional API key,
model, and an SSL-verification toggle. Foundation for the two AI features
below and anything else that wants an LLM call in the future.
- BookStack automatic content tagging (AI): "Otaguj nową treść"/"Otaguj
wszystko ponownie" buttons plus `php artisan bookstack:tag-content`
(--dry-run/--force/--limit=N) tag every book/chapter/page with matching
helpdesk subcategory names, idempotent by default.
- BookStack search refinement: "Przeszukuj" is now three independent
checkboxes (Książki/Strony/Rozdziały) instead of a single dropdown, plus a
new "Szukaj po" setting (nazwa/tagi/oba) — tag matching uses the bare
subcategory name, matching what auto-tagging writes.
- AI-driven ticket triage + summary (Admin > Integracje > "Automatyzacja AI
dla zgłoszeń", via new scheduled ai:run-ticket-automation): five toggles
auto-assign/correct category+subcategory, rewrite an unclear subject, and
set priority from content, once per ticket in the background; every change
is logged in the ticket's history. Separately, an AI summary + suggested
action for every ticket, shown to operators only, with an admin-editable
prompt.
- Operators can now reassign a ticket to any team, not just one they belong
to.
- The auto-refresh countdown badges (ticket view, operator queue) are now
clickable — fetch immediately and reset the countdown.
- All 7 "cyclical" intervals (3 browser refresh countdowns, the notification
bell poll, and the 4 background scheduled commands) are now configurable
from Admin > Konfiguracja instead of fixed in code.
- Fixed: an operator viewing a ticket that's deleted or moved outside their
team scope mid-session is now redirected to the operator queue instead of
hitting an error.
- Docs: README/ARCHITECTURE/CLAUDE/install/wiki updated for all of the above.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>