fix(quality): vat herhaalde dichtheidsmeldingen na 'Splits slide' samen per reeks (#1289) #1293
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!1293
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/1289-quality-split-warnings"
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?
Wat & waarom
Gevonden tijdens de beeldkeuring van #1279. Op een overvolle bullets+afbeelding-dia beveelt het kwaliteitspaneel Splits slide aan. Voer je die aanbeveling uit, dan explodeert het aantal meldingen: elke deelpagina van de gesplitste lijst herhaalt dezelfde tekstdichtheid-meldingen (veel woorden, gemiddeld lange bullets, meerzins, verkleind tot X%). Splitsen lost de dichtheid-per-aantal op, maar niet de lengte-per-bullet — die komt uit de bullets zelf en vermenigvuldigt zich dus over de pagina's. Wie de aanbeveling opvolgde, werd beloond met een veelvoud aan meldingen: straf op gehoorzaamheid.
Gemeten (30 lange volzin-bullets → 4 deelpagina's): 5 meldingen → 16, waarvan de gemiddelde-bulletlengte op elke pagina identiek 25 bleef — het bewijs dat splitsen die meldingen niet oplost.
Oplossing
De lengte-gedreven, niet-kritieke dichtheidsmeldingen die over twee of meer pagina's van dezelfde split-run (de
continuesSplit-keten) heen herhalen, worden op de weergavelaag samengevat tot één melding per soort per reeks, met de tekst "Geldt voor {n} slides van deze gesplitste reeks."Dit is richting 1 uit het issue. Grenzen, bewust:
computeDeckQuality, ná de accepted-filter). De ruwe analyse (deckQualityRawProvider) en daarmee de fix-motor (Los automatisch op wat kan) én de per-dia-badges op de slidestrook blijven elke pagina apart zien — de grondwaarheid verandert niet.continuesSplit-keten viasplitRunRange), nooit los geschreven bullet-dia's die toevallig op elkaar volgen.Waar
lib/services/slide_quality/split_run_density_summary.dart— purecollapseSplitRunDensity(slides, issues)+ de setkLengthDrivenRunDensityKinds. Geen providers.lib/state/deck_quality_provider.dart—computeDeckQualitypast de collapse toe;deckQualityRawProviderblijft ongecollapst.lib/l10n/slide_quality_localization.dart—formatSlideQualityIssueplakt de reeks-scope-zin erachter zodraargs['runPages']gezet is. 31 vertalingen toegevoegd viamake add-l10n.Toetsing
make checkgroen op de gerebasede staat (volledige suite + dekkingsvloer + statische poorten).test/split_run_density_summary_test.dart— pure eenheidstests (samenvatten, anker, ≥2-grens, geen-run, fouten blijven, aantal-gedreven blijft, max-severity, meerdere reeksen), een echte-analyse-reproductie (dia splitsen → meldingen exploderen → samengevat), en een provider-test (ruw explodeert, weergave vat samen). Suffix-test inslide_quality_localization_coverage_test.dart.splitRunDragged, privacy). Daarom geen aparte beeldkeuring: wat er verandert is de inhoud van de lijst (door tests gedekt), niet hoe een melding rendert.make check-secrets) en SAST (make sast) gedraaid; DAST (ZAP) n.v.t. — geen webbundel-/serveroppervlak geraakt.Bewaker
Bewust overgeslagen: puur weergave-de-duplicatie van kwaliteitsmeldingen. Raakt geen bestandsformaat, opslag, afhankelijkheid, uitgaand verkeer of publieke belofte — er wordt niets anders opgeslagen of verstuurd, fouten en per-dia-badges blijven, en de ruwe analyse is onaangeroerd.
Closes #1289
'Splits slide' lost de dichtheid-per-aantal op, niet de lengte-per-bullet: een lijst van lange volzinnen die je over meerdere pagina's verdeelt, meldt op elke deelpagina opnieuw 'veel woorden', 'lange bullets' en 'meerzins'. Wie de aanbeveling opvolgde kreeg zo een veelvoud aan meldingen terug — straf op gehoorzaamheid. De lengte-gedreven, niet-kritieke dichtheidsmeldingen die over twee of meer pagina's van dezelfde split-run (de continuesSplit-keten) heen herhalen, worden nu op de weergavelaag samengevat tot één melding per soort per reeks, met de tekst "Geldt voor {n} slides van deze gesplitste reeks". De ruwe analyse en de fix-motor ('Los automatisch op wat kan') zien nog elke pagina apart, en de per-dia-badges op de slidestrook blijven per pagina. Fouten (critical) en aantal-gedreven meldingen (te veel bullets) blijven per pagina staan — die lost verder splitsen wél op. Closes #1289 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>