Afbeeldingsdeduplicatie houdt lokale themalogo’s niet synchroon #2047

Closed
opened 2026-09-10 11:00:43 +00:00 by brenno · 2 comments
Owner

Probleem

Wanneer een lokaal bestand als logo van een opgeslagen stijlprofiel is ingesteld en de afbeeldingscarrousel dat bestand als duplicaat verwijdert, blijft het profiel naar het verwijderde pad wijzen. Dia- en documentverwijzingen worden al omgezet, maar logoPath, logoDarkPath en documentLogoPath uit de instellingen tellen niet mee en worden niet vervangen.

Het ingebouwde asset:-logo is niet kwetsbaar; dit betreft lokale, door de gebruiker gekozen logo’s.

Verwacht gedrag

Deduplicatie telt lokale logo-verwijzingen van alle opgeslagen stijlprofielen mee bij de keuze van het te behouden bestand en zet ze vóór verwijdering om naar de behouden kopie. Gebundelde asset:-logo’s en mem:-logo’s blijven ongemoeid. De wijziging raakt het Markdown-bestandsformaat niet.

Acceptatiecriteria

  • logoPath, logoDarkPath en een expliciete documentLogoPath worden meegeteld en herschreven.
  • Eén profiel dat hetzelfde bestand in meerdere logovelden gebruikt telt die verwijzingen afzonderlijk.
  • Alleen app-globale absolute bestandspaden tellen mee; relatieve, asset:- en mem:-waarden blijven ongemoeid omdat stijlprofielen geen projectbasis hebben.
  • De instellingen worden gepersisteerd voordat het dubbele bestand wordt verwijderd.
  • Een gedragsgerichte regressietest bewijst dat deduplicatie een opgeslagen themalogo naar de behouden kopie omzet en dat de instelling na herladen klopt.
  • Bestaande dia- en documentdeduplicatie blijft werken.
## Probleem Wanneer een lokaal bestand als logo van een opgeslagen stijlprofiel is ingesteld en de afbeeldingscarrousel dat bestand als duplicaat verwijdert, blijft het profiel naar het verwijderde pad wijzen. Dia- en documentverwijzingen worden al omgezet, maar `logoPath`, `logoDarkPath` en `documentLogoPath` uit de instellingen tellen niet mee en worden niet vervangen. Het ingebouwde `asset:`-logo is niet kwetsbaar; dit betreft lokale, door de gebruiker gekozen logo’s. ## Verwacht gedrag Deduplicatie telt lokale logo-verwijzingen van alle opgeslagen stijlprofielen mee bij de keuze van het te behouden bestand en zet ze vóór verwijdering om naar de behouden kopie. Gebundelde `asset:`-logo’s en `mem:`-logo’s blijven ongemoeid. De wijziging raakt het Markdown-bestandsformaat niet. ## Acceptatiecriteria - `logoPath`, `logoDarkPath` en een expliciete `documentLogoPath` worden meegeteld en herschreven. - Eén profiel dat hetzelfde bestand in meerdere logovelden gebruikt telt die verwijzingen afzonderlijk. - Alleen app-globale absolute bestandspaden tellen mee; relatieve, `asset:`- en `mem:`-waarden blijven ongemoeid omdat stijlprofielen geen projectbasis hebben. - De instellingen worden gepersisteerd voordat het dubbele bestand wordt verwijderd. - Een gedragsgerichte regressietest bewijst dat deduplicatie een opgeslagen themalogo naar de behouden kopie omzet en dat de instelling na herladen klopt. - Bestaande dia- en documentdeduplicatie blijft werken.
Author
Owner

Opgepakt. Tak: codex/theme-logo-dedupe. Verwachte reikwijdte: instellingenprovider, afbeeldingscarrousel-bedrading en een regressietest voor tellen, vervangen en persistentie van lokale themalogo’s.

Opgepakt. Tak: codex/theme-logo-dedupe. Verwachte reikwijdte: instellingenprovider, afbeeldingscarrousel-bedrading en een regressietest voor tellen, vervangen en persistentie van lokale themalogo’s.
Author
Owner

Opgelost en gemerged via PR #2048. Gewone, donkere en documentlogo's uit opgeslagen stijlprofielen tellen nu mee bij de keeperkeuze en worden vóór verwijdering duurzaam naar het behouden bestand omgezet. De regressietest is ook rechtstreeks op main (8ac174e0ce) groen; beide controles na de merge zijn geslaagd.

Opgelost en gemerged via PR #2048. Gewone, donkere en documentlogo's uit opgeslagen stijlprofielen tellen nu mee bij de keeperkeuze en worden vóór verwijdering duurzaam naar het behouden bestand omgezet. De regressietest is ook rechtstreeks op main (8ac174e0ce2d62b0c80aacdefcfc42377efe9c73) groen; beide controles na de merge zijn geslaagd.
brenno 2026-09-10 11:55:18 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#2047
No description provided.