refactor(git): het offline parkeren en uitpakken uit de state-laag (#518) #725
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!725
Loading…
Reference in a new issue
No description provided.
Delete branch "refactor/git-wachtrij-uit-state-518"
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?
De laatste twee die #518 nog noemde:
_queueGitSaveen_poolPendingDeck, privémethoden opTabsNotifier.Ze zijn geen toestandswerk. Er komt geen tabblad, geen Riverpod en geen huidige selectie aan te pas — alleen een werkkopie, een outbox en een forge. Nu
queueDeckSaveenpoolPendingDeckinservices/git/offline_queue.dart.Eén bestand, en dat is geen ordening op grootte maar op contract. Wat het parkeren bewust ongepoold wegschrijft —
mem:-verwijzingen, omdat de blobs offline toch niet omhoog kunnen en hun bytes nog in het geheugen staan — is precies wat het poolen vlak vóór de commit alsnog moet omzetten. Die afspraak stond nergens opgeschreven, en uit elkaar gehaald zou ze nergens meer staan.Wat achterbleef, bleef bewust achter. De wachtrijteller ongeldig maken zodat de badge meebeweegt, en de waarschuwingen die bij dat ene opslagverzoek horen: dát is toestandswerk. Vandaar dat
_queueGitSaveblijft bestaan als dun laagje eromheen in plaats van te verdwijnen.Waarom dit meer is dan verplaatsen. Beide waren alleen te bereiken via een opslagronde van de notifier. Ze zijn nu rechtstreeks te toetsen, en die tests staan erbij. Ze bewaken drie dingen die stil misgaan:
mem:-verwijzing ongepoold — dat is de afspraak tussen de twee helften;deck.mdoverleven het poolen — zonder dat verliest wachtend werk zijn notities net op het moment dat het landt;DraftStoreUnsupportedis geenGitForgeException, dus zonder de vangst liep hij ongevangen door.Onderweg verhuisde
repoAssetBytesmee naarrepo_asset_resolver.dart(eigen commit), naast zijn spiegelbeeld: die functie leest een repo-asset terug naar het geheugen, deze levert de bytes die er naartoe gaan.TabsNotifiervan 2.251 naar 2.210 regels, ratchet mee omlaag.Poort:
make checkgroen, gedraaid ná de rebase op main met #723 (de toolchainpoort) erin.Refs #518