Skip to content

Commit 6c7cbdb

Browse files
committed
fix(emcn): restore Cancel disable guard for in-flight ChipModal actions
Add `cancelDisabled` to ChipModalFooter and thread the pre-migration in-flight guards back into all 45 footers that had them, so destructive flows can no longer be dismissed mid-mutation.
1 parent 94d36b2 commit 6c7cbdb

43 files changed

Lines changed: 61 additions & 3 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/sim/app/(auth)/login/login-form.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,6 +561,7 @@ export default function LoginPage({
561561
</ChipModalBody>
562562
<ChipModalFooter
563563
onCancel={() => setForgotPasswordOpen(false)}
564+
cancelDisabled={isSubmittingReset}
564565
primaryAction={{
565566
label: isSubmittingReset ? 'Sending…' : 'Send Reset Link',
566567
onClick: handleForgotPassword,

apps/sim/app/(landing)/integrations/components/request-integration-modal.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ export function RequestIntegrationModal() {
145145
) : (
146146
<ChipModalFooter
147147
onCancel={() => setOpen(false)}
148+
cancelDisabled={status === 'submitting'}
148149
primaryAction={{
149150
label: status === 'submitting' ? 'Submitting...' : 'Submit request',
150151
onClick: handleSubmit,

apps/sim/app/workspace/[workspaceId]/components/connect-oauth-modal/connect-oauth-modal.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,7 @@ export function ConnectOAuthModal(props: ConnectOAuthModalProps) {
443443
</ChipModalBody>
444444
<ChipModalFooter
445445
onCancel={handleClose}
446+
cancelDisabled={isPending}
446447
primaryAction={{
447448
label: isPending ? 'Connecting...' : 'Connect',
448449
onClick: handleConnect,

apps/sim/app/workspace/[workspaceId]/files/components/delete-confirm-modal/delete-confirm-modal.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export const DeleteConfirmModal = memo(function DeleteConfirmModal({
4949
</ChipModalBody>
5050
<ChipModalFooter
5151
onCancel={() => onOpenChange(false)}
52+
cancelDisabled={isPending}
5253
primaryAction={{
5354
label: isPending ? 'Deleting...' : 'Delete',
5455
onClick: onDelete,

apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/components/delete-chunk-modal/delete-chunk-modal.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export function DeleteChunkModal({
3939
</ChipModalBody>
4040
<ChipModalFooter
4141
onCancel={onClose}
42+
cancelDisabled={isDeleting}
4243
primaryAction={{
4344
label: isDeleting ? 'Deleting…' : 'Delete',
4445
onClick: handleDeleteChunk,

apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/document.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1229,6 +1229,7 @@ export function Document({
12291229
</ChipModalBody>
12301230
<ChipModalFooter
12311231
onCancel={() => setShowDeleteDocumentDialog(false)}
1232+
cancelDisabled={isDeletingDocument}
12321233
primaryAction={{
12331234
label: isDeletingDocument ? 'Deleting...' : 'Delete Document',
12341235
onClick: handleDeleteDocument,

apps/sim/app/workspace/[workspaceId]/knowledge/[id]/base.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1212,6 +1212,7 @@ export function KnowledgeBase({
12121212
</ChipModalBody>
12131213
<ChipModalFooter
12141214
onCancel={() => setShowDeleteDialog(false)}
1215+
cancelDisabled={isDeleting}
12151216
primaryAction={{
12161217
label: isDeleting ? 'Deleting...' : 'Delete Knowledge Base',
12171218
onClick: handleDeleteKnowledgeBase,

apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/add-connector-modal/add-connector-modal.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,7 @@ export function AddConnectorModal({
499499
{step === 'configure' && (
500500
<ChipModalFooter
501501
onCancel={() => onOpenChange(false)}
502+
cancelDisabled={isCreating}
502503
primaryAction={{
503504
label: isCreating ? 'Connecting…' : 'Connect & Sync',
504505
onClick: handleSubmit,

apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/add-documents-modal/add-documents-modal.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,7 @@ export function AddDocumentsModal({
259259

260260
<ChipModalFooter
261261
onCancel={handleClose}
262+
cancelDisabled={isUploading}
262263
primaryAction={{
263264
label: isUploading
264265
? uploadProgress.stage === 'uploading'

apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/base-tags-modal/base-tags-modal.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,7 @@ export function BaseTagsModal({ open, onOpenChange, knowledgeBaseId }: BaseTagsM
432432
</ChipModalBody>
433433
<ChipModalFooter
434434
onCancel={() => setDeleteTagDialogOpen(false)}
435+
cancelDisabled={deleteTagMutation.isPending}
435436
primaryAction={{
436437
label: deleteTagMutation.isPending ? 'Deleting...' : 'Delete Tag',
437438
onClick: confirmDeleteTag,

0 commit comments

Comments
 (0)