docs+test(privacy): trek het dubbele ontwerp in en bewaak de faalrichting (#651) #739
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!739
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/privacy-terzijdelegging-651"
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?
Het meeste van wat ik voor #651 bouwde was duplicaatwerk — een parallelle sessie bouwde tegelijk hetzelfde. Wat hier overblijft is wat wél iets toevoegt; de rest heb ik laten vallen.
Het dubbele ontwerp ingetrokken
Twee sessies schreven parallel een ontwerp voor deze functie. Het hunne (FILE_FORMAT §6.7, PR #732) landde eerst; het mijne (
docs/design/PRIVACY_DISMISSALS.md, PR #734) merge er schoon bovenop omdat git alleen een nieuw bestand zag — de botsing was semantisch en dus onzichtbaar. Twee ontwerpen voor één bestandsformaat is erger dan geen ontwerp, dus het mijne gaat eruit, mét zijn registratie en zijn 31 vertaalsleutels.Hun redenering verslaat de mijne op het punt dat ertoe doet. Ik schreef dat het commitment de waarde beschermt. Dat is niet waar tegen iemand die het deck heeft — die leest de dia gewoon. Hun tekst zegt dat met zoveel woorden en geeft de twee eerlijke redenen: geen tweede kopie van een persoonsgegeven met een eigen levensduur, en een zout per deck tegen kruisverbanden tussen decks.
Twee dingen die alleen in mijn versie stonden gaan mee naar §6.7:
Eén toets die er nog niet was
De vijf bestaande toetsen dekken wat er moet gebeuren. Deze dekt wat er niet mag gebeuren:
matchedTextOfgeeft null zodra het fragment weg is of korter werd dan de opgeslagen positie. Gaf het in plaats daarvan een afgekapt stuk tekst terug, dan hasht dat ooit toevallig naar een terzijdelegging en verbergt de app iets wat niemand heeft bekeken.Rechtstreeks getoetst en niet via het paneel: dáár lopen de scan en het deck altijd gelijk op, dus die tak komt er nooit langs en een toets erop zou niets bewijzen. Nagelopen dát hij vangt — met de begrenzing vervangen door een clamp valt hij om.
Wat ik heb weggegooid, en waarom het hier staat
Een eigen
withoutDismissedmet een gememoiseerde tekstkaart per dia. Die is weg omdat hunmatchedTextOfer al is en werkt. Het enige verschil dat overblijft is prestatie: hun versie bouwt de fragmentenlijst van een dia opnieuw op per bevinding, de mijne één keer per dia. Op een dia met veel treffers is dat kwadratisch werk in een pad dat bij élke deckwijziging draait. Ik heb dat níét gemeten, dus ik dien het niet in als verbetering — het is een aanwijzing voor wie er ooit met de prestatiebril naar kijkt.Poort:
make checkgroen.Refs #651