Драфт исчезает только когда бот отправляет реальное сообщение. Ряд путей завершения операции не закрывал статус, из-за чего последняя показанная фраза висела в чате до конца TTL драфта и выглядела неактуальной. - OperationStatus: флаг _closed, finish() принимает None (только снять статус), finish_if_open() — идемпотентное закрытие, _finished_draft_id сохраняется до обнуления draft_id - finish_status(status, text) — хелпер, терпит None: закрывает статус на любом пути выхода без повторения `if status:` - закрыты пути без finish: _rebuild_account_profile при переданном статусе, _process_voice -> _classify_and_respond, успешные выходы _handle_image_message и transcribe_voice через else-ветку, ранние возвраты /help и проверки подписки Проверено: 176 тестов OK (4 новых на закрытие статуса). VERSION: 0.1.0+49 -> 0.1.0+50
2 lines
9 B
Plaintext
2 lines
9 B
Plaintext
0.1.0+50
|