fix(cliproxy): prevent blank page in remote mode

This commit is contained in:
Tam Nhu Tran
2026-02-24 00:47:40 +07:00
parent a6e1455f38
commit 4eb2be79fc
4 changed files with 72 additions and 8 deletions
+3
View File
@@ -30,6 +30,7 @@ interface RemoteAuthFile {
export interface RemoteAccountInfo {
id: string;
email: string;
provider: CLIProxyProvider;
isDefault: boolean;
status: 'active' | 'disabled' | 'unavailable';
}
@@ -124,6 +125,8 @@ function transformRemoteAuthFiles(files: RemoteAuthFile[]): RemoteAuthStatus[] {
const accounts: RemoteAccountInfo[] = providerFiles.map((f, idx) => ({
id: f.id,
email: f.email || f.name || 'Unknown',
// Keep provider on each account so UI account rendering can infer capabilities safely.
provider,
isDefault: idx === 0,
status: f.status,
}));
@@ -184,13 +184,7 @@ router.get('/accounts', async (_req: Request, res: Response): Promise<void> => {
const target = getProxyTarget();
if (target.isRemote) {
const authStatus = await fetchRemoteAuthStatus(target);
// Transform RemoteAuthStatus[] to account summary format
const accounts = authStatus.flatMap((status) =>
status.accounts.map((acc) => ({
provider: status.provider,
...acc,
}))
);
const accounts = authStatus.flatMap((status) => status.accounts);
res.json({ accounts, source: 'remote' });
return;
}