Repository navigation
Releases
Releases · galyarderlabs/notchfolk
Notchfolk 1.2.10
Added
- The closed island shows less, by choice. Settings → Island has a switch each for the
timer, calls, the unread bell, weather, the paired phone and the AI router. The default is the
quiet layout: the assistant in the middle, the clock to its left, the weather to its right, the
cover in the left corner and the bars in the right corner while a song plays. The recording dot
and a service failure always show. - A Devices page of connected Bluetooth devices, a card each with its battery and level, from
the daemon's BlueZ watcher. Off until turned on; its tab shows only while a device is connected. - The USB devices on the bus, on the same page: notchfolkd reads them from udev and follows its
monitor, and each shows its name, what it is (a drive, a keyboard, a mouse, a headset, a camera,
a phone) and an icon to match. USB carries no battery to read, so a card shows its kind where a
Bluetooth one shows its level.
Changed
- The GSConnect page is now Phone, as it always was a phone's page: its battery, a ring to find
it, the clipboard sent over. Its tab, switch and shortcut follow the name.
Notchfolk 1.2.9
Fixed
- Settings opens again. The Shortcuts group listed a shortcut for every page, including Notchfolk's own
Calories, Water and Prayer pages, whose keys the schema did not carry: opening Settings answered
"GSettings key shortcut-calories not found". The three keys are in the schema, and a shortcut set for
one of those pages now opens it.
Notchfolk 1.2.8
Added
- Pill shape. Settings → Shape: the island as a round pill floating just below the top bar, on every
display, or the notch joined to the top as before — the same island either way, black or glass. - A shortcut per page. Settings → Shortcuts: every page can be opened from anywhere with a shortcut
of its own, recorded in Settings. Super+V opens the page Settings says — the clipboard history by
default, as before. - Size: Large. Settings → Size: the open island 720 px wide instead of 600, every page taller,
each laying itself out for the room — a larger cover, timer ring and month, more rows and cards. - The island on all displays. A mirror of the island on every monitor, not only the main one.
- Bluetooth devices' low battery warns in the island (20, 10, 5%, once per level on the way down),
beside the GSConnect device alerts.
Fixed
- The installer asks GitHub again when it times out or is busy for a moment (a 408, 429 or 5xx),
instead of failing the one-line install. - opencode 2: deleting a session runs with
--standalone, so it no longer starts a background
service on a port the user's own may hold.
Notchfolk 1.2.7
Fixed
- Speech recordings are written out. The speech dump folder is created before writing, so
NOTCHFOLK_SPEECH_DUMPno longer fails silently on a fresh folder; the write runs off the
async runtime thread. - Shortcut labels cannot carry markup. The key is now the text after the last
>, with any
leftover angle brackets stripped, so a label can never contain<script(CodeQL #37, #38).
Notchfolk 1.2.6
Fixed
- Spoken replies reach the router, and are heard. A router that names its voices in the model id
(ElevenLabs'el/<model>/<voice>) takes no separate voice field: sending both left the model bare,
which it answered with a gateway error. Routers also answer MP3 whatever was asked for, and
pw-playcannot open a pipe, so the reply is decoded withffmpeginto a WAV first, and only once
ffmpeghas finished writing it.
Documentation
- Spoken replies are written down. The assistant guide says what Speak the replies needs, how a
router that names its voices in the model id takes them, why the answer comes back as MP3 and is
decoded withffmpeg, and where to look when nothing is spoken; the README listsffmpegwith the
voice assistant's requirements.
Notchfolk 1.2.4
Fixed
- The microphone is heard again.
pw-recordwrites a WAV container to stdout unless told
otherwise, and the recorder read every byte as a sample: the container and the float samples
came through as saturated PCM, so every recording looked like noise at full scale and the
endpointer answered "heard no speech" however loudly one spoke, and however the gain was set.
Notchfolk 1.2.3
Changed
- The log says which speech router it tried, and for how long. A request that could not reach
the router now names the URL as the daemon built it and how long it tried, instead of a bare
error — a refused request, a wrong URL and a network that stalls no longer look the same.
Notchfolk 1.2.2
Changed
- No speech router is assumed either. The base URL starts empty in Settings too, so a fresh
install has nothing pointing anywhere until the user fills it in; an empty one leaves the cloud
engine unconfigured (local whisper answers).
Fixed
- The speech router gets one language code, not local Whisper's list. Settings' language is a
list local Whisper uses to tell languages apart ("id,en"); sent as-is to the router it was a
code the router refuses, so a healthy router still failed every request and local Whisper took
over. Only a list of one is sent now; a longer one is left out, and the router detects the
language itself. - The log says why the speech router could not hear it (the error itself, or that it took too
long), instead of naming neither.
Notchfolk 1.2.1
Changed
- No speech model is assumed any more. The speech router's models and voice start empty in
Settings and nothing fills them in behind the user's back: an unset speech-to-text model means
the cloud engine is not configured (local whisper answers), and an unset text-to-speech model
or voice means the reply is not spoken.
Fixed
- With Codex, the assistant answers an English request in English: it often replied in Indonesian.
- With Codex, asking for a file to be made ("make notes.txt saying hello") offers a command to run, rather
than saying it cannot write files. - When the assistant says it cannot look at the computer or find something without having tried, Isle
tells it that it can, and it looks before it answers. - "Switch to Chrome" brings Chrome's window up with Codex, rather than going to the focus timer.
Changed
- The README shows a new demo of the assistant, a command waiting for Run, the island's pages and an agent
asking, with a link to the full video. - The installation guide shows how to install on Arch Linux step by step, and says Isle is not in the
AUR yet.
Notchfolk 1.2.0
Speech moves to an OpenAI-compatible router, with the replies spoken back.
Added
- Speech recognition can run on an OpenAI-compatible router, the default engine: recordings go
to its/v1/audio/transcriptions(the speech-to-text model starts atdg/nova-3in Settings)
instead of local whisper.cpp, with the base URL, model and API key set in Settings — the key kept
in the desktop's secret store, and the endpoint paths editable for a router that does not use the
OpenAI-compatible ones. Local Whisper stays as the offline choice in Settings and takes over by
itself when the router cannot be reached. - The replies can be spoken, through the same router's
/v1/audio/speech(model and voice set
in Settings, starting attts-1andalloy): the answer is shown in the island all the same,
and a request that arrives cuts the spoken one short.
Setting it up
- Settings → Assistant → Speech recognition: pick Cloud (OpenAI-compatible router).
- Fill in the Router base URL (up to its
/v1), the speech-to-text model, and — in the
password row — the router's API key; it is kept in the desktop's secret store, never in a
plain file. - Optional: turn on Speak the replies and pick the text-to-speech model and voice.
A router that names its endpoints differently is fine: the transcription and speech paths are
editable too. Nothing to download — local Whisper keeps working offline as before.
1.2.1: no model is assumed any more — the Settings fields start empty and stay the only
source of the models.
Packages: .deb, .rpm and a plain tarball are attached, each with its .sha256.