Bien, he encontrado la solución para bloquear este estado.
Básicamente, Facebook usa un temporizador y, por lo tanto, enviará un mensaje de latido a sus servidores con el tiempo de inactividad cada x minutos.
Aquí hay un ejemplo de dicha solicitud web:
https://1-edge-chat.facebook.com/pull?channel=userid&seq=0&partition=-2&clientid=18ae8ecc&cb=ie3k&idle=117&qp=y&cap=8&msgs_recv=0&uid=userid&viewer_uid=userid&msgr_region=FRC&state=offline
Si lee ese enlace, verá que & idle = 117 es el total de segundos que la cuenta ha estado inactiva. El estado = desconectado significa si el chat está activo o desconectado
Tenga en cuenta que he reemplazado mi ID de usuario, que es un número de 15 dígitos.
Entonces, para deshabilitar esto, simplemente agregue la siguiente regla en sus filtros de AdBlock:
https://*-edge-chat.facebook.com
Un inconveniente de este método es que no recibirá mensajes en tiempo real. Debe actualizar la página para recibir los mensajes.
Como estoy proporcionando detalles adicionales, estoy escribiendo mi propia respuesta basada en el original (en lugar de editarlo).
Sí, hay una manera de hacerlo, pero este método solo funciona para Facebook y Messenger basados en la web; no puedes hacer algo similar para las aplicaciones móviles.
Básicamente, Facebook usa solicitudes cronometradas en el lado del servidor para verificar si el cliente todavía está disponible. Por lo tanto, el front end (página web cargada de Facebook) enviará periódicamente una solicitud HTTP ( XHR ) con el tiempo de inactividad a sus servidores.
Aquí hay un ejemplo de tal solicitud:
Nota: He reemplazado la ID de usuario que normalmente sería un número.
Si lee la URL anterior, verá la parte que dice inactivo = 117 . Esto denota el número total de segundos que la cuenta ha estado inactiva. El estado = sin conexión significa si el chat está activado o desactivado.
Entonces, para deshabilitar esto, simplemente agregue la siguiente regla a la lista personalizada de filtros de su bloqueador de anuncios:
Para deshabilitar en Facebook y Messenger, puede agregar las siguientes dos líneas:
O la línea única, usando expresiones regulares :
Algunos inconvenientes de este método son que no podrá recibir mensajes en tiempo real y no aparecerá en línea incluso si el chat está activado. Tendrá que actualizar la página para recibir nuevos mensajes.
Para evitar estos dos inconvenientes, aquí hay una solución alternativa. Puede agregar esta línea en su lugar:
O bien, agregue esto para Facebook y Messenger:
El resultado final de esto será el siguiente:
Desafortunadamente, parece que no hay otra solución ya que el front-end de Facebook puede recuperar mensajes solo cuando el cliente informa periódicamente que está activo, por lo tanto, la recuperación se realiza una vez que se informa la última actividad. Ambas acciones son posibles gracias a un único script de fondo ( * -edge-chat.facebook.com / pull ), a través de la misma solicitud; por lo tanto, no puedes tener uno sin el otro.
fuente
Reinicio Chrome que deshabilitó mis extensiones y ahora funciona bien.
fuente