Afwijkend documentlogo wordt niet meegenomen bij deck opslaan of verpakken #2641

Closed
opened 2026-10-28 22:38:15 +00:00 by brenno · 2 comments
Owner

Aanleiding

Bij controle of de desktoproute van #2640 ook geraakt wordt, blijkt de gewone presentatielogokiezer op desktop aanwezig. Een afzonderlijk verliespad raakt wel het afwijkende documentlogo, op desktop én web.

Codebevinding / reproduceerroute

  1. Maak in Stijlprofielen een stijl waarvan het documentlogo afwijkt van het presentatielogo (documentLogoPath is een gekozen lokaal bestand; null betekent gedeeld logo, lege string betekent bewust geen documentlogo).
  2. Sla een deck met dit profiel op als Markdown-project of exporteer het als .ocideck-pakket. Verplaats het resultaat naar een andere computer/map en open het opnieuw.
  3. Het afwijkende documentlogo kan ontbreken: _writeProject in lib/services/file/file_service_project.dart kopieert wel logoPath en brandStripPath, maar niet documentLogoPath. _packThemeAssets en _profileWithPackageAssets in lib/services/file/file_service_package.dart verpakken en herschrijven logoPath, logoDarkPath en brandStripPath, maar slaan documentLogoPath over. Het profiel kan daardoor een oorspronkelijk absoluut bestandspad bevatten dat buiten de export niet bestaat. Dit is een statisch bevestigde keten; de route is nog niet interactief op twee machines gereproduceerd.

Gewenst gedrag

Een gekozen afwijkend documentlogo blijft zichtbaar na opslaan, verplaatsen en opnieuw openen van het project of pakket. De betekenis van null (gedeeld logo) en '' (bewust uit) blijft intact. Een geëxporteerd .ocideckstyle-profiel blijft werken zoals nu; dat pad sluit het documentlogo al in.

Voorgestelde reparatie

Kopieer/materialiseer documentLogoPath in dezelfde project- en pakketketen als de overige profielafbeeldingen en herschrijf het profiel naar het meegeleverde relatieve pad. Gebruik bestaande type-, grootte- en padvalidatie. Controleer ook de donkere variant in de Markdown-projectroute, zodat de reparatie geen tweede ontbrekende profielafbeelding laat liggen.

Acceptatiecriteria

  • Kies op desktop via de instelling een afwijkend documentlogo; na opslaan van een Markdown-project, verplaatsen en opnieuw openen toont documentweergave hetzelfde beeld.
  • Een .ocideck-export bevat de benodigde bytes en opent met hetzelfde documentlogo zonder toegang tot het oorspronkelijke bestandspad; toets ook een mem:-logo in de webroute.
  • Gedeeld logo (null), bewust uitgeschakeld logo (''), ontbrekend bronbestand en twee verschillende logo's behouden hun huidige betekenis; een ontbrekend bestand geeft geen misleidende verwijzing in een beweerd compleet pakket.
  • Een regressietest voert een echte save/reopen en package/reopen uit met verschillende afbeeldingsbytes voor presentatie- en documentlogo. Controleer zo nodig de donkere variant van het Markdown-project.

Gerelateerd aan #2640, maar dit is een afzonderlijke opslagfout; de webknop repareren lost deze niet op.

## Aanleiding Bij controle of de desktoproute van #2640 ook geraakt wordt, blijkt de gewone presentatielogokiezer op desktop aanwezig. Een afzonderlijk verliespad raakt wel het **afwijkende documentlogo**, op desktop én web. ## Codebevinding / reproduceerroute 1. Maak in Stijlprofielen een stijl waarvan het documentlogo afwijkt van het presentatielogo (`documentLogoPath` is een gekozen lokaal bestand; `null` betekent gedeeld logo, lege string betekent bewust geen documentlogo). 2. Sla een deck met dit profiel op als Markdown-project of exporteer het als `.ocideck`-pakket. Verplaats het resultaat naar een andere computer/map en open het opnieuw. 3. Het afwijkende documentlogo kan ontbreken: `_writeProject` in `lib/services/file/file_service_project.dart` kopieert wel `logoPath` en `brandStripPath`, maar niet `documentLogoPath`. `_packThemeAssets` en `_profileWithPackageAssets` in `lib/services/file/file_service_package.dart` verpakken en herschrijven `logoPath`, `logoDarkPath` en `brandStripPath`, maar slaan `documentLogoPath` over. Het profiel kan daardoor een oorspronkelijk absoluut bestandspad bevatten dat buiten de export niet bestaat. Dit is een statisch bevestigde keten; de route is nog niet interactief op twee machines gereproduceerd. ## Gewenst gedrag Een gekozen afwijkend documentlogo blijft zichtbaar na opslaan, verplaatsen en opnieuw openen van het project of pakket. De betekenis van `null` (gedeeld logo) en `''` (bewust uit) blijft intact. Een geëxporteerd `.ocideckstyle`-profiel blijft werken zoals nu; dat pad sluit het documentlogo al in. ## Voorgestelde reparatie Kopieer/materialiseer `documentLogoPath` in dezelfde project- en pakketketen als de overige profielafbeeldingen en herschrijf het profiel naar het meegeleverde relatieve pad. Gebruik bestaande type-, grootte- en padvalidatie. Controleer ook de donkere variant in de Markdown-projectroute, zodat de reparatie geen tweede ontbrekende profielafbeelding laat liggen. ## Acceptatiecriteria - Kies op desktop via de instelling een afwijkend documentlogo; na opslaan van een Markdown-project, verplaatsen en opnieuw openen toont documentweergave hetzelfde beeld. - Een `.ocideck`-export bevat de benodigde bytes en opent met hetzelfde documentlogo zonder toegang tot het oorspronkelijke bestandspad; toets ook een `mem:`-logo in de webroute. - Gedeeld logo (`null`), bewust uitgeschakeld logo (`''`), ontbrekend bronbestand en twee verschillende logo's behouden hun huidige betekenis; een ontbrekend bestand geeft geen misleidende verwijzing in een beweerd compleet pakket. - Een regressietest voert een echte save/reopen en package/reopen uit met verschillende afbeeldingsbytes voor presentatie- en documentlogo. Controleer zo nodig de donkere variant van het Markdown-project. Gerelateerd aan #2640, maar dit is een afzonderlijke opslagfout; de webknop repareren lost deze niet op.
Author
Owner

Opgepakt. Tak: fix/logo-stijl-2640. Verwachte reikwijdte: documentLogoPath meenemen in projectopslag en .ocideck-pakket.

Opgepakt. Tak: fix/logo-stijl-2640. Verwachte reikwijdte: documentLogoPath meenemen in projectopslag en .ocideck-pakket.
Author
Owner

Geland op main in 978b199646. Een ontbrekend documentlogo wordt in een pakket leeg gezet, niet als dood absoluut pad meegegeven. null blijft het presentatielogo delen, een lege waarde blijft bewust uit.

Geland op main in 978b199646c1c834b2bf348c30214ecce370898a. Een ontbrekend documentlogo wordt in een pakket leeg gezet, niet als dood absoluut pad meegegeven. null blijft het presentatielogo delen, een lege waarde blijft bewust uit.
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#2641
No description provided.