Files
omarchy-beeper/CHANGELOG.md
T
prdlk 56b8c73fd1 fix: filter the pile on chat flags and fetch snippets from the message index
Verified against Beeper Desktop 4.3.73 with a real token:

- inbox=primary combined with unreadOnly=true returned 0 of 78 genuinely
  unread chats, and includeMuted=false returned muted chats anyway. Both
  params are gone; muted/archived/low-priority are now decided here from
  isMuted/isArchived/isLowPriority, and a hand-marked-unread chat counts.
- Snippets now come from GET /v1/messages/search (1.1 ms/chat) instead of
  GET /v1/chats/{id}/messages (145 ms/chat), which is kept as the fallback
  for chats the index has not reached. list --limit 50 went 3.33s -> 0.16s.
2026-09-01 11:45:09 -04:00

31 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
## 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.