Bump to v0.11.0 — embedded relay, naddr links, new themes

This commit is contained in:
Jure
2026-04-02 15:28:35 +02:00
parent 51a010bfc5
commit 9477b6d68e
7 changed files with 29 additions and 11 deletions

View File

@@ -69,9 +69,19 @@ jobs:
> **Windows note:** The installer is not yet code-signed. Windows SmartScreen will show an "Unknown publisher" warning — click "More info → Run anyway" to install. > **Windows note:** The installer is not yet code-signed. Windows SmartScreen will show an "Unknown publisher" warning — click "More info → Run anyway" to install.
### New in v0.10.1 — Search Reliability ### New in v0.11.0 — Embedded Relay & Polish
- **Search resilience** — each search relay (relay.nostr.band, search.nos.today, nostr.wine) now queried independently; a dead relay no longer blocks results from the others - **Embedded Nostr relay** — built-in strfry relay with catch-up sync on startup; your notes are always available locally even when remote relays are slow or offline
- **nostr: URI prefix** — pasting `nostr:nevent1...` or `nostr:npub1...` share links in search now works (strips NIP-21 prefix) - **naddr clickable links** — `nostr:naddr1…` references resolve to clickable named links (article titles, etc.)
- **New follower badges** — recently gained followers marked with "new" badge, sorted to top of follows list
- **New themes** — Sepia and Nord Frost replace Tokyo Night and Ethereal
- **Bookmark reliability** — batch fetch with deduplication, debounced publishing prevents race conditions
- **Relay pool resilience** — resetNDK preserves outbox-discovered relay URLs (fixes relay pool dropping to 3)
- **Larger font sizes** — Large (17px) and Extra Large (20px) presets increased
- **Account switcher** — larger avatar, name, and arrow for easier switching
- **Crash fix** — malformed Nostr profiles no longer cause React error #31
### v0.10.1 — Search Reliability
- Search resilience, nostr: URI prefix support in search
### v0.10.0 — Renamed to Vega + UX Improvements ### v0.10.0 — Renamed to Vega + UX Improvements
- **Renamed from Wrystr to Vega** — named after Jurij Vega (17541802), Slovenian mathematician and artillery officer. Fresh identity, same mission: a desktop Nostr client built for writers. - **Renamed from Wrystr to Vega** — named after Jurij Vega (17541802), Slovenian mathematician and artillery officer. Fresh identity, same mission: a desktop Nostr client built for writers.

View File

@@ -152,7 +152,7 @@ CI triggers on the tag and builds all three platforms (Ubuntu, Windows, macOS AR
- **Profile media gallery** — "Media" tab on profiles with grid layout; images open lightbox, videos/audio navigate to thread - **Profile media gallery** — "Media" tab on profiles with grid layout; images open lightbox, videos/audio navigate to thread
- **Emoji picker** — shared categorized emoji picker (Frequent/Faces/Gestures/Objects/Symbols) in compose box, inline reply, thread reply; emoji reaction picker on note cards via visible + button - **Emoji picker** — shared categorized emoji picker (Frequent/Faces/Gestures/Objects/Symbols) in compose box, inline reply, thread reply; emoji reaction picker on note cards via visible + button
- **External link opener** — global click handler intercepts http(s) links and opens in system browser via `@tauri-apps/plugin-opener` - **External link opener** — global click handler intercepts http(s) links and opens in system browser via `@tauri-apps/plugin-opener`
- **Color themes** — 7 built-in themes (Midnight, Light, Catppuccin Mocha, Tokyo Night, Gruvbox, Ethereal, Hackerman); CSS custom properties swapped at runtime; persisted to localStorage - **Color themes** — 7 built-in themes (Midnight, Light, Catppuccin Mocha, Sepia, Gruvbox, Nord Frost, Hackerman); CSS custom properties swapped at runtime; persisted to localStorage
- **Font size presets** — Small/Normal/Large/Extra Large; CSS zoom scaling on document root; persisted to localStorage - **Font size presets** — Small/Normal/Large/Extra Large; CSS zoom scaling on document root; persisted to localStorage
- **Web of Trust** — Vertex DVM integration (kind 5312→6312); personalized "Followed by people you trust" on profiles with clickable follower avatars - **Web of Trust** — Vertex DVM integration (kind 5312→6312); personalized "Followed by people you trust" on profiles with clickable follower avatars
- **SQLite-backed notifications** — instant load on startup from local cache; relay diff merged in background; read state persists in DB across restarts - **SQLite-backed notifications** — instant load on startup from local cache; relay diff merged in background; read state persists in DB across restarts
@@ -161,6 +161,11 @@ CI triggers on the tag and builds all three platforms (Ubuntu, Windows, macOS AR
- **SQLite-backed articles cache** — articles feed (latest tab) loads instantly from DB - **SQLite-backed articles cache** — articles feed (latest tab) loads instantly from DB
- **Instant own-profile load** — sidebar badge shows name/picture from DB cache immediately, no raw npub on slow relays - **Instant own-profile load** — sidebar badge shows name/picture from DB cache immediately, no raw npub on slow relays
- **Retry-on-empty pattern** — followers, profile notes/articles, hashtag feeds retry once after 3s if relays return empty - **Retry-on-empty pattern** — followers, profile notes/articles, hashtag feeds retry once after 3s if relays return empty
- **Embedded Nostr relay** — built-in strfry relay with catch-up sync on startup; notes always available locally
- **naddr clickable links** — `nostr:naddr1…` references resolve to clickable named links (article titles)
- **New follower badges** — recently gained followers marked with "new" badge, sorted to top of follows list
- **Batch bookmark fetch** — fetches bookmarked notes with `{ ids: [...] }` filter; debounced kind 10003 publishes prevent race conditions
- **Resilient relay pool** — resetNDK preserves outbox-discovered relay URLs (fixes relay pool dropping to 3)
**Not yet implemented:** **Not yet implemented:**
- NIP-96 file storage - NIP-96 file storage

View File

@@ -1,6 +1,6 @@
# Maintainer: hoornet <hoornet@users.noreply.github.com> # Maintainer: hoornet <hoornet@users.noreply.github.com>
pkgname=vega-nostr pkgname=vega-nostr
pkgver=0.10.1 pkgver=0.11.0
pkgrel=1 pkgrel=1
pkgdesc="Cross-platform Nostr desktop client with Lightning integration" pkgdesc="Cross-platform Nostr desktop client with Lightning integration"
arch=('x86_64') arch=('x86_64')

View File

@@ -58,6 +58,7 @@ sudo dnf install gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-liba
- **Mute users** (NIP-51) — muted list synced to relays, filtered from feed - **Mute users** (NIP-51) — muted list synced to relays, filtered from feed
- **Long-form article experience** (NIP-23) — **markdown toolbar** (bold, italic, heading, link, image, quote, code, list) with keyboard shortcuts (Ctrl+B/I/K); **multi-draft management** with draft list, resume, delete; **cover image file picker**; dedicated article feed with Latest/Following tabs; article search by keyword or hashtag; article reader with reading time, bookmark, like, and zap; profile Articles tab - **Long-form article experience** (NIP-23) — **markdown toolbar** (bold, italic, heading, link, image, quote, code, list) with keyboard shortcuts (Ctrl+B/I/K); **multi-draft management** with draft list, resume, delete; **cover image file picker**; dedicated article feed with Latest/Following tabs; article search by keyword or hashtag; article reader with reading time, bookmark, like, and zap; profile Articles tab
- **Quoted note inline preview** — `nostr:note1…` / `nostr:nevent1…` renders as an inline card - **Quoted note inline preview** — `nostr:note1…` / `nostr:nevent1…` renders as an inline card
- **naddr clickable links** — `nostr:naddr1…` references resolve to clickable named links (article titles, etc.)
- **Syntax highlighting** — code blocks in notes and articles render with syntax highlighting - **Syntax highlighting** — code blocks in notes and articles render with syntax highlighting
- Note rendering: images, video, mentions, hashtags, njump.me link interception - Note rendering: images, video, mentions, hashtags, njump.me link interception
- **External links** — all http(s) links open in your system browser via Tauri opener - **External links** — all http(s) links open in your system browser via Tauri opener
@@ -65,12 +66,14 @@ sudo dnf install gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-liba
- **Keyword muting** — word/phrase mute list with client-side filtering across all views - **Keyword muting** — word/phrase mute list with client-side filtering across all views
- **Direct Messages** (NIP-04 + NIP-17 gift wrap) — conversation list, thread view, per-message decryption; unread badge in sidebar - **Direct Messages** (NIP-04 + NIP-17 gift wrap) — conversation list, thread view, per-message decryption; unread badge in sidebar
- **Notifications** — background poller (60s) for mentions, zaps, new followers; each type independently toggleable; OS push notifications; 🔔 in sidebar with unread badge - **Notifications** — background poller (60s) for mentions, zaps, new followers; each type independently toggleable; OS push notifications; 🔔 in sidebar with unread badge
- **New follower badges** — recently gained followers marked with a "new" badge and sorted to the top of your follows list
**Relay & network** **Relay & network**
- **Relay status badge** — compact "8/12 relays" indicator in feed header with color coding (green/yellow/red by connection ratio); hover shows per-relay connection status - **Relay status badge** — compact "8/12 relays" indicator in feed header with color coding (green/yellow/red by connection ratio); hover shows per-relay connection status
- **Toast notifications** — transient status messages for relay events: "Connection lost — reconnecting", "Back online", "Relays reconnected" - **Toast notifications** — transient status messages for relay events: "Connection lost — reconnecting", "Back online", "Relays reconnected"
- **Relay health checker** — NIP-11 info fetch, WebSocket latency probing, online/slow/offline classification; expandable cards show all supported NIPs, software, description; per-relay remove button; "Remove dead" strips offline relays; "Publish list" publishes NIP-65 relay list; auto-checks on mount - **Relay health checker** — NIP-11 info fetch, WebSocket latency probing, online/slow/offline classification; expandable cards show all supported NIPs, software, description; per-relay remove button; "Remove dead" strips offline relays; "Publish list" publishes NIP-65 relay list; auto-checks on mount
- **Relay recommendations** — discover relays based on your follows' NIP-65 relay lists; shows follow count, one-click "Add" - **Relay recommendations** — discover relays based on your follows' NIP-65 relay lists; shows follow count, one-click "Add"
- **Embedded Nostr relay** — built-in strfry relay with catch-up sync on startup; your notes are always available locally even when remote relays are slow or offline
- Relay management: add/remove relays, all in one consolidated Relays view - Relay management: add/remove relays, all in one consolidated Relays view
- **NIP-65 outbox model** — reads user relay lists (kind 10002) so you see notes from people who publish to their own relays; publish your own relay list to Nostr - **NIP-65 outbox model** — reads user relay lists (kind 10002) so you see notes from people who publish to their own relays; publish your own relay list to Nostr
@@ -93,7 +96,7 @@ sudo dnf install gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-liba
- **NIP-05 verification badges** — cached verification with green checkmark on note cards - **NIP-05 verification badges** — cached verification with green checkmark on note cards
**Personalization** **Personalization**
- **Color themes** — 7 built-in themes: Midnight (default dark), Light, Catppuccin Mocha, Tokyo Night, Gruvbox, Ethereal, Hackerman; instant switching from Settings - **Color themes** — 7 built-in themes: Midnight (default dark), Light, Catppuccin Mocha, Sepia, Gruvbox, Nord Frost, Hackerman; instant switching from Settings
- **Font size** — Small / Normal / Large / Extra Large presets; scales the entire UI uniformly - **Font size** — Small / Normal / Large / Extra Large presets; scales the entire UI uniformly
**Performance & UX** **Performance & UX**
@@ -164,9 +167,9 @@ See [ROADMAP.md](./ROADMAP.md) for the full prioritised next steps.
Up next: Up next:
- UI polish and visual makeover - UI polish and visual makeover
- Nostr NIP research sprint — expanding protocol support
- Web of Trust scoring
- Custom feeds / lists - Custom feeds / lists
- NIP research sprint — expanding protocol support
- NIP-58 badges, NIP-72 communities
## Support ## Support

View File

@@ -1,7 +1,7 @@
{ {
"name": "vega", "name": "vega",
"private": true, "private": true,
"version": "0.10.1", "version": "0.11.0",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "vega" name = "vega"
version = "0.10.1" version = "0.11.0"
description = "Cross-platform Nostr desktop client with Lightning integration" description = "Cross-platform Nostr desktop client with Lightning integration"
authors = ["hoornet"] authors = ["hoornet"]
edition = "2021" edition = "2021"

View File

@@ -1,7 +1,7 @@
{ {
"$schema": "https://schema.tauri.app/config/2", "$schema": "https://schema.tauri.app/config/2",
"productName": "Vega", "productName": "Vega",
"version": "0.10.1", "version": "0.11.0",
"identifier": "com.hoornet.vega", "identifier": "com.hoornet.vega",
"build": { "build": {
"beforeDevCommand": "npm run dev", "beforeDevCommand": "npm run dev",