mirror of
https://github.com/hoornet/vega.git
synced 2026-04-24 06:40:01 -07:00
171 lines
9.9 KiB
YAML
171 lines
9.9 KiB
YAML
name: Release
|
||
|
||
on:
|
||
push:
|
||
tags:
|
||
- 'v*'
|
||
|
||
jobs:
|
||
release:
|
||
permissions:
|
||
contents: write
|
||
strategy:
|
||
fail-fast: false
|
||
matrix:
|
||
include:
|
||
- platform: ubuntu-22.04
|
||
args: ''
|
||
- platform: windows-latest
|
||
args: ''
|
||
- platform: macos-latest
|
||
args: '--target aarch64-apple-darwin'
|
||
|
||
runs-on: ${{ matrix.platform }}
|
||
|
||
steps:
|
||
- uses: actions/checkout@v4
|
||
|
||
- name: Setup Node.js
|
||
uses: actions/setup-node@v4
|
||
with:
|
||
node-version: 'lts/*'
|
||
|
||
- name: Install Rust stable
|
||
uses: dtolnay/rust-toolchain@stable
|
||
with:
|
||
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin' || matrix.platform == 'macos-12' && 'x86_64-apple-darwin' || '' }}
|
||
|
||
- name: Install Linux dependencies
|
||
if: matrix.platform == 'ubuntu-22.04'
|
||
run: |
|
||
sudo apt-get update
|
||
sudo apt-get install -y \
|
||
libwebkit2gtk-4.1-dev \
|
||
build-essential \
|
||
libssl-dev \
|
||
libayatana-appindicator3-dev \
|
||
librsvg2-dev \
|
||
patchelf
|
||
|
||
- name: Install frontend dependencies
|
||
run: npm install
|
||
|
||
- name: Build and release
|
||
uses: tauri-apps/tauri-action@v0
|
||
env:
|
||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
|
||
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
|
||
with:
|
||
tagName: ${{ github.ref_name }}
|
||
releaseName: Wrystr ${{ github.ref_name }}
|
||
releaseBody: |
|
||
## Wrystr ${{ github.ref_name }}
|
||
|
||
Cross-platform Nostr desktop client — polished UI, deep Lightning integration, first-class long-form writing.
|
||
|
||
> **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.5.0 — Sharing & Thread Indicators
|
||
- **Note sharing** — share button on every note copies a `nostr:nevent1…` URI to clipboard; works when logged out too
|
||
- **Reply count** — notes now show reply count next to the reply button; updates optimistically when you reply
|
||
|
||
### Previous: v0.4.1 — Media & Feed Fixes
|
||
- **Video player** — direct video URLs (.mp4, .webm, .mov, etc.) now render as inline players with native controls
|
||
- **Audio player** — direct audio URLs (.mp3, .wav, .flac, etc.) render as inline audio players with filename display
|
||
- **YouTube/Vimeo rich cards** — YouTube links show thumbnail previews, Vimeo/Spotify/Tidal show branded cards; all open in external browser
|
||
- **Media detection** — parser now recognizes YouTube, Vimeo, Spotify, and Tidal URLs as distinct media types
|
||
- **Fix: video clicks opening thread** — media elements rendered outside the clickable area so interactions don't navigate away
|
||
- **Fix: post not visible on Following tab** — publishing a note while on Following now correctly shows it in the feed
|
||
|
||
### New in v0.4.0 — Phase 3: Discovery & Polish
|
||
- **Image lightbox** — click any image to view full-screen; Escape to close, arrow keys to navigate multi-image posts
|
||
- **Bookmarks (NIP-51)** — save/unsave notes with one click; dedicated Bookmarks view in sidebar; synced to relays (kind 10003)
|
||
- **Discover people** — "follows of follows" suggestions on the Search page with mutual follow counts and one-click follow
|
||
- **Language/script feed filter** — dropdown in feed header filters by writing system (Latin, CJK, Cyrillic, Arabic, Korean, etc.); uses Unicode detection + NIP-32 language tags
|
||
- **UI polish** — skeleton loading placeholders, improved empty states with helpful prompts, subtle view fade transitions
|
||
|
||
### New in v0.3.1
|
||
- **Feed tab persists across navigation** — back button now returns to the correct tab (Global/Following) instead of always resetting to Global
|
||
- **Available on AUR** — Arch/Manjaro users can install with `yay -S wrystr-git`
|
||
|
||
### New in v0.3.0
|
||
- **Instant feedback** — posted notes appear in feed immediately; thread replies show up without waiting for relay
|
||
- **Image paste fix** — uploads now use Tauri HTTP plugin, fixing "Failed to fetch" on Windows
|
||
- **Sent zaps visible** — zap history now correctly shows sent zaps (queries kind 9735 receipts instead of ephemeral kind 9734)
|
||
- **Reply-to @name clickable** — clicking the @name in "↩ replying to @name" now opens that person's profile
|
||
- **Feed refresh on login** — switching or adding an account immediately loads the new account's feed
|
||
|
||
### New in v0.2.8
|
||
- **Fix: OS keychain was a no-op** — `keyring` crate had no platform backends enabled; nsec keys now actually persist to Windows Credential Manager, macOS Keychain, and Linux keyutils
|
||
- **Fix: multi-account persistence** — all nsec accounts restored from keychain on startup; account switching no longer gets stuck after restart
|
||
- **Fix: account switcher** — shows re-login prompt when keychain entry is missing
|
||
|
||
### New in v0.2.6
|
||
- **Fix: auto-updater** — added `createUpdaterArtifacts: true` + regenerated signing key; `.sig` files and `latest.json` are now correctly produced by CI
|
||
|
||
### New in v0.2.3
|
||
- **Fix: auto-updater** — `latest.json` now correctly generated via `includeUpdaterJson: true`; users on older versions will receive the update banner
|
||
|
||
### New in v0.2.0 — Phase 2: Engagement & Reach
|
||
- **Feed reply context** — replies show "↩ replying to @name" above the note; click to open the parent thread
|
||
- **NIP-65 outbox model** — reads kind 10002 relay lists so you see notes from people who publish to their own relays; "Publish relay list to Nostr" button in Settings
|
||
- **Notifications view** — 🔔 sidebar nav item; lists recent mentions with unread badge; badge clears on open
|
||
- **DM unread badge** — messages nav item shows count of conversations with new messages; clears when conversation is opened
|
||
- **Keyboard shortcuts** — `n` focus compose, `/` focus search, `j`/`k` navigate feed with highlight, `Esc` go back, `?` help overlay
|
||
|
||
### New in 0.1.7
|
||
- **Per-account Lightning wallet** — NWC connection is now stored per account; switching accounts loads the correct wallet automatically
|
||
- **New account creation in-app** — "Add account" now has a "New account" tab that generates a fresh keypair (no need to go through onboarding again)
|
||
- **Zap button on thread root note** — like and zap the main note in a thread view
|
||
- **Conditional zap button** — zap only shown for profiles that have a Lightning address (lud16/lud06)
|
||
- **Image paste in compose** — paste an image from clipboard → auto-uploads to nostr.build and inserts the URL
|
||
- **Account switcher redesign** — cleaner dropdown, sign-out/remove moved into menu
|
||
- **GitHub Sponsors link** in Support page
|
||
- Fix: posts no longer sign under the wrong account during rapid account switches
|
||
|
||
### New in 0.1.6
|
||
- **Linux packaging** — ships `.deb` (Ubuntu/Debian/Mint) and `.rpm` (Fedora/openSUSE) instead of AppImage; Arch users see PKGBUILD in the repo
|
||
|
||
### New in 0.1.5
|
||
- **Article reader** — click any `nostr:naddr1…` link to open it in a clean reader with cover image, author, tags, and full markdown; zap the author inline
|
||
- **Zap counts on notes** — ⚡ N sats shown on each note
|
||
- **Quoted note preview** — `nostr:note1…` / `nostr:nevent1…` references render as inline bordered cards; click to open thread
|
||
- **Auto-updater** — "Update & restart" banner appears when a new version is available
|
||
|
||
### New in 0.1.4
|
||
- **Sidebar** — explicit ‹/› collapse toggle, state persisted across restarts
|
||
- **Profile image upload** — uploads to nostr.build, auto-fills URL field
|
||
- **NIP-05 live verification** — real-time domain check with ✓/✗ status
|
||
- **Search improvements** — NIP-50 relay detection, hashtag fallback suggestion
|
||
|
||
### New in 0.1.3
|
||
- **OS keychain** — sessions survive restarts (macOS Keychain, Windows Credential Manager, Linux Secret Service)
|
||
- **Multi-account switcher** — instant switch from sidebar footer
|
||
- **SQLite note + profile cache** — feed loads instantly on startup
|
||
- **Quote & Repost** (NIP-18), **Mute users** (NIP-51), **NWC setup wizard**
|
||
- **System tray**, **Zap history**, **About / Support page**
|
||
|
||
### Install
|
||
|
||
**Linux (Ubuntu / Debian / Mint):** Download the `.deb` and run:
|
||
```
|
||
sudo dpkg -i wrystr_*.deb
|
||
```
|
||
**Linux (Fedora / openSUSE):** Download the `.rpm` and run:
|
||
```
|
||
sudo rpm -i wrystr-*.rpm # Fedora
|
||
sudo zypper install wrystr-*.rpm # openSUSE
|
||
```
|
||
**Linux (Arch / Manjaro):** See [`PKGBUILD`](https://github.com/hoornet/wrystr/blob/main/PKGBUILD) in the repo, or build from source with `npm run tauri build`.
|
||
|
||
**Windows:** Download the `.exe` installer and run it.
|
||
**macOS (Apple Silicon):** Download the `aarch64.dmg` and open it.
|
||
|
||
---
|
||
⚡ Find Wrystr useful? [Zap the developer](https://github.com/hoornet/wrystr#support) or star the repo.
|
||
releaseDraft: false
|
||
prerelease: false
|
||
includeUpdaterJson: true
|
||
args: ${{ matrix.args }}
|