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
This commit is contained in:
Jure
2026-03-30 21:14:02 +02:00
parent 383634fb56
commit 5cbaa7b741
315 changed files with 12550 additions and 95 deletions

View File

@@ -89,7 +89,7 @@ export function FountainCard({ seg }: { seg: ContentSegment }) {
<button
onClick={handlePlay}
className="shrink-0 w-8 h-8 rounded-full border border-border flex items-center justify-center hover:bg-accent/10 transition-colors"
title="Play in Wrystr"
title="Play in Vega"
>
<svg width="10" height="12" viewBox="0 0 10 12" fill="currentColor" className="text-accent ml-0.5">
<polygon points="0,0 10,6 0,12" />

View File

@@ -64,7 +64,7 @@ export function AudioBlock({ sources }: { sources: string[] }) {
</div>
<div className="min-w-0 flex-1">
<div className="text-[12px] text-text truncate">{name}</div>
<div className="text-[10px] text-text-dim">audio · play in wrystr</div>
<div className="text-[10px] text-text-dim">audio · play in vega</div>
</div>
</button>
);

View File

@@ -14,7 +14,7 @@ function Shell({ children }: { children: React.ReactNode }) {
return (
<div className="h-screen w-screen bg-bg flex items-center justify-center">
<div className="w-full max-w-md px-8">
<div className="text-text-dim text-[10px] font-bold tracking-[0.3em] uppercase mb-8">WRYSTR</div>
<div className="text-text-dim text-[10px] font-bold tracking-[0.3em] uppercase mb-8">VEGA</div>
{children}
</div>
</div>
@@ -34,9 +34,9 @@ function Body({ children }: { children: React.ReactNode }) {
function WelcomeStep({ onCreateNew, onHaveKey }: { onCreateNew: () => void; onHaveKey: () => void }) {
return (
<Shell>
<Heading>Welcome to Wrystr.</Heading>
<Heading>Welcome to Vega.</Heading>
<Body>
Wrystr is a Nostr client a social platform where you own your identity,
Vega is a Nostr client a social platform where you own your identity,
your content, and your social graph. No company can delete your account or
censor your posts.
</Body>
@@ -138,7 +138,7 @@ function BackupStep({ signer, onComplete }: { signer: NDKPrivateKeySigner; onCom
<Heading>Save your secret key.</Heading>
<Body>
Your <strong className="text-text">secret key</strong> is the only way to recover your
account. Save it in a password manager, notes app, or write it down. Wrystr never
account. Save it in a password manager, notes app, or write it down. Vega never
stores it if you lose it, your account is gone.
</Body>
@@ -187,7 +187,7 @@ function BackupStep({ signer, onComplete }: { signer: NDKPrivateKeySigner; onCom
disabled={!confirmed || saving}
className="w-full py-2.5 text-[13px] font-medium bg-accent hover:bg-accent-hover text-white transition-colors disabled:opacity-30 disabled:cursor-not-allowed"
>
{saving ? "Setting up…" : "Start using Wrystr"}
{saving ? "Setting up…" : "Start using Vega"}
</button>
</Shell>
);

View File

@@ -8,7 +8,7 @@ const DEV_PUBKEY = "c897e36007f7e52d52569439d43bffa903ea2fb845b84936f676b62e9e51
const LIGHTNING_ADDRESS = "harpos@getalby.com";
const BITCOIN_ADDRESS = "bc1qcgaupf80j28ca537xjlcs9dm9s03khezjs7crp";
const KOFI_URL = "https://ko-fi.com/jure";
const GITHUB_URL = "https://github.com/hoornet/wrystr";
const GITHUB_URL = "https://github.com/hoornet/vega";
const GITHUB_SPONSORS_URL = "https://github.com/sponsors/hoornet";
function CopyButton({ text }: { text: string }) {
@@ -50,9 +50,9 @@ export function AboutView() {
<div className="max-w-xl mx-auto px-6 py-8">
{/* Header */}
<div className="mb-8">
<h1 className="text-text text-lg font-medium tracking-tight mb-2">Support Wrystr</h1>
<h1 className="text-text text-lg font-medium tracking-tight mb-2">Support Vega</h1>
<p className="text-text-muted text-[13px] leading-relaxed">
Wrystr is free, open-source, and built by one person. If it's useful to you,
Vega is free, open-source, and built by one person. If it's useful to you,
any support a zap, a share, a star on GitHub genuinely helps.
</p>
</div>
@@ -61,7 +61,7 @@ export function AboutView() {
<section className="mb-8">
<h2 className="text-text-dim text-[10px] uppercase tracking-widest mb-3"> Zap the developer</h2>
<p className="text-text-muted text-[12px] mb-3">
Send sats directly from Wrystr using your connected Lightning wallet.
Send sats directly from Vega using your connected Lightning wallet.
</p>
<button
onClick={() => setShowZap(true)}
@@ -130,7 +130,7 @@ export function AboutView() {
{/* Version / About */}
<section className="border-t border-border pt-6">
<div className="text-text-dim text-[11px] space-y-1">
<div>Wrystr v{pkg.version} MIT License Copyright (c) 2026 Jure Sršen</div>
<div>Vega v{pkg.version} MIT License Copyright (c) 2026 Jure Sršen</div>
<div>
Built with{" "}
<a href="https://tauri.app" target="_blank" rel="noopener noreferrer" className="text-accent hover:text-accent-hover transition-colors">Tauri</a>

View File

@@ -183,7 +183,7 @@ function ExportSection() {
setErrorMsg(null);
try {
const filePath = await save({
defaultPath: `wrystr-export-${new Date().toISOString().slice(0, 10)}.json`,
defaultPath: `vega-export-${new Date().toISOString().slice(0, 10)}.json`,
filters: [{ name: "JSON", extensions: ["json"] }],
});
if (!filePath) {

View File

@@ -53,7 +53,7 @@ export function Sidebar() {
/* Expanded: brand on left, collapse chevron on right */
<>
<div className="flex flex-col">
<span className="text-sm font-bold tracking-widest text-text select-none">WRYSTR</span>
<span className="text-sm font-bold tracking-widest text-text select-none">VEGA</span>
<span className="text-text-dim text-[9px] font-mono opacity-50">v{pkg.version}</span>
</div>
<button