239 lines
16 KiB
YAML
239 lines
16 KiB
YAML
- version: 0.7.0
|
|
date: 2026-06-22
|
|
type: feature
|
|
summary: Add database-backed user-specific ticket timer controls.
|
|
changes:
|
|
- Added a Helpdesk TicketTimer Livewire component using the established Modules/Helpdesk/Livewire path.
|
|
- Added persistent started_at, ended_at, and duration_seconds fields to existing helpdesk time logs where available.
|
|
- Added a reusable Blade include for placing the timer above the existing manual time log form.
|
|
- Added regression tests for module path, Livewire view root safety, and non-session timer state.
|
|
- version: 1.9.30
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Clean up Helpdesk timer UI state and remove duplicate timer display code.
|
|
changes:
|
|
- Replaced the oversized timer display with a compact professional ticket timer panel.
|
|
- Hid the elapsed timer before start and after end so it only displays while a timer is active.
|
|
- Added an inline loaded browser timer updater in the Livewire view instead of an unused standalone JavaScript file.
|
|
- Removed duplicate running timer summary and MutationObserver logic from ticket controls.
|
|
- Registered the timer Livewire component with the helpdesk.ticket-timer alias.
|
|
- Removed duplicate Resources/views/views timer files and macOS artefacts from the clean module.
|
|
- Added file-level regression coverage for the timer UI cleanup.
|
|
- version: 1.9.31
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Reduce Helpdesk start timer button size.
|
|
changes:
|
|
- Made the inactive-state Start timer button more compact while preserving accessible focus and loading states.
|
|
- Kept the timer display hidden before start and after end, with no new standalone JavaScript files.
|
|
- version: 1.9.32
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Widen Helpdesk start timer button so the label fits on one line.
|
|
changes:
|
|
- Updated the inactive Start timer action with a minimum width and no-wrap text so the label does not split.
|
|
- Preserved the clean inline timer display behaviour with no unused standalone JavaScript file.
|
|
|
|
- version: 1.9.33
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Widen Helpdesk end timer button so the label fits on one line.
|
|
changes:
|
|
- Updated the active End timer action with the same minimum width and no-wrap text treatment as the Start timer button.
|
|
- Preserved the inline timer updater and avoided adding unused standalone JavaScript files.
|
|
- version: 1.9.34
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Add explicit public/internal response controls to Helpdesk ticket conversations.
|
|
changes:
|
|
- Added a clear Public reply versus Internal note visibility selector to the main ticket response form.
|
|
- Added the same visibility selector to threaded response forms so replies can be made public deliberately.
|
|
- Added public/internal badges to conversation entries so response visibility is obvious after posting.
|
|
- Preserved append-only changelog history and avoided adding unused JavaScript or orphan files.
|
|
|
|
- version: 1.9.35
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Fix Helpdesk first-response SLA status after public replies.
|
|
changes:
|
|
- Updated public Helpdesk responses so they satisfy the first-response SLA state instead of only increasing the public reply counter.
|
|
- Added first-response SLA synchronisation for existing tickets that already have public replies but a missing first_response_at value.
|
|
- Improved the SLA card wording so pending tickets say Awaiting public reply and responded tickets show Responded.
|
|
- Added regression coverage for public response SLA state and preserved append-only changelog history.
|
|
|
|
- version: 1.9.36
|
|
date: 2026-06-23
|
|
type: feature
|
|
summary: Add operational SLA status detail to Helpdesk ticket pages.
|
|
changes:
|
|
- Added first-response SLA wording that shows Responded, Responded late, Due soon, Breached, or Awaiting public reply as appropriate.
|
|
- Added responded-in duration, first responder name, and first public response timestamp to the SLA panel.
|
|
- Added resolution SLA wording with resolved-in duration and matching met, due-soon, and breached colour states.
|
|
- Added a compact SLA audit trail showing recorded SLA events, due times, breach/met state, and actor details where available.
|
|
- Updated public reply counting to include threaded public replies as well as root comments.
|
|
- Preserved append-only changelog history.
|
|
|
|
- version: 1.9.37
|
|
date: 2026-06-23
|
|
type: documentation
|
|
summary: Add Helpdesk module README instructions for closing tickets and SLA response handling.
|
|
changes:
|
|
- Added a base module README documenting how to close tickets with a mandatory closure comment.
|
|
- Documented Public Reply versus Internal Note usage for responses and SLA handling.
|
|
- Documented recommended close-ticket UI behaviour, closure templates, SLA meanings, audit expectations, reopening guidance, and Helpdesk development standards.
|
|
- Preserved append-only changelog history.
|
|
|
|
- version: 1.9.38
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Enforce mandatory closure comments when closing Helpdesk tickets.
|
|
changes:
|
|
- Added a close-ticket confirmation dialog that opens when a closed status is selected without a closure comment.
|
|
- Added server-side validation so closed statuses cannot be saved without a meaningful closure comment.
|
|
- Stored the closure comment as a Helpdesk response with Public Reply as the default visibility and Internal Note as an explicit option.
|
|
- Updated the status control UI with closed-status metadata and accessible modal controls.
|
|
- Added regression tests for blocked closure without a comment and successful closure with an auditable comment.
|
|
- Preserved append-only changelog history.
|
|
|
|
- version: 1.9.39
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Fix Helpdesk ticket create editor body synchronisation.
|
|
changes:
|
|
- Updated the ticket creation rich-text Details editor so content is pushed into the Livewire body property before validation.
|
|
- Added Livewire navigation-safe editor initialisation so the sync logic works after wire:navigate page changes.
|
|
- Added input, keyup, paste, blur, and submit-capture synchronisation to prevent false "body field is required" validation failures.
|
|
- Changed the hidden body field to live Livewire binding so the server receives the latest editor content without requiring a page reload.
|
|
- Preserved append-only changelog history.
|
|
|
|
- version: 1.9.40
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Prevent duplicate Helpdesk ticket references during ticket creation.
|
|
changes:
|
|
- Updated Helpdesk ticket reference generation to use the highest existing yearly reference suffix instead of the latest database row id.
|
|
- Added a PostgreSQL transaction-level advisory lock around reference generation to reduce concurrent ticket creation collisions.
|
|
- Added retry handling around ticket creation so reference unique-index collisions do not produce a user-facing 500 error.
|
|
- Added regression coverage for out-of-order ticket references so lower references cannot be reused accidentally.
|
|
- Preserved append-only changelog history.
|
|
|
|
- version: 1.9.41
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Fix Helpdesk ticket reference collisions caused by soft-deleted references and remove category agent N+1 queries.
|
|
changes:
|
|
- Updated ticket reference generation to include soft-deleted tickets and bypass global scopes when calculating the highest yearly reference suffix.
|
|
- Preserved the PostgreSQL advisory transaction lock and collision retry behaviour while preventing deleted references from being reused against the unique index.
|
|
- Eager-loaded category agents where categories are used by ticket creation/editing and agent assignment logic to remove the detected N+1 query warning.
|
|
- Added regression coverage to ensure soft-deleted ticket references are never reused.
|
|
- Preserved append-only changelog history.
|
|
|
|
- version: 1.9.42
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Stop premature Helpdesk ticket create validation and single-click submit failures.
|
|
changes:
|
|
- Moved TicketCreate validation from Livewire attribute-based live validation to submit-only rules so errors appear only after Create Ticket is clicked.
|
|
- Changed the hidden rich-text Details body field away from live model updates to prevent a pre-submit $commit request from racing the save action.
|
|
- Kept the editor submit synchronisation so the latest rich-text content is copied into the Livewire body property before validation.
|
|
- Added an isSaving guard and save-target loading state so duplicate clicks cannot create duplicate submit attempts.
|
|
- Added regression coverage proving draft edits do not fire validation before submit.
|
|
- Preserved append-only changelog history.
|
|
|
|
- version: 1.9.43
|
|
date: 2026-06-23
|
|
type: feature
|
|
summary: Add Helpdesk stabilisation pack for spellcheck, durable ticket references, workflow documentation and regression coverage.
|
|
changes:
|
|
- Added a dedicated helpdesk_ticket_sequences migration so ticket references use a durable yearly sequence instead of relying only on scanning existing tickets.
|
|
- Updated TicketReferenceService to lock and increment the yearly sequence row inside the ticket creation transaction while still seeding the initial value from active and soft-deleted ticket references.
|
|
- Enabled browser-native spell checking on ticket creation, public replies, threaded replies, timer notes and closure comments.
|
|
- Added README workflow instructions for create, public reply, internal note, close, reopen, SLA, timers, attachments, spell checking and ticket reference sequencing.
|
|
- Added regression coverage for the sequence implementation, spellcheck wiring and documented stabilised workflows.
|
|
- Preserved append-only changelog history.
|
|
|
|
- version: 1.9.44
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Make Helpdesk ticket create spellcheck visible and repair Clear button DOM reset behaviour.
|
|
changes:
|
|
- Added a visible Spellcheck on badge and explanatory helper text to the ticket Details editor so users can see browser spellcheck is active.
|
|
- Updated the Create Ticket Clear action with a loading state and Dusk hook.
|
|
- Added inline reset handling for the rich-text editor, hidden body field, subject field, attachments, Select2 controls and date picker controls after the Livewire clear event.
|
|
- Added regression coverage to prevent the visible spellcheck marker and clear-form reset wiring from being removed accidentally.
|
|
- Preserved append-only changelog history.
|
|
|
|
- version: 1.9.45
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Make Helpdesk spellcheck suggestions available through native text areas.
|
|
changes:
|
|
- Replaced the ticket create Details rich contenteditable surface with a native spellcheck text area so browser spelling suggestions are available from the context menu.
|
|
- Replaced the main ticket reply rich contenteditable surface with a native spellcheck text area for consistent right-click and Ctrl-click spelling suggestions.
|
|
- Kept hidden Livewire body synchronisation for ticket creation so submit-only validation and single-click create behaviour are preserved.
|
|
- Updated README guidance to explain how browser spellcheck suggestions are accessed.
|
|
- Updated regression coverage for visible spellcheck suggestion guidance.
|
|
- Preserved append-only changelog history.
|
|
|
|
- version: 1.9.46
|
|
date: 2026-06-23
|
|
changes:
|
|
- Restored rich text HTML controls for ticket details and main ticket replies.
|
|
- Enabled inline browser spellcheck on contenteditable rich editor areas without replacing the editor with plain textareas.
|
|
- Fixed ticket create clear action so configured defaults are preserved while subject, details, tags and attachments are cleared.
|
|
- Fixed close-ticket modal so selecting a closed status opens the professional closure prompt on the first interaction.
|
|
- Preserved the mandatory closure comment workflow and public/internal closure visibility behaviour.
|
|
- Added regression coverage notes for rich editor, clear defaults and close-modal workflow.
|
|
- version: 1.9.47
|
|
date: 2026-06-23
|
|
changes:
|
|
- Preserved the rich HTML editor controls while keeping browser-native spellcheck enabled.
|
|
- Documented that fake inline spellcheck must not replace the rich editor.
|
|
- Refreshed ticket time aggregates and the time-log modal after timer start and stop without requiring a page reload.
|
|
- Added regression coverage for timer refresh and spellcheck/editor boundary behaviour.
|
|
|
|
- version: 1.9.48
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Standardise Helpdesk lookup colours and replace free-text colour fields with dropdown selectors.
|
|
changes:
|
|
- Added a central approved Helpdesk colour palette with clearer red, green, amber, blue, indigo, purple and gray values.
|
|
- Normalised legacy Flux and Tailwind colour aliases such as rose, emerald, sky, cyan, violet and zinc to approved WMS colour keys.
|
|
- Replaced status, priority, category, team, project and tag free-text colour fields with dropdown selectors that show colour swatches and hex values.
|
|
- Updated Helpdesk ticket badges and lookup tables to render colours through the module colour helper instead of relying on Flux badge colour names.
|
|
- Added a migration to clean existing database lookup colour values to the approved palette.
|
|
- Updated Helpdesk seed data, feature coverage and unit coverage for the standardised colour behaviour.
|
|
- Preserved append-only changelog history.
|
|
|
|
- version: 1.9.49
|
|
date: 2026-06-23
|
|
type: feature
|
|
summary: Add Helpdesk custom hex colours, contrast-safe badges and standardised seeded workflows.
|
|
changes:
|
|
- Added support for six-character custom hex colours such as #ffffff while keeping the approved WMS palette as the default path.
|
|
- Added colour picker, custom hex input, clickable palette swatches and live preview badge behaviour to Helpdesk colour selectors.
|
|
- Added contrast-safe badge text calculation for light and dark colour backgrounds.
|
|
- Added a reusable Helpdesk badge component so lists, Kanban cards, ticket detail pages, reports and notifications can render colours consistently.
|
|
- Standardised seeded ticket statuses for New, Open, In Progress, Waiting Customer, Waiting Third Party, Resolved, Closed and Cancelled.
|
|
- Standardised seeded ticket priorities for Low, Normal, High, Urgent and Critical.
|
|
- Extended unit and file-level regression coverage for custom hex colours, colour selector UI and contrast-safe badge rendering.
|
|
- Preserved append-only changelog history.
|
|
|
|
- version: 1.9.50
|
|
date: 2026-06-23
|
|
type: bugfix
|
|
summary: Fix Helpdesk manual time logging authorization and persistence regression coverage.
|
|
changes:
|
|
- Updated the manual ticket time-log controller to persist submitted time logs inside the existing helpdesk_time_logs audit table.
|
|
- Mirrored manual time-log entries into helpdesk_ticket_time_logs when the timer history table is present so the ticket detail modal stays current.
|
|
- Updated TicketTimeLogTest to use authorised Helpdesk fixture users and lookup data instead of ad-hoc users that fail the ticket update policy.
|
|
- Kept the pricing-free dashboard test baseline and preserved append-only changelog history.
|
|
|
|
- version: 1.9.52
|
|
date: 2026-06-24
|
|
changes:
|
|
- Fixed ticket create rich editor Livewire synchronisation so typing no longer fires keypress/input requests.
|
|
- Restored native browser spellcheck on the contenteditable editor by allowing typed text to remain stable in the DOM.
|
|
- Added submit-capture body synchronisation before validation so tickets can be created reliably.
|
|
- Added regression assertions for editor spellcheck, keypress sync prevention, and submit-time body sync.
|