Files
bambuddy/backend/tests
maziggy c38e6566f3 fix(backup): report the categories a failed restore already committed (#2656)
The service reports what landed on a part-way failure -- categories commit as
    they finish, so results names the ones on disk -- and the modal gated the
    whole result panel on success, so it showed the failure message and dropped
    them.

    The cache invalidation was inside that same branch, which is the half that
    mattered: a run that committed the settings category and then failed left the
    app rendering pre-restore settings, with no reload and no re-read, which is
    the failure the modal's own reload-on-close exists to prevent.

    Gate on what was written instead. A refusal that never reached a category
    still carries an empty results and still keeps the form, so the mutex and
    backup-in-flight cases are unchanged. A partial does not read as a success:
    the tick becomes a warning and a line says the listed categories are the ones
    on disk.

    ---

    fix(backup): keep the local owner when the backup names one we cannot resolve (#2656)

    An owner the backup names but this instance has no user for was written as
    NULL, and overwrite is a blanket setattr -- so restoring over a local archive
    that had a perfectly good owner took it away, which is the 404-for-its-own-
    owner failure this column is carried across to fix. Resolving by username
    widened the trigger from a stale id to any user renamed since the backup.

    It is the same state as an absent key: the backup has not told us who owns
    this. So it takes the same action -- the column is not written at all.
    Overwrite keeps the local owner, insert lands ownerless with the note, and an
    explicit null still writes, so overwrite still means "match the backup".

    The notes move to the insert path with it. On overwrite nothing was taken
    away, so there is nothing to warn about, which is the rule the absent-key
    case already follows.
2026-08-15 14:38:18 +02:00
..