Desktop: background store reads from the tray (no document.hidden skip, backoff), notifications by kind (rejected, approved, live, halted, crash, reviews) with switches, quiet hours and mute, click-through on next show; tray menu with apps and their states, read now, mute, updates, settings, tooltip summary and attention dot; tray_update command; tests

This commit is contained in:
CRTkafa 2026-10-22 22:24:05 +08:00
parent 5d8a0f5e9a
commit 03ef999dac
27 changed files with 1050 additions and 55 deletions

View file

@ -128,7 +128,7 @@ describe('notifications', () => {
test('release phase changes, only against a previous read', () => {
expect(releaseChanges(null, status('review'))).toEqual([]);
expect(releaseChanges(status('review'), status('review'))).toEqual([]);
expect(releaseChanges(status('review'), status('approved'))).toEqual([{ project: '/a', name: 'A', store: 'ios', version: '2.0', from: 'review', to: 'approved' }]);
expect(releaseChanges(status('review'), status('approved'))).toEqual([{ project: '/a', name: 'A', store: 'ios', version: '2.0', from: 'review', to: 'approved', kind: 'approved' }]);
expect(releaseChanges(status('draft'), status('testing'))).toEqual([]);
});
test('new 1-2 star reviews and threshold crossings', () => {