[Bug] Closing a file preview calls a missing Files Sidebar method
Los mantenedores suelen responder en 8 días
Nadie ha tomado este issue todavía.
- #3447 de @skjnldsv — cerrado sin fusionar
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 75/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript
- Área
- frontend
Línea de trabajo
Lee src/views/Viewer.vue alrededor del controlador de cierre en las líneas 967–979 y luego inspecciona cómo beforeOpen() comprueba el método de la barra lateral. Confirma que la ruta de cierre maneja la ausencia del método setFullScreenMode y sigue llegando a la limpieza del modo de pantalla completa; la comprobación específica de Node VM descrita en el issue cubre las API ausentes y el método heredado invocable. El trabajo estará terminado cuando cerrar la vista previa no provoque ninguna excepción en esos casos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Environment
- Nextcloud Server 35.0.2, official Apache Docker image
- Bundled Viewer 8.0.0
- Chromium with a 390 × 844 mobile viewport and touch emulation
- Reproduced with custom CSS disabled and by accessing Nextcloud directly, without proxy HTML injection or modified JavaScript
Steps to reproduce
- Open Files and preview a PNG image.
- Close the preview using its close button.
- Inspect the browser console.
Actual result
Viewer.close() throws TypeError: OCA.Files.Sidebar.setFullScreenMode is not a function.
Image preview and download work. A PDF can be opened after the close transition finishes, so this report does not claim that subsequent previews are consistently blocked.
Expected result
Closing the preview completes without an exception when this optional Files Sidebar method is unavailable.
Suspected cause
The close handler checks that OCA.Files.Sidebar exists, but does not check whether setFullScreenMode is callable. beforeOpen() already checks for the method's presence. The same unsafe close call is still present in current master:
https://github.com/nextcloud/viewer/blob/master/src/views/Viewer.vue#L967-L979
A callable guard around the close-time invocation should preserve compatibility with both Sidebar APIs and allow the following fullscreen cleanup to run.
Minimal proposed fix and focused check
Against viewer commit d0d68b960285c820cc69e7eb05d68d9a98555230:
- if (OCA?.Files?.Sidebar) {
+ if (typeof OCA?.Files?.Sidebar?.setFullScreenMode === 'function') {
OCA.Files.Sidebar.setFullScreenMode(false)
}
A Node VM check using the actual extracted close() method reproduces the exception on the baseline (and skipped fullscreen exit), then passes with a missing method, missing Files API, and callable legacy method. The legacy method receives false with its original receiver. This is a focused method check, not a full Vue build or integration test.
- Lenguaje dominante
- JavaScript
- Estrellas
- 121
- Forks
- 75
- Merge medio
- 8 d 11 h
- PR fusionados (30 d)
- 24
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nextcloud/viewer
-
0. Needs triage bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 8 días
-
[Bug]: Image editor silently writes PNG data into .JPG files (uppercase extension breaks canvas.toBlob MIME)Posiblemente ocupada @aniruddh18122006-cyber la tomó hace 10 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
nextcloud/viewer#3424 · 3 comentarios ·
Los mantenedores suelen responder en 8 días
-
3. to review
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 8 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
nextcloud/viewer#3196 · 2 comentarios ·
Los mantenedores suelen responder en 8 días
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
Los mantenedores suelen responder en 8 días
Todos los issues de nextcloud/viewer
Issues similares
-
README is out of date: broken badge, wrong command name, wrong Node version, placeholder URLsAbiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
PhyberApex/slds-json-schema-renderer#372 ·
Los mantenedores suelen responder en 1 día
-
usage: a custom provider's balance meters ("…%" in the balance path) ignore the Left/Used switchAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
[BUG] rag: sentence content can cross the reported sentence boundariesPosiblemente ocupada @LJK-ikun la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ericcornelissen/depreman#591 ·
Los mantenedores suelen responder en 1 día
-
bug/1-unconfirmed kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
prisma/orm#30818 · 1 comentario ·
Los mantenedores suelen responder en 1 día