Skip to content

Add a workflow for merging duplicate wiki pages #18

Description

@catherineluse

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions