Commit Graph
11 Commits
Author SHA1 Message Date
Agzamus ae0fea1ea6 fix: ssl error & offline teacher schedule 2026-10-07 21:55:53 +03:00
Agzamus 6189540acf perf(teacher): lower sync memory footprint
- Reduce sync parallelism 5 -> 2 to cap peak heap while bulk-fetching
  all departments for a period
- Replace per-write rows (insert schedule/days/lessons separately) with a
  single @Transaction replaceSchedule() so Room invalidates observers once
  per department instead of ~4x each, cutting main-thread recompositions
  and intermediate allocations during the 38-department sync
2026-09-20 02:43:54 +03:00
Agzamus 1d55e84e96 fix(teacher): register migration, containment period queries, concurrency guards
- Register AppDatabase.MIGRATION_3_4 so v3 databases upgrade without data loss
- Query teacher schedule periods by containment (weekStart<=x AND weekEnd>=x)
  instead of exact weekStart, matching 2-week catalog windows
- Clip buildTeacherSchedule days to the requested week range
- Add weeksFor() to enumerate weeks of a catalog window for the UI selector
- Serialize syncPeriod body with a Mutex to protect the unique index
- Rethrow CancellationException before generic catch; version loadRevision
  checks so stale observers/loads are cancelled
- Sync job tracking in PickerViewModel; keep loading true while empty
- Drop dead selectTeacher helper
2026-09-19 23:32:09 +03:00
Agzamus 1a4bff73d0 feat(db): add teacher schedule tables and Room v4 migration 2026-09-19 14:47:35 +03:00
Agzamus caf3debb3f feat: 2-week select 2026-09-11 01:55:52 +03:00
Agzamus f19d65abb5 feat: update request when need 2026-09-06 17:23:55 +03:00
Agzamus 889c57bbba feat: autoupdater 2026-09-06 12:38:00 +03:00
Agzamus 32f93197ab feat: week select 2026-09-03 20:53:17 +03:00
Agzamus 72e63addb2 fix: FOREIGN KEY constraint failed 2026-09-03 20:41:03 +03:00
Agzamus ebe1c3c4a3 refactor: database multi-period schedule storage 2026-09-03 19:41:26 +03:00
Agzamus a8830bcd91 init 2026-09-02 23:47:00 +03:00