Skip to content

v0.1.0-rc.3 — playback, replies and recovery

Pre-release
Pre-release

Choose a tag to compare

@danpeg danpeg released this 18 Sep 11:06
8c800ca

v0.1.0-rc.3 — playback, replies and recovery

RC.3 improves message playback, recipient routing, the caregiver dashboard and
startup recovery. It is a software prerelease. Delivery readiness still requires
the recorded checks for each assembled unit.

Changes

  • Keep WhatsApp sync connected during media downloads and send through its active
    writer without the previous writer-lock delay.
  • Play soundtracks from ordinary incoming videos and keep later messages moving
    when media is silent or unsupported. Circular video notes remain unsupported.
  • Requeue retained audio from Recently played after existing messages, preserving
    the original chat identity and preventing duplicate replay during concurrent
    requests or interrupted archive moves.
  • In both recording modes, reply to the newest played chat within one hour.
    An unavailable recent recipient blocks sending. Fresh NFC selections and guided
    replies keep their explicit recipient priority.
  • Preserve recipient identity, default selection and card assignments while
    naming, renaming or re-adding chats. Failed or malformed metadata refreshes
    retain the verified recipient list.
  • Show runtime health in the caregiver dashboard, keep pairing states retryable,
    return truthful ringtone-preview results and retain manual ring requests
    through playback failures.
  • Coordinate recording-ready cues with capture and let a new press interrupt the
    generated three-second send cue. The cue means accepted for sending, not
    recipient-phone delivery or listening.
  • Recover boot selection from one validated onboarding marker. Migrate legacy
    startup links without changing the chosen mode or runtime components.
  • Provide a manifest-bounded updater with program-file rollback, boot-selector
    recovery and private-state preservation, plus a versioned per-unit acceptance
    matrix.

Install and verify

Use the release's exact source archive, manifest.json, installed-files.sha256
and SHA256SUMS. Verify checksums before extraction. The archive contains source
and bundled assets; it contains no device account, recipient, Wi-Fi, message or
recording data.

For an existing installation, follow bounded updates.
Use a root-owned extracted package and retain the updater's private rollback
directory. Do not run full provisioning to update an existing household box.
For a fresh supported Pi 4 / 64-bit Debian 13 card, follow
installation.

The attached manifest records the exact release commit and every installed
program file. Compare all installed hashes after updating; a version marker alone
does not prove file equality. Rollback covers installed program files, the boot
selector and recorded service state. OS packages, generated ringtones and private
household state are outside that program-file manifest.

Acceptance boundary

The release changes pass repository syntax, lint and Python/JavaScript checks.
The updater tests cover runtime and setup modes, partial failures and restoration.
Validation: make check passed 424 Python tests and 21 JavaScript tests, plus syntax and lint checks. See the release PR for the source changes and checks.

Physical enclosure fit, cable clearance, button/NFC operation, acoustic playback
and recording, intended-chat delivery, Wi-Fi recovery and cold-power recovery
must be verified on the actual final unit using the
acceptance matrix. No unit is certified ready by this tag.
The dashboard remains household-network-only and has no login; do not expose it
publicly. Promote a stable release after the required device checks pass, without
moving or overwriting this tag.