fix: resolve duplicate inbox on web after mobile sync #60

Closed
opened 2026-04-09 00:47:19 +00:00 by maximus · 0 comments
Owner

Contexte

Ref #59

Le mobile utilise un ID fixe pour l'inbox (00000000-0000-0000-0000-000000000001), tandis que le seed.ts web crée un inbox avec un UUID aléatoire. Quand le sync push l'inbox mobile vers le web, un deuxième inbox est créé car l'ID diffère.

Travail à faire

  • Dans web/src/app/api/sync/route.ts, lors d'un list.create avec isInbox === true, vérifier si un inbox existe déjà pour l'utilisateur
  • Si oui, fusionner (réassigner les tâches de l'ancien inbox vers le nouveau, puis supprimer l'ancien)
  • Alternativement : harmoniser l'ID inbox dans seed.ts avec l'ID fixe mobile

Fichiers concernés

  • web/src/app/api/sync/route.ts — logique de merge inbox
  • web/src/db/seed.ts — harmoniser l'ID inbox

Critères d'acceptation

  • Un seul inbox par utilisateur sur le web, même après sync depuis mobile
  • Les tâches existantes ne sont pas perdues lors de la fusion

Complexité

Simple

## Contexte Ref #59 Le mobile utilise un ID fixe pour l'inbox (`00000000-0000-0000-0000-000000000001`), tandis que le `seed.ts` web crée un inbox avec un UUID aléatoire. Quand le sync push l'inbox mobile vers le web, un deuxième inbox est créé car l'ID diffère. ## Travail à faire - [ ] Dans `web/src/app/api/sync/route.ts`, lors d'un `list.create` avec `isInbox === true`, vérifier si un inbox existe déjà pour l'utilisateur - [ ] Si oui, fusionner (réassigner les tâches de l'ancien inbox vers le nouveau, puis supprimer l'ancien) - [ ] Alternativement : harmoniser l'ID inbox dans `seed.ts` avec l'ID fixe mobile ## Fichiers concernés - `web/src/app/api/sync/route.ts` — logique de merge inbox - `web/src/db/seed.ts` — harmoniser l'ID inbox ## Critères d'acceptation - [ ] Un seul inbox par utilisateur sur le web, même après sync depuis mobile - [ ] Les tâches existantes ne sont pas perdues lors de la fusion ## Complexité Simple
maximus added the
status:ready
type:bug
labels 2026-04-09 00:48:09 +00:00
maximus added
status:review
and removed
status:ready
labels 2026-04-09 00:50:35 +00:00
maximus added
status:approved
and removed
status:review
labels 2026-04-09 00:52:15 +00:00
maximus added
status:review
and removed
status:approved
labels 2026-04-09 00:55:19 +00:00
maximus added
status:approved
and removed
status:review
labels 2026-04-09 00:57:57 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: maximus/simpl-liste#60
No description provided.