Skip to content

Add push channel for strategy plugin alerts#61

Merged
Pigbibi merged 1 commit into
mainfrom
add-strategy-plugin-push-alerts
May 25, 2026
Merged

Add push channel for strategy plugin alerts#61
Pigbibi merged 1 commit into
mainfrom
add-strategy-plugin-push-alerts

Conversation

@Pigbibi

@Pigbibi Pigbibi commented May 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a provider-neutral strategy plugin push alert channel
  • support Pushover and ntfy without new package dependencies
  • add channel-level dedupe/reporting and CRISIS_ALERT_CHANNELS selection

Tests

  • PYTHONPATH=src pytest tests/test_strategy_plugin_email_notifications.py tests/test_strategy_plugin_sms_notifications.py tests/test_strategy_plugin_push_notifications.py tests/test_strategy_plugin_alert_dispatcher.py tests/test_strategy_plugins.py -q
  • PYTHONPATH=src ruff check .

@Pigbibi Pigbibi merged commit 1050a67 into main May 25, 2026
1 check passed
@Pigbibi Pigbibi deleted the add-strategy-plugin-push-alerts branch May 25, 2026 15:45

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b960bff153

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +289 to +290
if raw_channels in (None, "", (), []):
raw_channels = (_CHANNEL_EMAIL, _CHANNEL_SMS, _CHANNEL_PUSH)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Honor explicit empty channel selections

Treating ()/[]/"" as “unset” causes _resolve_channels to fall back to ("email", "sms", "push"), so callers that explicitly pass no channels (or load an intentionally empty crisis_alert_channels) now dispatch alerts instead of disabling delivery. This is a behavior regression from the previous logic where an empty selection normalized to no channels, and it can trigger unintended outbound notifications in production runs.

Useful? React with 👍 / 👎.

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