Bell 0.5.0
- Replying
- Notifications and read state
- Profile names and pictures
- Optional: Citrine as a local cache
- Timeline and startup
Bell 0.5.0 is here. Bell gathers other people’s replies and quotes across your Nostr accounts into one deduplicated, chronological timeline with per-account filters; your own posts appear only as context. This release reworks replying, notifications and profiles, and adds optional local caching through Citrine.
Replying
The reply header shows the account you’re replying from and the original author’s name and picture. The editor sits at the bottom and grows upward, with draft, microphone and send icons above the keyboard.
Typing @ opens a picker at the cursor. It checks cached profiles first, then runs a limited, debounced NIP-50 search that sends only the name fragment after @ to the search relay, not the rest of your draft. People the selected account follows rank first. You see names while writing; the draft, the signed note and its p tags keep the public-key references.
Signing and sending are now separate. Once the signed reply is stored on your device, the composer closes and a background queue shows “Sending reply”, which changes to “Sent” only after a public relay acknowledges it. Amber may still ask for approval in the foreground. If you cancel or the signing outcome is unclear, Bell keeps the pending record and won’t re-sign on its own. If delivery can’t be confirmed, Pending actions keeps the signed reply for you to retry. Android and your network can delay background work.
Notifications and read state
With Bell open in the foreground and the timeline uncovered, a reply that stays mostly in view for a moment has its system notification dismissed, but it stays unread. Nothing is dismissed in the background, in settings, behind a composer or when another window has focus, and grouped notifications keep alerts for replies you haven’t seen.
Choosing a reaction marks the post read. In All accounts, that applies to each of your accounts that received the post; with an account filter selected, it applies only to that account. The account that signs the reaction can be a different one. Opening the emoji picker alone changes nothing, and the local read mark doesn’t mean the reaction has been signed or delivered.
After you open a reply from a notification, Back takes you to the top of the newest feed page. Moving between conversations inside Bell keeps your scroll position.
Profile names and pictures
For authors on screen, Bell checks the stored profile. If it is old, empty or unreadable, Bell asks relays for the latest signed profile, subject to a cooldown, and caches the newest name and picture it accepts. Requests are grouped and limited, and Bell waits before asking about the same profile again. A profile can still lack a name or picture if relays have nothing usable.
Optional: Citrine as a local cache
Citrine is a Nostr relay that runs as an Android app. A new setting, off by default, lets Bell connect to Citrine on the same device, store public events Bell has already verified, and read back a limited set of cached replies and profiles. History read back from Citrine doesn’t raise new notifications.
Citrine is only a local cache. Bell doesn’t deliver your replies through it, your public relays work the same whether Citrine is off, missing or unavailable, and an acknowledgment from Citrine never marks a reply Sent. Bell writes only public event types there, not direct messages, private mute lists, authentication requests, drafts or keys, and Citrine’s own access settings still apply. A limited daily replay helps fill gaps, but it isn’t a backup and doesn’t sync your full history.
Timeline and startup
Each account now gets a reserved share of the live reply filters for replies to its recent posts, so other people’s threads and older history can’t use up all the capacity. Capacity is still limited, so Bell can’t guarantee that every reply is found. Relay checkpoints are saved in batches without clearing the screen, and the status shows how many relays are connected.
At startup Bell prepares a limited set of avatars, post images and referenced notes already cached on your device, so the first screen can show them without waiting on the network. Short fades at the feed edges appear only when there’s more to scroll.
Screenshots show synthetic demo conversations.
To update, open Bell on Zapstore and install 0.5.0.
Write a comment