Skip to content

Home state: a damaged state or appearance file should not fail the Home and System summaries #447

Open

Description

@andersalm

Split out of #444 design v3 (/tmp/444-design-v3.md §10), source at bfefe92. Found by Codex's cross-family review of design v2. This is an existing gap, not introduced by #444. Irzhy should judge whether it must move to 0.8.0.

FU2: preserve damaged bytes, expose recovery, keep the rest of Home working (api/gateway_home_system.rs:2620, :6265, :6579, :6627-6633, :6650, :6741, :7713, :451, :7273). Today one damaged Home state or appearance file fails the Home and System summaries. Under #444 v3 a damaged header returns "damaged" and is no longer silently reset.

Done means: a damaged state file is shown as damaged with a recovery action, its bytes are preserved, and Home and System still load.

Activity

  1. added this to the After 0.8.0 milestone on Oct 18, 2026
  2. andersalm commented on Oct 19, 2026

    @andersalm
    ContributorAuthor

    Narrowed by #444's FU2 interim: 059bbd1a5.

    • Done there: active shell, browser state, services-state/requests, Appearance preferences and the background overlay read as defaults when damaged, and saves over a damaged file are refused, naming it.
    • Remaining here:
      1. people-contacts, services-peer-contacts and the Profile authority still fail closed. A damaged Profile authority shows readiness as "unavailable".
      2. N1: remove_home_background_images (gateway_home_system.rs:8086-8098) deletes damaged background images on Appearance upload or reset. This will be documented in PROTECTED_CONTENT.md; the guard belongs here.
      3. is_unencrypted_principal_root_state and is_damaged_home_state match error text. Replace them with typed errors. Not exploitable now, because the save guard checks the damage marker (:6701).

    Source: #444 security review (security-reviewer, reviewed 453f56eb2 and fix delta de2cf6276; local report /tmp/sec444.md) and Codex review /tmp/codex-runs/c444fix.final.md. Line refs at de2cf6276 on fix/444-check-at-open.

  3. andersalm commented on Oct 19, 2026

    @andersalm
    ContributorAuthor

    From the alpha.24 FU2 installed check: saving over a damaged Home state file is refused correctly, with the notice naming the file and the file unchanged, but the HTTP status is 500. It should be a named 4xx (409). The gateway test damaged_home_state_file_leaves_shell_and_summaries_answering only asserts that the save fails.

  4. irzhywau commented on Oct 23, 2026

    @irzhywau
    Collaborator

    Library shows a damaged file as Blocked and offers only Properties, so the user cannot clear it from Library. Library should give a Blocked item a way out, for example Move to Trash with the usual confirmation.


    Generated by Claude Code

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

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions