V-637 follow-up: telegram intake has no deploy switch, and the chat-id check cannot fail a boot #190
Reference in New Issue
Block a user
Delete Branch "task/646-v-637-follow-up-telegram-intake-has-no-d"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes Vikunja #646.
Acceptance criteria and quality gate are in
TASK.mdon this branch.Review the review, not the diff — leave comments and the agent will apply them via
task start 646.The push half accepts an @channelusername and the intake half cannot: an inbound update names its chat by number, so an @-name matches nothing. The check lived in NewPoller, which wireTelegramIntake logs and returns from, so a box configured that way booted clean with a dead intake half and a working push half. Nothing looked broken from the chat. ValidateIntakeChatID moves the rule where config validation can reach it, the same shape validateNetScan uses. It is stricter than the old prefix test: any non-digit is refused, not just a leading @. An empty token or chat id still means telegram is not wired, because an unset ${TELEGRAM_*} expands to empty and that must not fail a box with no bot. deploy/mavend.json turns intake on. The chat id on this box is numeric. The onCallback comment claimed every path answers the callback. The fromOwner early return does not, and silence toward a stranger is correct, so the comment was what was wrong. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>