Web UI: replace native prompt() for create/rename with an in-app dialog #69

Closed
opened 2026-07-30 02:55:14 +00:00 by Cordy · 1 comment
Owner

Dogfood finding (Nikola, 2026-07-30): creating a folder and renaming a file open the browser's native prompt() — a dropdown sheet at the top of the window. It looks foreign, is unstyled, can't validate, and on some browsers is suppressed entirely.

Replace with a branded <dialog> matching the existing share/settings dialogs: label, prefilled input, Cancel/Confirm, Enter/Escape handling, inline validation (empty name, /, leading dot, name-taken) instead of a failed request. Same dialog serves New folder, Rename, and Move (Move keeps its full-path semantics).

Dogfood finding (Nikola, 2026-07-30): creating a folder and renaming a file open the browser's native `prompt()` — a dropdown sheet at the top of the window. It looks foreign, is unstyled, can't validate, and on some browsers is suppressed entirely. Replace with a branded `<dialog>` matching the existing share/settings dialogs: label, prefilled input, Cancel/Confirm, Enter/Escape handling, inline validation (empty name, `/`, leading dot, name-taken) instead of a failed request. Same dialog serves New folder, Rename, and Move (Move keeps its full-path semantics).
Author
Owner

Shipped in PR #72, released as v0.3.18, live on the .249 dogfood.

Verified on main: namedlg dialog markup + askName() helper are present, and there are no remaining prompt() call sites — New folder, Rename, and Move all use the in-app dialog with basename preselection, Enter/Escape, and inline validation (empty, /, name already taken). i18n in all four languages.

(Missed the auto-close because PR #72 named the issues in its title rather than a Closes #69 line.)

Shipped in PR #72, released as **v0.3.18**, live on the `.249` dogfood. Verified on main: `namedlg` dialog markup + `askName()` helper are present, and there are **no remaining `prompt()` call sites** — New folder, Rename, and Move all use the in-app dialog with basename preselection, Enter/Escape, and inline validation (empty, `/`, name already taken). i18n in all four languages. (Missed the auto-close because PR #72 named the issues in its title rather than a `Closes #69` line.)
Cordy closed this issue 2026-07-30 03:21:24 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#69
No description provided.