Files
ESH-Media/src/shared/constants.ts
eshmeshek 571404ca94 feat: switch to electron-updater for auto-updates
Replaces the custom server-poll updater (which depended on a placeholder
serverUrl 'https://your-server.com/api' and never fired in practice) with
electron-updater. Now a banner appears automatically when a new release is
published — auto-download in background, in-place install via quitAndInstall,
delta updates via blockmap.

Changes:
- Add electron-updater dep, build.publish (provider: generic, placeholder URL)
- Rewrite UpdaterManager around autoUpdater events (available/progress/
  downloaded/error), forwarded to renderer via window.webContents.send
- Drop hardcoded APP_VERSION constant; main uses app.getVersion(), renderer
  fetches via new GET_APP_VERSION IPC channel
- IPC: drop DOWNLOAD_UPDATE (autoDownload handles it), add INSTALL_UPDATE
  + GET_APP_VERSION
- VersionInfo reshaped (currentVersion field, no downloadUrl/mandatory);
  add UpdateProgress and UpdateCheckResult types
- UpdateNotification: 3-phase UI (downloading with progress bar,
  ready with restart-and-install, hidden); App.tsx tracks phase state

TODO before first real release:
- Replace build.publish.url placeholder with the actual generic host
- Bump version, run package:win, upload latest.yml + .exe + .blockmap to host

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 00:13:19 +03:00

19 lines
471 B
TypeScript

export const DEFAULT_CONFIG_SERVER_URL = 'https://your-server.com/api';
export const DEFAULT_PROXY_PORT = 10808;
export const DEFAULT_SETTINGS = {
configServerUrl: DEFAULT_CONFIG_SERVER_URL,
proxyAutoStart: true,
theme: 'dark' as const,
language: 'ru' as const,
};
export const INVISIBLE_MAN_CLI_PATH = 'invisibleManXRay'; // Path to CLI executable
export const DB_PATHS = {
BOOKMARKS: 'bookmarks.db',
SETTINGS: 'settings.db',
CONFIG: 'config.json',
};