feat(contact-center): Add ability to Skip/Remove Campaigns#4808
feat(contact-center): Add ability to Skip/Remove Campaigns#4808cmullenx wants to merge 1 commit intowebex:nextfrom
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2ed41591ff
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| notifFail: { | ||
| bind: { | ||
| type: TASK_MESSAGE_TYPE, | ||
| data: {type: CC_EVENTS.CAMPAIGN_PREVIEW_SKIP_FAILED, campaignId: p.data.campaignId}, |
There was a problem hiding this comment.
Correlate preview-failure binds with interactionId
The new skip/remove request matchers only key failure notifications on campaignId, so two pending preview operations in the same campaign can consume each other’s failure event and reject the wrong promise. aqm-reqs matches whichever bind fits, and this bind is currently not unique per operation. This becomes observable with parallel sessions/tabs or rapid retries on the same campaign; include interactionId in the failure bind to keep correlation deterministic.
Useful? React with 👍 / 👎.
| break; | ||
| case CC_EVENTS.CAMPAIGN_PREVIEW_ACCEPT_FAILED: | ||
| if (task) { | ||
| task = this.updateTaskData(task, payload.data); |
There was a problem hiding this comment.
Preserve task state when preview actions fail
These failure handlers call updateTaskData(task, payload.data), but task reconciliation deletes fields that are missing in the incoming payload. The new failure payloads in this change are sparse (type/ids/reason), so handling a preview failure can strip previously stored interaction details from task.data and mutate the task away from reservation state, which can break retry/UI flows that still need task.data.interaction.callProcessingDetails. Emit the failure event without destructive reconciliation (or merge only failure fields) to avoid data loss.
Useful? React with 👍 / 👎.
COMPLETES
https://jira-eng-sjc12.cisco.com/jira/browse/CAI-7658
https://jira-eng-sjc12.cisco.com/jira/browse/CAI-7659
This pull request addresses
The ability to skip and remove campaigns
by making the following changes
Change Type
The following scenarios were tested
The GAI Coding Policy And Copyright Annotation Best Practices
I certified that
Make sure to have followed the contributing guidelines before submitting.