Случайно воспроизвёл очень необычный баг в ВК. Может кто-нибудь знает, как это работает?
Итак, пожалуй распишу всё по пунктам:
1) Я отправил одному человеку ровно 100 его пересланных сообщений вместе со своей фразой об этом.
2) На следующий день прикрепил туда скриншот части своего сообщения и убрал эти 100 пересланных сообщений.
3) Зашёл в другой чат, максимально отдалил картинку в браузере и сделал тонкий и длинный скриншот части сообщений там, принадлежащие этому же человеку.
4) Опять редактировал сообщение в том чате, прикрепив данный скрин.
При этом, через время после этого случая у меня отключился интернет, то есть возможно он отключался и в момент отправки сообщения.
Как итог, когда оно через время отправилось - сбоку появились два моих сообщения (одно размером в строку, другое в несколько раз больше) в стадии загрузки, а слева от них красные восклицательные знаки.
И в чём суть - перезагрузив страницу я увидел, что это сообщение, которое отправил именно я, визуально стало принадлежать моему собеседнику. На нём остался первый скриншот и метка "(ред.)", но второй пропал. При этом это сообщение полностью рабочее, как будто его отправил реально не я, то есть:
- при нажатии на картинку открывается не мой профиль, а профиль моего собеседника
- я не могу редактировать это сообщение, как можно было бы сделать со своим
- при нём отсутствует функция "Удалить для всех"
- при пересылании этого сообщения в другие чаты его свойства остаются те же
- при перезагрузке странице а так же перезаходе в браузер ничего не меняется
- с других браузеров и других устройств ничего не меняется
Подозреваю, что это может быть как-то связано с перегрузкой информации на втором скриншоте вместе со слабым интернетом. Больше у меня идей, как это могло произойти, никаких нет.
Хотелось бы узнать, как это работает и что произошло на техническом уровне сайта?
К сожалению, без доступа к коду и инфраструктуре ВКонтакте невозможно точно определить, как произошел этот баг. Однако, возможно, это связано с тем, что при отправке сообщения происходит обмен данными между клиентом и сервером, и если в момент отправки сообщения произошла какая-то ошибка, то сервер может неправильно обработать эту информацию и присвоить ее другому пользователю. Также возможно, что это связано с кэшированием данных на стороне клиента или сервера. В любом случае, это является серьезным багом, который нужно сообщить разработчикам ВКонтакте, чтобы они могли его исправить.