diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-26 20:24:58 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-26 20:24:58 -0500 |
| commit | 049325f438817c0b4f4a443f71b8821b0bfd357a (patch) | |
| tree | 54ef8f879fb82ad8e84e1d52a1b826be53c3b950 /todo.org | |
| parent | 09af335782d678a15e6b4931f7d5e8c5e7eb034c (diff) | |
| download | dotemacs-049325f438817c0b4f4a443f71b8821b0bfd357a.tar.gz dotemacs-049325f438817c0b4f4a443f71b8821b0bfd357a.zip | |
feat(signal): add Signal client foundation on a signel fork
I'm building a Signal client in Emacs on signal-cli (linked as a secondary device) with a fork of the signel package as the front end. signel is on MELPA but effectively abandoned, and the behavior I want needs internal edits, so owning a fork beats advising a dead package. Full rationale and the rejected alternatives are in docs/design/signal-client.org.
This lands the signal-cli-independent foundation: contact-list parsing for a completing-read picker, and the predicate that suppresses a notification for the chat being actively viewed. Both are pure and unit-tested without a linked account. cj/signal--parse-contacts was corrected against a live account (signal-cli 0.14 puts givenName/familyName at the top level, not under profile), and verified across all 94 real contacts.
The use-package wiring loads the fork from ~/code/signel, sources the account from a gitignored signal-config.local.el (a phone number is an identifier, not a credential, and this keeps it off the mirror without a GPG prompt), and turns off auto-open so an incoming message can't steal a window. Verified live: signel-start spawns the jsonRpc process, loads the account, and receives over the channel.
The fork edits (notify routing, the upstream input-clobber bug) and the contact-picker command are still to come.
Diffstat (limited to 'todo.org')
0 files changed, 0 insertions, 0 deletions
