web: overlapping planner.save calls can create duplicate save records
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 57/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
Línea de trabajo
Start with apps/web/src/lib/server/services/planner.ts around save, then read apps/web/src/lib/server/atproto/repo-client.ts around putSpaceRecord. Check how existing TID-keyed saves are read and whether the suggested fixed key needs migration or read-side deduplication. Done means overlapping saves leave one planner entry per project while existing saves remain handled.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happened?
PlannerService.save lists the actor's saves, returns early if the project is already saved, and otherwise calls createSpaceRecord, which mints a fresh TID key. Two saves of the same project that overlap both pass the existence check and each create a record, so the planner shows the project twice.
Steps to reproduce
- Sign in and open a published project's page.
- Send two
planner.saverequests for the same project at once, for example two parallel form posts to the save action. - Open the planner. The project has two save records.
What did you expect?
One save record per project however many requests overlap.
Where
Suggested fix
Use one fixed record key per project (for example derived from the project URI) and putSpaceRecord (already in the repo client), so a second save writes the same record. This changes the data shape, so existing records with TID keys need a migration or a read-side dedupe.
- Lenguaje dominante
- Rust
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 8 h 46 min
- PR fusionados (30 d)
- 112
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una 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 cutenode/localnetwork
-
enhancement locallibrary locallibrary: mixes
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
cutenode/localnetwork#182 ·
Los mantenedores suelen responder en 1 día
-
bug locallibrary: core
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
cutenode/localnetwork#169 ·
Los mantenedores suelen responder en 1 día
-
bug locallibrary: core
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
cutenode/localnetwork#158 ·
Los mantenedores suelen responder en 1 día
-
bug locallibrary locallibrary: core
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
cutenode/localnetwork#137 ·
Los mantenedores suelen responder en 1 día
-
locallibrary: a plugin's export plan adds up the file sizes it reports without an overflow checkAbiertobug locallibrary locallibrary: plugins
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
cutenode/localnetwork#133 ·
Los mantenedores suelen responder en 1 día
Todos los issues de cutenode/localnetwork
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
farion1231/cc-switch#8829 ·
Los mantenedores suelen responder en 1 día
-
bug ci good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
longbridge/gpui-kit#3677 ·
Los mantenedores suelen responder en 1 día
-
E-pr-welcome
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
seanmonstar/reqwest#3121 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
ilya-zlobintsev/LACT#1235 ·
Los mantenedores suelen responder en 1 día