Documentmodus: undo/redo verliest visualEdit-herkomst en opgeslagen toestand #1650

Closed
opened 2026-08-21 12:00:21 +00:00 by brenno · 1 comment
Owner

Probleem

De undo- en redo-stacks bewaren alleen MarkdownDocument. De bijbehorende visualEdited-herkomst en relatie tot savedSource worden niet bewaard of hersteld. Na een combinatie van bron- en visuele bewerkingen kan undo daardoor het verkeerde opslagpad kiezen. Undo terug naar exact de opgeslagen bron blijft bovendien altijd vuil.

Reproductie

  1. Sla een document op.
  2. Doe een visuele bewerking en daarna een bronbewerking.
  3. Maak de laatste stap ongedaan en sla op.
  4. Observeer dat visualEdited niet bij de herstelde snapshot hoort.
  5. Maak zo nodig verder ongedaan tot de opgeslagen inhoud; de status blijft gewijzigd.

Verwacht

Elke history-snapshot herstelt inhoud én opslagherkomst; terugkeer naar de savepoint maakt het document schoon.

Technische aanwijzing

lib/state/document_provider.dart gebruikt List voor beide stacks. undo en redo laten visualEdited ongemoeid en zetten isDirty onvoorwaardelijk op true.

Gevonden bij audit van commit d439638c6b.

## Probleem De undo- en redo-stacks bewaren alleen MarkdownDocument. De bijbehorende visualEdited-herkomst en relatie tot savedSource worden niet bewaard of hersteld. Na een combinatie van bron- en visuele bewerkingen kan undo daardoor het verkeerde opslagpad kiezen. Undo terug naar exact de opgeslagen bron blijft bovendien altijd vuil. ## Reproductie 1. Sla een document op. 2. Doe een visuele bewerking en daarna een bronbewerking. 3. Maak de laatste stap ongedaan en sla op. 4. Observeer dat visualEdited niet bij de herstelde snapshot hoort. 5. Maak zo nodig verder ongedaan tot de opgeslagen inhoud; de status blijft gewijzigd. ## Verwacht Elke history-snapshot herstelt inhoud én opslagherkomst; terugkeer naar de savepoint maakt het document schoon. ## Technische aanwijzing lib/state/document_provider.dart gebruikt List<MarkdownDocument> voor beide stacks. undo en redo laten visualEdited ongemoeid en zetten isDirty onvoorwaardelijk op true. Gevonden bij audit van commit d439638c6bd1b519d68d87680cb022b7d5eddc85.
Author
Owner

Duplicaat van #1672; dat issue dekt dezelfde oorzaak en reproduceerbare impact vollediger.

Duplicaat van #1672; dat issue dekt dezelfde oorzaak en reproduceerbare impact vollediger.
brenno 2026-08-21 12:03:04 +00:00
  • closed this issue
  • added the
    duplicate
    label
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#1650
No description provided.