Как не отключать юзера после перезагрузки страницы socket io?
Пишу чат с использованием библиотеки socket io. Событие disconnect срабатывает при перезагрузке страницы, тем самым отключая юзера от чата. Я не хочу этого делать, я хочу что бы юзер отключался только после закрытия вкладки или окна браузера. Первое что пришло в голову - использовать sessionStorage, setTimeout, но как это реализовать максимально грамотно? Может в самой библиотеке есть что-то позволяющее упростить задачу?
disconnect отправляет сообщение всем участникам в беседе (комнате) о том что юзер отключился
Убрать отправку дисконнекта при самом дисконнекте не выйдет.
Как вариант, можно сделать так:
Сервер получает дисконнект, ждет какое-то время (например 10 секунд), и если за это время пользователь не переподключился (id сокета меняется, не забывай), то отправляет всем пользователям сообщение