Move-folder modal: self-move guard is dead code and leaves moving stuck
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, php
- Ambito
- frontend
Direzione di ricerca
Individua il gestore onMove() del modal per lo spostamento delle cartelle ed esamina lib/Db/Mailbox.php:176-177 per confermare i formati degli identificatori delle mailbox. Traccia il comportamento della promise e della pulizia durante lo spostamento e NcDialogButton, quindi verifica che gli spostamenti verso sé stessi restituiscano il controllo senza avviare l’operazione e che gli altri percorsi reimpostino lo stato e si chiudano normalmente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Flagged by Claude during a code review.
Needs validation.
Problem
onMove() sets this.moving = true, then guards the whole operation with this.mailbox.id !== this.destMailboxId. Two defects:
- The comparison can never be true. Mailbox::jsonSerialize (lib/Db/Mailbox.php:176-177) exposes id as base64_encode($name), while destMailboxId is always the numeric databaseId or undefined. The intended "moving a folder into itself is a no-op" check therefore never fires.
- The false branch resets nothing — no moving = false, no $emit('close'). Only the try/finally inside the if does that.
Consequences
- Selecting root for a folder that already sits at root issues a rename to its own name; the resulting IMAP error is only logged, so the user sees a silent no-op instead of the guard.
- Correcting the comparison to databaseId without also fixing the state handling would hang the dialog: since #13431 made the handler's promise the one NcDialogButton awaits, the primary button would stay disabled forever.
Suggested fix
Compare this.mailbox.databaseId against this.destMailboxId, and return before setting moving = true when they match (or hoist the finally cleanup to cover the early exit).
- Lingua principale
- JavaScript
- Stelle
- 1k
- Fork
- 348
- Merge medio
- 1g 19h
- PR unite (30g)
- 90
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di nextcloud/mail
-
0. to triage bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
1. to develop enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
nextcloud/mail#13703 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
1. to develop bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
nextcloud/mail#13472 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
1. to develop technical debt
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
When clicking on the sender’s email address in a received message, it currently opens a mailto: link.Forse già presa @kra-mo l’ha presa 4 giorni fa. Aperta0. to triage enhancement needs info
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
nextcloud/mail#13717 · 1 commento · 2 assegnatari ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di nextcloud/mail
Issue simili
-
feature task
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
RealDevSquad/website-www#1178 ·
-
add latest sol modelAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
netlify-labs/nax#56 · 2 commenti · 1 reazione ·
-
accessibility bug revealjs
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
quarto-dev/quarto-cli#14961 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
PnX-SI/GeoNature#4435 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
openlayers/openlayers#17648 ·
I maintainer di solito rispondono entro 1 giorno