feat(opslag): één lijst bestandsverbindingen, met eigen volgorde #358
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
release-blocker
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!358
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/storage-connections"
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 opslagsectie leverde de informatie gefragmenteerd aan: bibliotheken waren een lijst, WebDAV was er precies één en git ook precies één. Dezelfde vraag — waar staat het werk van deze klant? — werd met twee UI-idiomen beantwoord, en voor twee opdrachtgevers naast elkaar werken kon simpelweg niet.
Wat er verandert
AppSettings.connectionsis nu de enige bron van waarheid: één lijst waarin lokale mappen, WebDAV-servers en git-repositories door elkaar staan, in de volgorde die de gebruiker zelf sleept. Die volgorde is geen cosmetica — de bovenste bruikbare verbinding van een soort is de standaard voor die soort, dus bovenaan zetten is hoe je zegt welke server de server is, zonder configuratie weg te gooien.libraries,webdavServerengitRepoblijven bestaan als afgeleide getters. Daardoor bleven alle open- en opslaanflows ongemoeid en beperkt de diff zich tot de opslaglaag.Voor WebDAV is de keuze ook echt doorgevoerd: providers per verbinding gekeyd (ook de listing, want twee servers met dezelfde mapnaam serveerden elkaars inhoud uit de cache), en
WebdavOrigindraagt eenconnectionId. De kiezer blijft uit de weg: bij één verbinding verschijnt er geen dialoog, en een deck dat van een verbinding kwam gaat daar zonder vragen naartoe terug.Migratie
De drie oude prefs-sleutels worden bij het laden omgezet, bibliotheken eerst, zodat wat de standaard was de standaard blijft. Ze worden pas bij de eerste wijziging opgeruimd — terugvallen op een oudere build kost dus niets. Een leeggemaakte lijst blijft leeg, anders kwam de opruiming van de gebruiker elke start terug.
Nog niet hierin
De git-kant van de kiezer volgt apart, want daar zit eerst een bestaande bug in de weg:
git_outbox::engit_draft::bevatten de repo niet, dus twee git-verbindingen zouden één wachtrij delen en een flush duwt alles naar de op dat moment actieve forge. Dat vraagt een migratie van niet-gepushte commits en hoort een eigen review te krijgen.Controle
make checkvolledig groen: 3439 tests, dekking 79,2%. Nieuwe tests leggen de migratie vast, de regel dat de bovenste van een soort de standaard is, dat een leeggemaakte lijst leeg blijft, en dat één onleesbare regel de andere bronnen niet onbereikbaar maakt.🤖 Generated with Claude Code