Search perf, per-language timestamps, worker hardening (refactor-2 items 4a/4c/6/7) #8

Merged
fredo merged 1 commit from feature/search-worker-fixes into main 2026-09-12 18:27:59 +02:00
Owner
  • SearchNormalizer: hoist three Regex objects to object-level vals — eliminates
    ~4700 regex compilations per typed query (item 4a)

  • MedicationViewModel: separate language subscription from query subscription so
    Room is queried once per language switch, not once per keystroke (item 4c)

  • MedicationRepository: store last_checked_at_ per language instead of a
    single shared key — FR refresh no longer claims NL was just checked (item 6)

  • UpdateWorker: refresh all supported languages (not just current), use
    Result.retry() for IOException so WorkManager applies exponential backoff,
    drop redundant context property (item 7)

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

- SearchNormalizer: hoist three Regex objects to object-level vals — eliminates ~4700 regex compilations per typed query (item 4a) - MedicationViewModel: separate language subscription from query subscription so Room is queried once per language switch, not once per keystroke (item 4c) - MedicationRepository: store last_checked_at_<lang> per language instead of a single shared key — FR refresh no longer claims NL was just checked (item 6) - UpdateWorker: refresh all supported languages (not just current), use Result.retry() for IOException so WorkManager applies exponential backoff, drop redundant context property (item 7) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- SearchNormalizer: hoist three Regex objects to object-level vals — eliminates
  ~4700 regex compilations per typed query (item 4a)

- MedicationViewModel: separate language subscription from query subscription so
  Room is queried once per language switch, not once per keystroke (item 4c)

- MedicationRepository: store last_checked_at_<lang> per language instead of a
  single shared key — FR refresh no longer claims NL was just checked (item 6)

- UpdateWorker: refresh all supported languages (not just current), use
  Result.retry() for IOException so WorkManager applies exponential backoff,
  drop redundant context property (item 7)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fredo merged commit 7731bdc0d0 into main 2026-09-12 18:27:59 +02:00
fredo deleted branch feature/search-worker-fixes 2026-09-12 20:31:11 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
fredo/Compendium!8
No description provided.