fix(bot): crypto deposit editMessageText-on-photo 400, button freeze, chat cleanup via lastInlineMessageId #130

Closed
opened 2026-08-05 11:10:02 +00:00 by NW · 0 comments
Owner

Баг-репорт: Crypto Deposit Error, Button Delays, Chat Cleanup

Severity: High | Priority: High

Диагноз (прод-логи 192.168.2.74 + код)

Issue 1 — Crypto Deposit Error (блокирует оплату):
Прод-лог: ETELEGRAM 400 "no text in the message to edit" в handleDepositInstruction.
Причина: handleDepositInstruction вызывает editMessageText напрямую. После Pay with Crypto → handleDepositCryptoQR отправляет ФОТО-сообщение (sendPhoto). Кнопка Back на фото → editMessageText на фото-сообщении → 400.
Fix: editOrSendCallback (fallback delete+send) в depositHandler.

Issue 2 — Button Freeze:
answerCallbackQuery первым в callback-хендлере (уже v1.2.4, проверено).

Issue 3 — Chat Clutter:
resetUserContext удалял только photo/product/hiddenPhoto. Инлайн-меню не удалялись при навигации Reply Keyboard.
Fix: lastInlineMessageId + resetUserContext.

Acceptance

  • Issue 1: handleDepositInstruction/handleDepositSelectWallet используют editOrSendCallback — crypto deposit не падает
  • Issue 2: answerCallbackQuery первым в callback-хендлере (проверено)
  • Issue 3: lastInlineMessageId сохраняется в showProducts/showProfile/showBalance/showPurchases + удаляется в resetUserContext
  • Тесты (48 pass)
  • Коммит 61c7a90 + push
  • Деплой

Закрыто коммитом 61c7a90 (v1.2.5)

## Баг-репорт: Crypto Deposit Error, Button Delays, Chat Cleanup **Severity:** High | **Priority:** High ### Диагноз (прод-логи 192.168.2.74 + код) **Issue 1 — Crypto Deposit Error (блокирует оплату):** Прод-лог: ETELEGRAM 400 "no text in the message to edit" в handleDepositInstruction. Причина: handleDepositInstruction вызывает editMessageText напрямую. После Pay with Crypto → handleDepositCryptoQR отправляет ФОТО-сообщение (sendPhoto). Кнопка Back на фото → editMessageText на фото-сообщении → 400. Fix: editOrSendCallback (fallback delete+send) в depositHandler. **Issue 2 — Button Freeze:** answerCallbackQuery первым в callback-хендлере (уже v1.2.4, проверено). **Issue 3 — Chat Clutter:** resetUserContext удалял только photo/product/hiddenPhoto. Инлайн-меню не удалялись при навигации Reply Keyboard. Fix: lastInlineMessageId + resetUserContext. ### Acceptance - [x] Issue 1: handleDepositInstruction/handleDepositSelectWallet используют editOrSendCallback — crypto deposit не падает - [x] Issue 2: answerCallbackQuery первым в callback-хендлере (проверено) - [x] Issue 3: lastInlineMessageId сохраняется в showProducts/showProfile/showBalance/showPurchases + удаляется в resetUserContext - [x] Тесты (48 pass) - [x] Коммит 61c7a90 + push - [ ] Деплой Закрыто коммитом 61c7a90 (v1.2.5)
NW closed this issue 2026-08-05 11:20:37 +00:00
Sign in to join this conversation.