Fix clipboard fallback selection inside dialogs (#433)
This commit is contained in:
1 parent
e738b6ce33
commit
8a8db0eb94
5 files changed
+73
-21
No files matched your search
@@ -65,3 +65,15 @@ an unsupported elemental-resistance bypass and an unnecessary on-field check on
|
||||
All 285 golden scenarios were regenerated: only `roster` and `diy` changed, (`roster-019`, `roster-038`, `diy-059`–`diy-140`), because the added module expands
|
||||
loadout coverage and the added DIY operator / Shu module expand and regroup the DIY scenarios. `bonds`,
|
||||
`fields`, `matches` and `standins` remained byte-identical. Full integration and browser checks follow separately.
|
||||
|
||||
### 28.3 Clipboard export inside dialogs — #433
|
||||
|
||||
Reported by @RushFTK: exporting settings over an insecure/LAN connection focused the language selector and
|
||||
reported success without copying the export. The fallback textarea was appended outside the active dialog,
|
||||
whose focus trap redirected selection before `execCommand('copy')`.
|
||||
|
||||
`ui/clipboard.js` now selects its temporary textarea inside the active dialog/guide, validates focus and the
|
||||
whole selection before copying, and always removes it and restores focus, including after exceptions.
|
||||
The secure Clipboard API remains first choice; a failed fallback returns false for the existing manual-copy UI.
|
||||
Shared invite/loadout copying uses the same helper. Device tests passed 16/16; independent interaction probes
|
||||
passed 12/12. The real nested-dialog regression is included in `test/ui/modal.e2e.test.js` for integration testing.
|
||||
Reference in new issue
Block a user