Skip to content

feat(store): replace alert/confirm/prompt with <dialog> - #47

Merged
ralyodio merged 1 commit into
mainfrom
feat/store-dialog-ui
Jul 25, 2026
Merged

feat(store): replace alert/confirm/prompt with <dialog>#47
ralyodio merged 1 commit into
mainfrom
feat/store-dialog-ui

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

Native dialogs render as browser chrome outside the page's styling and block the tab.

The worst offender was the signing-key warning added in #45: an irreversible, identity-setting decision asked through a grey OS box that looks indistinguishable from a phishing popup.

Adds openModal / uiAlert / uiConfirm / uiChoose on <dialog>, replacing all six call sites (1 prompt, 4 alert, 1 confirm).

One upgrade beyond a like-for-like swap: the abuse report was a prompt() asking people to type one of "malware, privacy, broken, spam, other". It's now a <select> of exactly those, so a typo can't produce an unclassifiable report. The signing-key confirm is styled destructive.

Falls back to toggling open and firing close where the <dialog> methods are unavailable.

node --check passes; no alert/confirm/prompt remain in the file.

🤖 Generated with Claude Code

Native dialogs render as browser chrome outside the page's styling and
block the tab. The worst offender was the signing-key warning: an
irreversible, identity-setting decision asked through a grey OS box that
looks indistinguishable from a phishing popup.

Adds openModal/uiAlert/uiConfirm/uiChoose on <dialog>, and replaces all
six call sites. The abuse report was a prompt() asking people to type one
of "malware, privacy, broken, spam, other" — it is now a <select> of
exactly those, so a typo can't produce an unclassifiable report. The
signing-key confirm is styled destructive.

Falls back to toggling `open` and firing `close` where the <dialog>
methods are unavailable.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

vu1nz Security Review

0 finding(s) in PR #?

No security issues found.

@ralyodio
ralyodio merged commit 2214c1b into main Jul 25, 2026
6 checks passed
@ralyodio
ralyodio deleted the feat/store-dialog-ui branch July 25, 2026 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant