Polanger Ticket System for WooCommerce

Changelog

1.2.8

  • 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
  • Admin dashboard with gradient design
  • Real-time chat-style messaging
  • Agent lock / collision detection system
  • Email notifications for new tickets and replies
  • Customizable categories with colors
  • Customizable priorities with colors
  • Order and product association
  • Customer ticket closing option
  • Maximum active tickets per customer limit
  • Auto-close inactive tickets setting
  • Require product purchase option
  • Custom no-purchase message with WYSIWYG editor
  • Status-based row coloring in ticket lists
  • Unread ticket badge in My Account menu
  • Full HPOS compatibility
  • Complete i18n support
  • WordPress Coding Standards compliant
  • Extensive hook system for developers

Plugin Website
Visit website

Author
Polanger
Version:
1.2.8
Last Updated
April 28, 2026
Requires
WordPress 5.8
Tested Up To
WordPress 6.9.4
Requires PHP
7.4

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.