Skip to content

Vector v0.4.2

Choose a tag to compare

@github-actions github-actions released this 15 Aug 17:31
fd95cce
Pocket Privacy

Vector Logo

A live-rendering Rich Composer, profile QR cards with in-app scanning, a redesigned Status system, pinned chats and pinned messages and a deep stability pass across Communities, accounts, and Android.

New:

  • ⌨️ Rich Composer: markdown, @mentions, and custom emojis now render live as you type them — including underscore emphasis (italic, bold, both) and # headers.
  • 🤏 Tiny Text: start a line with -# for small, muted subtext, in the composer and in chat.
  • 📇 Profile QR Cards: share your profile as a beautiful Vector QR, and scan your contacts to add them instantly.
  • 📷 QR Scanning: point your camera at a friend's QR from the New Chat screen and land straight on their profile.
  • 💭 Status, Redesigned: a compact new status editor with custom emojis and a live preview of how everyone else sees it.
  • 📌 Pinned Chats: pin your favourite chats to the top of your list, synced across your devices.
  • 📍 Pinned Messages: pin the messages that matter in a Community channel, visible for everyone — clickable links included, and edits to a pinned message follow it everywhere.
  • 📝 Per-Chat Drafts: unsent text now stays with the chat you typed it in, so hopping between conversations no longer drags your half-written message along.
  • 🔁 Synced Blocks, Mutes & Nicknames: your block list, mutes, and nicknames now sync between devices.
  • 🧩 Mini Apps from URLs: paste a link to an .xdc file and it opens like an uploaded Mini App, multiplayer included.
  • 📱 Biometric Unlock (Android): protect your account with your phone's built-in lock screen.
  • 📦 Self-Updating Sideloads (Android): builds installed outside an app store now update themselves, and tapping a received .apk installs it.
  • 🚀 Get Started: a fresh account now sees a glowing Get Started pill where its first chat will live, and Viktor himself welcomes you above the navbar — give him a hover or a tap.

Improved:

  • 🔇 Mute Anyone: muting now works straight from a Community, no DM history needed, and a muted person goes properly silent: no notifications, no badges, in DMs and every channel alike. You still see their messages; they just never ring your bell.
  • 🚪 Faster Channel Opens: Community channels open on their newest messages instantly and page older history in as you scroll back.
  • 🧮 Member Counts: Community member counts are accurate now, and stay that way.
  • 🗂️ No Community Ceiling: your joined-Communities list syncs in full no matter how many you join.
  • 👥 Account Switching: the multi-account core was rebuilt so every background task stays bound to the account that started it; switching accounts mid-sync can no longer mix anything between them.
  • 📎 Cross-Client Attachments: attachments sent from other Nostr clients now render as proper files instead of bare links.
  • 🪶 Tidier System Events: repeated joins and leaves, as well as pins, collapse into one line.
  • ⌨️ First-Letter Feedback (Android): the composer placeholder, status preview, and send button react to the first letter you type instead of waiting for a finished word.
  • 🧅 Tor Refresh: the built-in Tor core jumped four releases ahead of September's network transition.
  • UI Polish: modals share a smooth pop-in/pop-out, app chrome is no longer text-selectable, long chat names truncate cleanly, and statuses drop the italic slant.
  • 🛡️ Downgrade Protection: the database now refuses to open under an older build instead of risking silent corruption.

Fixed:

  • 🔨 Moderation at Speed: rapid-fire bans used to be able to overwrite each other; now they queue, stack, and settle as one — and banning a whole wave of spammers costs a single key rotation instead of one each.
  • 💀 Dead Invites Bury Themselves: accepting an invite to a since-deleted Community now tells you why and removes the invite — on every one of your devices.
  • 📵 Quieter Catch-Ups: Community messages arriving in a background sync no longer ring notifications as if they were just sent.
  • ⌨️ Ghost Typing: the typing indicator now expires from when it was actually sent, so a delayed signal can't haunt a channel.
  • 🔗 Link Previews: sites that publish relative preview links now show their images.
  • 😀 Emoji Fidelity: custom emojis render in chat previews split by unicode emojis, survive copy and cut from the composer as their :shortcodes:, and reply previews never reveal half a shortcode — plus one reaction per person per emoji.
  • 📎 Attachment Recovery: files in Notes and certain DMs that refused to download with "Attachment not found" work again, and affected chats heal themselves on first boot.
  • 🐿️ Chipmunk Audio: certain m4a voice files (HE-AAC) played at double speed; they now play at the right speed and pitch, and transcription handles them too.
  • 🗑️ Deleted Stays Deleted: deleted messages no longer resurrect after a restart when a relay ignored the deletion.
  • 💬 Reply Quotes: Community replies keep their quoted context during bulk syncs.
  • 🧳 Migration Tail: migrated v1 Communities stop reappearing in your list, devices that missed a migration catch up on their own, and leaving a Community sticks even if a relay was down at the time.
  • 🔑 Password Changes: changing your local encryption password now re-encrypts all Community data with it, so nothing goes missing afterwards.
  • 🕵️ Mini App Privacy: every Mini App gets its own isolated storage now; apps can no longer read each other's data.
  • 📂 Android File Taps: tapping a downloaded file now opens it.
  • 🖼️ Chat Landing: chats no longer open scrolled short of the newest message while media is still loading.