fix: isolate guest user data directory to prevent seeing other users' data
Some checks failed
Release Binaries / release (push) Has been cancelled
Some checks failed
Release Binaries / release (push) Has been cancelled
This commit is contained in:
@@ -68,6 +68,17 @@ export function setupCliIPC(mainWindow: BrowserWindow, cliManager: CliProcessMan
|
|||||||
})
|
})
|
||||||
ipcMain.handle("users:createGuest", async () => {
|
ipcMain.handle("users:createGuest", async () => {
|
||||||
const user = createGuestUser()
|
const user = createGuestUser()
|
||||||
|
// Set up isolated environment for guest user
|
||||||
|
const root = getUserDataRoot(user.id)
|
||||||
|
cliManager.setUserEnv({
|
||||||
|
CODENOMAD_USER_DIR: root,
|
||||||
|
CLI_CONFIG: path.join(root, "config.json"),
|
||||||
|
})
|
||||||
|
await cliManager.stop()
|
||||||
|
const devMode = process.env.NODE_ENV === "development"
|
||||||
|
await cliManager.start({ dev: devMode })
|
||||||
|
// Set as active user
|
||||||
|
setActiveUser(user.id)
|
||||||
return user
|
return user
|
||||||
})
|
})
|
||||||
ipcMain.handle("users:login", async (_, payload: { id: string; password?: string }) => {
|
ipcMain.handle("users:login", async (_, payload: { id: string; password?: string }) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user