Skip to content

chore(channels): surface only Slack + Desktop; hide email + telegram - #8

Merged
krayong merged 1 commit into
mainfrom
chore/hide-email-telegram-channels
Jun 26, 2026
Merged

chore(channels): surface only Slack + Desktop; hide email + telegram#8
krayong merged 1 commit into
mainfrom
chore/hide-email-telegram-channels

Conversation

@krayong

@krayong krayong commented Jun 26, 2026

Copy link
Copy Markdown
Owner

Summary

Email and Telegram are untested delivery paths. This hides them rather than deleting them: the notifier code, Config dataclasses, and load_config parsers stay intact, so a hand-added [channels.email] / [channels.telegram] section still loads and delivers. Only the user-facing entry points are removed, leaving Slack + Desktop as the surfaced channels.

Changes

  • TUI (tui/screens.py): ChannelsScreen and the main-menu / review summaries offer only Slack + Desktop; the per-channel TelegramScreen is removed (email was already absent from the TUI).
  • Serialization (tui/configio.py): config_to_toml writes only [channels.slack] and [channels.desktop]. A TUI re-save drops any unsurfaced section it didn't write. validate_config names Slack/Desktop in its guidance (the enablement check still counts a hand-configured email/telegram); the telegram-specific field validation is dropped since the TUI can no longer enable it.
  • CLI (cli.py): the first-run check now counts desktop too.
  • Docs: README and SECURITY document Slack + Desktop and the Slack token as the only secret; CLAUDE.md records that the email/telegram notifiers remain functional code, just unsurfaced.

Kept intact (the "code")

notify/email.py, notify/telegram.py, their registry registration, EmailChannel / TelegramChannel, and the load_config loaders — verified by the existing tests/notify/test_email.py and tests/notify/test_telegram.py notifier suites, plus new tests asserting a hand-added section still loads.

Testing

uv run pytest — 482 passed. ruff check / ruff format --check clean.

🦇 Generated by Penny-One at Batcave

Email and Telegram are untested delivery paths. Keep their notifier code,
Config dataclasses, and load_config parsers intact — a hand-added
[channels.email] / [channels.telegram] section still loads and delivers — but
remove them from every user-facing entry point so the surfaced set is Slack and
Desktop only:

- TUI: ChannelsScreen, the main-menu/review summaries, and the per-channel
  TelegramScreen no longer offer email or telegram (email was already absent).
- config_to_toml writes only [channels.slack] and [channels.desktop]; a TUI
  re-save drops any unsurfaced section it did not write.
- validate_config names Slack/Desktop in its guidance (the enablement check
  still counts a hand-configured email/telegram); drop the telegram-specific
  field validation (the TUI can no longer enable it).
- cli first-run check now counts desktop too.
- README / SECURITY / CLAUDE: document Slack + Desktop; CLAUDE notes the hidden
  channels remain functional code.

Tests updated to assert the surfaces are gone while the loaders still accept a
hand-added section.

Co-Authored-By: Penny-One (Batcave) <noreply@anthropic.com>
@krayong
krayong merged commit 314aba7 into main Jun 26, 2026
2 checks passed
@krayong
krayong deleted the chore/hide-email-telegram-channels branch June 26, 2026 16:24
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