Skip to content

fix(store): update task-refactor with latest next 27th May#688

Open
Shreyas281299 wants to merge 23 commits into
webex:task-refactorfrom
Shreyas281299:next-in-task-refactor
Open

fix(store): update task-refactor with latest next 27th May#688
Shreyas281299 wants to merge 23 commits into
webex:task-refactorfrom
Shreyas281299:next-in-task-refactor

Conversation

@Shreyas281299
Copy link
Copy Markdown
Contributor

COMPLETES #< INSERT LINK TO ISSUE >

This pull request addresses

< DESCRIBE THE CONTEXT OF THE ISSUE >

by making the following changes

< DESCRIBE YOUR CHANGES >

Change Type

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Tooling change
  • Internal code refactor

The following scenarios were tested

  • The testing is done with the amplify link
    < ENUMERATE TESTS PERFORMED, WHETHER MANUAL OR AUTOMATED >

The GAI Coding Policy And Copyright Annotation Best Practices

  • GAI was not used (or, no additional notation is required)
  • Code was generated entirely by GAI
  • GAI was used to create a draft that was subsequently customized or modified
  • Coder created a draft manually that was non-substantively modified by GAI (e.g., refactoring was performed by GAI on manually written code)
  • Tool used for AI assistance (GitHub Copilot / Other - specify)
    • Github Copilot
    • Other - Please Specify
  • This PR is related to
    • Feature
    • Defect fix
    • Tech Debt
    • Automation

Checklist before merging

  • I have not skipped any automated checks
  • All existing and new tests passed
  • I have updated the testing document
  • I have tested the functionality with amplify link

Make sure to have followed the contributing guidelines before submitting.

riteshfyi and others added 21 commits March 31, 2026 09:22
…able releases (webex#661)

Co-authored-by: Bharath Balan <62698609+bhabalan@users.noreply.github.com>
Co-authored-by: Kesava Krishnan Madavan <mkesavan13@gmail.com>
Co-authored-by: Shreyas Sharma <shreyassharma9912@gmail.com>
Co-authored-by: Shreyas Sharma <72344404+Shreyas281299@users.noreply.github.com>
Co-authored-by: molker <molker@cisco.com>
Co-authored-by: Kesava Krishnan Madavan <mkesavan13@gmail.com>
Co-authored-by: ciscoRankush <ciscoRankush@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Rankush Kumar <rankkuma+cisco@cisco.com>
…coverage, and bug-fix pipeline (webex#636)

Co-authored-by: Kesava Krishnan Madavan <mkesavan13@gmail.com>
…on [PSIRT-0974799192] (webex#676)

Co-authored-by: Bharath Balan <62698609+bhabalan@users.noreply.github.com>
Co-authored-by: Christina Mullen <chrmulle@cisco.com>
Co-authored-by: Matthew Olker <molker@cisco.com>
@Shreyas281299 Shreyas281299 requested a review from a team as a code owner May 27, 2026 09:15
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b68e6448d8

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

// Inbound: ani = caller's number, dn = entry point dialed by caller
// Outdial: ani = agent's originating number (entry point), dn = customer's dialed number
const outboundType = currentTask?.data?.interaction?.outboundType;
const callerNumber = getCallerIdentifier(ani, dn, outboundType);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Declare dn before deriving caller number

This new call passes dn into getCallerIdentifier, but dn is never declared in CallControlCADComponent. Any build of cc-components that type-checks this file will fail with an unresolved identifier before the widget can be published.

Useful? React with 👍 / 👎.

CallControlComponentProps,
CallAssociatedDataMap,
getCallerIdentifier,
CallAssociatedDataMap,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove the duplicate imported symbol

CallAssociatedDataMap is now listed twice in the same import declaration, which creates a duplicate local binding and blocks TypeScript/Babel parsing of this module. Please keep a single import for each symbol before shipping this change.

Useful? React with 👍 / 👎.

return liveTranscriptEntries;
}

return transcriptLines.map((line) => mapTranscriptLineToEntry(line, currentTaskId));
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Scope transcript rows to the active task

When an agent switches from one active task to another, store.realtimeTranscriptionData is not cleared by setCurrentTask, and this hook maps every stored transcript line to whatever currentTaskId is currently selected. That makes live transcript text from the previous call appear under the newly selected task until the old task is removed; filter/store transcript data by interaction/conversation before rendering it.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ffb2ebfd68

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +33 to +34
deviceType,
featureFlags,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove undefined call-control options

When CallControlInternal renders, these shorthand properties read deviceType and featureFlags, but neither name is declared in this module or destructured from store. That makes the widget fail to compile (or throw a ReferenceError before reaching the current-task guard in non-typechecked builds); these values are not part of useCallControlProps, so drop them or define them before passing props.

Useful? React with 👍 / 👎.

Comment on lines +43 to +44
deviceType,
featureFlags,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove undefined CAD call-control options

When CallControlCADInternal renders, these shorthand properties reference deviceType and featureFlags, but this file never declares them or pulls them from store. That blocks the task package build (or throws at render time before the null-task guard in non-typechecked builds); since useCallControl does not consume these props, remove them or explicitly define them.

Useful? React with 👍 / 👎.

Comment on lines +24 to +32
export function isCampaignPreviewTask(task: ITask): boolean {
const interaction = task.data?.interaction;
if (!interaction) return false;
const outboundType = interaction.outboundType ?? '';
const cpd = interaction.callProcessingDetails as unknown as CampaignCallProcessingDetails;
const campaignType = cpd?.campaignType ?? '';

return (
CAMPAIGN_PREVIEW_OUTBOUND_TYPES.includes(outboundType) || CAMPAIGN_PREVIEW_CAMPAIGN_TYPES.includes(campaignType)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Import the campaign utility dependencies

This new exported helper uses ITask, CampaignCallProcessingDetails, and the campaign preview constants, but task-util.ts still only imports Interaction. Any import of isUnacceptedCampaignPreview (now used by both call-control widgets) therefore fails the task package build with unresolved symbols before the campaign-preview guard can work.

Useful? React with 👍 / 👎.

const campaignType = cpd?.campaignType ?? '';

return (
CAMPAIGN_PREVIEW_OUTBOUND_TYPES.includes(outboundType) || CAMPAIGN_PREVIEW_CAMPAIGN_TYPES.includes(campaignType)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Import the outbound campaign constants

The predicate now checks CAMPAIGN_PREVIEW_OUTBOUND_TYPES, but the import at the top of this file only brings in CAMPAIGN_PREVIEW_CAMPAIGN_TYPES. Building or rendering TaskList with this module will fail on the unresolved constant, so import it from @webex/cc-store alongside the campaign-type constants.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants