mautrix / facebook

A Matrix-Facebook Messenger puppeting bridge
https://matrix.to/#/#facebook:maunium.net
GNU Affero General Public License v3.0
389 stars 64 forks source link

Not re-invited in matrix room for group chat when a message is posted on fb after leaving matrixthe room #161

Open MartenBE opened 3 years ago

MartenBE commented 3 years ago

For DM's everything works as expected:

  1. Friend sends something on FB
  2. Matrix room is opened and I am invited. I accept.
  3. I leave the room
  4. Friend again sends something on FB
  5. Matrix room is again opened and I am invited. I accept.

For group chats, something goes wrong:

  1. Friend sends something on FB in the group
  2. Matrix room is opened and I am invited. I accept.
  3. I leave the room
  4. Friend again sends something on FB
  5. No invite, I am missing the messages. However the logs show that messages and read notifications are still handled for that room?
facebook-messenger-bridge_1  | [2021-05-18 15:41:44,273] [DEBUG@mau.user.@martijn:mserver.link] Disconnecting MQTT connection for session refresh...
facebook-messenger-bridge_1  | [2021-05-18 15:41:44,273] [DEBUG@mau.user.@martijn:mserver.link] Sending bridge notice: Disconnecting Messenger MQTT connection for session refresh...
facebook-messenger-bridge_1  | [2021-05-18 15:41:44,360] [INFO@aiohttp.access] 192.168.16.3 [18/May/2021:15:41:44 +0000] "PUT /transactions/1433?access_token=56H64F4lPQUdrxgOiM78zzvK79BpGIXTSuiRZIIN-ib2evfUgVqMZOGDQN9z_DQ9 HTTP/1.1" 200 158 "-" "Synapse/1.34.0"
facebook-messenger-bridge_1  | [2021-05-18 15:41:45,069] [DEBUG@mau.user.@martijn:mserver.link] MQTT connection disconnected
facebook-messenger-bridge_1  | [2021-05-18 15:41:45,069] [DEBUG@mau.user.@martijn:mserver.link] Sending bridge notice: Refreshing session...
facebook-messenger-bridge_1  | [2021-05-18 15:41:45,139] [INFO@aiohttp.access] 192.168.16.3 [18/May/2021:15:41:45 +0000] "PUT /transactions/1434?access_token=56H64F4lPQUdrxgOiM78zzvK79BpGIXTSuiRZIIN-ib2evfUgVqMZOGDQN9z_DQ9 HTTP/1.1" 200 158 "-" "Synapse/1.34.0"
facebook-messenger-bridge_1  | [2021-05-18 15:41:45,976] [INFO@mau.user.@martijn:mserver.link] Loaded session successfully
facebook-messenger-bridge_1  | [2021-05-18 15:41:45,977] [INFO@mau.user.@martijn:mserver.link] Running post-login actions
facebook-messenger-bridge_1  | [2021-05-18 15:41:45,978] [DEBUG@mau.user.@martijn:mserver.link] Fetching threads...
facebook-messenger-bridge_1  | [2021-05-18 15:41:46,641] [DEBUG@mau.user.@martijn:mserver.link] Syncing thread 2134390183278255
facebook-messenger-bridge_1  | [2021-05-18 15:41:46,739] [INFO@aiohttp.access] 192.168.16.3 [18/May/2021:15:41:46 +0000] "PUT /transactions/1435?access_token=56H64F4lPQUdrxgOiM78zzvK79BpGIXTSuiRZIIN-ib2evfUgVqMZOGDQN9z_DQ9 HTTP/1.1" 200 158 "-" "Synapse/1.34.0"
facebook-messenger-bridge_1  | [2021-05-18 15:41:46,772] [DEBUG@mau.portal.2134390183278255] Not backfilling 2134390183278255: last activity is equal to most recent bridged message (1621352258305 >= 1621352258305)
facebook-messenger-bridge_1  | [2021-05-18 15:41:46,772] [DEBUG@mau.user.@martijn:mserver.link] Syncing thread 1599668624
facebook-messenger-bridge_1  | [2021-05-18 15:41:46,857] [DEBUG@mau.portal.1599668624<->1599668624] Not backfilling 1599668624<->1599668624: no most recent message found
facebook-messenger-bridge_1  | [2021-05-18 15:41:46,858] [DEBUG@mau.user.@martijn:mserver.link] Syncing thread 100001828153839
facebook-messenger-bridge_1  | [2021-05-18 15:41:46,887] [INFO@aiohttp.access] 192.168.16.3 [18/May/2021:15:41:46 +0000] "PUT /transactions/1436?access_token=56H64F4lPQUdrxgOiM78zzvK79BpGIXTSuiRZIIN-ib2evfUgVqMZOGDQN9z_DQ9 HTTP/1.1" 200 158 "-" "Synapse/1.34.0"
facebook-messenger-bridge_1  | [2021-05-18 15:41:46,972] [DEBUG@mau.portal.100001828153839<->1599668624] Not backfilling 100001828153839<->1599668624: no most recent message found
facebook-messenger-bridge_1  | [2021-05-18 15:41:47,002] [DEBUG@mau.user.@martijn:mserver.link.mqtt] Connecting to Messenger MQTT
facebook-messenger-bridge_1  | [2021-05-18 15:41:47,075] [INFO@aiohttp.access] 192.168.16.3 [18/May/2021:15:41:47 +0000] "PUT /transactions/1437?access_token=56H64F4lPQUdrxgOiM78zzvK79BpGIXTSuiRZIIN-ib2evfUgVqMZOGDQN9z_DQ9 HTTP/1.1" 200 158 "-" "Synapse/1.34.0"
facebook-messenger-bridge_1  | [2021-05-18 15:41:47,176] [DEBUG@mau.user.@martijn:mserver.link.mqtt] Re-creating sync queue after reconnect
facebook-messenger-bridge_1  | [2021-05-18 15:41:47,176] [DEBUG@mau.user.@martijn:mserver.link] Sending bridge notice: Connected to Facebook Messenger
facebook-messenger-bridge_1  | [2021-05-18 15:41:47,248] [INFO@aiohttp.access] 192.168.16.3 [18/May/2021:15:41:47 +0000] "PUT /transactions/1438?access_token=56H64F4lPQUdrxgOiM78zzvK79BpGIXTSuiRZIIN-ib2evfUgVqMZOGDQN9z_DQ9 HTTP/1.1" 200 158 "-" "Synapse/1.34.0"
facebook-messenger-bridge_1  | [2021-05-18 15:41:49,861] [INFO@aiohttp.access] 192.168.16.3 [18/May/2021:15:41:49 +0000] "PUT /transactions/1439?access_token=56H64F4lPQUdrxgOiM78zzvK79BpGIXTSuiRZIIN-ib2evfUgVqMZOGDQN9z_DQ9 HTTP/1.1" 200 158 "-" "Synapse/1.34.0"
facebook-messenger-bridge_1  | [2021-05-18 15:41:49,862] [DEBUG@mau.mx] @martijn:mserver.link joined !TZSHluJjNldAVXUBtn:mserver.link
facebook-messenger-bridge_1  | [2021-05-18 15:42:23,777] [INFO@aiohttp.access] 192.168.16.3 [18/May/2021:15:42:23 +0000] "PUT /transactions/1440?access_token=56H64F4lPQUdrxgOiM78zzvK79BpGIXTSuiRZIIN-ib2evfUgVqMZOGDQN9z_DQ9 HTTP/1.1" 200 158 "-" "Synapse/1.34.0"
facebook-messenger-bridge_1  | [2021-05-18 15:42:26,383] [INFO@aiohttp.access] 192.168.16.3 [18/May/2021:15:42:26 +0000] "PUT /transactions/1441?access_token=56H64F4lPQUdrxgOiM78zzvK79BpGIXTSuiRZIIN-ib2evfUgVqMZOGDQN9z_DQ9 HTTP/1.1" 200 158 "-" "Synapse/1.34.0"
facebook-messenger-bridge_1  | [2021-05-18 15:42:41,975] [INFO@aiohttp.access] 192.168.16.3 [18/May/2021:15:42:41 +0000] "PUT /transactions/1442?access_token=56H64F4lPQUdrxgOiM78zzvK79BpGIXTSuiRZIIN-ib2evfUgVqMZOGDQN9z_DQ9 HTTP/1.1" 200 158 "-" "Synapse/1.34.0"
facebook-messenger-bridge_1  | [2021-05-18 15:42:41,977] [DEBUG@mau.portal.2134390183278255] @martijn:mserver.link left portal to 2134390183278255
facebook-messenger-bridge_1  | [2021-05-18 15:43:06,049] [DEBUG@mau.portal.2134390183278255] Handled Messenger read receipt from 1599668624 up to 1621352585519/$HF3Cgw4jJ0LRHQWUjSkLCyeHUMO-jqm-9lGVqCBW4AM
facebook-messenger-bridge_1  | [2021-05-18 15:43:20,683] [DEBUG@mau.portal.2134390183278255] Handling Facebook event mid.$gAAeVN3Cvtq9_sWqb6F5gCVTX_Amz (/6800445697334970803)
facebook-messenger-bridge_1  | [2021-05-18 15:43:20,733] [DEBUG@mau.portal.2134390183278255] Handled Messenger message mid.$gAAeVN3Cvtq9_sWqb6F5gCVTX_Amz -> ['$2LfZTnrhINVAJGQR2G-akM0RqUAe04kuSa0tiQl-_Ow']
facebook-messenger-bridge_1  | [2021-05-18 15:43:20,748] [INFO@aiohttp.access] 192.168.16.3 [18/May/2021:15:43:20 +0000] "PUT /transactions/1443?access_token=56H64F4lPQUdrxgOiM78zzvK79BpGIXTSuiRZIIN-ib2evfUgVqMZOGDQN9z_DQ9 HTTP/1.1" 200 158 "-" "Synapse/1.34.0"
facebook-messenger-bridge_1  | [2021-05-18 15:43:21,252] [DEBUG@mau.portal.2134390183278255] Handled Messenger read receipt from 1599668624 up to 1621352600828/$2LfZTnrhINVAJGQR2G-akM0RqUAe04kuSa0tiQl-_Ow
facebook-messenger-bridge_1  | [2021-05-18 15:43:27,328] [DEBUG@mau.portal.2134390183278255] Handled Messenger read receipt from 1031701080 up to 1621352600552/$2LfZTnrhINVAJGQR2G-akM0RqUAe04kuSa0tiQl-_Ow
facebook-messenger-bridge_1  | [2021-05-18 15:43:39,295] [DEBUG@mau.portal.2134390183278255] Handling Facebook event mid.$gAAeVN3Cvtq9_sWrkJl5gCWbG_z6b (/6800445774359379611)
facebook-messenger-bridge_1  | [2021-05-18 15:43:39,345] [DEBUG@mau.portal.2134390183278255] Handled Messenger message mid.$gAAeVN3Cvtq9_sWrkJl5gCWbG_z6b -> ['$tc-kMd45dQR5m5C2WXmsZ-39x_8z777sbvC0iSaXfmY']
facebook-messenger-bridge_1  | [2021-05-18 15:43:39,365] [INFO@aiohttp.access] 192.168.16.3 [18/May/2021:15:43:39 +0000] "PUT /transactions/1444?access_token=56H64F4lPQUdrxgOiM78zzvK79BpGIXTSuiRZIIN-ib2evfUgVqMZOGDQN9z_DQ9 HTTP/1.1" 200 158 "-" "Synapse/1.34.0"

I have left the room at 2021-05-18 15:42:41,977 and have missed the messages in the log since that point. I wasn't reinvited in the room. Using refresh reinvites me into the room, but unknowing users could have missed messages in this case if they rely on the behavior of DM's.

HammyHavoc commented 3 years ago

Why do you leave the room rather than keeping it there like you would on Facebook Messenger? This sounds more like a case of user-error than anything. I'm not saying your usage scenario is invalid, but I don't think it's what's intended.

MartenBE commented 3 years ago

Why do you leave the room rather than keeping it there like you would on Facebook Messenger? This sounds more like a case of user-error than anything. I'm not saying your usage scenario is invalid, but I don't think it's what's intended.

This is possible. I guess there are 2 visions: a keep-everything-open-vision, like Messenger, or a keep-it-clean approach like I do with mail. Maybe this could be adressed with documentation? The loss of messages without the user knowing is still a problem however (even if it doesn't fit the correct usage) ...

HammyHavoc commented 2 years ago

Did you ever figure out rejoining? Just had a friend leave a group room, and it's been a while since I last looked at this.

MartenBE commented 2 years ago

No, the risk of losing messages proved to be too much and I now reluctantly use Messenger Desktop instead of this bridge.

jtagcat commented 2 years ago

This is still the case. On new messages to facebook group chat, matrix user is not re-invited. There is no way for the matrix user to search / by id (messenger.com URL) rejoin a messenger chat.

Related: #174

gabrc52 commented 9 months ago

keep-it-clean approach like I do with mail

so it seems like you really want is for there to be an "archive" feature in Matrix