Skip to content

notification grouping#18

Merged
dvoraj75 merged 3 commits intodevelopfrom
feature/notification-grouping
Mar 13, 2026
Merged

notification grouping#18
dvoraj75 merged 3 commits intodevelopfrom
feature/notification-grouping

Conversation

@dvoraj75
Copy link
Owner

This pull request introduces several major improvements and new features to configuration handling, user experience, and documentation for the project. The most significant changes include support for notification grouping and per-repository overrides, a new [indicator] config section for system tray customization, improved config validation with actionable error messages, and enhanced documentation to reflect these capabilities.

Configuration and Notification Enhancements:

  • Added support for notification grouping via a new [notifications] TOML section; users can now choose between "flat" and "repo" grouping, and configure per-repo notification settings such as enabling/disabling notifications, urgency, and summary thresholds. [1] [2] [3] [4] [5] [6] [7] [8]

  • Introduced a new [indicator] TOML section allowing users to tune system tray indicator settings (reconnect_interval, window_width, max_window_height) without code changes. [1] [2] [3] [4] [5] [6]

Validation and Error Handling Improvements:

  • Config validation now collects all errors and reports them in a single ConfigError with actionable hints, so users can fix every problem in one pass. Unknown config keys now produce warnings to help catch typos early. [1] [2] [3] [4] [5]

  • Improved first-run experience: ConfigError is now caught and displayed as a user-friendly log message with remediation hints, and the daemon exits cleanly with code 1. Logging is initialized before config loading to ensure all errors are properly formatted. [1] [2]

Documentation Updates:

  • Expanded documentation to describe the new [notifications] and [indicator] sections, including configuration examples, validation rules, and Python API usage for loading and accessing these settings. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]

  • Added new example configurations and clarified validation error messages with actionable hints (e.g., token prefix, recommended poll interval, repo format). [1] [2] [3]

Other Improvements:

  • The poller now logs a warning when the pagination cap is reached and suggests narrowing the repo filter.

These changes collectively provide more flexible configuration, better error reporting, and improved documentation for both users and developers.

@github-actions
Copy link

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
1919 1827 95% 90% 🟢

New Files

No new covered files...

Modified Files

File Coverage Status
forgewatch/_main_.py 98% 🟢
forgewatch/config.py 82% 🟢
forgewatch/daemon.py 100% 🟢
forgewatch/indicator/_main_.py 95% 🟢
forgewatch/indicator/app.py 100% 🟢
forgewatch/indicator/client.py 98% 🟢
forgewatch/indicator/window.py 85% 🟢
forgewatch/notifier.py 99% 🟢
forgewatch/poller.py 96% 🟢
TOTAL 95% 🟢

updated for commit: d2eca32 by action🐍

@dvoraj75 dvoraj75 merged commit d2eca32 into develop Mar 13, 2026
5 checks passed
@dvoraj75 dvoraj75 deleted the feature/notification-grouping branch March 13, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant