Offline git-sync commit een dode mem-afbeelding als succes #2724

Open
opened 2026-11-02 22:19:52 +00:00 by brenno · 0 comments
Owner

Wat er mis is

Op web, en op desktop zonder native git, zegt een offline opslag dat ook nieuwe afbeeldingen meegaan zodra er weer verbinding is. Die bytes staan alleen in het geheugen. Tabblad sluiten of een herlaad veegt ze weg. De wachtrij houdt de tekst met mem:-paden. De volgende synchronisatie commit dat, meldt gesynchroniseerd, en haalt de wachtrij leeg. De plaatjes zijn dan een dode verwijzing, zonder tweede kans.

Het serializer-commentaar beschrijft die afloop al als een placeholder. De melding aan de gebruiker belooft het tegendeel.

Bewijs

  • lib/services/git/offline_queue.dart queueDeckSave: de werkkopie bewaart het deck ongepoold, met mem:-verwijzingen. De bytes worden pas bij het legen gepoold, en alleen als ze er nog zijn.
  • poolPendingDeck: een ontbrekende blob laat het pad staan.
  • De sweep van web-assets kijkt naar open tabbladen, ongedaan maken, klembord en stijl, niet naar de wachtrij.

test/git_offline_queue_test.dart poolt terwijl de bytes nog in de store staan.

Voorstel

Vóór de commit weigeren als een mem:-pad geen bytes meer heeft: wachtrij laten staan, status mislukt, en de waarschuwing tonen die de deckbouw al maakt. De bytes horen bij het parkeren in de werkkopie, niet pas bij het legen.

Regressietest: een wachtrij met een mem:-plaatje, de byte-store leegmaken, daarna geen commit, de outbox blijft, en de uitkomst noemt het pad.

Het bestandsformaat verandert niet. Geen nieuwe opslag van beeldbytes buiten de werkkopie die de gebruiker al heeft.

## Wat er mis is Op web, en op desktop zonder native git, zegt een offline opslag dat ook nieuwe afbeeldingen meegaan zodra er weer verbinding is. Die bytes staan alleen in het geheugen. Tabblad sluiten of een herlaad veegt ze weg. De wachtrij houdt de tekst met `mem:`-paden. De volgende synchronisatie commit dat, meldt gesynchroniseerd, en haalt de wachtrij leeg. De plaatjes zijn dan een dode verwijzing, zonder tweede kans. Het serializer-commentaar beschrijft die afloop al als een placeholder. De melding aan de gebruiker belooft het tegendeel. ## Bewijs - `lib/services/git/offline_queue.dart` `queueDeckSave`: de werkkopie bewaart het deck ongepoold, met `mem:`-verwijzingen. De bytes worden pas bij het legen gepoold, en alleen als ze er nog zijn. - `poolPendingDeck`: een ontbrekende blob laat het pad staan. - De sweep van web-assets kijkt naar open tabbladen, ongedaan maken, klembord en stijl, niet naar de wachtrij. `test/git_offline_queue_test.dart` poolt terwijl de bytes nog in de store staan. ## Voorstel Vóór de commit weigeren als een `mem:`-pad geen bytes meer heeft: wachtrij laten staan, status mislukt, en de waarschuwing tonen die de deckbouw al maakt. De bytes horen bij het parkeren in de werkkopie, niet pas bij het legen. Regressietest: een wachtrij met een `mem:`-plaatje, de byte-store leegmaken, daarna geen commit, de outbox blijft, en de uitkomst noemt het pad. Het bestandsformaat verandert niet. Geen nieuwe opslag van beeldbytes buiten de werkkopie die de gebruiker al heeft.
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
LibreKAT/Ocideck#2724
No description provided.