Bell 0.6.0: inline media, readable references and delivered reactions

Bell 0.6.0 shows linked pictures, audio and video inline, turns profile and note references into readable names and event cards, and marks reactions once a relay has accepted them.

Bell 0.6.0 is available on Zapstore at https://zapstore.dev/apps/app.bell.android. Media now appears where it was posted, references to people and notes become readable, and your reactions show when a relay has accepted them.

Pictures, audio and video linked over HTTPS now appear inline. This includes media in event tags and content-addressed Blossom links without a file extension. Audio and video have playback controls and never autoplay, though animated images may still animate. Each file is limited to 32 MiB, and each post shows only a few previews. Unrecognized links stay as text. If a recognized media file is too large or Bell will not open it, the link stays in the post, marked unavailable, and you can retry it. Which formats play depends on your device. Known limitation: Tab and Shift+Tab may not move keyboard focus from an inline video player’s controls back to Bell’s controls. Touch controls remain usable.

Previews run in an isolated WebView renderer and need a compatible WebView. Bell downloads each file without sending credentials, checks the bytes and passes them to a fixed preview page that loads no remote pages or scripts, cannot reach your files, requests no permissions and cannot open other pages. Bell refuses downloads aimed at local or private network addresses and refuses unsafe redirects, and Blossom files must match their content hash. Viewing media still means downloading it from its host, and Data Saver limits those downloads on metered networks.

Profile, note, event and address references, and recognized share links, now appear as readable names and compact event cards. Bell uses cached context or looks the event up on your existing relays and verifies what comes back. Events with a title or summary show it, several common kinds get their own labels, and others get a plain readable fallback. A card never expands into further cards. Tapping a person’s profile picture copies their npub public key to the Android clipboard.

When a relay acknowledges a reaction, or Bell receives and verifies your own reaction coming back, a red ring with a check appears on it. The mark belongs to the reacting account and post, and it survives restarts and marking the post read. Deleted reactions do not count toward confirmation, but another live reaction from the same account can keep the mark. Any first confirmation pulses briefly. For a new reaction, the pulse comes only once its delivery confirmation arrives, never on submit. Confirmations restored after a deletion do not pulse. Until Bell has evidence of delivery, a pending or uncertain send gets no confirmation. Confirmation means a relay accepted it. Other relays and the author may not have it yet. The black heart now sits on a small white disc so it stays visible against the black background.


Write a comment