Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Garbage collection for unreferenced attachments

Abierto
#1,999 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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

feature request needs discussion

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

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de nextcloud/notes

Todos los issues de nextcloud/notes

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.