Skip to content

feat: add feedback reporting system via Telegram#136

Draft
kahlstrm wants to merge 1 commit into
mainfrom
claude/feedback-reporting-telegram-bWNhm
Draft

feat: add feedback reporting system via Telegram#136
kahlstrm wants to merge 1 commit into
mainfrom
claude/feedback-reporting-telegram-bWNhm

Conversation

@kahlstrm

Copy link
Copy Markdown
Contributor

Add a feedback form component that allows users to report issues
from error pages. Feedback is sent to a configured Telegram chat
using a bot.

  • Add Telegram bot service for sending messages
  • Add feedback API endpoint with rate limiting
  • Add feedback form component to error pages
  • Add i18n translations (Finnish and English)
  • Add TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID env vars

https://claude.ai/code/session_01T8hLZJhqjJissBdJHUzTJh

Add a feedback form component that allows users to report issues
from error pages. Feedback is sent to a configured Telegram chat
using a bot.

- Add Telegram bot service for sending messages
- Add feedback API endpoint with rate limiting
- Add feedback form component to error pages
- Add i18n translations (Finnish and English)
- Add TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID env vars

https://claude.ai/code/session_01T8hLZJhqjJissBdJHUzTJh

@MikaelSiidorow MikaelSiidorow left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Should change the form implementation and probably exclude IP, otherwise looks pretty good

let submitted = $state(false);
let errorMessage = $state("");

async function handleSubmit(e: Event) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is very un-svelte. Should be a remote form function

"📣 *New Feedback Report*",
"",
`*From:* ${escapeMarkdownV2(userInfo)}`,
`*IP:* ${escapeMarkdownV2(clientIP)}`,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

IP probably unnecessary to put in the message 🤔 No need to share this with Telegram

Comment thread src/lib/server/env.ts
v.transform((val) => (val === "" ? undefined : val)),
),
),
TELEGRAM_CHAT_ID: v.optional(

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Should we consider making it a list of chats? Could subscribe board + digitmk? Probably good enough if it ends up in once place though, can be then filtered and forwarded to the correct place

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

rip, tried to tell it to do multiple 😅

@MikaelSiidorow MikaelSiidorow marked this pull request as draft February 10, 2026 19:24
@MikaelSiidorow

Copy link
Copy Markdown
Collaborator

Moved to draft, needs rebase and fixes

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.

3 participants