Project

General

Profile

Bug #1867

[Murm] Некорректная обработка выхода из группового чата

Added by Mellon over 5 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Plugins: Azoth
Target version:
Start date:
01/22/2015
Due date:
% Done:

100%

Estimated time:
6.00 h
Reported in:
master

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

debug.log (7.79 KB) debug.log Mellon, 01/22/2015 05:02 AM
warning.log (4.95 KB) warning.log Mellon, 01/22/2015 05:02 AM
#1

Updated by Mellon over 5 years ago

  • Subject changed from [Murm] Некорректная обработка выхода изгруппового чата to [Murm] Некорректная обработка выхода из группового чата
#2

Updated by 0xd34df00d over 5 years ago

  • Target version set to 0.6.75
  • Status changed from New to Assigned

Ну вконтакт, ну говно.

#3

Updated by 0xd34df00d over 5 years ago

  • Estimated time set to 4.00 h
#4

Updated by 0xd34df00d over 5 years ago

  • % Done changed from 0 to 100
  • Status changed from Assigned to Resolved
#5

Updated by Mellon over 5 years ago

Этого недостаточно, чат по прежнему открывается вновь, но уже без сообщения о выходе.

#6

Updated by 0xd34df00d over 5 years ago

  • Estimated time changed from 4.00 h to 6.00 h
  • % Done changed from 100 to 60
  • Status changed from Resolved to Assigned
#7

Updated by 0xd34df00d over 5 years ago

  • % Done changed from 60 to 100
  • Status changed from Assigned to Resolved
#8

Updated by Mellon over 5 years ago

В общем случае вроде как чаты при закрытии исчезают, но не всегда. Надо больше тестов для выявления str.

#9

Updated by Mellon over 5 years ago

Попробуй, пазязя, проанализировать случай, когда сервер присылает событие и/или сообщение о выходе, например, другого участника, после собственного выхода (закрытия чата). Это либо глюки сервера, либо мурм считает, что он уже вышел из чата, в то время, как сервер ещё полагает, что это не так.

Типичный случай воспроизведения:
А создает чат и приглашает B,C
B покидает чат, следом
A покидает чат
B может прийти сообщение, что A покинул чат и получает неубиваемый чат
A может прийти сообщение, что B покинул чат и получает неубиваемый чат

И ещё остается посотреть, что будет
если A создаст два чата с одними и теми же участниками. По идее, id чатов должен быть разным, и проблем быть не должно, но кто знает...

#10

Updated by 0xd34df00d over 5 years ago

Да, это вполне валидный случай. Автоматически входить в чат при получении сообщения из неизвестного чата — ожидаемое (и разумное, учитывая специфику VK) поведение.

Без существенных костылей по-другому это не сделаешь.

#11

Updated by Mellon over 5 years ago

  • Status changed from Resolved to Closed

Тогда закрываю до переоткрытия. в общем, полегче стало, да.

Also available in: Atom PDF