diff --git a/src/servers/api/pi/pi-bridge.ts b/src/servers/api/pi/pi-bridge.ts index d5355803..fc6b2e0b 100644 --- a/src/servers/api/pi/pi-bridge.ts +++ b/src/servers/api/pi/pi-bridge.ts @@ -239,6 +239,7 @@ export async function spawnPi( const workdir = rel && !rel.startsWith('..') ? join(containerHome, rel) : containerHome; proc = Bun.spawn([ dockerPath, 'exec', '-i', + '-u', `${sandbox.username}`, '-w', workdir, ...envFlags, containerId, diff --git a/src/servers/api/pi/storage.ts b/src/servers/api/pi/storage.ts index 43900e63..d2cc3329 100644 --- a/src/servers/api/pi/storage.ts +++ b/src/servers/api/pi/storage.ts @@ -496,7 +496,11 @@ export async function deleteSession( } export async function listUserSessions(baseCwd: string): Promise { - const index = await loadIndex(baseCwd); + let index = await loadIndex(baseCwd); + + if (Object.keys(index).length === 0) { + index = await rebuildIndex(baseCwd); + } const sessions: SessionMeta[] = Object.entries(index).map(([id, entry]) => indexEntryToMeta(id, entry));