Bug #1867
closed[Murm] Некорректная обработка выхода из группового чата
100%
Description
При выходе из чата чат оч=стается существовать в LC, что ломает поведение ростер-дока и мурма.
STR:
0. Создать групповой чат
1. Выйти из чата
2. При этом таб закроется и откроется снова с сообщением, что вы вышли.
3. Чат отображается как в ростере, так и вкладкой
4. При попытках повторного выхода, сервер шлет ошибку:
[2015-01-22T04:17:11] https://api.vk.com/method/messages.removeChatUser?access_token=****&chat_id=6&user_id=364875942&v=5.25 [2015-01-22T04:17:11] got error: 100 One of the parameters specified was missing or invalid: chat_id param is incorrect [2015-01-22T04:17:11] { "error_code" : 100, "error_msg" : "One of the parameters specified was missing or invalid: chat_id param is incorrect", "request_params" : [ { "key" : "oauth", "value" : "1" }, { "key" : "method", "value" : "messages.removeChatUser" }, { "key" : "access_token", "value" : "****" }, { "key" : "chat_id", "value" : "6" }, { "key" : "user_id", "value" : "364875942" }, { "key" : "v", "value" : "5.25" } ] }
Expected result:
Actual result:
System information:
LeechCraft 0.6.70-2241-g4000db0
Built with Qt 4.8.6, running with Qt 4.8.6
Running on: Gentoo/Linux x86_64 3.18.3-gentoo #1 SMP PREEMPT Mon Jan 19 15:59:22 MSK 2015
Files
Updated by Mellon almost 10 years ago
- Subject changed from [Murm] Некорректная обработка выхода изгруппового чата to [Murm] Некорректная обработка выхода из группового чата
Updated by 0xd34df00d almost 10 years ago
- Status changed from New to Assigned
- Target version set to 0.6.75
Ну вконтакт, ну говно.
Updated by 0xd34df00d almost 10 years ago
- Status changed from Assigned to Resolved
- % Done changed from 0 to 100
Applied in changeset main|381dd1781a93102f08f2e0c45f226cf3cd6831c7.
Updated by Mellon almost 10 years ago
Этого недостаточно, чат по прежнему открывается вновь, но уже без сообщения о выходе.
Updated by 0xd34df00d almost 10 years ago
- Status changed from Resolved to Assigned
- % Done changed from 100 to 60
- Estimated time changed from 4:00 h to 6:00 h
Updated by 0xd34df00d almost 10 years ago
- Status changed from Assigned to Resolved
- % Done changed from 60 to 100
Applied in changeset main|4828b917eeaa74bf17ec04d9ba43ae7a09e690d8.
Updated by Mellon almost 10 years ago
В общем случае вроде как чаты при закрытии исчезают, но не всегда. Надо больше тестов для выявления str.
Updated by Mellon almost 10 years ago
Попробуй, пазязя, проанализировать случай, когда сервер присылает событие и/или сообщение о выходе, например, другого участника, после собственного выхода (закрытия чата). Это либо глюки сервера, либо мурм считает, что он уже вышел из чата, в то время, как сервер ещё полагает, что это не так.
Типичный случай воспроизведения:
А создает чат и приглашает B,C
B покидает чат, следом
A покидает чат
B может прийти сообщение, что A покинул чат и получает неубиваемый чат
A может прийти сообщение, что B покинул чат и получает неубиваемый чат
И ещё остается посотреть, что будет
если A создаст два чата с одними и теми же участниками. По идее, id чатов должен быть разным, и проблем быть не должно, но кто знает...
Updated by 0xd34df00d almost 10 years ago
Да, это вполне валидный случай. Автоматически входить в чат при получении сообщения из неизвестного чата — ожидаемое (и разумное, учитывая специфику VK) поведение.
Без существенных костылей по-другому это не сделаешь.
Updated by Mellon almost 10 years ago
- Status changed from Resolved to Closed
Тогда закрываю до переоткрытия. в общем, полегче стало, да.