Garbage collection for unreferenced attachments
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, markdown
- Área
- backend
Línea de trabajo
Comienza leyendo el contexto de las issues #1623 y #1633 y del endpoint DELETE attachment existente. La issue presenta varios posibles desencadenantes de limpieza, pero no elige uno; primero determina un enfoque aceptable para analizar Markdown de las notas sin perjudicar el rendimiento de sync y define cómo manejar las rutas relativas fuera de la carpeta de la nota. Se considera terminado cuando exista una estrategia de limpieza acordada e implementada, con sus casos límite resueltos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Follow up to #1623 and #1633.
Since #1633, API attachments live in a note's own .attachments. folder. The whole folder is removed when the note is deleted, and a single file can be removed through the new DELETE attachment endpoint. What is still missing is cleanup of attachments that are no longer referenced in a note's text.
When a user edits a note and removes an image or a link, the underlying file stays in .attachments. indefinitely, so orphaned files build up that nobody can reach from the note.
This was left out because finding unused attachments means parsing each note's Markdown to collect the referenced paths, which is the server side parsing we have tried to avoid for sync performance. So it needs a deliberate approach.
Options to consider:
- On note save, parse the referenced paths and delete any file in that note's .attachments. folder that is no longer referenced.
- A separate background or on demand job that does the same sweep across all notes.
Leave deletion to clients through the DELETE endpoint and keep nothing automatic.
Open questions: which trigger is acceptable given the sync performance concern, and how to treat attachments referenced by relative paths that point outside the note's own folder.
- Lenguaje dominante
- JavaScript
- Estrellas
- 738
- Forks
- 162
- Merge medio
- 2 h 42 min
- PR fusionados (30 d)
- 39
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/notes
-
bug need to reproduce
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
-
bug need to reproduce
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
feature request needs discussion
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Todos los issues de nextcloud/notes
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
area-deployment area-integrations triage:bot-seen
Dificultad 2/5 Medio día Aptitud para principiantes 86/100
-
Issue-Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
sugarlabs/musicblocks#8924 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
ArduPilot/ardupilot_wiki#8088 ·
-
[BUG] createTool tools cannot be registered with Mastra when exactOptionalPropertyTypes is enabled Abiertocustomer-eng status: needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100