Skip to content

feat(ui): add Telegram bot connection UI to Sharing page (#296) - #298

Merged
vybe merged 3 commits into
mainfrom
feature/296-telegram-bot-ui
Apr 10, 2026
Merged

vybe merged 3 commits into
mainfrom
feature/296-telegram-bot-ui

Conversation

@vybe

@vybe vybe commented Apr 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add TelegramChannelPanel.vue component to the Agent Detail Sharing page for connecting/managing Telegram bots per agent
  • Mirrors the existing Slack channel panel pattern with bot token input, status display, verify, and disconnect flows
  • Uses api.js auth client (Invariant security: Fix token logging and add HTML reports to gitignore #7), password input for token handling, webhook status warning banner

Changes

  • New: src/frontend/src/components/TelegramChannelPanel.vue — Self-contained panel component
  • Modified: src/frontend/src/components/SharingPanel.vue — Import and render Telegram panel

Key Decisions

  • Bot token input uses type="password" and ref is cleared immediately on success (security)
  • Shows webhook warning banner when bot is connected but webhook_url is null (common self-hosted issue)
  • "Verify" button calls getMe (labeled accurately — does not send a message without chat_id)
  • Requires explicit disconnect before reconnecting (prevents silent webhook_secret regeneration)
  • Active chats display deferred — no backend endpoint exists for telegram_chat_links yet

Test Plan

  • Navigate to Agent Detail → Sharing tab → Telegram Bot section visible
  • Paste a BotFather token → "Connect Bot" → shows @username and t.me link
  • Click "Verify" → shows "Bot @username is operational" success message
  • Click "Disconnect" → returns to token input state
  • Paste a token already bound to another agent → shows 409 error with agent name
  • Connect bot without public URL configured → yellow webhook warning banner appears
  • Token input is type="password" (masked)
  • Dark mode renders correctly

Closes #296

🤖 Generated with Claude Code

vybe and others added 3 commits April 10, 2026 18:01
…#296)

Add TelegramChannelPanel.vue component allowing users to connect, verify,
and disconnect Telegram bots per agent. Uses api.js auth client, password
input for token, webhook status warning, and 409 conflict handling.

Closes #296

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
)

Add Frontend Layer section documenting TelegramChannelPanel.vue component,
its integration in SharingPanel, API calls, security patterns, and error handling.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vybe
vybe merged commit 5336360 into main Apr 10, 2026
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.

feat: Telegram bot connection UI in Settings (TGRAM-UI)

1 participant