refactor(instellingen): de opslagpanelen uit de gedeelde part-scope (#631) #716
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!716
Loading…
Reference in a new issue
No description provided.
Delete branch "refactor/settings-panelen-uit-gedeelde-scope-631"
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?
Sluit het eerste, scherpste deel van #631: de panelen die om inloggegevens vragen leven niet meer in de gedeelde
part-scope van_SettingsDialogState.Wat er mis was. Alles onder
lib/widgets/dialogs/parts/deelt één privé-scope met de venstertoestand. Zevenentwintig bestanden, twintig onderwerpen, en elk daarvan kan syntactisch bij élk veld van de andere zesentwintig — een wijziging aan het CVE-paneel raakt technisch gesproken de S3-inloggegevens. Geen poort ziet dat en de compiler geeft geen signaal.Wat er nu staat.
lib/widgets/dialogs/settings/, buiten die scope:WebdavPanel,S3Panel,GitPanel— gewone widgets met een expliciete API: het formulier dat ze bewerken, eenConfirmCertificate-callback, en eenonChangeddie het venster vertelt dat de statusregel achter de verbindingsnaam verouderd is;WebdavForm,S3Form,GitForm,AiForm) enKeychainSecret;SettingsSectionTitle+SettingsSectionAnchors,SettingsTextField,SettingsSecretField._SettingsDialogStategaat van 7.295 naar 6.043 regels; de ratchet incheck_conventions.dartis per stap meegezakt.Waarom dit meer is dan verplaatsen. Elk paneel is nu te tekenen en te toetsen zónder de dialoog te openen, en die tests staan erbij. Ze bewaken het geval dat in alle drie hetzelfde stil misgaat: een instelling wijzigen die de vorige verbindingstest ongeldig maakt zonder de groene vink weg te halen — dan meldt het paneel "verbinding gelukt" over een verbinding die het niet geprobeerd heeft.
Wat de verhuizing zelf aan het licht bracht. Twaalf zichtbare hints liepen buiten
l10n.d()om. Niet nieuw:_webdavFieldwas eenextension-methode, en daar kijkt de datastroomanalyse vancheck_hardcoded_textniet doorheen. Zodra het een gewone widget werd, vielen ze alle twaalf om. Tien zijn identifiers en staan inunchangedInAllLanguages, twee zijn in 31 talen vertaald, en de twee Nederlandse voorbeelddomeinen zijnexample.comgeworden in plaats van eenendertig keer een adres dat niet bestaat.Nog open in #631: het AI-tabblad zelf. Dat is geen paneel in de verbindingenlijst maar een tabblad met eigen init en opslag;
AiFormis er wel al uit.Poort:
make checkgroen (5.858 tests),make test-goldengroen (33),make sbom-verifyschoon. Herbaseerd opmainná #715 — twee conflicten, beide dezelfde soort: main maakte in dezelfde regels de contrastkleur mode-afhankelijk (accent→accentFg,teal→tealFg) terwijl deze tak de code verplaatste. Beide keren is de verplaatsing mét de contrastfix overgenomen.Closes #631