fix(cliproxy): make version cache backend-specific for proper switching

- Add backend parameter to version cache functions (read/write/path)
- Store cache at bin/{backend}/.version-cache.json instead of shared location
- Pass backend through checkForUpdates() and BinaryManager
- Add refetchType: 'all' to force immediate query refetch on backend change
- Add cliproxy-server-config query invalidation for consistency
This commit is contained in:
kaitranntt
2026-01-23 14:40:40 -05:00
parent 0511c5e2fd
commit a41fd2a093
4 changed files with 34 additions and 17 deletions
+12 -9
View File
@@ -16,10 +16,10 @@ import { DEFAULT_BACKEND } from '../platform-detector';
import type { CLIProxyBackend } from '../types';
/**
* Get path to version cache file
* Get path to version cache file (backend-specific)
*/
export function getVersionCachePath(): string {
return path.join(getCliproxyDir(), '.version-cache.json');
export function getVersionCachePath(backend: CLIProxyBackend = DEFAULT_BACKEND): string {
return path.join(getBinDir(), backend, '.version-cache.json');
}
/**
@@ -30,10 +30,10 @@ export function getVersionPinPath(backend: CLIProxyBackend = DEFAULT_BACKEND): s
}
/**
* Read version cache if still valid
* Read version cache if still valid (backend-specific)
*/
export function readVersionCache(): VersionCache | null {
const cachePath = getVersionCachePath();
export function readVersionCache(backend: CLIProxyBackend = DEFAULT_BACKEND): VersionCache | null {
const cachePath = getVersionCachePath(backend);
if (!fs.existsSync(cachePath)) {
return null;
}
@@ -55,10 +55,13 @@ export function readVersionCache(): VersionCache | null {
}
/**
* Write version to cache
* Write version to cache (backend-specific)
*/
export function writeVersionCache(version: string): void {
const cachePath = getVersionCachePath();
export function writeVersionCache(
version: string,
backend: CLIProxyBackend = DEFAULT_BACKEND
): void {
const cachePath = getVersionCachePath(backend);
const cache: VersionCache = {
latestVersion: version,
checkedAt: Date.now(),