mirror of
https://github.com/hoornet/vega.git
synced 2026-07-24 01:08:11 -07:00
957557708e
The app identifier changes from `com.hoornet.vega` to `com.veganostr.Vega`. A reverse-DNS app ID must sit on a domain the project controls; the old one did not, which blocks publishing on Flathub and leaves Vega's identity inconsistent across Flathub, winget and the native installers. The identifier keys every per-app directory, so this migrates existing installs on first launch: the SQLite cache (vega.db), the embedded relay's database (relay.db), and webview localStorage (themes, drafts, podcast subscriptions, article read-state). Migration runs at the top of run(), before tauri::Builder — not inside .setup(). Tauri builds the config-defined windows before invoking the setup hook, and building a webview create_dir_all's <LocalData>/<identifier>, which on Linux is the same directory that holds vega.db. Migrating from setup() would therefore always find a non-empty destination, skip, and silently strand every Linux user's data with no way for a later fix to recover it. Entries are moved individually rather than renaming the whole tree, so a destination the webview already created does not block the migration, and a failed attempt retries on the next launch. An entry that already exists at the destination is never overwritten — the live copy always wins. All three per-platform roots are covered: WebView2 keeps localStorage under %LOCALAPPDATA% on Windows (not %APPDATA%), and WKWebView keeps it under ~/Library/WebKit on macOS, neither of which is the app data dir. Keys are unaffected — the keychain service name is independent of the identifier, so users stay logged in. Windows installs v0.14.0 alongside v0.13.2 rather than replacing it, since the changed identifier reads as a new application. Documented in the README, CHANGELOG and release notes.