All checks were successful
Build and push image / build (push) Successful in 1m24s
- Fix CI registry login (unauthorized): use dedicated REGISTRY_TOKEN secret instead of GITHUB_TOKEN, fail fast with a clear error if it's unset. - Pause ticket work-timer while a ticket is closed (won't auto-start on open or manual resume; stops on close via status change, quick action, API, or merge). - Reject empty/blank login submissions client- and server-side instead of passing them straight to the auth provider. - Closing a ticket now sends only the "ticket closed" notification instead of also sending a duplicate "status changed" one. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3.4 KiB
3.4 KiB
Changelog
All notable changes to this project are documented in this file. Format loosely follows Keep a Changelog.
[1.0.2] - 2026-07-22
- Fixed
.gitea/workflows/build.yml: registry login was failing withunauthorizedbecause Gitea's auto-injectedsecrets.GITHUB_TOKENisn't granted push access to its own container registry on this instance. Now uses a dedicatedREGISTRY_TOKENsecret (a Gitea access token withwrite:package/read:packagescope), and the workflow fails fast with a clear::error::message before attempting login if that secret isn't configured, instead of surfacing Docker's opaqueunauthorizederror. - Fixed: opening or manually resuming a closed ticket no longer starts its work timer, and closing a ticket (via the status dropdown, a reply "quick action" transition, the REST API, or merge) now checkpoints and stops any running timer. Time tracking only ever accrues while a ticket is open.
- Fixed: the login form accepted an empty username/password, submitting them
straight to the auth provider. The form fields are now
required(blocks submission client-side) andLogin::submit()also rejects blank/ whitespace-only credentials server-side before attempting authentication, showing "Podaj nazwę użytkownika i hasło." instead. - Fixed: closing a ticket sent two separate notification e-mails
(
status_changedandticket_closed) for the same event. Closing now only firesticket_closed; every other status transition still firesstatus_changedas before.
[1.0.1] - 2026-07-22
Documentation and deployment/CI overhaul — no application behavior changes.
- Added project docs:
TESTING.md,CONTRIBUTING.md,ARCHITECTURE.md,SECURITY.md,CLAUDE.md; removed the unmaintained stock Laravelsrc/README.md. - Added
.gitea/workflows/build.yml: Gitea Actions now builds and pushes theservicedeskimage to the Gitea container registry wheneverDockerfilechanges onmain. compose.yamlnow pullsimage: gitea.kzbikowski.pl/kzbkowski/servicedesk:${IMAGE_TAG:-latest}instead of building locally;mariadbpinned tomariadb:12.3; added amariadbhealthcheck anddepends_on: condition: service_healthyforservicedesk.- Added tracked templates
compose.yaml.exampleand.env.example(root) for the previously-untrackedcompose.yaml/.env. - Documented the new pull-based deploy flow and one-time registry login in
install.md.
[1.0.0] - 2026-07-21
Initial release.
- Ticketing core: categories/subcategories with per-subcategory custom fields, statuses, priorities, teams, attachments, message threads (public replies + internal notes), history log, merge/delete.
- SLA rules per priority with a scheduled breach check (
tickets:check-sla-breaches, every 15 minutes). - Response templates, quick actions, and per-event HTML email templates/ notification toggles.
- Operator statistics dashboard (
/operator/stats) with KPI tiles and breakdowns. - Branding/config panel: company identity, LDAP connection + user sync, SMTP, attachment limits, session lifetime, timezone.
- LDAP authentication (LdapRecord) with local-account fallback.
- REST API (
/api/v1/...) via Sanctum, ability-scoped (tickets:read,tickets:write,dictionaries:read,users:read), with Swagger docs at/admin/api-docs. - Installable PWA manifest/icons for the client-facing area.