codebattle icon indicating copy to clipboard operation
codebattle copied to clipboard

Невозможность игры с оппонентом, который зашел на сайт и принял приглашение позже, чем игра была создана

Open ElenaMilovanova opened this issue 2 years ago • 10 comments

  • summary: | Невозможность создать игру с игроком, который на данный момент неактивен, но который заходит на сайт и принимает приглашение на игру чуть позже
  • environment: Игрок1: Firefox Browser 119.0 (64-разр), ОС Windows 10Pro версия 21H2 Игрок2: Google Chrome версия 112.0.5615.121, ОС Ubuntu 22.04.3. LTS
  • steps-to-reproduce:
    • Выбираем уровень (начальный)
    • Выбираем Game Type (With a friend)
    • Выбираем Choose opponent (неактивного пользователя Игрок2, с которым вы могли бы связаться)
    • Оставляем выбор игры по умолчанию (random task) и время игры (8 мин)
    • Сообщаем неактивному Игрок2, что послали ему приглашение
    • Игрок2 заходит на сайт и принимает предложение на игру
  • expected-result: Должна начаться игра.
  • actual-result: | Игра не начинается, сообщение о приглашении и ожидании оппонента у Игрока1 осталось активным

ElenaMilovanova avatar Nov 06 '23 18:11 ElenaMilovanova

Только что проверил, и у меня работают приглашения. Может истекло время инвайта - если перезагрузить страницу, то инвайта уже не будет.

ReDBrother avatar Nov 06 '23 18:11 ReDBrother

время инвайта - это сколько? К тому же, у Игрок2 тоже ничего не происходит и игра не начинается.

ElenaMilovanova avatar Nov 06 '23 18:11 ElenaMilovanova

~ 15 минут, после этого инвайты уже могут быть нерабочими

ReDBrother avatar Nov 06 '23 18:11 ReDBrother

Игрок2 принял приглашение через 9 минут, у него на экране изменений не произошло. Игрок1 в это время был все время активен и ждал начала игры. Никакой игры не началось. Игрок2 должен принять приглашение и тут же обоим начать перезагружать страницу? А как узнать, в каких ситуациях надо перезагрузить страницу? Завтра проверю, поможет ли вообще перезагрузка, так как Игрок2 уже ушел спать. :)

ElenaMilovanova avatar Nov 06 '23 19:11 ElenaMilovanova

После успешного принятия приглашения, вас обоих перекидывает в созданную игру. Если что-то пошло не так, то нужно искать ошибки в инспекторе браузера. Можно меня сейчас пригласить

ReDBrother avatar Nov 06 '23 19:11 ReDBrother

Вы сейчас активны на сайте игр codebattle.hexlet.io, выйдите, пожалуйста, чтобы я создала приглашение

ElenaMilovanova avatar Nov 06 '23 19:11 ElenaMilovanova

Я отправила приглашение, можно зайти

ElenaMilovanova avatar Nov 06 '23 20:11 ElenaMilovanova

Инвайт нашел, подтвердил участие и игра успешно создалась

ReDBrother avatar Nov 06 '23 20:11 ReDBrother

Было отослано несколько приглашений на игру. Часть запустилась сразу, часть "зависла" на долгое время, хотя одобрение на игру уже было со стороны Игрока2 (сообщил по телефону). Мне думается, что нет обработки отсутствия загрузки игры в течении определенного времени после согласия Игрока2, т.е. для пользователя необходимо отобразить одобрение инвайта хотя бы в виде крутящегося спиннера или какого-то сообщения вроде "наберитесь терпения, игра сейчас загрузится, одобрение получено". А то непонятно, что делать, то ли ждать дальше , то ли перезагружать, то ли это ошибка. image

ElenaMilovanova avatar Nov 07 '23 18:11 ElenaMilovanova

Баг подтверждён 09/01/2024

summary: Невозможно создать игру с игроком, который уже залогинен на сайте и принял приглашение на игру

environment: Игрок1: Firefox Browser 115.6.0esr (64 bit) Игрок2: Google Chrome 109.0.5414.120 (64 bit) OS Windows 7

steps-to-reproduce:

  1. Игрок-1 залогинивается на сайте в Chrome
  2. Новый Игрок-2 регистрируется на сайте в Firefox
  3. Игрок-2 нажимает Create a game
  4. В окне Create a game Игрок-2 устанавливает Level = 1
  5. В окне Create a game Игрок-2 устанавливает Game Type = With a friend
  6. В окне Create a game Игрок-2 устанавливает в поле Choose opponent Игрока-1
  7. В окне Create a game Игрок-2 устанавливает простейшую игру (например rect_area)
  8. В окне Create a game Игрок-2 устанавливает время игры (8 мин)
  9. В окне Create a game Игрок-2 нажимает кнопку Create invite
  10. На логотипе Игрока-2 появляется значок уведомления о посланном приглашении
  11. На логотипе Игрока-1 появляется значок уведомления о приглашении
  12. Игрок-2 нажимает на логотип и выбирает кнопку Accept для принятия приглашения на игру

expected-result: Игрок-1 и Игрок-2 начинают игру . actual-result: Ничего не происходит (даже если Игрок-1 неоднократно нажимает Accept) игра не начинается, при этом уведомления на логотипах обоих игроков остаются активными.

image

image

image

image

image

YavorskyS avatar Jan 09 '24 15:01 YavorskyS