mirror of
https://github.com/hoornet/vega.git
synced 2026-04-24 06:40:01 -07:00
Switch Linux packaging from AppImage to deb + rpm + PKGBUILD
AppImage library bundling causes cascading compatibility failures on rolling-release distros (Arch, mesa 26+): libwayland-egl conflicts break EGL, removing it cascades into GLib version mismatches, and so on. Native packages sidestep this entirely. - tauri.conf.json: targets now ["deb","rpm","nsis","msi","dmg","updater"] — no AppImage - release.yml: drop LINUXDEPLOY_EXCLUDELIST workaround (no longer needed); update install instructions in release body - PKGBUILD: added for Arch/Manjaro users; builds from source via git tag; desktop entry sets WEBKIT_DISABLE_DMABUF_RENDERER=1 (required on Wayland) - README: install table updated with distro-specific commands Arch users: build from source with PKGBUILD or `npm run tauri build`. Ubuntu/Debian/Fedora/openSUSE: install the .deb or .rpm from Releases. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
63
.github/workflows/release.yml
vendored
63
.github/workflows/release.yml
vendored
@@ -58,10 +58,6 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
|
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
|
||||||
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
|
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:
|
with:
|
||||||
tagName: ${{ github.ref_name }}
|
tagName: ${{ github.ref_name }}
|
||||||
releaseName: Wrystr ${{ github.ref_name }}
|
releaseName: Wrystr ${{ github.ref_name }}
|
||||||
@@ -70,48 +66,45 @@ jobs:
|
|||||||
|
|
||||||
Cross-platform Nostr desktop client — polished UI, deep Lightning integration, first-class long-form writing.
|
Cross-platform Nostr desktop client — polished UI, deep Lightning integration, first-class long-form writing.
|
||||||
|
|
||||||
|
### 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
|
### 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
|
- **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; visible to logged-out users too
|
- **Zap counts on notes** — ⚡ N sats shown on each note
|
||||||
- **Quoted note preview** — `nostr:note1…` and `nostr:nevent1…` references render as inline bordered cards with author and content preview; click to open thread
|
- **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; installs and relaunches automatically
|
- **Auto-updater** — "Update & restart" banner appears when a new version is available
|
||||||
|
|
||||||
### New in 0.1.4
|
### New in 0.1.4
|
||||||
- **Sidebar** — explicit ‹/› collapse toggle always visible; collapsed state persisted across restarts; nav icons + tooltips in collapsed mode
|
- **Sidebar** — explicit ‹/› collapse toggle, state persisted across restarts
|
||||||
- **Profile image upload** — "upload" button next to picture/banner fields; uploads to nostr.build, auto-fills URL
|
- **Profile image upload** — uploads to nostr.build, auto-fills URL field
|
||||||
- **NIP-05 live verification** — checks your domain's /.well-known/nostr.json in real time; shows ✓ verified / ✗ mismatch / ✗ not found
|
- **NIP-05 live verification** — real-time domain check with ✓/✗ status
|
||||||
- **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
|
- **Search improvements** — NIP-50 relay detection, hashtag fallback suggestion
|
||||||
|
|
||||||
### New in 0.1.3
|
### New in 0.1.3
|
||||||
- **OS keychain** — nsec stored securely; sessions survive restarts (macOS Keychain, Windows Credential Manager, Linux Secret Service)
|
- **OS keychain** — sessions survive restarts (macOS Keychain, Windows Credential Manager, Linux Secret Service)
|
||||||
- **Multi-account switcher** — save multiple identities, switch instantly from the sidebar footer
|
- **Multi-account switcher** — instant switch from sidebar footer
|
||||||
- **SQLite note + profile cache** — feed loads from local cache instantly on startup
|
- **SQLite note + profile cache** — feed loads instantly on startup
|
||||||
- **Quote & Repost** (NIP-18) — one-click repost or compose a quote reply
|
- **Quote & Repost** (NIP-18), **Mute users** (NIP-51), **NWC setup wizard**
|
||||||
- **Mute users** (NIP-51) — mute list synced to relays, muted accounts filtered from feed
|
- **System tray**, **Zap history**, **About / Support page**
|
||||||
- **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
|
### Install
|
||||||
**Linux:** Download the `.AppImage`, make it executable (`chmod +x`), and run it.
|
|
||||||
|
**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.
|
**Windows:** Download the `.exe` installer and run it.
|
||||||
**macOS (Apple Silicon):** Download the `aarch64.dmg` and open it.
|
**macOS (Apple Silicon):** Download the `aarch64.dmg` and open it.
|
||||||
**macOS (Intel):** Download the `x86_64.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.
|
⚡ Find Wrystr useful? [Zap the developer](https://github.com/hoornet/wrystr#support) or star the repo.
|
||||||
releaseDraft: false
|
releaseDraft: false
|
||||||
|
|||||||
53
PKGBUILD
Normal file
53
PKGBUILD
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
# Maintainer: hoornet <harpos@getalby.com>
|
||||||
|
pkgname=wrystr
|
||||||
|
pkgver=0.1.5
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc="Cross-platform Nostr desktop client with Lightning integration"
|
||||||
|
arch=('x86_64')
|
||||||
|
url="https://github.com/hoornet/wrystr"
|
||||||
|
license=('MIT')
|
||||||
|
depends=(
|
||||||
|
'webkit2gtk-4.1'
|
||||||
|
'gtk3'
|
||||||
|
'libayatana-appindicator'
|
||||||
|
'openssl'
|
||||||
|
)
|
||||||
|
makedepends=(
|
||||||
|
'rust'
|
||||||
|
'cargo'
|
||||||
|
'nodejs'
|
||||||
|
'npm'
|
||||||
|
)
|
||||||
|
source=("$pkgname-$pkgver::git+https://github.com/hoornet/wrystr.git#tag=v$pkgver")
|
||||||
|
sha256sums=('SKIP')
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "$pkgname-$pkgver"
|
||||||
|
npm install
|
||||||
|
npm run tauri build -- --bundles deb
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "$pkgname-$pkgver"
|
||||||
|
|
||||||
|
install -Dm755 "src-tauri/target/release/wrystr" \
|
||||||
|
"$pkgdir/usr/bin/wrystr"
|
||||||
|
|
||||||
|
install -Dm644 "src-tauri/icons/128x128.png" \
|
||||||
|
"$pkgdir/usr/share/icons/hicolor/128x128/apps/wrystr.png"
|
||||||
|
|
||||||
|
install -Dm644 /dev/stdin \
|
||||||
|
"$pkgdir/usr/share/applications/wrystr.desktop" << 'EOF'
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=Wrystr
|
||||||
|
Comment=Nostr desktop client
|
||||||
|
Exec=env WEBKIT_DISABLE_DMABUF_RENDERER=1 /usr/bin/wrystr
|
||||||
|
Icon=wrystr
|
||||||
|
Type=Application
|
||||||
|
Categories=Network;InstantMessaging;
|
||||||
|
StartupNotify=true
|
||||||
|
EOF
|
||||||
|
|
||||||
|
install -Dm644 "LICENSE" \
|
||||||
|
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||||
|
}
|
||||||
17
README.md
17
README.md
@@ -8,14 +8,15 @@ A cross-platform desktop Nostr client built with Tauri 2.0 + React + TypeScript.
|
|||||||
|
|
||||||
Grab the latest release from the [Releases page](https://github.com/hoornet/wrystr/releases).
|
Grab the latest release from the [Releases page](https://github.com/hoornet/wrystr/releases).
|
||||||
|
|
||||||
| Platform | File |
|
| Platform | File | Command |
|
||||||
|---|---|
|
|---|---|---|
|
||||||
| Linux | `.AppImage` (make executable, then run) |
|
| Ubuntu / Debian / Mint | `.deb` | `sudo dpkg -i wrystr_*.deb` |
|
||||||
| Windows | `.exe` installer |
|
| Fedora | `.rpm` | `sudo rpm -i wrystr-*.rpm` |
|
||||||
| macOS (Apple Silicon) | `aarch64.dmg` |
|
| openSUSE | `.rpm` | `sudo zypper install wrystr-*.rpm` |
|
||||||
| macOS (Intel) | `x86_64.dmg` |
|
| Arch / Manjaro | build from source | see [`PKGBUILD`](./PKGBUILD) |
|
||||||
|
| Windows | `.exe` installer | run the installer |
|
||||||
No dependencies required — everything is bundled.
|
| macOS (Apple Silicon) | `aarch64.dmg` | open and drag to Applications |
|
||||||
|
| macOS (Intel) | `x86_64.dmg` | open and drag to Applications |
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
},
|
},
|
||||||
"bundle": {
|
"bundle": {
|
||||||
"active": true,
|
"active": true,
|
||||||
"targets": "all",
|
"targets": ["deb", "rpm", "nsis", "msi", "dmg", "updater"],
|
||||||
"icon": [
|
"icon": [
|
||||||
"icons/32x32.png",
|
"icons/32x32.png",
|
||||||
"icons/128x128.png",
|
"icons/128x128.png",
|
||||||
|
|||||||
Reference in New Issue
Block a user