ClipRelay

com.hoppe.cliprelay
by hoppe2

Clipboard sync across your devices via Nostr

Automatically syncs clipboard between your devices. All communication goes through Nostr relays, encrypted with NIP-44. Authentication via NIP-46 bunker or Amber.

First release: Apr 18, 2026, 8 total releases.

Most recent release: Aug 16, 2026.

Repo

Appears in 1 app stack.

0 sats / 0 zaps received in the past year.

Sats Received

Underlying data available via MCP: app_zaps, app_releases.

Zap Count

Underlying data available via MCP: app_zaps, app_releases.

Releases

  • Aug 16, 2026 0.2.0
    - QR (nostrconnect) login is now available on Android — sign in with a signer app on another phone, or tap the QR to connect with Amber on this device - bunker URL can now be scanned with the camera — no more copying secret strings through messengers - bunker connect times out after 60s instead of hanging forever - Fixed: retry button after a failed Amber login; spurious timeout error when switching login tabs
  • Aug 13, 2026 0.1.4
    ### Added - **Sensitive clipboard support.** Passwords copied from password managers (KeePassXC etc.) still sync, but are kept out of history on every device, expire from relays in minutes instead of a day, and the concealed marker is re-applied on the receiving clipboard so clipboard managers there treat it as sensitive too (macOS / Windows / Linux write-side, Android 13+). - **Connection log.** A collapsible log on the main screen showing what the reconnection machinery did while you were away — wake detections, reconnects, recoveries. - Build version and commit hash shown at the bottom of the main screen. ### Fixed - **Sync reliability, round two.** The recovery ladder could be silenced by a liveness-probe false positive (subscriptions synthesize EOSE locally when a relay is silent); the probe now demands a real round-trip. The WebView is no longer suspended by macOS while the window sits hidden. And when the WebKit socket layer breaks beyond repair, the app reloads the page or relaunches itself — after confirming over Rust-side networking that the internet is actually reachable. - **Signer sessions could end up on relays the signer wasn't listening on**, making everything decrypt-fail while plain sync kept working. Session relays are now pinned at pairing, widened with the bootstrap relays, and the signer connection is rebuilt whenever connections look suspect.
  • Aug 5, 2026 0.1.3
    ### Added - **Send typed text.** New input box on the main screen — type and send straight to your other devices' clipboards (Cmd/Ctrl+Enter). No copying needed. ### Fixed - **Sync permanently dying after long idle — for real this time.** v0.1.2's wake detection wasn't enough: dead sockets can keep reporting "connected" forever, and the NIP-46 signer could hang mid-encrypt/decrypt with no timeout. Liveness is now verified with real relay round-trips, and recovery escalates until it works: resubscribe → drop sockets → rebuild the connection pool from scratch. Signer calls got timeouts and automatic rebuild. - **Relay indicators use shapes** (● connected / ◐ checking / ○ disconnected) instead of color alone — readable with red-green color blindness. ### Changed
    More…
    - nostr-tools 2.24.1.
  • Jul 21, 2026 0.1.2
    ### Fixed - **Sync silently stopping after the machine sat idle.** Leaving the computer alone long enough to sleep killed the relay connections with no recovery — publishing kept working, so only *receiving* broke, which made it easy to miss. The app now detects wake-from-sleep and network changes, drops the stale sockets and reconnects from scratch. Anything that arrived while disconnected is picked up on reconnect. - **Relay indicators showing green while nothing was arriving.** The status check was creating fresh connections just to report on them, so a dead subscription still looked healthy. ### Changed - Dependency refresh: TypeScript 7, Vite 8.1, Tauri 2.11, nostr-tools 2.23.12.
  • May 17, 2026 0.1.1
    - Skip republishing empty or duplicate clipboard text (already in history).
  • May 5, 2026 0.1.0
    ### Changed - Internal refactor only — no user-facing changes. - Sync loop extracted into a `SyncEngine` class. - Android-specific platform code moved under `platform/android/`. - Foreground service and native subscription startup paths cleanly separated. - PNG fingerprinting consolidated. No new features or bug fixes in this release.
  • Apr 19, 2026 0.0.4
    - Reduced APK size by dropping legacy architectures (arm64-only build) - Upgraded core dependencies: Vite 8, TypeScript 6, Node 24, Java 21
  • Apr 18, 2026 0.0.3
    Auto-publish default relay and Blossom server on first login Migrated background relay subscription to native OkHttp — fixes clipboard sync stalling due to WebView throttling Removed boot-on-startup — app must be launched explicitly Fixed duplicate battery exemption dialog appearing on service start Overhauled permission UX — notification channel guidance included Security: clipboard content no longer exposed in OS notifications (fixed text only) Security: removed sensitive data from Amber plugin production logs