Skip to content

⚡ Optimize event log export to use async I/O - #148

Closed
ScottMorris wants to merge 1 commit into
mainfrom
perf/async-event-logs-6279845040915257839
Closed

⚡ Optimize event log export to use async I/O#148
ScottMorris wants to merge 1 commit into
mainfrom
perf/async-event-logs-6279845040915257839

Refactor event logs export to use async I/O

f719e75
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
GitHub Actions / Test Results succeeded Feb 13, 2026 in 0s

45 passed, 0 failed and 0 skipped

Tests passed successfully

Report Passed Failed Skipped Time
test-results/js/apps/threshold/junit.xml 20✅ 3s
test-results/js/apps/threshold/node_modules/@threshold/core/junit.xml 9✅ 476ms
test-results/js/packages/core/junit.xml 9✅ 476ms
test-results/rust/junit.xml 7✅ 44ms

✅ test-results/js/apps/threshold/junit.xml

20 tests were completed in 3s with 20 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
src/screens/Ringing.test.tsx 4✅ 596ms
src/services/AlarmManagerService.test.ts 6✅ 41ms
src/services/AlarmSoundPickerService.test.ts 3✅ 7ms
src/services/DatabaseService.test.ts 1✅ 6ms
src/theme/themes.test.ts 3✅ 5ms
src/utils/RouteTransitions.test.ts 3✅ 4ms

✅ src/screens/Ringing.test.tsx

✅ Ringing Screen Logic > should show the alarm label
✅ Ringing Screen Logic > should close window on desktop when dismissed
✅ Ringing Screen Logic > should minimize window on mobile when dismissed
✅ Ringing Screen Logic > should navigate back for Test Alarm (ID 999) on mobile

✅ src/services/AlarmManagerService.test.ts

✅ AlarmManagerService > marks alarms fired on ringing route initialisation
✅ AlarmManagerService > rescheduleAll applies pending fired alarms before recalculating
✅ AlarmManagerService > schedules upcoming notifications immediately when trigger is under 10 minutes away
✅ AlarmManagerService > schedules upcoming notifications for 10 minutes before trigger when there is enough lead time
✅ AlarmManagerService > routes upcoming dismiss actions to dismiss-next-occurrence handler
✅ AlarmManagerService > routes upcoming snooze actions and shows toast confirmation

✅ src/services/AlarmSoundPickerService.test.ts

✅ AlarmSoundPickerService > should call invoke with correct parameters
✅ AlarmSoundPickerService > should throw "cancelled" error when invoke rejects with "cancelled"
✅ AlarmSoundPickerService > should rethrow other errors

✅ src/services/DatabaseService.test.ts

✅ DatabaseService > should pass correct types to sqlite when disabling an alarm

✅ src/theme/themes.test.ts

✅ themes > should generate system theme using deep-night defaults when no colours provided
✅ themes > should override primary/secondary with system colours
✅ themes > should apply dark mode neutral overrides if provided

✅ src/utils/RouteTransitions.test.ts

✅ RouteTransitions > shouldAnimate returns true only on Android with API support
✅ RouteTransitions > calculates direction correctly
✅ RouteTransitions > respects overrides

✅ test-results/js/apps/threshold/node_modules/@threshold/core/junit.xml

9 tests were completed in 476ms with 9 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
src/scheduler.test.ts 9✅ 7ms

✅ src/scheduler.test.ts

✅ Scheduler Logic > Fixed Alarm > schedules for today if time is in future
✅ Scheduler Logic > Fixed Alarm > schedules for tomorrow if time is in past
✅ Scheduler Logic > Fixed Alarm > respects active days (skips Thursday)
✅ Scheduler Logic > Random Window Alarm > schedules randomly within window today
✅ Scheduler Logic > Random Window Alarm > handles midnight crossing (23:00 to 02:00)
✅ Scheduler Logic > Random Window Alarm > schedules for next active day if window missed
✅ Scheduler Logic > Random Window Alarm > handles enabling *inside* the window
✅ Scheduler Logic > Random Window Alarm > skips today if the window already fired
✅ Scheduler Logic > Random Window Alarm > skips an overnight window after it already fired

✅ test-results/js/packages/core/junit.xml

9 tests were completed in 476ms with 9 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
src/scheduler.test.ts 9✅ 7ms

✅ src/scheduler.test.ts

✅ Scheduler Logic > Fixed Alarm > schedules for today if time is in future
✅ Scheduler Logic > Fixed Alarm > schedules for tomorrow if time is in past
✅ Scheduler Logic > Fixed Alarm > respects active days (skips Thursday)
✅ Scheduler Logic > Random Window Alarm > schedules randomly within window today
✅ Scheduler Logic > Random Window Alarm > handles midnight crossing (23:00 to 02:00)
✅ Scheduler Logic > Random Window Alarm > schedules for next active day if window missed
✅ Scheduler Logic > Random Window Alarm > handles enabling *inside* the window
✅ Scheduler Logic > Random Window Alarm > skips today if the window already fired
✅ Scheduler Logic > Random Window Alarm > skips an overnight window after it already fired

✅ test-results/rust/junit.xml

7 tests were completed in 44ms with 7 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
tauri-plugin-app-management 2✅ NaNms
threshold 5✅ NaNms

✅ tauri-plugin-app-management

✅ tests::test_plugin_init
✅ error::tests::test_error_serialization

✅ threshold

✅ event_logs::tests::truncate_to_limit_handles_empty_limit
✅ event_logs::tests::read_and_format_logs_works
✅ event_logs::tests::truncate_to_limit_respects_utf8_boundaries
✅ event_logs::tests::truncate_to_limit_returns_full_string_when_under_limit
✅ tests::it_works