mirror of
https://github.com/hoornet/vega.git
synced 2026-07-24 09:18: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.
53 lines
1.4 KiB
JSON
53 lines
1.4 KiB
JSON
{
|
|
"name": "vega",
|
|
"private": true,
|
|
"version": "0.14.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc && vite build",
|
|
"preview": "vite preview",
|
|
"tauri": "tauri",
|
|
"test": "vitest",
|
|
"test:run": "vitest run"
|
|
},
|
|
"dependencies": {
|
|
"@fontsource/atkinson-hyperlegible": "5.2.8",
|
|
"@nostr-dev-kit/ndk": "^3.0.3",
|
|
"@tailwindcss/vite": "^4.3.1",
|
|
"@tanstack/react-virtual": "3.13.24",
|
|
"@tauri-apps/api": "^2.11.0",
|
|
"@tauri-apps/plugin-dialog": "^2.7.0",
|
|
"@tauri-apps/plugin-fs": "^2.5.0",
|
|
"@tauri-apps/plugin-http": "^2.5.7",
|
|
"@tauri-apps/plugin-notification": "^2.3.3",
|
|
"@tauri-apps/plugin-opener": "^2",
|
|
"@tauri-apps/plugin-process": "^2.3.1",
|
|
"@tauri-apps/plugin-updater": "^2.10.0",
|
|
"@types/dompurify": "^3.0.5",
|
|
"dompurify": "^3.4.11",
|
|
"highlight.js": "^11.11.1",
|
|
"lucide-react": "1.16.0",
|
|
"marked": "^17.0.4",
|
|
"marked-highlight": "^2.2.3",
|
|
"react": "^19.1.0",
|
|
"react-dom": "^19.1.0",
|
|
"react-qr-code": "^2.0.18",
|
|
"tailwindcss": "^4.2.1",
|
|
"zustand": "^5.0.11"
|
|
},
|
|
"devDependencies": {
|
|
"@tauri-apps/cli": "^2",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@types/marked": "^5.0.2",
|
|
"@types/react": "^19.1.8",
|
|
"@types/react-dom": "^19.1.6",
|
|
"@vitejs/plugin-react": "^6.0.2",
|
|
"jsdom": "^29.0.0",
|
|
"typescript": "~5.8.3",
|
|
"vite": "^8.0.16",
|
|
"vitest": "^4.1.0"
|
|
}
|
|
}
|