Files
omarchy-beeper/CHANGELOG.md
T

39 lines
2.0 KiB
Markdown
Raw Normal View History

# Changelog
## 1.0.1
- Bar icon: size the bubble to the ink box the neighbouring Nerd Font glyphs
actually cover (0.85 em of `Style.bar.iconFont`) instead of filling the
`Style.bar.iconCanvas` slot, and let the stroke floor at one device pixel
rather than 1.5 logical px. On the running bar the bubble was 15 logical px
with a 2 px stroke next to glyphs inking 9.0–11.5 px with a 1 px stroke; it
is now 10 px, on their median.
## 1.0.0
First release.
- Bar icon: stroked chat bubble with an unread-chat badge in the bar
foreground colour, dimmed to half opacity when Beeper Desktop is unreachable.
- Panel: one row per unread chat across every connected network, newest first,
with the network as a chip when more than one account is connected.
- Click a row (or `Enter`/`Space`/`o`) to focus that chat in Beeper Desktop and
mark it read; the row disappears immediately and the mark is queued.
- `a` marks the row under the cursor read without opening it. `A` marks every
unread chat read behind a two-press confirm, with a 100-second budget and a
partial count.
- Paging with `n`/`p`, page size 1–50, poll interval 15–3600 s.
- `bin/omarchy-beeper` CLI: `list`, `read`, `read-all`, `open`, `auth`. Every
command prints one JSON object and exits 0.
- Muted, archived, and low-priority chats are excluded from the pile, filtered
on each chat's own flags: Beeper Desktop 4.3.73 ignores `includeMuted=false`
and `inbox=primary` hides genuinely unread chats when combined with
`unreadOnly=true`.
- Row snippets come from `GET /v1/messages/search` (~1 ms per chat) with
`GET /v1/chats/{chatID}/messages` as the fallback for chats the message
index has not reached yet, and only for the rows on screen.
- Token stored at `~/.config/omarchy-beeper/secrets/token.json` (600, in a 700
directory), read with `O_NOFOLLOW`, never passed in argv.
- All HTTP bound to `http://localhost:23373/v1/`, no redirects, 2 MiB body cap
and 64 KiB error cap, 30 s per request.
- Read and mark-read only: the plugin never sends a message.