Écriture hors ligne #15
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
priority
high
priority
low
priority
medium
question
step
backlog
step
delivered
step
done
step
in-progress
step
todo
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
maxime/OrganisateurFamilial#15
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description
Hors ligne, l'application sert une page en lecture seule : les listes et tâches de la famille active, état coché compris (D35). On consulte, on ne coche pas. Or cocher un article de courses dans un magasin sans réseau est précisément le cas d'usage visé.
Pourquoi c'est bloqué, et pas seulement pas fait
Dépend de #5.
D26 fait du serveur l'autorité sur l'état du client : toute mutation renvoie le snapshot complet et le client remplace son état plutôt que de calculer un résultat optimiste. Une écriture mise en file hors ligne puis rejouée est exactement l'inverse — le client décide de ce qui s'est passé pendant son absence. La détection de conflits doit exister d'abord ; ce ticket en dépend et ne peut pas commencer avant.
La contrainte technique du hors-ligne, à ne pas oublier
Le service worker enregistré à travers le proxy AppAPI hérite d'un
default-src 'none':fetch()y échoue toujours, connecté ou non (D35). Une file d'écritures rejouée par le worker au retour du réseau est donc impossible telle quelle — ce serait à l'application, une fois rouverte, de rejouer.Ce qu'il faut trancher, le moment venu
Plan d'action
Recette
Plan de MEP