Clear handlers consumed by eager initialization before DOMContentLoaded replay
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 88/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, typescript
- Ambito
- frontend
Direzione di ricerca
Inizia in src/init.ts e confronta il consumo immediato di window._oca_viewer_handlers con il bridge DOMContentLoaded in src/views/Viewer.vue. Verifica i test del codice sorgente esistenti per la registrazione immediata, gli handler messi in coda successivamente, le Maps mancanti, i componenti non validi e gli ID duplicati. Il lavoro è completato quando le voci consumate non vengono riprodotte nuovamente, le voci successive continuano a funzionare e le registrazioni effettivamente non valide o duplicate continuano a essere rifiutate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Repository: https://github.com/nextcloud/viewer
src/init.ts eagerly registers handlers from window._oca_viewer_handlers, but leaves the Map populated. The DOMContentLoaded listener in src/views/Viewer.vue then registers those same handlers again. ViewerService rejects the duplicate IDs and logs errors during normal navigation.
Verified against the files in the Nextcloud v33.0.6 and v33.0.8 tags and stable33 revision c83b93333a27ca12f6f9c120e6e3079720716b1c. This concerns handlers present before eager initialization; it does not claim to cover every later registration sequence.
Reproduction:
- Put a valid viewer handler in the global Map before
viewer-initexecutes. - Execute eager initialization: the handler becomes available synchronously.
- Fire the existing
DOMContentLoadedbridge: the same ID is registered again and rejected.
Proposed change in src/init.ts:
if (window._oca_viewer_handlers) {
window._oca_viewer_handlers.forEach(handler => window.OCA.Viewer.registerHandler(handler))
+ window._oca_viewer_handlers.clear()
}
Clear the existing Map after consuming it, preserving its identity and accepting entries queued later. Genuine duplicate or invalid registrations must continue to be rejected.
Validation: extracted source tests cover eager registration, later queued handlers, missing Map, invalid components and genuine duplicate IDs. A Chromium navigation with this change plus independent Text/Theming corrections completed without the prior console errors. That was a local response-substitution comparison, not a rebuilt release test.
Related: https://github.com/nextcloud/viewer/pull/3068 discusses the eager-registration motivation; that PR is closed and unmerged as checked on 2026-09-07. This report addresses replay of already-consumed entries while preserving synchronous initialization.
- Lingua principale
- Nessun dato sulla lingua
- Stelle
- 122
- Fork
- 75
- Merge medio
- 4g 14h
- PR unite (30g)
- 45
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
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/viewer
-
[Bug] Closing a file preview calls a missing Files Sidebar methodForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta3. to review bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 2 giorni
-
0. Needs triage bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni
-
[Bug]: Image editor silently writes PNG data into .JPG files (uppercase extension breaks canvas.toBlob MIME)Forse di nuovo libera @aniruddh18122006-cyber l’ha presa 16 giorni fa e non c’è nessuna pull request aperta. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
nextcloud/viewer#3424 · 3 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
nextcloud/viewer#3196 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di nextcloud/viewer
Issue simili
-
✏️ Editing - Tags
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
openfoodfacts/openfoodfacts-server#15127 ·
I maintainer di solito rispondono entro 1 giorno
-
Add a dark mode toggleApertaenhancement good first issue hacktoberfest help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
grasshopper-protocol/grsshppr#172 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
jellyfin/Swiftfin#2388 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Andbal23/dynamic-music-pill#195 ·
I maintainer di solito rispondono entro 1 giorno