Skip to content

Unfocus v0.3.0-alpha.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Aug 06:10
Immutable release. Only release title and notes can be modified.
ea6f311

These early builds are not code-signed or notarized. Verify downloads with SHA256SUMS and the GitHub build-provenance attestations.
The release also includes a CycloneDX SBOM and the bundled third-party notices.

  • Linux: install the .deb, .rpm, or .AppImage. X11 only; Wayland is unsupported.
  • macOS: right-click the app and choose Open the first time. Multi-monitor behavior is not yet qualified.
  • Windows: idle and fullscreen probes report as unavailable.

Changes

Added

  • Added an observe-only Your day summary on the consumer dashboard: rolling
    last-24-hour active and away totals, longest continuous stretch, deep-block
    count, and a half-hour presence strip derived from the idle probe without
    keylogging. Probe failures freeze classification and never change the break
    timer.
  • Persisted activity segments locally across restarts (atomic JSON next to app
    settings, pruned to the rolling window). Write failures keep the previous
    complete history and leave the reminder timer unchanged.
  • Added a local break-event ledger for scheduled shown, natural idle, fullscreen
    suppress, and manual take-break outcomes, with calm dashboard counts for the
    last day and week.
  • Adapted scheduled break presentation from continuous activity and AFK history
    without changing the pure timer: after a long active stretch a short micro-idle
    no longer natural-credits; long AFK still prefers quiet natural credit when
    idle; fullscreen is never overridden.
  • Credited a due break as a natural rest when the user has already been idle for
    the break duration, instead of running a silent break phase.
  • Added pure lifecycle and accessibility contract tests that pin release-tier
    evidence rules (timer stalls, multi-monitor topology policy, and a11y
    presentation) without inventing platform qualification.
  • Implemented Windows idle (GetLastInputInfo) and foreground fullscreen
    probes (window outer rect vs monitor rcMonitor). Windows remains an early
    build until interactive qualification is recorded.
  • Scaffolded an opt-in wayland-sway Cargo feature for a Sway 1.11+ Wayland
    probe candidate (Sway IPC fullscreen, ext_idle_notifier_v1 input-idle,
    positive runtime gates). Default packages still treat Wayland as unsupported;
    no multi-monitor or release qualification is claimed.

Changed

  • Polished the consumer Your day and Break outcomes card: clearer
    loading, empty, and error copy; muted zero counts; strip legend; less
    redundant captions. Still observe-only with no timer control.
  • Documented platform status honestly for this alpha: Linux X11 remains the
    only qualified backend; macOS is preview without multi-monitor acceptance;
    Windows packages include probes but interactive multi-monitor qualification
    is pending; Wayland is unsupported in default packages; packages are not
    code-signed or notarized.