ActivityWatch / ActivityWatch/aw-android
aw-notify: settingsStore integration and shared webui config surface
- Lenguaje dominante
- Kotlin
- Estrellas
- 265
- Forks
- 57
- Merge medio
- 2 d 21 h
- PR fusionados (30 d)
- 19
Descripción
Follow-up to #199 (merged) — centralising alert configuration so Android shares the same config surface as aw-notify on desktop.
## What's missing from the MVP
The `NotifyWorker` shipped in #199 hardcodes `DEFAULT_ALERTS` directly in Kotlin. The only server-side setting it reads is `startOfDay`. Everything else (categories, thresholds, enabled/disabled) requires a code change.
## Goals
1. **settingsStore integration** — store alert config under `/api/0/settings/aw-notify/alerts` (or a sub-key of the existing settings namespace). The Android app reads this at worker startup instead of the hardcoded list, matching the server-side config model aw-notify desktop already uses.
2. **Shared webui config surface** — once the config lives in the settings API, the aw-webui can expose a config panel identical to (or compatible with) the desktop aw-notify settings, so users manage thresholds in one place regardless of client.
3. **Reduced default thresholds** — the current defaults (`All` at 1h/2h/4h/6h/8h, `Work` at 15m/30m/1h/2h/4h, etc.) are too dense for most days. Trim to 2–3 thresholds per category max, or align with whatever the desktop aw-notify defaults converge to after #200 lands.
4. **Migration path** — if a user has no server-side config, fall back to a minimal built-in default (not the current verbose list) so first-run behaviour is conservative.
## Out of scope here
- Anomaly/percentile-based notifications → tracked in #200
- App-layer quiet-hours (the OS `aw_notify_channel` + DnD is sufficient for now)
## Cross-references
- #199 — the initial notify implementation (merged)
- #200 — smart anomaly-detection notifications (v2 direction)
- [aw-notify desktop](https://github.com/ActivityWatch/aw-notify) — the Python daemon this should share config with
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.