mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-03 16:34:31 -07:00
fix(core): use session-specific temp directory for task tracker (#22382)
This commit is contained in:
@@ -180,6 +180,25 @@ describe('Storage – additional helpers', () => {
|
|||||||
expect(storageWithSession.getProjectTempPlansDir()).toBe(expected);
|
expect(storageWithSession.getProjectTempPlansDir()).toBe(expected);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('getProjectTempTrackerDir returns ~/.gemini/tmp/<identifier>/tracker when no sessionId is provided', async () => {
|
||||||
|
await storage.initialize();
|
||||||
|
const tempDir = storage.getProjectTempDir();
|
||||||
|
const expected = path.join(tempDir, 'tracker');
|
||||||
|
expect(storage.getProjectTempTrackerDir()).toBe(expected);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('getProjectTempTrackerDir returns ~/.gemini/tmp/<identifier>/<sessionId>/tracker when sessionId is provided', async () => {
|
||||||
|
const sessionId = 'test-session-id';
|
||||||
|
const storageWithSession = new Storage(projectRoot, sessionId);
|
||||||
|
ProjectRegistry.prototype.getShortId = vi
|
||||||
|
.fn()
|
||||||
|
.mockReturnValue(PROJECT_SLUG);
|
||||||
|
await storageWithSession.initialize();
|
||||||
|
const tempDir = storageWithSession.getProjectTempDir();
|
||||||
|
const expected = path.join(tempDir, sessionId, 'tracker');
|
||||||
|
expect(storageWithSession.getProjectTempTrackerDir()).toBe(expected);
|
||||||
|
});
|
||||||
|
|
||||||
describe('Session and JSON Loading', () => {
|
describe('Session and JSON Loading', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await storage.initialize();
|
await storage.initialize();
|
||||||
|
|||||||
@@ -302,6 +302,9 @@ export class Storage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getProjectTempTrackerDir(): string {
|
getProjectTempTrackerDir(): string {
|
||||||
|
if (this.sessionId) {
|
||||||
|
return path.join(this.getProjectTempDir(), this.sessionId, 'tracker');
|
||||||
|
}
|
||||||
return path.join(this.getProjectTempDir(), 'tracker');
|
return path.join(this.getProjectTempDir(), 'tracker');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user