Releases: ChesnoTech/ost-quick-buttons
v6.0.0 — Per-Step Performance Tracking & Interruptions
Breaking Changes
- Per-step Performance Tracking & Interruptions —
perf_mode,perf_source_field,perf_mappings, andinterruptionsconfig moved from department-level to per-step. Each workflow step now has its own independent performance tracking mode and interruption configuration. schema_versionbumped to 6 (from 5). Automatic migration copies existing dept-level config into every step.
Changes
ost_quick_buttons_interruptionstable gainsstep_indexcolumn to track which step triggered the interruption for correct resume ACL resolution.- Workflow Builder UI: Performance Tracking and Interruptions sections now appear inside each step row instead of at the card footer.
- Frontend: interrupt button sends
step_indexto server; resume readsstep_indexfrom DB record.
New Features
- Agent department filter in Access Control — filter agents by department with Select All / Deselect All bulk actions.
- Sub-list configuration UI for interruption variants — admin can now configure optional reason sub-lists per variant.
CI
- GitHub Actions workflow: PHP lint (8.1/8.2/8.3), unit tests (53 tests), JS syntax check.
Upgrade Notes
- The admin must confirm the v6 schema migration via the upgrade banner before the new features activate.
- Existing v5 configs are automatically migrated: department-level perf/interrupt settings are copied into every step.
v5.3.0 — Interruption System + Mobile Layout Fixes
What's New
Interruption System
- Pause/resume tickets with a type → variant → sub-list hierarchy (equipment issues, breaks, customer requests)
- Two modes: Simple (same department) and Sub-Workflow (detour through other departments)
- Automatic state restoration on resume (status, agent, team, department)
- 75/25 desktop layout split: action button (75%) + interrupt icon (25%)
- Centered popup UI for type/variant/sub-list selection
- Internal notes posted automatically on interruption
- Per-variant access control and performance deductions
- Full undo support for both interrupt and resume actions
Mobile Layout Fixes
- Play icon optical centering —
translateX(2px)for asymmetric play-triangle glyph - 75/25 vertical split — action
flex:3/ interruptflex:1replaces fixed 22px interrupt height - Deadline badge repositioned —
bottom: calc(25% + 2px)prevents overlap with interrupt button - Blue bleed fix — conditional
padding-bottom: 0via.has-interruptclass - Interrupt icon centering — 14px desktop / 16px mobile with svg.css overrides
README Rewrite
- Repositioned as a workflow orchestration engine for manufacturing, assembly, and operations
- Real-world PC assembly line example with interruptions and performance tracking
- Updated API endpoints, file structure, and feature documentation
Validated
96/96 DOM-level tests passed across 8 visual variant blocks covering icon centering, 75/25 layout, badge positioning, assembly workflow E2E, mobile layout, desktop layout, dark mode, and custom rendering.
Full Changelog: https://github.com/ChesnoTech/ost-quick-buttons/blob/stable/CHANGELOG.md
v4.3.4 — Update Channels
Changed
- Update page redesign — the Updates tab now queries GitHub Releases API and shows available updates grouped by channel:
- Patch (green) — bug fixes only, safe to apply
- Minor (blue) — new features, backwards compatible
- Major (orange) — major release, may include breaking changes
- Each channel card shows the version number, release date, and risk description. Admins choose which update to apply.
- Tag-based downloads — updates now download from the exact Git tag instead of the
stablebranch HEAD, ensuring version precision.
Upgrade from 4.3.x
No database changes. Replace files and hard-refresh.
v4.3.3
Fixed
- Two-step variant: skip PARTIAL when statuses match — when
start_target_statusequalsstep2_trigger_status(shared status), the button after START now goes directly to START2, changing the status tostep2_targetin one click. Previously it showed a useless PARTIAL that only released the agent without changing status, requiring an extra click. The flow is now 3 clicks (START -> START2 -> STOP) instead of 4. - Admin tab bleeding (v4.3.1) — Quick Buttons tabs no longer appear on other plugins' admin pages.
- Double countdown timers (v4.3.2) — removed the 60-second undo bar that appeared alongside the 5-second countdown popup.
- Countdown popup centering (v4.3.2) — popup is now always centered on viewport.
Upgrade from 4.3.0
All fixes are JS/CSS/PHP only — no database changes, no config migration needed. Just replace the plugin files and hard-refresh.
v5.1.1
[5.1.1] - 2026-04-05
Fixed
- Server-side trigger status validation —
execute()now rejects tickets whose current status doesn't match the step's configured trigger, preventing stale queue data or crafted requests from executing the wrong step. Returns"status has changed — please refresh the queue"per ticket. - Empty restrictions warning — Workflow Builder now shows an amber warning inside the Restricted mode panel when no teams or roles are selected, clarifying that the step will allow all department agents to execute (allow-all additive behaviour). Warning hides as soon as any filter is checked.
v5.1.0 — Permission-Aware Workflow Execution
What's New
Three access control modes per workflow step, solving the problem where agents needed extended department access with ticket.transfer role just to allow workflow-configured transfers — bundling unwanted permissions (edit, assign, etc.).
Added
- Permission-aware workflow execution — three access control modes per step:
- Workflow Authorized: any agent in the department can execute; admin config is the authorization (bypasses native role permissions)
- Native Permissions: defers to osTicket role-based permissions (existing behavior)
- Restricted: workflow-authorized but filtered by team and/or role membership
- Access Control section in Workflow Builder with collapsible panel per step
- Color-coded badges: green (Workflow Authorized), blue (Native Permissions), orange (Restricted)
- Team and role checkbox filters for Restricted mode
- Workflow-authorized execution methods with direct DB fallback when native methods are permission-blocked
- Server-side permission resolution:
getWidgets()API annotates each step withaccess_modeandcan_execute - 14 new i18n strings for access control labels and hints
- Schema migration v3: adds
access_controlto all existing steps withmode: "native"default - Full dark mode support for access control UI
Changed
- Existing steps default to
nativemode (backward-compatible, no behavior change) - New steps default to
workflowmode (solves the extended-access permission problem) schema_versionbumped from 2 to 3
Migration
Automatic — on first load after upgrade, all existing steps receive access_control: { mode: "native" }, preserving current behavior. An upgrade banner will appear for admin confirmation.
Full Changelog: https://github.com/ChesnoTech/ost-quick-buttons/blob/dev/CHANGELOG.md
v4.3.0 — Auto-Update from Admin UI
What's New
Auto-Update System
- Check for Updates button in plugin admin panel
- Compares installed version against the
stablebranch on GitHub - One-click update with automatic file backup and restore on failure
- Admin-only access (non-admins cannot trigger updates)
Developer Experience
- Complete versioning plan with 4-branch promotion flow (dev → beta → rc → stable)
- Full changelog with history from v2.0.0 to v4.3.0
- GitHub PR and issue templates
- Contributing guide with version decision tree
Bug Fixes (from v4.1.1 → v4.2.0)
- Timer counters now show big-then-small units (6M - 45S instead of 45S - 6M)
- Upgrade banner no longer squashed inside pjax-container
- Desktop/mobile icon centering improvements
v4.2.0
What's New
- Auto-update from admin UI — check for updates and apply them directly from the plugin admin page without SSH
- Updates tab on plugin page with GitHub version comparison
- One-click update: download, backup, extract, replace
- Timer unit order fix — big-then-small display (e.g.,
6M - 45S)
Branching
Starting with this release, the project uses a 4-branch model:
stable— production releases (auto-update source)rc— release candidatesbeta— beta testingdev— active development
See CONTRIBUTING.md for the full versioning plan.
Upgrade
Update via the Updates tab in Admin > Manage > Plugins > Quick Buttons, or download the zip from this release.
v4.0.0 — Two-Step Workflow Variant
What's New
Two-Step Workflow Variant
A single widget instance now handles both single-step and two-step workflows per department. No more creating 2 instances for the same help topic.
Single Step (default):
[Start] → claim + status → [Done] → release + transfer
Two Step:
[Start] → claim → [Next] → release → [Start Step 2] → claim → [Done] → release + transfer
Each department card in the Workflow Builder has a Variant dropdown to switch between modes.
Per-Department Button Labels
Custom labels for each button type, configured per department (max 12 characters):
- Single step: Start label, Done label
- Two step: Start label, Next label, Start Step 2 label, Done label
4 Action Types
| Action | Behavior | Color |
|---|---|---|
| Start | Claim + status change | Blue |
| Next (Partial) | Release + status change, NO transfer | Orange |
| Start Step 2 | Claim + status change | Blue |
| Done (Stop) | Release + status change + transfer | Green |
Backward Compatible
Existing single-step configs work unchanged. Missing variant field defaults to "single".
Install / Upgrade
cd include/plugins/quick-buttons
git pull origin masterFull Changelog: v3.1.0...v4.0.0
v3.2.0 — Dashboard v2
What's New
Enhanced Dashboard
- 4 KPI cards — Total Processed, Avg/Day, Open Tickets, Active Agents
- Custom date range picker — From/To date inputs alongside 7/30/90 day presets
- Weekly rollup — ranges > 60 days show weekly bars instead of daily (13 bars for 90 days)
- Modern card design — large numbers, color-coded cards, responsive grid
Access Rules (matching osTicket built-in dashboard)
- Department-filtered queries — agents only see data for their accessible departments
- Access-limited agents see "My Performance" instead of Agent Leaderboard
- KPI totals filtered by agent's department access
- Admins see all data unrestricted
Waiting Timer on Start Buttons
- Start buttons now show how long a ticket has been waiting for pickup
- Elapsed time since ticket entered the trigger status
- Helps identify stale tickets in the queue
Install / Upgrade
cd include/plugins/quick-buttons
git pull origin masterFull Changelog: v3.1.0...v3.2.0