perf(desktop): Dashboard-Aufbau in der Linux-App ohne Einblend-Animation, Melder gegen Fokus-Schuebe gedrosselt
Gemessen in der echten Linux-App (WebKitGTK): Haenger beim Oeffnen des Dashboards von 550-1100 ms auf 250-350 ms. Im alpha-Log kamen beim Oeffnen bis zu 50 Abfragen je Sekunde von Erinnerungs- und Nextcloud-Melder; Fokus-/ Sichtbarkeitswechsel loesen jetzt hoechstens alle 10 s eine Abfrage aus. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -143,4 +143,16 @@ describe('ReminderNotifier', () => {
|
||||
});
|
||||
expect(mockList.mock.calls.length).toBe(after401 + 1);
|
||||
});
|
||||
it('viele Fokus-Ereignisse kurz hintereinander loesen nur eine Abfrage aus', async () => {
|
||||
mockList.mockResolvedValue([]);
|
||||
render(<ReminderNotifier />);
|
||||
await advance(0);
|
||||
await advance(15_000);
|
||||
const before = mockList.mock.calls.length;
|
||||
await act(async () => {
|
||||
for (let i = 0; i < 50; i++) window.dispatchEvent(new Event('focus'));
|
||||
await vi.advanceTimersByTimeAsync(0);
|
||||
});
|
||||
expect(mockList.mock.calls.length).toBe(before + 1);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user