Прежде всего, я прошу прощения, если раньше был аналогичный вопрос, я честно не мог найти.Возможная ошибка Firebase с .onDisconnect() при запуске Opera?
Я в настоящее время разрабатываю чат с помощью Firebase и благодаря приличным документам я готовлю хороший прогресс до сих пор, так что это на самом деле не проблема. Однако во время тестирования я наткнулся на небольшую проблему, которая может быть ошибкой.
Для управления присутствием в моем чате, я толкая значения в место, которое соответствует моему уникальному идентификатору пользователя. Это нажатое значение затем удаляется при отключении. Таким образом, я могу надежно определить статус пользователя, не беспокоясь о его количестве одновременных подключений к моим Firebase (например, вкладкам браузера).
Это действительно отлично работает с Firefox, Chrome и Safari, но, похоже, проблема с Opera. При использовании Opera, если закрыть вкладку, в которой чат работает, то значение, которое должно быть удалены при разъединении является не. Он будет удален в конце концов примерно через 2 минуты или около того, но он слишком длинный, учитывая, что одно и то же происходит мгновенно при использовании другого браузера.
Из любопытства я попытался presence example с помощью Opera, и я был в состоянии воспроизвести точно такое же поведение. Если я открою соответствующую Firebase на другой вкладке, запустите пример, введите имя и, наконец, закройте вкладку, в которой работает этот пример, я вижу, что значение в соответствующей Firebase не удаляется при закрытии вкладки.
Я был бы признателен, если вы могли бы сказать мне, если это только я делаю что-то неправильно, или если это на самом деле ошибка.
С уважением Мадди
Вы не упомянули о версиях, что было бы важно. Тем не менее, onDisconnect запускается на серверах Firebase (не локально), поэтому он не зависит от браузера. Я предполагаю, что по какой-то причине вы не используете веб-порты, а серверу приходится ждать подключения TCP? Вы пробовали ждать 5-10 м и видели, если отключается пожар? – Kato