fix(chat history): фикс

This commit is contained in:
zavolo
2026-05-10 23:39:08 +03:00
parent 77d6ca8cc0
commit 0d91f6542e
2 changed files with 10 additions and 3 deletions

View File

@@ -93,9 +93,14 @@ class HistoryProcessors(BaseProcessor):
"total": len(messages), # всего в этой пачке "total": len(messages), # всего в этой пачке
} }
# Собираем пакет # Собираем пакет.
# MAX 26.15.x: в switch-парсере cwb.c() (диспатч по полю u4d.d=short opcode)
# обработчик CHAT_HISTORY (создание a23) висит на #int 51, а не 49.
# opcode 49 в этом switch вообще отсутствует — пакет с ним игнорируется.
# Поэтому отвечаем opcode=51 несмотря на то, что в нашем opcodes.py
# CHAT_HISTORY=49 (это для роутинга запросов, а не для ответов).
packet = self.proto.pack_packet( packet = self.proto.pack_packet(
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.CHAT_HISTORY, payload=payload cmd=self.proto.CMD_OK, seq=seq, opcode=51, payload=payload
) )
# Отправялем # Отправялем

View File

@@ -223,7 +223,9 @@ class OnemeMobile:
writer, writer,
userId, userId,
) )
case self.opcodes.CHAT_HISTORY: case 49 | 51:
# MAX 26.15.x шлёт CHAT_HISTORY на opcode 51 (раньше был CHAT_MEDIA),
# некоторые билды ещё шлют 49. Поддерживаем оба.
await self.auth_required( await self.auth_required(
userPhone, userPhone,
self.processors.chat_history, self.processors.chat_history,