aw-notify: settingsStore integration and shared webui config surface
维护者通常 1 天内回复
@TimeToBuildBob 已经在做这个了。
开始于 2026年7月25日。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 45/100
- Issue 类型
- 功能
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
调研方向
Android 应用中的 NotifyWorker 目前使用硬编码的 DEFAULT_ALERTS。首先,检查 aw-notify 桌面 Python 守护进程,以了解其配置模型。然后,查看服务器端的 settings API 端点 (/api/0/settings/aw-notify/alerts),了解如何存储和获取配置。这项工作包括修改 Kotlin worker 以从此 API 读取配置、创建一个回退默认值,并确保 webui 能够提供兼容的配置面板。“Done”表示 Android 应用使用与桌面客户端共享的服务器存储的警报配置。
由索引模型根据 Issue 内容生成。
描述
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
-
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. -
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.
-
Reduced default thresholds — the current defaults (
Allat 1h/2h/4h/6h/8h,Workat 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. -
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 — the Python daemon this should share config with
- 主要语言
- Kotlin
- 星标
- 275
- 派生
- 60
- 平均合并
- 20 小时 32 分钟
- 30 天内合并 PR
- 38
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
ActivityWatch/aw-android 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
ActivityWatch/aw-android#306 · 1 条评论 · 1 个 reaction ·
维护者通常 1 天内回复
-
AuthSettingsActivity crashes on launch (InflateException: Material attributes under AppCompat theme)未关闭
难度 2/5 1-3 小时 新手友好度 75/100
ActivityWatch/aw-android#210 · 7 条评论 · 1 个 reaction ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 35/100
ActivityWatch/aw-android#302 ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 58/100
ActivityWatch/aw-android#300 · 6 条评论 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 48/100
ActivityWatch/aw-android#296 ·
维护者通常 1 天内回复
查看 ActivityWatch/aw-android 的全部 Issue
相似的 Issue
-
Meta request
难度 2/5 1-3 小时 新手友好度 70/100
keiyoushi/extensions-source#19500 ·
维护者通常 1 天内回复
-
go 🏃 testing 🧪
难度 2/5 1-3 小时 新手友好度 78/100
valkey-io/valkey-glide#7239 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
-
难度 1/5 1 小时以内 新手友好度 90/100
ethereum-lists/chains#8788 ·
维护者通常 1 天内回复
-
documentation P1
难度 2/5 1-3 小时 新手友好度 68/100
modelcontextprotocol/kotlin-sdk#1050 ·
维护者通常 2 天内回复