ActivityWatch / ActivityWatch/aw-android

aw-notify: settingsStore integration and shared webui config surface

Open
#201 21 comments 0 reactions 1 assignee Claimed by @TimeToBuildBob View on GitHub
Dominant language
Kotlin
Stars
265
Forks
57
Avg merge
2d 21h
Merged PRs (30d)
19

Description

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

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.