Skip to content

Handle protected daily notes across lock and activation - #84

Merged
syamaner merged 1 commit into
mainfrom
codex/issue-51-protected-notes
Sep 16, 2026
Merged

syamaner merged 1 commit into
mainfrom
codex/issue-51-protected-notes

Conversation

@syamaner

Copy link
Copy Markdown
Owner

Issue

Implements the software and synthetic acceptance work for #51. The real iPhone lock-cycle observation remains a separate device gate.

Changes

  • Classify unavailable protected data separately from corrupt or ordinary failed notes I/O, before checking whether the file exists.
  • Keep an unsaved draft and the last persisted document distinct; reload after unlock and save the draft only when the on-disk baseline still matches. Fail closed on a conflicting revision.
  • Retry on protected-data availability, app activation, or explicit user action. Show temporary unavailability and disable note edits and export of a prepared preview while storage is inaccessible.
  • Preserve complete file protection and the existing local-only notes boundary.

Validation

  • 249 unsigned iPhone 16 Pro simulator tests passed, including synthetic protected read/write, debounce, background/activation, conflicting revision and export-preparation cases.
  • Coverage gate passed: models, formatting and presentation 96.50% (minimum 95%).
  • Xcode static analysis passed; project plist lint and git diff --check passed.

No physical lock cycle, personal HealthKit data, OAuth or Drive action was used. Issue #51 should remain open until a separately authorised iPhone check confirms the real protected-data lifecycle.

@codecov

codecov Bot commented Sep 16, 2026

Copy link
Copy Markdown

@syamaner
syamaner merged commit e683ae2 into main Sep 16, 2026
8 checks passed
@syamaner
syamaner deleted the codex/issue-51-protected-notes branch September 16, 2026 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant