feat(FN-4027): memoize startup slim list reads to avoid redundant fresh fet
Added memoization for startup slim task list reads (`store.ts`), with dashboard server routing startup reads through the memo window and tests covering the store watcher consumers in scheduler and worktree-pool, plus performance documentation. Fusion-Task-Id: FN-4027
This commit is contained in:
@@ -1698,6 +1698,23 @@ describe("Scheduler", () => {
|
||||
});
|
||||
|
||||
describe("pr monitoring", () => {
|
||||
it("hydrates PR monitoring with startup memoized slim reads", async () => {
|
||||
const prMonitor = {
|
||||
startMonitoring: vi.fn(),
|
||||
stopMonitoring: vi.fn(),
|
||||
updatePrInfo: vi.fn(),
|
||||
getTrackedPrs: vi.fn().mockReturnValue(new Map()),
|
||||
stopAll: vi.fn(),
|
||||
} as unknown as PrMonitor;
|
||||
|
||||
const store = createMockStore();
|
||||
const scheduler = new Scheduler(store, {});
|
||||
scheduler.configurePrMonitoring({ prMonitor });
|
||||
await flushAsyncWork();
|
||||
|
||||
expect(store.listTasks).toHaveBeenCalledWith({ slim: true, includeArchived: false, startupMemo: true });
|
||||
});
|
||||
|
||||
it("stops monitoring when task moves out of in-review based on from column", () => {
|
||||
const prMonitor = {
|
||||
startMonitoring: vi.fn(),
|
||||
|
||||
Reference in New Issue
Block a user