fix(nextcloud-files): WR-07 Merkzettel angelegter Ordner gilt nur fuer eine Ablage

- der Merkzettel wird geleert, wenn neu abgelegt wird und nichts mehr laeuft, nach jedem
  Loeschen, Verschieben und Umbenennen in der Ansicht und wenn ein Hochladen mit
  pathConflict/notFound scheitert (dann legt "Erneut versuchen" den Ordner wieder an)
- innerhalb einer Ablage wird jeder Ordner weiter nur einmal angelegt
- Hook-Tests fuer alle drei Wege

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-10-08 22:43:32 +02:00
parent 08abfef8e2
commit 486819f80b
3 changed files with 113 additions and 1 deletions
@@ -475,6 +475,7 @@ export function FileBrowser({
const confirmDelete = async (list: NcEntry[]) => {
const { failed, reason } = await runEach(list, (e) => deleteEntry(e.path));
transfers.forgetFolders();
setDialog(null);
dispatch({ type: 'clear' });
await load(pathRef.current, { quiet: true });
@@ -486,6 +487,7 @@ export function FileBrowser({
};
const confirmMove = async (list: NcEntry[], targetDir: string) => {
transfers.forgetFolders();
if (list.length === 1) {
// Ein einzelner Eintrag: Fehler bleiben im Dialog sichtbar.
await moveEntry(list[0].path, join(targetDir, list[0].name));
@@ -515,6 +517,7 @@ export function FileBrowser({
const submitRename = async (entry: NcEntry, name: string) => {
const to = join(parent(entry.path), name);
transfers.forgetFolders();
await moveEntry(entry.path, to);
setDialog(null);
focusAfterLoad.current = to;