Bump to v0.9.8 — Web of Trust, instant notifications, profile retry

This commit is contained in:
Jure
2026-03-29 16:28:33 +02:00
parent ef81ca8ada
commit c5ddd88cbd
6 changed files with 16 additions and 12 deletions

View File

@@ -69,11 +69,14 @@ 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.9.7Emoji Reactions & Search ### New in v0.9.8Web of Trust & Instant Notifications
- **Grouped emoji reactions** — reactions display as pills (❤5 🤙3 🔥2) instead of a single count; multi-reaction per note; throttled fetch queue for reliability - **Web of Trust on profiles** — personalized "Followed by people you trust" section powered by Vertex DVM; clickable follower avatars with expand/collapse
- **npub search** — pasting a bare npub or nprofile in search navigates directly to that profile - **Instant notifications** — SQLite-backed notification cache; notifications load instantly on startup instead of waiting for relays; read state persists across restarts
- **Notification reliability** — poller waits for relay connection before first fetch; prevents empty badges on startup - **Profile notes retry** — automatically retries on empty result instead of permanently showing "No notes found"
- **Dev-only debug logger** — `debug.log/warn/error` silent in production builds - **Reaction queue fix** — throttle queue no longer jams when relay queries fail
### Previous: v0.9.7 — Emoji Reactions & Search
- Grouped emoji reactions (❤5 🤙3 🔥2), multi-reaction per note, npub search, notification reliability, dev-only debug logger
### Previous: v0.9.6 — Font Size Fix ### Previous: v0.9.6 — Font Size Fix
- Content-only zoom, flex-wrap everywhere, themes grid fix - Content-only zoom, flex-wrap everywhere, themes grid fix

View File

@@ -54,10 +54,10 @@ CI triggers on the tag and builds all three platforms (Ubuntu, Windows, macOS AR
- `src/App.tsx` — root component; shows `OnboardingFlow` for new users, then view routing via UI store - `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`, `toast.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/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`, `vertex.ts`); barrel `index.ts` re-exports all; all Nostr calls go through here
- `src/lib/themes.ts` — Color theme definitions (7 themes) and `applyTheme()` utility - `src/lib/themes.ts` — Color theme definitions (7 themes) and `applyTheme()` utility
- `src/lib/lightning/` — NWC client (`nwc.ts`); Lightning payment logic - `src/lib/lightning/` — NWC client (`nwc.ts`); Lightning payment logic
- `src/hooks/``useProfile.ts`, `useReactions.ts` (grouped emoji reactions with throttled fetch queue) - `src/hooks/``useProfile.ts`, `useReactions.ts` (grouped emoji reactions with throttled fetch queue), `useReputation.ts` (Vertex WoT with cache)
- `src/lib/debug.ts` — Dev-only logger (silent in production builds) - `src/lib/debug.ts` — Dev-only logger (silent in production builds)
- `src/components/feed/` — Feed, NoteCard, NoteContent, NoteActions, InlineReplyBox, TextSegments, MediaCards, ComposeBox - `src/components/feed/` — Feed, NoteCard, NoteContent, NoteActions, InlineReplyBox, TextSegments, MediaCards, ComposeBox
- `src/components/profile/` — ProfileView, EditProfileForm, ImageField, Nip05Field, ProfileMediaGallery - `src/components/profile/` — ProfileView, EditProfileForm, ImageField, Nip05Field, ProfileMediaGallery
@@ -154,8 +154,9 @@ CI triggers on the tag and builds all three platforms (Ubuntu, Windows, macOS AR
- **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, Tokyo Night, Gruvbox, Ethereal, 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
- **SQLite-backed notifications** — instant load on startup from local cache; relay diff merged in background; read state persists in DB across restarts
**Not yet implemented:** **Not yet implemented:**
- Web of Trust scoring
- NIP-96 file storage - NIP-96 file storage
- Custom feeds / lists - Custom feeds / lists

View File

@@ -1,6 +1,6 @@
# Maintainer: hoornet <hoornet@users.noreply.github.com> # Maintainer: hoornet <hoornet@users.noreply.github.com>
pkgname=wrystr pkgname=wrystr
pkgver=0.9.7 pkgver=0.9.8
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

@@ -1,7 +1,7 @@
{ {
"name": "wrystr", "name": "wrystr",
"private": true, "private": true,
"version": "0.9.7", "version": "0.9.8",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "wrystr" name = "wrystr"
version = "0.9.7" version = "0.9.8"
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": "Wrystr", "productName": "Wrystr",
"version": "0.9.7", "version": "0.9.8",
"identifier": "com.hoornet.wrystr", "identifier": "com.hoornet.wrystr",
"build": { "build": {
"beforeDevCommand": "npm run dev", "beforeDevCommand": "npm run dev",