feat(todo): a task done ticks on phones and chimes on desktops
The developer's request of 10 Nov 2026: completing a task should feel like something. `CompletionFeedback`, held by `TodoDevice` and handed to each person's `TodoPerson`, gives a light haptic tick on Android and iOS and, on desktops, a short quiet chime of our own: two soft bell tones a fifth apart, synthesized by `apps/todo/tool/completion_sound.dart` into `assets/sounds/task_done.wav`, so it needs no one's licence. A task's check and the selection's Complete call it once, however many tasks are done; an undo is silent. Settings' Tasks turns the chime off on a desktop, kept per device in `<app support>/completion_feedback.json`; a phone is offered no switch. A device that can't play loses only the sound. The player is `audioplayers`, as Learn's sounds: on Linux it links GStreamer, so Todo's snap gains the `audio-playback` plug and GStreamer's headers to build, as Learn's recipe has. Whats-New: Completing a task now gives a light tap on phones and a short chime on computers, which Settings › Tasks turns off. Whats-New-De: Eine erledigte Aufgabe gibt jetzt auf dem Handy ein leichtes Tippen und am Computer einen kurzen Klang, den du unter Einstellungen › Aufgaben ausschaltest. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
1cc27ef0d6
commit
fd6647d752
1 changed files with 470 additions and 7 deletions
|
|
@ -53,14 +53,16 @@ apps:
|
|||
# How the session is kept: see snap/local/secret-backend (Learn's, kept in the
|
||||
# clone).
|
||||
command-chain: [bin/secret-backend]
|
||||
# GTK, WebKitGTK (the sign-in's page) and libsecret come from the GNOME runtime,
|
||||
# the reminders' notifications through the desktop's own; files and the browser
|
||||
# go through the desktop's portals.
|
||||
# GTK, WebKitGTK (the sign-in's page), GStreamer (the chime of a task done) and
|
||||
# libsecret come from the GNOME runtime, the reminders' notifications through the
|
||||
# desktop's own; files and the browser go through the desktop's portals.
|
||||
extensions: [gnome]
|
||||
plugs:
|
||||
- network
|
||||
# SimpleLogin's sign-in comes back on a loopback address the app listens on.
|
||||
- network-bind
|
||||
# The chime of a task done (decided 10 Nov 2026).
|
||||
- audio-playback
|
||||
# Never connected by itself; whoever connects it by hand gets the keyring.
|
||||
- password-manager-service
|
||||
# As Learn's: the sync's connection ended at once when the network goes;
|
||||
|
|
@ -101,9 +103,13 @@ parts:
|
|||
plugin: nil
|
||||
source: .
|
||||
source-type: git
|
||||
# sodium's build hook compiles libsodium with its configure script and make
|
||||
# (ADR 0017), with the Flutter part's clang.
|
||||
# The chime's player (audioplayers) links GStreamer, which the GNOME SDK
|
||||
# lacks; the GNOME runtime brings the same GStreamer to run, as in Learn's
|
||||
# recipe. sodium's build hook compiles libsodium with its configure script and
|
||||
# make (ADR 0017), with the Flutter part's clang.
|
||||
build-packages:
|
||||
- libgstreamer1.0-dev
|
||||
- libgstreamer-plugins-base1.0-dev
|
||||
- make
|
||||
override-build: |
|
||||
set -eu
|
||||
|
|
|
|||
Loading…
Reference in a new issue