Skip to content

Undo/redo for actions #16

@philippeitis

Description

@philippeitis

This would obviously be nice to have when making changes to metadata.

In particular, there are two choices:

  1. Add a history table to the database, which would need to be updated, and should probably roll over. This runs into a problem where large edits will consume a large amount of disk space, which is undesirable, and CTRL+Z could lead to unexpected outcomes when reopening the app.
  2. Store diffs directly in the application - this means that large edits would consume large amounts of memory, but would automatically be deleted when the app is closed.

In terms of implementation, we could likely store this as a vector of BookID with the original value (ColumnIdentifier, String) or, if a sufficiently simple crate exists, a diff (ColumnIdentifier, Diff), when can then be applied as needed.

This would increase the database API size, and we would need to support this on deletion, insertion, and simply editing values (also cut/paste)

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