Skip to content

fix: add disconnect confirmation dialog to both desktop and web channel pages#1183

Closed
jaimax0401 wants to merge 1 commit into
nexu-io:mainfrom
jaimax0401:fix/channel-disconnect-confirmation
Closed

fix: add disconnect confirmation dialog to both desktop and web channel pages#1183
jaimax0401 wants to merge 1 commit into
nexu-io:mainfrom
jaimax0401:fix/channel-disconnect-confirmation

Conversation

@jaimax0401

Copy link
Copy Markdown

Description

Fixes the missing secondary confirmation dialog when disconnecting a channel. Addresses review feedback from PR #1182:

  • Desktop page: Uses existing CSS classes (cloud-profile-modal-header, cloud-profile-modal-close, cloud-profile-modal-actions) instead of inline styles, ensuring proper light-theme colors
  • Web page: Added new disconnectChannelId state + confirmation modal following the existing reset confirmation pattern

Changes

  • apps/desktop/src/pages/cloud-profile-page.tsx: Refactored to use CSS classes matching the existing modal pattern
  • apps/desktop/src/runtime-page.css: Added .cloud-profile-modal-desc style
  • apps/web/src/pages/channels.tsx: Added disconnectChannelId state + confirmation modal

Testing

Manual:

  • Desktop: Click Disconnect on a profile → modal appears with proper styling → Confirm/Cancel work
  • Web: Click Reset & Reconfigure → modal appears → Confirm/Cancel work

Fixes #1063

@lefarcen lefarcen self-requested a review May 13, 2026 17:29
@lefarcen lefarcen added size/M Medium PR size (100-299 changed lines) risk/high High-risk change area type/bugfix Bug fix labels May 13, 2026

@lefarcen lefarcen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Hi @jaimax0401, thanks for carrying the feedback from #1182 into both surfaces. The desktop modal now follows the existing cloud-profile styling, and the web flow is moving in the right direction too. I found one user-visible blocker in the web copy plus a small cleanup item — once those are addressed, this should be much closer to landing.

</div>
<div>
<h3 className="text-[14px] font-semibold text-text-primary">
{t("channels.confirmDisconnect")}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

P1 These new channels.confirmDisconnect* translation keys are not added to apps/web/src/i18n/locales/en.ts or zh-CN.ts, so i18next will render the raw key names in the confirmation dialog. Please add confirmDisconnect, confirmDisconnectDesc, and confirmDisconnectBody to both locale files, or reuse the existing reset keys if the copy should stay identical.

Comment thread apps/web/src/pages/channels.tsx Outdated
track("workspace_channel_disconnect_click", {
channel: platform,
});
disconnectChannelId; // capture before clearing

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

P2 This standalone disconnectChannelId; expression does not capture anything and is likely to trip lint/reader confusion. Either remove it and call the mutation directly, or actually pass the stored id through the mutation if the confirmation modal is meant to bind to that specific channel.

… all locales (#1140)

- Replace feishu-contributor-qr.png with the new nexu core contributor group QR
- Add Feishu group invite link alongside Discord in en/ja/ko contributor docs
- Chinese docs already had the QR image, now updated via the replaced file

Made-with: Cursor

Co-authored-by: caiqiling958-cmd <>
@jaimax0401 jaimax0401 force-pushed the fix/channel-disconnect-confirmation branch from d9c7c2e to a8addc4 Compare May 13, 2026 18:01
@lefarcen lefarcen added size/XL Extra large PR size (700-1499 changed lines) and removed size/M Medium PR size (100-299 changed lines) labels May 13, 2026

@lefarcen lefarcen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Hey @jaimax0401, thanks for the quick follow-up. The web dialog cleanup from the last pass is partly addressed, and the extra Chinese locale entries are in the right place. I still need to keep this blocked, though: the English locale currently breaks the module, and this push also brought in a large scheduled community-content workflow that is outside the disconnect-confirmation fix and needs to be split/reviewed separately.

} as const;

export default en;
"channels.confirmDisconnect": "Confirm disconnect",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

P1 These keys were appended after export default en, outside the en object, so this file is syntactically invalid and the web build will fail. Move the channels.confirmDisconnect* entries up into the const en = { ... } object next to the existing channels.confirmReset* keys, before the closing } as const;.

@@ -0,0 +1,59 @@
name: Community Content Push

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

P1 This new scheduled workflow is unrelated to the disconnect-confirmation bugfix and would start production cron pushes to Feishu/Discord using repo secrets and an LLM. Please remove the community-content workflow/script/docs/QR changes from this PR and split them into a separate PR with the right product/security review context.

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

Labels

risk/high High-risk change area size/XL Extra large PR size (700-1499 changed lines) type/bugfix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants