Files
vega/.github/workflows/release.yml
Jure b1647d7a20 Fix Linux AppImage blank window on mesa 26+ / Arch / modern distros
The AppImage bundled libwayland-egl.so.1 from ubuntu-22.04 which is
incompatible with mesa 26's EGL implementation, causing:
  "Could not create default EGL display: EGL_BAD_PARAMETER. Aborting..."

Fix: exclude all libwayland-* libs from the AppImage via LINUXDEPLOY_EXCLUDELIST
so the app always uses the system's Wayland libraries. The dev binary
already worked correctly since it uses system libs directly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 22:28:03 +01:00

120 lines
5.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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'
- platform: macos-12
args: '--target x86_64-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 }}
# Exclude Wayland libs from AppImage — the bundled ubuntu-22.04 versions
# conflict with mesa 26+ on Arch/modern distros causing EGL_BAD_PARAMETER.
# System libs are always used instead (correct behaviour for Wayland).
LINUXDEPLOY_EXCLUDELIST: "libwayland-egl.so.1 libwayland-client.so.0 libwayland-cursor.so.0 libwayland-server.so.0"
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.
### New in 0.1.5
- **Article reader** — click any `nostr:naddr1…` link or long-form article reference to open it in a clean reader with cover image, author, tags, and full markdown content; zap the author inline
- **Zap counts on notes** — ⚡ N sats shown on each note; visible to logged-out users too
- **Quoted note preview** — `nostr:note1…` and `nostr:nevent1…` references render as inline bordered cards with author and content preview; click to open thread
- **Auto-updater** — "Update & restart" banner appears when a new version is available; installs and relaunches automatically
### New in 0.1.4
- **Sidebar** — explicit / collapse toggle always visible; collapsed state persisted across restarts; nav icons + tooltips in collapsed mode
- **Profile image upload** — "upload" button next to picture/banner fields; uploads to nostr.build, auto-fills URL
- **NIP-05 live verification** — checks your domain's /.well-known/nostr.json in real time; shows ✓ verified / ✗ mismatch / ✗ not found
- **Search improvements** — detects which relays support NIP-50 full-text; zero-results state shows relay count and one-click "Search #hashtag" fallback; tabs always shown after search
### New in 0.1.3
- **OS keychain** — nsec stored securely; sessions survive restarts (macOS Keychain, Windows Credential Manager, Linux Secret Service)
- **Multi-account switcher** — save multiple identities, switch instantly from the sidebar footer
- **SQLite note + profile cache** — feed loads from local cache instantly on startup
- **Quote & Repost** (NIP-18) — one-click repost or compose a quote reply
- **Mute users** (NIP-51) — mute list synced to relays, muted accounts filtered from feed
- **NWC setup wizard** — guided wallet picker (Alby Hub, Alby Extension, Mutiny, Phoenix) with inline validation
- **System tray** — close hides to tray, "Quit" in tray menu exits
- **Zap history** — Received and Sent tabs with amounts, counterparts, comments
- **About / Support page** — in-app zap button, Lightning + Bitcoin QR codes
### All features
- Onboarding: key generation, nsec backup, plain-language UX
- Global + following feed, compose, replies, thread view
- Reactions (NIP-25) with live network counts
- Follow / unfollow (NIP-02), profile view + edit
- Long-form article editor (NIP-23) with draft auto-save
- Zaps via NWC (NIP-47 + NIP-57) with amount presets and comments
- Search: NIP-50 full-text, #hashtag, people with inline follow
- Relay management with live connection status
- Collapsible sidebar, read-only (npub) login mode
### Install
**Linux:** Download the `.AppImage`, make it executable (`chmod +x`), and run it.
**Windows:** Download the `.exe` installer and run it.
**macOS (Apple Silicon):** Download the `aarch64.dmg` and open it.
**macOS (Intel):** Download the `x86_64.dmg` and open it.
No dependencies required — everything is bundled.
---
⚡ Find Wrystr useful? [Zap the developer](https://github.com/hoornet/wrystr#support) or star the repo.
releaseDraft: false
prerelease: false
args: ${{ matrix.args }}