White Noise v0.3.0: Project Sloth 🦥
Real-time messaging is here, and Amber users can now keep their private keys where they belong. Messages arrive instantly over streaming connections instead of polling every few seconds, groups work reliably, and images flow through chats with local storage now encrypted. Over 160 merged improvements make this the biggest White Noise release yet.
⚠️ Breaking Change: Data Reset Required
All local data will be deleted when you upgrade. This includes messages, media, group state, private keys and settings.
Before upgrading:
- Back up your nsec (private key) if you haven't already
- Screenshot any messages or media you want to keep
After upgrading:
- Log in with your existing nsec or connect through Amber
- Your profile will restore automatically from Nostr relays
- Groups from previous versions will need to be recreated
- Contacts and follow lists persist on relays
Why this is necessary:
Marmot protocol and MDK changes made old group state incompatible, and local storage is now encrypted. Since the database library cannot migrate from unencrypted to encrypted formats, a fragile migration risking silent failure or data corruption was not acceptable.
This is a one-time reset. Future updates will preserve your data.
✨ New Features
Amber Support. White Noise now works with Amber and other external signers (NIP-55). Your private key never needs to touch the app.
Real-Time Messaging. Replaced polling with streaming connections so messages arrive instantly instead of every few seconds.
Images and Media. Share images with upload progress tracking, blurhash placeholders, full-screen viewing with zoom, and automatic retry on failure.
Group Messaging. Create and manage groups reliably with chat list showing sender names and MLS encryption ensuring forward secrecy.
Read Position Tracking. The app remembers where you left off in each conversation and scrolls there when you return, with read status kept local only since White Noise does not broadcast read receipts.
Text Drafts. What you type is saved per conversation and restores when you return, including reply context.
Better Search. Search expands outward from your follows up to four degrees of separation with results streaming in as found and group members appearing alongside follows. QR code scanning accepts both nsec and npub formats.
➕ Added
- Create and manage groups (#288, #315)
- Add members from group info screen (#323)
- Copy message text with long-press (#317)
- Search messages within chat with match navigation (#355)
- Invite to White Noise sharing (#354)
- Multi-account support (#78)
- Replies with scroll navigation (#179, #202)
- User search by name with streaming results (#234)
- Show last message sender name in chat list (#322)
🔄 Changed
- Message bubble redesign (#329)
- Chat info screen redesign (#303)
- Signup now pre-fills generated display name with one-tap clear (#313)
- "Follow"/"Unfollow" renamed to "Add as contact"/"Remove as contact" (#323)
🐛 Fixed
- App crashes on upgrade from older versions (#312)
- Foreground service initialization after device restart (#312)
- Duplicate messages from connectivity fluctuations (#244)
- Camera permission flow shows "Open Settings" when denied (#194)
- Notifications arriving on foreground after accepting invite (#361)
- Malformed UTF-16 in user metadata no longer crashes rendering (#234)
- Portrait mode lock (#235)
📋 Full Changelog
For the complete list of changes since the repository migration, see the CHANGELOG.