Files
Ferdinand Thiessen 066d845ed5 fix(files): repair Vue 3 regressions found by the Playwright suite
`RouterService` still read `router.currentRoute` directly, but with
vue-router 5 that is a ref, so name, params and query were always empty:
every navigation dropped the `dir` query and the fileid. It now unwraps
the ref and, because vue-router navigates asynchronously, also reports a
requested route until it is applied - otherwise the stores that each
merge their own change into the route overwrite each other.

`spawnDialog()` returns a promise since @nextcloud/vue 9, so the call
sites still passing a callback as third argument never resolved and the
"New folder" and rename dialogs hung.

The type filter looped endlessly because resetting an already empty
selection re-entered `setPresets()`, which resets again.

`Uploader.upload()` ignores the `root` option, so dropping onto a folder
row uploaded into the folder being browsed instead of the drop target.
The uploader destination is now moved to the drop target while the queue
is built.

Finally the router lost the query encoding Nextcloud URLs use: keep
spaces as "%20" instead of vue-router's "+".

On the test side: `NcCheckboxRadioSwitch` now forwards attributes to its
`<input>`, so the selection hooks sit on the checkbox itself; Vue 3
condenses the whitespace between the filename and extension spans; and
the breadcrumb helper addressed ancestors as buttons although only the
current directory is one.

Assisted-by: ClaudeCode:claude-opus-5
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-09-30 22:06:16 +02:00
..