- Message time 1970: outgoing DM + channel sends now use RTC time (fallback to uptime only if RTC isn’t set). That fixes the 1970 timestamps when the clock is synced (GPS/app).
- Sound screen: added a new Sound page in the home carousel; Enter toggles buzzer (same as triple‑click). Shows ON/OFF (or N/A if no buzzer).
- Contacts filter: Contact list now hides repeaters (ADV_TYPE_REPEATER) and counts only people/companions.
- Contacts save rule: new “Save only users” toggle in Contacts (long‑press Enter). When ON, auto‑add skips non‑chat adverts and removes non‑user contacts to free slots.
- Messages: DM unread counter ignores channels.
- Channels: private channels are shown with a “$” prefix in the UI; Public and #channels keep their normal labels.
- Messages: empty list shows “No messages” + “Back”; Enter returns.
- Join channel: 123 key label shows “123!” and input starts in lowercase.
- Hashtag channels: on-device join now derives the same 128-bit key as the mobile app (SHA256(#name) first 16 bytes), so #channels receive messages correctly.
- Channels: private channels show with a “$” prefix in the UI.
- Channels: add “+Add private channel” (enter name + key).
- Channels: long‑press a channel to remove it (confirm dialog; Public is protected).
- Channels: base support for removing channels (compacts list and persists).