Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,12 @@ const ReleaseNotesDialogImpl = create<NoProps>(() => {
return (
<Dialog
open={modal.visible}
onOpenChange={(open) => !open && modal.resolve()}
onOpenChange={(open) => {
if (!open) {
modal.resolve();
modal.hide();
}
}}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Missing modal.remove() call unlike all other dialogs

Medium Severity

Every other dialog in the codebase (SettingsDialog, KeyboardShortcutsDialog, WorkspacesGuideDialog, OAuthDialog) calls modal.hide(), modal.resolve(), and modal.remove() when closing. This handler omits modal.remove(), which means the component remains mounted in the React tree after dismissal, preserving stale state and preventing cleanup. The call order also differs — other dialogs call hide() before resolve(), but here resolve() is called first.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 1dc304a. Configure here.

className="h-[calc(100%-4rem)]"
>
<DialogContent className="flex flex-col w-full h-full max-w-2xl max-h-[calc(100dvh-4rem)] p-0">
Expand Down