✓ bug (correct)
✓ high (correct)
escalate: noSummary
A custom Flex plugin's beforeAcceptTask override throws FlexError 45601 on every second task acceptance in the same browser session, causing reservations to time out and blocking agents from accepting tasks.
Suggested first response
Thank you for the detailed report and repro steps. Based on what you've described, FlexError 45601 indicates the error is originating inside your plugin's beforeAcceptTask override rather than the Flex platform itself — specifically, it appears the channel reference on the task object is becoming undefined after the first task lifecycle completes within the same browser session.
The most common cause of this pattern is that the task or reservation object captured in the Action override callback is stale or has been torn down after wrap-up, and the plugin is attempting to read properties (such as .channel) from a reference that no longer points to a valid object. We'd recommend the following:
1. Add a defensive null/undefined check for the channel property before reading it in your beforeAcceptTask handler (e.g., if (!task || !task.channel) return early or re-fetch the task from the Flex store).
2. Avoid closing over task or reservation references from a previous lifecycle — always read task data fresh from the payload passed into the override callback on each invocation.
3. If you are storing any task state in module-level or component-level variables between tasks, ensure those are cleared during the task completed or reservation completed event.
The Status Report you mentioned would be very helpful — please share it so we can confirm the exact stack trace and rule out any platform-side contribution. Also, since this began after your plugin release last Tuesday (configuration FJxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx), rolling back to the previous known-good Flex Release is available as an immediate workaround to unblock your agents while you investigate the plugin code.
Please share the Status Report and your beforeAcceptTask handler code (sanitized as needed) and we'll continue from there.
466 output tokens · 13.2s · 1 attempt(s)