feat: trigger actual Steam desktop login window via protocol handler for native account addition
This commit is contained in:
@@ -505,6 +505,15 @@ ipcMain.handle('get-server-users', async () => { initBackend(); return backend ?
|
||||
ipcMain.handle('switch-account', async (event, loginName: string) => await handleSwitchAccount(loginName));
|
||||
ipcMain.handle('open-external', (event, url: string) => shell.openExternal(url));
|
||||
|
||||
ipcMain.handle('open-steam-app-login', async () => {
|
||||
console.log('[SteamClient] Triggering desktop login window...');
|
||||
// Force Steam to show login window.
|
||||
// steam://open/login is the protocol for this.
|
||||
const command = process.platform === 'win32' ? 'start steam://open/login' : 'xdg-open steam://open/login';
|
||||
exec(command);
|
||||
return true;
|
||||
});
|
||||
|
||||
ipcMain.handle('open-steam-login', async (event, expectedSteamId: string) => {
|
||||
const loginSession = session.fromPartition('persist:steam-login');
|
||||
// Removed: automatic clearStorageData to allow cookie persistence
|
||||
|
||||
@@ -10,6 +10,7 @@ contextBridge.exposeInMainWorld('electronAPI', {
|
||||
revokeAccountAccess: (steamId: string, targetSteamId: string) => ipcRenderer.invoke('revoke-account-access', steamId, targetSteamId),
|
||||
revokeAllAccountAccess: (steamId: string) => ipcRenderer.invoke('revoke-all-account-access', steamId),
|
||||
openExternal: (url: string) => ipcRenderer.invoke('open-external', url),
|
||||
openSteamAppLogin: () => ipcRenderer.invoke('open-steam-app-login'),
|
||||
openSteamLogin: (steamId: string) => ipcRenderer.invoke('open-steam-login', steamId),
|
||||
|
||||
// Server Config & Auth
|
||||
|
||||
Reference in New Issue
Block a user