Fix: Resolved an undefined variable issue in the ticket priority save process (sort_order) and ensured correct ordering during updates.
Fix: Corrected endpoint title filtering to prevent unintended modifications to global the_title outputs.
Improvement: Improved ticket creation flow by introducing transaction-based inserts for better data consistency.
Improvement: Centralized plugin version management by binding runtime version to PGTS_VERSION.
Security: Strengthened query handling by refactoring ticket queries to use a single prepared statement.
Security: Hardened create_ticket() by restricting inputs to known columns and sanitizing all fields.
Performance: Optimized unread badge queries to run only on relevant WooCommerce My Account pages.
Reliability: Enhanced WooCommerce detection with an additional runtime class existence check.
Reliability: Added login validation to the customer ticket close AJAX endpoint.
1.2.7
Internationalization: Expanded and refined multilingual infrastructure for broader global readiness.
Language Pack Update: Added 10 new language files to the plugin language set for faster localization rollout.
Translation Quality: Improved translation consistency and string coverage across key frontend and admin ticket workflows.
1.2.6
Fix: Resolved a role-based access issue affecting new ticket creation and handling workflows.
Fix: Fixed a mobile-specific issue that could cause unintended looping in the customer support request form.
Improved: Enhanced ticket priority sorting logic for more consistent and predictable behavior.
Improved: Polished admin interface by resolving alignment and layout inconsistencies.
1.2.5
Permission Consistency: Admin ticket AJAX endpoints now use the same centralized access model as the admin ticket panel, reducing role/capability mismatch risk.
Timeout Unification: Sticky owner lock timeout now consistently uses PGTS_owner_lock_timeout_minutes as a single source of truth.
Collision Layer Sync: Ticket collision AJAX checks were aligned with the same admin access helper used across admin reply/update endpoints.
Pro Summary Update: Pro addons list now reflects Agent 360 and total addon count is updated to 11.
1.2.4
Reply Ownership: Introduced sticky owner lock for admin replies. The first staff replier on an unassigned ticket becomes owner; assigned tickets now enforce owner-only replying at the server level.
Controlled Takeover: Added configurable inactivity timeout setting PGTS_owner_lock_timeout_minutes (default 60). If the owner is inactive and not viewing the ticket, ownership is auto-released for takeover.
Settings: Added new “Reply Ownership Timeout (minutes)” option in Ticket System settings (0 disables auto-release).
Admin UI: Redesigned ticket detail ownership information block and now show configured takeover timeout clearly for agents/admins.
1.2.3
Mobile: Improved admin ticket detail page flow on small screens. Conversation/reply area now appears first and full-width; customer/details widgets are moved below and full-width for easier handling.
Mobile: Improved Categories & Priorities settings tables with horizontal scroll support, preventing cramped cells and broken slug wrapping on narrow screens.
Mobile: Improved slug column readability in settings tables with safer min-width and no-wrap behavior for values like urgent, high, and custom slugs.
Performance: Optimized admin ticket listing workflow with cleaner server-side filtering/search handling and per-page limits, reducing unnecessary rows rendered on large stores.
1.2.2
Admin UX: Added advanced filters on the All Tickets screen with mobile-friendly layout (search by Subject/Customer, dynamic Priority filter, and per-page selector with 20/50/100/All options). Default view now shows 20 tickets.
Admin Sorting: Ticket list ordering now uses dynamic priority sort order from the Priorities table (instead of hardcoded urgent/high/normal/low), so newly created priorities are sorted correctly.
Admin Priority Management: Added editable “Priority Order (1 = highest)” field in Priority create/edit modal and displayed priority order in the settings table. This makes ordering explicit and fully controllable for built-in and custom priorities.
Admin Safety: Closed tickets are always pushed to the bottom of the ticket list to reduce accidental focus on completed items.
Collision/Lock Enforcement: Upgraded collision detection from warning-only behavior to server-enforced reply blocking. If another admin owns the active lock, reply submission is blocked at the AJAX endpoint.
Collision Ownership: Lock ownership now follows first-viewer semantics (first admin entering the ticket holds lock), and only later viewers are blocked.
Collision Timeout: Added 30-minute lock-owner timeout without reply activity. If owner times out, next replying admin can claim lock and continue.
Security Hardening: Added capability check (manage_woocommerce) to ticket leave endpoint for collision handling consistency.
1.2.1
Added: Permanent ticket deletion from the admin ticket list and ticket detail screen.
Improved: Ticket deletion now requires confirmation before execution.
Security: Deletion is restricted to closed tickets only; server-side validation prevents removal of open or in-progress tickets, even for tampered requests.
Security: Added nonce-protected AJAX and capability checks (manage_woocommerce) to control deletion permissions.
Developer: Expanded “Available Hooks for Developers” documentation in the readme with a complete list of PGTS_ actions and filters, including descriptions and parameter notes.
1.2.0
Performance: Improved My Account ticket list polling with debouncing and reduced unnecessary reflows during background updates.
Performance: Optimized admin ticket detail scripts with more efficient event handling and faster AJAX reply processing.
Performance: Reduced redundant option and settings reads when rendering ticket badges on the frontend.
Performance: Optimized ticket list queries with more efficient column selection for large datasets.
Mobile: Improved tap targets, spacing, and readability on ticket forms and chat threads for small screens (~480px and below).
Mobile: Enhanced reply composer behavior when the on-screen keyboard opens (better scroll positioning and iOS safe-area support).
1.0.0
Initial release
Complete ticket management system
Customer frontend integration with WooCommerce My Account