Commit Graph

7 Commits

Author SHA1 Message Date
Jure ebf964980b Add V4V sidebar section with dashboard, settings, and history
- New V4V store with budget tracking, cap enforcement, and history
- Dashboard: live streaming status, per-episode + weekly budget bars, stats
- Settings: auto-enable toggle (guarded by caps), per-episode cap, weekly
  budget, default rate, info icons
- History: expandable list of past V4V episodes with recipient breakdowns
- Budget enforcement: streaming stops with toast when cap is hit
- Auto-streaming: starts automatically for V4V episodes when enabled
- Cap reached state: dashboard shows red card, ticker shows "(capped)"
- V4VIndicator: slimmed popup, AUTO badge, "open v4v" nav link
- Fix duplicate history entries on cap stop
2026-04-04 19:03:00 +02:00
Jure 1d5d43ae78 V4V: keysend payments, recipient breakdown, and episode nudge
- Add payKeysendViaNWC for node pubkey recipients with TLV records
- Route V4V payments to keysend or LNURL-pay based on recipient type
- Show recipient split breakdown in V4V panel (name + percentage)
- Add V4V nudge: brief tooltip when V4V episode starts (once per session)
- Highlight V4V button in amber when episode has recipients but streaming off
- Enhanced V4V badge in episode list with lightning icon and pill style
2026-04-04 17:58:14 +02:00
Jure 5444214041 Fix podcast player stability, V4V payments, and Lightning address
- Add audio.load() reset to prevent cascading failures between episodes
- Add onPlaying event handler for reliable post-buffer playback in WebKitGTK
- Add 15s loading timeout with user-friendly error for broken audio URLs
- Fix V4V LNURL-pay: use Tauri HTTP plugin instead of CORS-blocked browser fetch
- Fix Podcast Index API: use Tauri HTTP plugin for V4V enrichment
- Fall back to Podcast Index enclosure URL when Fountain.fm CDN is broken
- Update Lightning address to jure@getalby.com (Alby cloud migration)
- Add broad HTTPS scope for LNURL-pay across Lightning providers
2026-04-03 22:27:34 +02:00
Jure c83afeabc4 Enrich Fountain.fm episodes with V4V recipients from Podcast Index
Fountain-resolved episodes now get V4V payment splits by looking up
the show on Podcast Index and matching the episode. Enables streaming
sats to podcast creators directly from the player bar.
2026-04-03 15:20:30 +02:00
Jure aa57ff4cd8 Fix Fountain.fm episode cards: use Tauri HTTP plugin for CORS bypass
- Import fetch from @tauri-apps/plugin-http (browser fetch was CORS-blocked)
- Add fountain.fm to Tauri HTTP capability scope
- Extract og:audio meta tag for reliable audio URL resolution
- Parse OG title into show name + episode title
2026-04-03 15:01:06 +02:00
Jure 5cbaa7b741 Rename Wrystr to Vega
Named after Jurij Vega (1754-1802), Slovenian mathematician who made
knowledge accessible through his logarithm tables. Rebrand before
OpenSats application (April 1).

- Product name, window title, identifiers, binary name all renamed
- Cargo package: wrystr -> vega, wrystr_lib -> vega_lib
- PKGBUILD: wrystr -> vega (new AUR package name)
- Release workflow: artifact names, release text updated
- README: new tagline referencing Jurij Vega
- DB migration: auto-renames wrystr.db -> vega.db on first launch
- Keyring service name kept as "wrystr" for backward compatibility
- localStorage keys kept as wrystr_* to preserve existing user data

Pending manual steps:
- Rename GitHub repo hoornet/wrystr -> hoornet/vega
- Create new AUR package vega-git, orphan wrystr-git
- Update local .desktop launcher
2026-03-30 21:14:02 +02:00
Jure 04180cf186 Add podcast playback, Fountain.fm cards, V4V streaming, fix notifications
Podcast feature:
- Podcast discovery via Podcast Index API (trending + search)
- Persistent player bar with play/pause, seek, speed (1x/1.5x/2x), volume
- Audio persists across view navigation, resumes from saved position
- Fountain.fm URL detection in feed with rich playable cards
- "Play in Wrystr" button on inline audio blocks
- V4V streaming sats via NWC (LNURL-pay, 5min accumulation, split payments)
- Share what you're listening to (publish note with confirm)
- Space key toggles play/pause globally

Notification fixes:
- Per-notification read tracking (click to mark read) instead of mark-all-on-open
- Read notifications persist at 50% opacity, unread get accent border
- Always fetches last 7 days, keeps 15 most recent
- Filter out own replies from notifications
- Sidebar badge shows only unread count
2026-03-21 12:53:05 +01:00