Problem
Alternate names prevent new duplicate wiki pages from being created when a character or location is known by multiple names, but existing projects may already contain multiple pages for the same entity.
Users need a safe way to choose a canonical wiki page and merge duplicate pages into it without losing related data.
Proposed workflow
- select a canonical destination page and one or more duplicate source pages
- preview the data that will be combined before applying the merge
- combine or explicitly resolve conflicts in page content, summaries, tags, and alternate names
- move chapter/wiki mentions and source-chapter links to the canonical page
- move wiki update history and contradiction notes
- move illustration tags, image associations, and cover references
- preserve the source page names as alternate names on the canonical page
- delete the source pages only after the merge completes successfully
- make the operation transactional where supported, or provide equivalent rollback safety
Acceptance criteria
- users can initiate a merge from a wiki page
- aliases and canonical names are checked for conflicts before merging
- all relationships point to the surviving page after the merge
- duplicate links are removed
- no images, update history, or source-chapter relationships are lost
- the UI clearly previews destructive effects and requires confirmation
- web, Electron, and Capacitor storage paths behave consistently
- automated tests cover content conflicts, relationship migration, alias conflicts, and rollback/failure behavior
Context
This is intentionally deferred from the alternate-name feature. Alternate names solve future identity resolution; this issue addresses consolidation of duplicates that already exist.
Problem
Alternate names prevent new duplicate wiki pages from being created when a character or location is known by multiple names, but existing projects may already contain multiple pages for the same entity.
Users need a safe way to choose a canonical wiki page and merge duplicate pages into it without losing related data.
Proposed workflow
Acceptance criteria
Context
This is intentionally deferred from the alternate-name feature. Alternate names solve future identity resolution; this issue addresses consolidation of duplicates that already exist.