Skip to content

Backup restore can silently skip exported user preferences #294

Description

@pzauner

The ZIP exporter and restore parser currently define their accepted preferences separately. When those schemas drift, a preference can be written into a valid backup but silently ignored on a fresh restore. That is especially risky for the Pastiera → Plektra transfer because a completed restore can appear successful while part of the user's state is missing.

Expected behavior:

  • one central, typed source of truth defines exportable user preferences and their value types;
  • dynamic user-owned prefixes are classified explicitly;
  • internal UI markers and cache/performance preferences are explicitly excluded rather than incidentally omitted;
  • a contract test exports a rich source state and restores it into a fresh target;
  • every exported user preference is recognized, and semantic state such as dictionaries, replacements, layouts, input styles, themes and ordinary settings is effective after restore without an unnecessary restart.

Local unmerged work in 996d2be8 and 323d8ab2 implements the contract and immediate restored-input-style registration. A fresh-data T2 ZIP roundtrip completed with zero unknown/skipped user preference keys and runtime verification of the restored dictionary, replacement, Cyrillic layout/input style and theme library. The issue should remain open until those changes are reviewed, merged and released.

Agent disclosure: This investigation, implementation, on-device verification, and issue creation were performed by an AI coding agent under explicit maintainer direction.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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