Files
Claude 09bd054eb9 fix: audit findings on the platform-sharing changes
Calendar reminders
- Reminded the user of events their follows accepted: the home feed and
  calendars load every follow's RSVPs, and the scan took any ACCEPTED
  RSVP in the cache. It now takes only the device's accounts' RSVPs,
  through the per-author range lookup instead of a walk of the whole
  addressable cache every minute. Android's re-arm observer filters the
  same way.
- A reminder the OS refused to post was still marked sent; now it is
  tried again on the next scan.
- Desktop: turning reminders on scans once the switch is saved; the
  settings are read once per scan.

Scheduled posts (Android)
- A process WorkManager started cold had no account loaded, so due posts
  waited until the app was opened (and the periodic chain kept waking
  for nothing). The worker loads the writable accounts when one with a
  due post is missing, and drains only accounts with due posts.
- A failing cache or "sent" callback after a relay ack marked a published
  post FAILED: SENT is recorded first and the callbacks are isolated.

Concord community images
- A changed pointer kept showing the old picture (produceState keeps its
  value across key changes); the producer resets it first.
- The decrypted file is written aside and renamed into place, so a
  second screen or a crash mid-write cannot leave a truncated image.
- The hash is checked to be a SHA-256 before it names a file.
- Android reads the cache folder once per call site, not per
  recomposition; Desktop's folder is owner-only.

Desktop QR dialog: a double paste can no longer deliver the code twice,
and the buttons wait for a pick in progress; a picture ImageIO throws on
(CMYK JPEG) falls back to Skia.

Also: the Blossom file name is remembered, and comments that named
removed code are updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017Rqm5mMpmQtyRvccFSqBfN
2026-10-18 02:51:08 +00:00
..