mirror of
https://github.com/hoornet/vega.git
synced 2026-05-17 05:14:51 -07:00
Bump to v0.9.2 — relay status, toasts, debug panel, relay UX
This commit is contained in:
25
.github/workflows/release.yml
vendored
25
.github/workflows/release.yml
vendored
@@ -69,16 +69,21 @@ 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.
|
||||
|
||||
### New in v0.9.1 — Live Feed & Relay Reliability
|
||||
Fundamental upgrade to how Wrystr connects to relays and delivers content.
|
||||
- **Live streaming feed** — persistent relay subscriptions deliver new notes in real-time; no manual refresh needed
|
||||
- **Timeouts on all relay fetches** — every relay query across the entire codebase now has a timeout (5–12s). No view can hang indefinitely — Articles, DMs, Notifications, Zaps, Trending all fixed
|
||||
- **Fixed relay death spiral** — removed aggressive liveness probe that was disconnecting working relays; relay connections now stay stable
|
||||
- **NDK subscription hygiene** — prevents stale subscription reuse; `since` filters ensure feed freshness
|
||||
- **Feed diagnostics** — developer console helpers for tracking fetch timing, event freshness, and relay states
|
||||
- **Background relay recovery** — automatic NDK instance reset after 30s of continuous failure; preserves login state
|
||||
- **Fixed Articles Latest** — no longer wipes results on follow list changes
|
||||
- **Fixed Zap History** — proper loading state; increased timeout for zap queries
|
||||
### New in v0.9.2 — Relay Status, Toasts & Debug Tools
|
||||
Better visibility into what's happening under the hood.
|
||||
- **Relay status badge** — compact "8/12 relays" indicator in feed header with color coding (green/yellow/red); hover for per-relay connection details
|
||||
- **Toast notifications** — transient messages for connection events: "Connection lost", "Back online", "Resetting relay connections", "Relays reconnected"
|
||||
- **Per-tab "last updated" timestamp** — shows how fresh each feed tab is; Global/Following/Trending tracked independently
|
||||
- **Subscription debug panel** — Ctrl+Shift+D toggles a hidden panel showing NDK uptime, live subscription status, per-relay state, feed timestamps, and recent diagnostics log
|
||||
- **Consolidated relay management** — all relay controls (add, remove, health check, publish list, recommendations) now in one Relays view; removed duplicate relay section from Settings
|
||||
- **Per-relay remove button** — hover any relay card to remove it individually
|
||||
- **Full NIP badge display** — relay cards now show all supported NIPs, not just a filtered subset
|
||||
- **Status dot tooltips** — hover relay status dots for explanations (Online, Slow, Offline, Awaiting check)
|
||||
- **Wider scrollbar** — 12px for easier mouse dragging on long threads
|
||||
- **Acknowledgements section** — added to README
|
||||
|
||||
### Previous: v0.9.1 — Live Feed & Relay Reliability
|
||||
- Live streaming feed, timeouts on all relay fetches, fixed relay death spiral, NDK subscription hygiene, feed diagnostics, background relay recovery
|
||||
|
||||
### Previous: v0.9.0 — Thread Conversation Overhaul
|
||||
- Nested thread trees, reply-to-any-note, recursive reply fetching, ancestor chain, multi-level back navigation, thread collapse, mute filtering in trees, podcast subscriptions
|
||||
|
||||
10
CLAUDE.md
10
CLAUDE.md
@@ -45,7 +45,7 @@ CI triggers on the tag and builds all three platforms (Ubuntu, Windows, macOS AR
|
||||
**Frontend** (`src/`): React 19 + TypeScript + Vite + Tailwind CSS 4
|
||||
|
||||
- `src/App.tsx` — root component; shows `OnboardingFlow` for new users, then view routing via UI store
|
||||
- `src/stores/` — Zustand stores per domain: `feed.ts`, `user.ts`, `ui.ts`, `lightning.ts`, `drafts.ts`, `relayHealth.ts`, `bookmark.ts`
|
||||
- `src/stores/` — Zustand stores per domain: `feed.ts`, `user.ts`, `ui.ts`, `lightning.ts`, `drafts.ts`, `relayHealth.ts`, `bookmark.ts`, `toast.ts`
|
||||
- `src/lib/nostr/` — NDK wrapper split into domain modules (`core.ts`, `notes.ts`, `social.ts`, `articles.ts`, `engagement.ts`, `dms.ts`, `bookmarks.ts`, `muting.ts`, `search.ts`, `relays.ts`, `trending.ts`); barrel `index.ts` re-exports all; all Nostr calls go through here
|
||||
- `src/lib/lightning/` — NWC client (`nwc.ts`); Lightning payment logic
|
||||
- `src/hooks/` — `useProfile.ts`, `useReactionCount.ts`
|
||||
@@ -105,9 +105,13 @@ CI triggers on the tag and builds all three platforms (Ubuntu, Windows, macOS AR
|
||||
- Zaps: NWC wallet connect (NIP-47) + NIP-57 via NDKZapper
|
||||
- **Advanced search** — query parser with modifiers: `by:author`, `mentions:npub`, `kind:N`, `is:article`, `has:image`, `since:date`, `until:date`, `#hashtag`, `"phrase"`, boolean `OR`; NIP-05 resolution; client-side content filters; search help panel
|
||||
- Search: NIP-50 full-text, hashtag (#t filter), people, articles
|
||||
- Settings: relay add/remove (persisted to localStorage), NWC URI, npub copy
|
||||
- **Relay health checker** — NIP-11 info fetch, WebSocket latency probing, online/slow/offline status; expandable cards with supported NIPs, software info; "Remove dead" + "Republish list" workflow
|
||||
- Settings: NWC wallet, notifications, data export, identity, mute lists
|
||||
- **Relay management** — consolidated Relays view with add/remove individual relays, health checker (NIP-11 info, WebSocket latency, online/slow/offline status), expandable cards with all supported NIPs, per-relay remove button, "Remove dead" workflow, publish relay list (NIP-65)
|
||||
- **Relay recommendations** — suggest relays based on follows' NIP-65 relay lists; "Discover relays" button with follow count, one-click "Add"
|
||||
- **Relay status badge** — compact "N/M relays" indicator in feed header with color coding; hover tooltip shows per-relay connection state
|
||||
- **Toast notifications** — transient status messages for relay connection events (lost, reconnecting, back online)
|
||||
- **Per-tab "last updated" timestamp** — relative time in feed header, tracked independently per tab (global/following/trending)
|
||||
- **Subscription debug panel** — Ctrl+Shift+D toggles hidden panel showing NDK uptime, live sub status, per-relay state, feed timestamps, recent diagnostics log
|
||||
- **Data export** — export bookmarks, follows, and relay list as JSON via native save dialog (Tauri plugin-dialog + plugin-fs)
|
||||
- **Profile banner polish** — hero-height banner (h-36), click-to-lightbox, avatar overlaps banner edge with ring, loading shimmer
|
||||
- **Reading list tracking** — read/unread state on bookmarked articles (localStorage-backed), unread dot indicators, sidebar badge, auto-mark-read on open
|
||||
|
||||
2
PKGBUILD
2
PKGBUILD
@@ -1,6 +1,6 @@
|
||||
# Maintainer: hoornet <hoornet@users.noreply.github.com>
|
||||
pkgname=wrystr
|
||||
pkgver=0.9.1
|
||||
pkgver=0.9.2
|
||||
pkgrel=1
|
||||
pkgdesc="Cross-platform Nostr desktop client with Lightning integration"
|
||||
arch=('x86_64')
|
||||
|
||||
13
README.md
13
README.md
@@ -65,10 +65,12 @@ sudo dnf install gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-liba
|
||||
- **Notifications** — background poller (60s) for mentions, zaps, new followers; each type independently toggleable; OS push notifications; 🔔 in sidebar with unread badge
|
||||
|
||||
**Relay & network**
|
||||
- **Relay health checker** — NIP-11 info fetch, WebSocket latency probing, online/slow/offline classification; expandable cards show supported NIPs, software, description; "Remove dead" strips offline relays, "Republish list" publishes cleaned NIP-65 relay list; auto-checks on mount
|
||||
- **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"
|
||||
- **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 management: add/remove relays with live connection status
|
||||
- **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 from Settings
|
||||
- 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
|
||||
|
||||
**Lightning & zaps**
|
||||
- **Per-account NWC wallet** — each account remembers its own Lightning wallet; switching accounts loads the correct one automatically
|
||||
@@ -89,7 +91,9 @@ sudo dnf install gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-liba
|
||||
- **NIP-05 verification badges** — cached verification with green checkmark on note cards
|
||||
|
||||
**Performance & UX**
|
||||
- **Resilient relay connectivity** — all relay queries have timeouts (no more infinite loading); automatic reconnection with NDK instance reset as last resort; feed diagnostics for debugging
|
||||
- **Resilient relay connectivity** — all relay queries have timeouts (no more infinite loading); automatic reconnection with NDK instance reset as last resort; toast notifications for connection events; feed diagnostics for debugging
|
||||
- **Per-tab "last updated" timestamp** — relative time indicator in feed header shows how fresh each tab's data is
|
||||
- **Subscription debug panel** — `Ctrl+Shift+D` toggles a hidden panel showing NDK uptime, live subscription status, per-relay state, feed timestamps, and recent diagnostics
|
||||
- **Auto-updater** — "Update & restart" banner when a new version is available
|
||||
- **SQLite note cache** — feed loads instantly from local cache on startup; profiles cached for immediate avatar display
|
||||
- **Data export** — export bookmarks, follows, and relay list as JSON via native save dialog
|
||||
@@ -153,6 +157,7 @@ npm run tauri build # production binary
|
||||
See [ROADMAP.md](./ROADMAP.md) for the full prioritised next steps.
|
||||
|
||||
Up next:
|
||||
- Color themes / light mode
|
||||
- UI polish and visual makeover
|
||||
- Nostr NIP research sprint — expanding protocol support
|
||||
- Web of Trust scoring
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "wrystr",
|
||||
"private": true,
|
||||
"version": "0.9.1",
|
||||
"version": "0.9.2",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "wrystr"
|
||||
version = "0.9.1"
|
||||
version = "0.9.2"
|
||||
description = "Cross-platform Nostr desktop client with Lightning integration"
|
||||
authors = ["hoornet"]
|
||||
edition = "2021"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "https://schema.tauri.app/config/2",
|
||||
"productName": "Wrystr",
|
||||
"version": "0.9.1",
|
||||
"version": "0.9.2",
|
||||
"identifier": "com.hoornet.wrystr",
|
||||
"build": {
|
||||
"beforeDevCommand": "npm run dev",
|
||||
|
||||
Reference in New Issue
Block a user