Sliding sync + JS-SDK: /sync finishes immediately, spamming requests #403

Open
opened 2023-11-23 21:13:19 +00:00 by solarkraft · 2 comments
solarkraft commented 2023-11-23 21:13:19 +00:00 (Migrated from gitlab.com)

When requesting a sliding sync using the Matrix JS SDK with a timeout of 5000 (5 seconds) with this request:

Initial sync request
{
   "lists": {
      "my_rooms": {
         "ranges": [
            [
               0,
               20
            ]
         ],
         "sort": [
            "by_recency"
         ],
         "timeline_limit": 0,
         "filters": {}
      }
   },
   "extensions": {
      "to_device": {
         "limit": 100,
         "enabled": true
      },
      "account_data": {
         "enabled": true
      },
      "typing": {
         "enabled": true
      },
      "receipts": {
         "enabled": true
      }
   }
}

the server waits for 5 seconds and responds with:

Initial response
{
   "initial": true,
   "pos": "68083918",
   "lists": {
      "my_rooms": {
         "ops": [
            {
               "op": "SYNC",
               "range": [
                  0,
                  0
               ],
               "index": null,
               "room_ids": [
                  "!R0TfLk5oO4C0BxIaWh:conduit.rs"
               ],
               "room_id": null
            }
         ],
         "count": 1
      }
   },
   "rooms": {
      "!R0TfLk5oO4C0BxIaWh:conduit.rs": {
         "name": "Funky group",
         "initial": true,
         "highlight_count": 0,
         "notification_count": 0,
         "limited": true,
         "joined_count": 3,
         "invited_count": 0
      }
   },
   "extensions": {
      "to_device": {
         "next_batch": "68083918"
      },
      "account_data": {
         "global": [
            {
               "content": {
                  "recent_rooms": [
                     "!R0TfLk5oO4C0BxIaWh:conduit.rs"
                  ]
               },
               "type": "im.vector.setting.breadcrumbs"
            },
            {
               "content": {
                  "is_silenced": false
               },
               "type": "org.matrix.msc3890.local_notification_settings.6hovuh3Ng7"
            },
            {
               "content": {
                  "global": {
                     "content": [
                        {
                           "actions": [
                              "notify",
                              {
                                 "set_tweak": "sound",
                                 "value": "default"
                              },
                              {
                                 "set_tweak": "highlight"
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "pattern": "neo",
                           "rule_id": ".m.rule.contains_user_name"
                        }
                     ],
                     "override": [
                        {
                           "actions": [],
                           "conditions": [],
                           "default": true,
                           "enabled": false,
                           "rule_id": ".m.rule.master"
                        },
                        {
                           "actions": [],
                           "conditions": [
                              {
                                 "key": "content.msgtype",
                                 "kind": "event_match",
                                 "pattern": "m.notice"
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.suppress_notices"
                        },
                        {
                           "actions": [
                              "notify",
                              {
                                 "set_tweak": "sound",
                                 "value": "default"
                              },
                              {
                                 "set_tweak": "highlight",
                                 "value": false
                              }
                           ],
                           "conditions": [
                              {
                                 "key": "type",
                                 "kind": "event_match",
                                 "pattern": "m.room.member"
                              },
                              {
                                 "key": "content.membership",
                                 "kind": "event_match",
                                 "pattern": "invite"
                              },
                              {
                                 "key": "state_key",
                                 "kind": "event_match",
                                 "pattern": "@neo:conduit.rs"
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.invite_for_me"
                        },
                        {
                           "actions": [],
                           "conditions": [
                              {
                                 "key": "type",
                                 "kind": "event_match",
                                 "pattern": "m.room.member"
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.member_event"
                        },
                        {
                           "actions": [
                              "notify",
                              {
                                 "set_tweak": "sound",
                                 "value": "default"
                              },
                              {
                                 "set_tweak": "highlight"
                              }
                           ],
                           "conditions": [
                              {
                                 "key": "content.m\\.mentions.user_ids",
                                 "kind": "event_property_contains",
                                 "value": "@neo:conduit.rs"
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.is_user_mention"
                        },
                        {
                           "actions": [
                              "notify",
                              {
                                 "set_tweak": "sound",
                                 "value": "default"
                              },
                              {
                                 "set_tweak": "highlight"
                              }
                           ],
                           "conditions": [
                              {
                                 "kind": "contains_display_name"
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.contains_display_name"
                        },
                        {
                           "actions": [
                              "notify",
                              {
                                 "set_tweak": "highlight"
                              }
                           ],
                           "conditions": [
                              {
                                 "key": "content.m\\.mentions.room",
                                 "kind": "event_property_is",
                                 "value": true
                              },
                              {
                                 "key": "room",
                                 "kind": "sender_notification_permission"
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.is_room_mention"
                        },
                        {
                           "actions": [
                              "notify",
                              {
                                 "set_tweak": "highlight"
                              }
                           ],
                           "conditions": [
                              {
                                 "key": "content.body",
                                 "kind": "event_match",
                                 "pattern": "@room"
                              },
                              {
                                 "key": "room",
                                 "kind": "sender_notification_permission"
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.roomnotif"
                        },
                        {
                           "actions": [
                              "notify",
                              {
                                 "set_tweak": "highlight"
                              }
                           ],
                           "conditions": [
                              {
                                 "key": "type",
                                 "kind": "event_match",
                                 "pattern": "m.room.tombstone"
                              },
                              {
                                 "key": "state_key",
                                 "kind": "event_match",
                                 "pattern": ""
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.tombstone"
                        },
                        {
                           "actions": [],
                           "conditions": [
                              {
                                 "key": "type",
                                 "kind": "event_match",
                                 "pattern": "m.reaction"
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.reaction"
                        },
                        {
                           "actions": [],
                           "conditions": [
                              {
                                 "key": "type",
                                 "kind": "event_match",
                                 "pattern": "m.room.server_acl"
                              },
                              {
                                 "key": "state_key",
                                 "kind": "event_match",
                                 "pattern": ""
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.room.server_acl"
                        }
                     ],
                     "room": [],
                     "sender": [],
                     "underride": [
                        {
                           "actions": [
                              "notify",
                              {
                                 "set_tweak": "sound",
                                 "value": "ring"
                              },
                              {
                                 "set_tweak": "highlight",
                                 "value": false
                              }
                           ],
                           "conditions": [
                              {
                                 "key": "type",
                                 "kind": "event_match",
                                 "pattern": "m.call.invite"
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.call"
                        },
                        {
                           "actions": [
                              "notify",
                              {
                                 "set_tweak": "sound",
                                 "value": "default"
                              },
                              {
                                 "set_tweak": "highlight",
                                 "value": false
                              }
                           ],
                           "conditions": [
                              {
                                 "is": "2",
                                 "kind": "room_member_count"
                              },
                              {
                                 "key": "type",
                                 "kind": "event_match",
                                 "pattern": "m.room.encrypted"
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.encrypted_room_one_to_one"
                        },
                        {
                           "actions": [
                              "notify",
                              {
                                 "set_tweak": "sound",
                                 "value": "default"
                              },
                              {
                                 "set_tweak": "highlight",
                                 "value": false
                              }
                           ],
                           "conditions": [
                              {
                                 "is": "2",
                                 "kind": "room_member_count"
                              },
                              {
                                 "key": "type",
                                 "kind": "event_match",
                                 "pattern": "m.room.message"
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.room_one_to_one"
                        },
                        {
                           "actions": [
                              "notify",
                              {
                                 "set_tweak": "highlight",
                                 "value": false
                              }
                           ],
                           "conditions": [
                              {
                                 "key": "type",
                                 "kind": "event_match",
                                 "pattern": "m.room.message"
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.message"
                        },
                        {
                           "actions": [
                              "notify",
                              {
                                 "set_tweak": "highlight",
                                 "value": false
                              }
                           ],
                           "conditions": [
                              {
                                 "key": "type",
                                 "kind": "event_match",
                                 "pattern": "m.room.encrypted"
                              }
                           ],
                           "default": true,
                           "enabled": true,
                           "rule_id": ".m.rule.encrypted"
                        }
                     ]
                  }
               },
               "type": "m.push_rules"
            },
            {
               "content": {
                  "disabled": false
               },
               "type": "m.org.matrix.custom.backup_disabled"
            },
            {
               "content": {
                  "id": "5dd7745cee4657f1b5428b53ae38aa7a",
                  "pseudonymousAnalyticsOptIn": false
               },
               "type": "im.vector.analytics"
            },
            {
               "content": {
                  "is_silenced": false
               },
               "type": "org.matrix.msc3890.local_notification_settings.d7BXBtuWCe"
            },
            {
               "content": {
                  "FTUE.useCaseSelection": "Skip"
               },
               "type": "im.vector.web.settings"
            }
         ]
      }
   },
   "delta_token": null
}

The immediately following sync request takes a whole 25ms to complete:

Second request
{
   "lists": {
      "my_rooms": {
         "ranges": [
            [
               0,
               20
            ]
         ]
      }
   },
   "extensions": {
      "to_device": {
         "since": "68083918"
      }
   }
}
Second response
{
    "pos": "68083926",
    "lists": {
        "my_rooms": {
            "ops": [
                {
                    "op": "SYNC",
                    "range": [
                        0,
                        0
                    ],
                    "index": null,
                    "room_ids": [
                        "!R0TfLk5oO4C0BxIaWh:conduit.rs"
                    ],
                    "room_id": null
                }
            ],
            "count": 1
        }
    },
    "rooms": {
        "!R0TfLk5oO4C0BxIaWh:conduit.rs": {
            "name": "Funky group",
            "initial": true,
            "highlight_count": 0,
            "notification_count": 0,
            "timeline": [
                {
                    "content": {
                        "displayname": "my funky session",
                        "membership": "join"
                    },
                    "event_id": "$5i6mqqyv0OGiYxeIRakD8zxMyPgVxer6nwuIGbeweZg",
                    "origin_server_ts": 1694689544455,
                    "sender": "@testing24752:matrix.org",
                    "state_key": "@testing24752:matrix.org",
                    "type": "m.room.member",
                    "unsigned": {
                        "age": 1,
                        "prev_content": {
                            "displayname": "asdf",
                            "membership": "join"
                        }
                    }
                },
                {
                    "content": {
                        "displayname": "My wacky Matrix client",
                        "membership": "join"
                    },
                    "event_id": "$OHNoar9UC8VCKJE3XOePRzt68Myr66R6Gx8y_P5m4OA",
                    "origin_server_ts": 1694689604525,
                    "sender": "@testing24752:matrix.org",
                    "state_key": "@testing24752:matrix.org",
                    "type": "m.room.member",
                    "unsigned": {
                        "age": 1,
                        "prev_content": {
                            "displayname": "my funky session",
                            "membership": "join"
                        }
                    }
                },
                {
                    "content": {
                        "body": "Hmmm … ",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "Hmmm … ",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$-ofgEYGvfmX6NLULYBE80Z2o9ckJq9CGTOjY78llrfc",
                    "origin_server_ts": 1699496720415,
                    "sender": "@neo:conduit.rs",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1,
                        "transaction_id": "99db811cfa8448a98bbb9333e39ed525"
                    }
                },
                {
                    "content": {
                        "body": "At least sliding sync seems to work with Element X",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "At least sliding sync seems to work with Element X",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$l2rWw41xK5YwbA3Zv2icl6X8pRM1s0gMU4Y73Nb2QQU",
                    "origin_server_ts": 1699496727363,
                    "sender": "@neo:conduit.rs",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1,
                        "transaction_id": "87200293e25c4c94a878c077b3503fce"
                    }
                },
                {
                    "content": {
                        "body": "Guess We’ll have to have a hard look at all that it does",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "Guess We’ll have to have a hard look at all that it does",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$sKIugNErLXTU9Rp-4URHhl6oO1X5jye6lQbWFiQhcqE",
                    "origin_server_ts": 1699496738578,
                    "sender": "@neo:conduit.rs",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1,
                        "transaction_id": "2bde275bf90045b1bd13f3c0b987f681"
                    }
                },
                {
                    "content": {
                        "body": "beep",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "beep",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$0_1gc-RdFxn-zFnYlJp8AnaBoCgNBbIJGeb4oyO8k1w",
                    "origin_server_ts": 1699496955306,
                    "sender": "@solarkraft:matrix.org",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1
                    }
                },
                {
                    "content": {
                        "body": "Updating on new messages does still work ...",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "Updating on new messages does still work ...",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$F1sUaBBsNtQQPMjbmBK56ranrIJ_b5RSFvXaxGJDeQo",
                    "origin_server_ts": 1699496978136,
                    "sender": "@solarkraft:matrix.org",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1
                    }
                },
                {
                    "content": {
                        "body": "beep",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "beep",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$Uu3p5miPX4aULvyHr-tfdhLCJi3sAfipzr87-r5FtI4",
                    "origin_server_ts": 1699497638947,
                    "sender": "@neo:conduit.rs",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1,
                        "transaction_id": "71cb1ca5241543848ddfd37cbfa116af"
                    }
                },
                {
                    "content": {
                        "body": "boop",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "boop",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$fzOmvf6cKdeUcCHsphOPT_x7xYJjzZAAKnHE2x2IAR0",
                    "origin_server_ts": 1699498652706,
                    "sender": "@solarkraft:matrix.org",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1
                    }
                },
                {
                    "content": {
                        "body": "o",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "o",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$aJ5FxIA_mrifGlbcDfeLxuigrD2T0IVJab7wa8VxDIg",
                    "origin_server_ts": 1699498657074,
                    "sender": "@solarkraft:matrix.org",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1
                    }
                }
            ],
            "prev_batch": "54617428",
            "limited": true,
            "joined_count": 3,
            "invited_count": 0
        }
    },
    "delta_token": null
}

... the third request follows immediately, also only taking a few milliseconds ...

Third Request
{
    "lists": {
        "my_rooms": {
            "ranges": [
                [
                    0,
                    20
                ]
            ]
        }
    },
    "extensions": {
        "to_device": {
            "since": "68083918"
        }
    }
}
Third Response
{
    "pos": "68083927",
    "lists": {
        "my_rooms": {
            "ops": [
                {
                    "op": "SYNC",
                    "range": [
                        0,
                        0
                    ],
                    "index": null,
                    "room_ids": [
                        "!R0TfLk5oO4C0BxIaWh:conduit.rs"
                    ],
                    "room_id": null
                }
            ],
            "count": 1
        }
    },
    "rooms": {
        "!R0TfLk5oO4C0BxIaWh:conduit.rs": {
            "name": "Funky group",
            "initial": true,
            "highlight_count": 0,
            "notification_count": 0,
            "timeline": [
                {
                    "content": {
                        "displayname": "my funky session",
                        "membership": "join"
                    },
                    "event_id": "$5i6mqqyv0OGiYxeIRakD8zxMyPgVxer6nwuIGbeweZg",
                    "origin_server_ts": 1694689544455,
                    "sender": "@testing24752:matrix.org",
                    "state_key": "@testing24752:matrix.org",
                    "type": "m.room.member",
                    "unsigned": {
                        "age": 1,
                        "prev_content": {
                            "displayname": "asdf",
                            "membership": "join"
                        }
                    }
                },
                {
                    "content": {
                        "displayname": "My wacky Matrix client",
                        "membership": "join"
                    },
                    "event_id": "$OHNoar9UC8VCKJE3XOePRzt68Myr66R6Gx8y_P5m4OA",
                    "origin_server_ts": 1694689604525,
                    "sender": "@testing24752:matrix.org",
                    "state_key": "@testing24752:matrix.org",
                    "type": "m.room.member",
                    "unsigned": {
                        "age": 1,
                        "prev_content": {
                            "displayname": "my funky session",
                            "membership": "join"
                        }
                    }
                },
                {
                    "content": {
                        "body": "Hmmm … ",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "Hmmm … ",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$-ofgEYGvfmX6NLULYBE80Z2o9ckJq9CGTOjY78llrfc",
                    "origin_server_ts": 1699496720415,
                    "sender": "@neo:conduit.rs",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1,
                        "transaction_id": "99db811cfa8448a98bbb9333e39ed525"
                    }
                },
                {
                    "content": {
                        "body": "At least sliding sync seems to work with Element X",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "At least sliding sync seems to work with Element X",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$l2rWw41xK5YwbA3Zv2icl6X8pRM1s0gMU4Y73Nb2QQU",
                    "origin_server_ts": 1699496727363,
                    "sender": "@neo:conduit.rs",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1,
                        "transaction_id": "87200293e25c4c94a878c077b3503fce"
                    }
                },
                {
                    "content": {
                        "body": "Guess We’ll have to have a hard look at all that it does",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "Guess We’ll have to have a hard look at all that it does",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$sKIugNErLXTU9Rp-4URHhl6oO1X5jye6lQbWFiQhcqE",
                    "origin_server_ts": 1699496738578,
                    "sender": "@neo:conduit.rs",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1,
                        "transaction_id": "2bde275bf90045b1bd13f3c0b987f681"
                    }
                },
                {
                    "content": {
                        "body": "beep",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "beep",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$0_1gc-RdFxn-zFnYlJp8AnaBoCgNBbIJGeb4oyO8k1w",
                    "origin_server_ts": 1699496955306,
                    "sender": "@solarkraft:matrix.org",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1
                    }
                },
                {
                    "content": {
                        "body": "Updating on new messages does still work ...",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "Updating on new messages does still work ...",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$F1sUaBBsNtQQPMjbmBK56ranrIJ_b5RSFvXaxGJDeQo",
                    "origin_server_ts": 1699496978136,
                    "sender": "@solarkraft:matrix.org",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1
                    }
                },
                {
                    "content": {
                        "body": "beep",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "beep",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$Uu3p5miPX4aULvyHr-tfdhLCJi3sAfipzr87-r5FtI4",
                    "origin_server_ts": 1699497638947,
                    "sender": "@neo:conduit.rs",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1,
                        "transaction_id": "71cb1ca5241543848ddfd37cbfa116af"
                    }
                },
                {
                    "content": {
                        "body": "boop",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "boop",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$fzOmvf6cKdeUcCHsphOPT_x7xYJjzZAAKnHE2x2IAR0",
                    "origin_server_ts": 1699498652706,
                    "sender": "@solarkraft:matrix.org",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1
                    }
                },
                {
                    "content": {
                        "body": "o",
                        "format": "org.matrix.custom.html",
                        "formatted_body": "o",
                        "m.mentions": {},
                        "msgtype": "m.text"
                    },
                    "event_id": "$aJ5FxIA_mrifGlbcDfeLxuigrD2T0IVJab7wa8VxDIg",
                    "origin_server_ts": 1699498657074,
                    "sender": "@solarkraft:matrix.org",
                    "type": "m.room.message",
                    "unsigned": {
                        "age": 1
                    }
                }
            ],
            "prev_batch": "54617428",
            "limited": true,
            "joined_count": 3,
            "invited_count": 0
        }
    },
    "delta_token": null
}

This request also finishes immediately, leading to a fourth request ... and so on. It never stops and has been freezing up my browser quite a bit =)

As you may have guessed, the initial wait is exactly how long the long-polling timeout was supposed to be.

This doesn't happen when connecting to a Synapse server such as matrix.org.

This may be related to troubles other people are having (for instance with Element Web): #400

When requesting a sliding sync using the Matrix JS SDK with a timeout of 5000 (5 seconds) with this request: <details> <summary> Initial sync request </summary> ```js { "lists": { "my_rooms": { "ranges": [ [ 0, 20 ] ], "sort": [ "by_recency" ], "timeline_limit": 0, "filters": {} } }, "extensions": { "to_device": { "limit": 100, "enabled": true }, "account_data": { "enabled": true }, "typing": { "enabled": true }, "receipts": { "enabled": true } } } ``` </details> the server waits for 5 seconds and responds with: <details> <summary> Initial response </summary> ```js { "initial": true, "pos": "68083918", "lists": { "my_rooms": { "ops": [ { "op": "SYNC", "range": [ 0, 0 ], "index": null, "room_ids": [ "!R0TfLk5oO4C0BxIaWh:conduit.rs" ], "room_id": null } ], "count": 1 } }, "rooms": { "!R0TfLk5oO4C0BxIaWh:conduit.rs": { "name": "Funky group", "initial": true, "highlight_count": 0, "notification_count": 0, "limited": true, "joined_count": 3, "invited_count": 0 } }, "extensions": { "to_device": { "next_batch": "68083918" }, "account_data": { "global": [ { "content": { "recent_rooms": [ "!R0TfLk5oO4C0BxIaWh:conduit.rs" ] }, "type": "im.vector.setting.breadcrumbs" }, { "content": { "is_silenced": false }, "type": "org.matrix.msc3890.local_notification_settings.6hovuh3Ng7" }, { "content": { "global": { "content": [ { "actions": [ "notify", { "set_tweak": "sound", "value": "default" }, { "set_tweak": "highlight" } ], "default": true, "enabled": true, "pattern": "neo", "rule_id": ".m.rule.contains_user_name" } ], "override": [ { "actions": [], "conditions": [], "default": true, "enabled": false, "rule_id": ".m.rule.master" }, { "actions": [], "conditions": [ { "key": "content.msgtype", "kind": "event_match", "pattern": "m.notice" } ], "default": true, "enabled": true, "rule_id": ".m.rule.suppress_notices" }, { "actions": [ "notify", { "set_tweak": "sound", "value": "default" }, { "set_tweak": "highlight", "value": false } ], "conditions": [ { "key": "type", "kind": "event_match", "pattern": "m.room.member" }, { "key": "content.membership", "kind": "event_match", "pattern": "invite" }, { "key": "state_key", "kind": "event_match", "pattern": "@neo:conduit.rs" } ], "default": true, "enabled": true, "rule_id": ".m.rule.invite_for_me" }, { "actions": [], "conditions": [ { "key": "type", "kind": "event_match", "pattern": "m.room.member" } ], "default": true, "enabled": true, "rule_id": ".m.rule.member_event" }, { "actions": [ "notify", { "set_tweak": "sound", "value": "default" }, { "set_tweak": "highlight" } ], "conditions": [ { "key": "content.m\\.mentions.user_ids", "kind": "event_property_contains", "value": "@neo:conduit.rs" } ], "default": true, "enabled": true, "rule_id": ".m.rule.is_user_mention" }, { "actions": [ "notify", { "set_tweak": "sound", "value": "default" }, { "set_tweak": "highlight" } ], "conditions": [ { "kind": "contains_display_name" } ], "default": true, "enabled": true, "rule_id": ".m.rule.contains_display_name" }, { "actions": [ "notify", { "set_tweak": "highlight" } ], "conditions": [ { "key": "content.m\\.mentions.room", "kind": "event_property_is", "value": true }, { "key": "room", "kind": "sender_notification_permission" } ], "default": true, "enabled": true, "rule_id": ".m.rule.is_room_mention" }, { "actions": [ "notify", { "set_tweak": "highlight" } ], "conditions": [ { "key": "content.body", "kind": "event_match", "pattern": "@room" }, { "key": "room", "kind": "sender_notification_permission" } ], "default": true, "enabled": true, "rule_id": ".m.rule.roomnotif" }, { "actions": [ "notify", { "set_tweak": "highlight" } ], "conditions": [ { "key": "type", "kind": "event_match", "pattern": "m.room.tombstone" }, { "key": "state_key", "kind": "event_match", "pattern": "" } ], "default": true, "enabled": true, "rule_id": ".m.rule.tombstone" }, { "actions": [], "conditions": [ { "key": "type", "kind": "event_match", "pattern": "m.reaction" } ], "default": true, "enabled": true, "rule_id": ".m.rule.reaction" }, { "actions": [], "conditions": [ { "key": "type", "kind": "event_match", "pattern": "m.room.server_acl" }, { "key": "state_key", "kind": "event_match", "pattern": "" } ], "default": true, "enabled": true, "rule_id": ".m.rule.room.server_acl" } ], "room": [], "sender": [], "underride": [ { "actions": [ "notify", { "set_tweak": "sound", "value": "ring" }, { "set_tweak": "highlight", "value": false } ], "conditions": [ { "key": "type", "kind": "event_match", "pattern": "m.call.invite" } ], "default": true, "enabled": true, "rule_id": ".m.rule.call" }, { "actions": [ "notify", { "set_tweak": "sound", "value": "default" }, { "set_tweak": "highlight", "value": false } ], "conditions": [ { "is": "2", "kind": "room_member_count" }, { "key": "type", "kind": "event_match", "pattern": "m.room.encrypted" } ], "default": true, "enabled": true, "rule_id": ".m.rule.encrypted_room_one_to_one" }, { "actions": [ "notify", { "set_tweak": "sound", "value": "default" }, { "set_tweak": "highlight", "value": false } ], "conditions": [ { "is": "2", "kind": "room_member_count" }, { "key": "type", "kind": "event_match", "pattern": "m.room.message" } ], "default": true, "enabled": true, "rule_id": ".m.rule.room_one_to_one" }, { "actions": [ "notify", { "set_tweak": "highlight", "value": false } ], "conditions": [ { "key": "type", "kind": "event_match", "pattern": "m.room.message" } ], "default": true, "enabled": true, "rule_id": ".m.rule.message" }, { "actions": [ "notify", { "set_tweak": "highlight", "value": false } ], "conditions": [ { "key": "type", "kind": "event_match", "pattern": "m.room.encrypted" } ], "default": true, "enabled": true, "rule_id": ".m.rule.encrypted" } ] } }, "type": "m.push_rules" }, { "content": { "disabled": false }, "type": "m.org.matrix.custom.backup_disabled" }, { "content": { "id": "5dd7745cee4657f1b5428b53ae38aa7a", "pseudonymousAnalyticsOptIn": false }, "type": "im.vector.analytics" }, { "content": { "is_silenced": false }, "type": "org.matrix.msc3890.local_notification_settings.d7BXBtuWCe" }, { "content": { "FTUE.useCaseSelection": "Skip" }, "type": "im.vector.web.settings" } ] } }, "delta_token": null } ``` </details> The immediately following sync request takes a whole 25ms to complete: <details> <summary> Second request </summary> ```js { "lists": { "my_rooms": { "ranges": [ [ 0, 20 ] ] } }, "extensions": { "to_device": { "since": "68083918" } } } ``` </details><details> <summary> Second response </summary> ```js { "pos": "68083926", "lists": { "my_rooms": { "ops": [ { "op": "SYNC", "range": [ 0, 0 ], "index": null, "room_ids": [ "!R0TfLk5oO4C0BxIaWh:conduit.rs" ], "room_id": null } ], "count": 1 } }, "rooms": { "!R0TfLk5oO4C0BxIaWh:conduit.rs": { "name": "Funky group", "initial": true, "highlight_count": 0, "notification_count": 0, "timeline": [ { "content": { "displayname": "my funky session", "membership": "join" }, "event_id": "$5i6mqqyv0OGiYxeIRakD8zxMyPgVxer6nwuIGbeweZg", "origin_server_ts": 1694689544455, "sender": "@testing24752:matrix.org", "state_key": "@testing24752:matrix.org", "type": "m.room.member", "unsigned": { "age": 1, "prev_content": { "displayname": "asdf", "membership": "join" } } }, { "content": { "displayname": "My wacky Matrix client", "membership": "join" }, "event_id": "$OHNoar9UC8VCKJE3XOePRzt68Myr66R6Gx8y_P5m4OA", "origin_server_ts": 1694689604525, "sender": "@testing24752:matrix.org", "state_key": "@testing24752:matrix.org", "type": "m.room.member", "unsigned": { "age": 1, "prev_content": { "displayname": "my funky session", "membership": "join" } } }, { "content": { "body": "Hmmm … ", "format": "org.matrix.custom.html", "formatted_body": "Hmmm … ", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$-ofgEYGvfmX6NLULYBE80Z2o9ckJq9CGTOjY78llrfc", "origin_server_ts": 1699496720415, "sender": "@neo:conduit.rs", "type": "m.room.message", "unsigned": { "age": 1, "transaction_id": "99db811cfa8448a98bbb9333e39ed525" } }, { "content": { "body": "At least sliding sync seems to work with Element X", "format": "org.matrix.custom.html", "formatted_body": "At least sliding sync seems to work with Element X", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$l2rWw41xK5YwbA3Zv2icl6X8pRM1s0gMU4Y73Nb2QQU", "origin_server_ts": 1699496727363, "sender": "@neo:conduit.rs", "type": "m.room.message", "unsigned": { "age": 1, "transaction_id": "87200293e25c4c94a878c077b3503fce" } }, { "content": { "body": "Guess We’ll have to have a hard look at all that it does", "format": "org.matrix.custom.html", "formatted_body": "Guess We’ll have to have a hard look at all that it does", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$sKIugNErLXTU9Rp-4URHhl6oO1X5jye6lQbWFiQhcqE", "origin_server_ts": 1699496738578, "sender": "@neo:conduit.rs", "type": "m.room.message", "unsigned": { "age": 1, "transaction_id": "2bde275bf90045b1bd13f3c0b987f681" } }, { "content": { "body": "beep", "format": "org.matrix.custom.html", "formatted_body": "beep", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$0_1gc-RdFxn-zFnYlJp8AnaBoCgNBbIJGeb4oyO8k1w", "origin_server_ts": 1699496955306, "sender": "@solarkraft:matrix.org", "type": "m.room.message", "unsigned": { "age": 1 } }, { "content": { "body": "Updating on new messages does still work ...", "format": "org.matrix.custom.html", "formatted_body": "Updating on new messages does still work ...", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$F1sUaBBsNtQQPMjbmBK56ranrIJ_b5RSFvXaxGJDeQo", "origin_server_ts": 1699496978136, "sender": "@solarkraft:matrix.org", "type": "m.room.message", "unsigned": { "age": 1 } }, { "content": { "body": "beep", "format": "org.matrix.custom.html", "formatted_body": "beep", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$Uu3p5miPX4aULvyHr-tfdhLCJi3sAfipzr87-r5FtI4", "origin_server_ts": 1699497638947, "sender": "@neo:conduit.rs", "type": "m.room.message", "unsigned": { "age": 1, "transaction_id": "71cb1ca5241543848ddfd37cbfa116af" } }, { "content": { "body": "boop", "format": "org.matrix.custom.html", "formatted_body": "boop", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$fzOmvf6cKdeUcCHsphOPT_x7xYJjzZAAKnHE2x2IAR0", "origin_server_ts": 1699498652706, "sender": "@solarkraft:matrix.org", "type": "m.room.message", "unsigned": { "age": 1 } }, { "content": { "body": "o", "format": "org.matrix.custom.html", "formatted_body": "o", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$aJ5FxIA_mrifGlbcDfeLxuigrD2T0IVJab7wa8VxDIg", "origin_server_ts": 1699498657074, "sender": "@solarkraft:matrix.org", "type": "m.room.message", "unsigned": { "age": 1 } } ], "prev_batch": "54617428", "limited": true, "joined_count": 3, "invited_count": 0 } }, "delta_token": null } ``` </details> ... the third request follows immediately, also only taking a few milliseconds ... <details> <summary> Third Request </summary> ```js { "lists": { "my_rooms": { "ranges": [ [ 0, 20 ] ] } }, "extensions": { "to_device": { "since": "68083918" } } } ``` </details> <details> <summary> Third Response </summary> ```js { "pos": "68083927", "lists": { "my_rooms": { "ops": [ { "op": "SYNC", "range": [ 0, 0 ], "index": null, "room_ids": [ "!R0TfLk5oO4C0BxIaWh:conduit.rs" ], "room_id": null } ], "count": 1 } }, "rooms": { "!R0TfLk5oO4C0BxIaWh:conduit.rs": { "name": "Funky group", "initial": true, "highlight_count": 0, "notification_count": 0, "timeline": [ { "content": { "displayname": "my funky session", "membership": "join" }, "event_id": "$5i6mqqyv0OGiYxeIRakD8zxMyPgVxer6nwuIGbeweZg", "origin_server_ts": 1694689544455, "sender": "@testing24752:matrix.org", "state_key": "@testing24752:matrix.org", "type": "m.room.member", "unsigned": { "age": 1, "prev_content": { "displayname": "asdf", "membership": "join" } } }, { "content": { "displayname": "My wacky Matrix client", "membership": "join" }, "event_id": "$OHNoar9UC8VCKJE3XOePRzt68Myr66R6Gx8y_P5m4OA", "origin_server_ts": 1694689604525, "sender": "@testing24752:matrix.org", "state_key": "@testing24752:matrix.org", "type": "m.room.member", "unsigned": { "age": 1, "prev_content": { "displayname": "my funky session", "membership": "join" } } }, { "content": { "body": "Hmmm … ", "format": "org.matrix.custom.html", "formatted_body": "Hmmm … ", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$-ofgEYGvfmX6NLULYBE80Z2o9ckJq9CGTOjY78llrfc", "origin_server_ts": 1699496720415, "sender": "@neo:conduit.rs", "type": "m.room.message", "unsigned": { "age": 1, "transaction_id": "99db811cfa8448a98bbb9333e39ed525" } }, { "content": { "body": "At least sliding sync seems to work with Element X", "format": "org.matrix.custom.html", "formatted_body": "At least sliding sync seems to work with Element X", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$l2rWw41xK5YwbA3Zv2icl6X8pRM1s0gMU4Y73Nb2QQU", "origin_server_ts": 1699496727363, "sender": "@neo:conduit.rs", "type": "m.room.message", "unsigned": { "age": 1, "transaction_id": "87200293e25c4c94a878c077b3503fce" } }, { "content": { "body": "Guess We’ll have to have a hard look at all that it does", "format": "org.matrix.custom.html", "formatted_body": "Guess We’ll have to have a hard look at all that it does", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$sKIugNErLXTU9Rp-4URHhl6oO1X5jye6lQbWFiQhcqE", "origin_server_ts": 1699496738578, "sender": "@neo:conduit.rs", "type": "m.room.message", "unsigned": { "age": 1, "transaction_id": "2bde275bf90045b1bd13f3c0b987f681" } }, { "content": { "body": "beep", "format": "org.matrix.custom.html", "formatted_body": "beep", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$0_1gc-RdFxn-zFnYlJp8AnaBoCgNBbIJGeb4oyO8k1w", "origin_server_ts": 1699496955306, "sender": "@solarkraft:matrix.org", "type": "m.room.message", "unsigned": { "age": 1 } }, { "content": { "body": "Updating on new messages does still work ...", "format": "org.matrix.custom.html", "formatted_body": "Updating on new messages does still work ...", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$F1sUaBBsNtQQPMjbmBK56ranrIJ_b5RSFvXaxGJDeQo", "origin_server_ts": 1699496978136, "sender": "@solarkraft:matrix.org", "type": "m.room.message", "unsigned": { "age": 1 } }, { "content": { "body": "beep", "format": "org.matrix.custom.html", "formatted_body": "beep", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$Uu3p5miPX4aULvyHr-tfdhLCJi3sAfipzr87-r5FtI4", "origin_server_ts": 1699497638947, "sender": "@neo:conduit.rs", "type": "m.room.message", "unsigned": { "age": 1, "transaction_id": "71cb1ca5241543848ddfd37cbfa116af" } }, { "content": { "body": "boop", "format": "org.matrix.custom.html", "formatted_body": "boop", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$fzOmvf6cKdeUcCHsphOPT_x7xYJjzZAAKnHE2x2IAR0", "origin_server_ts": 1699498652706, "sender": "@solarkraft:matrix.org", "type": "m.room.message", "unsigned": { "age": 1 } }, { "content": { "body": "o", "format": "org.matrix.custom.html", "formatted_body": "o", "m.mentions": {}, "msgtype": "m.text" }, "event_id": "$aJ5FxIA_mrifGlbcDfeLxuigrD2T0IVJab7wa8VxDIg", "origin_server_ts": 1699498657074, "sender": "@solarkraft:matrix.org", "type": "m.room.message", "unsigned": { "age": 1 } } ], "prev_batch": "54617428", "limited": true, "joined_count": 3, "invited_count": 0 } }, "delta_token": null } ``` </details> This request also finishes immediately, leading to a fourth request ... and so on. It never stops and has been freezing up my browser quite a bit =) As you may have guessed, the initial wait is exactly how long the long-polling timeout was supposed to be. This doesn't happen when connecting to a Synapse server such as matrix.org. This may be related to troubles other people are having (for instance with Element Web): #400
solarkraft commented 2023-11-23 21:13:50 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
solarkraft commented 2023-11-23 21:15:57 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
Sign in to join this conversation.
No labels
Android
CS::needs customer feedback
CS::needs follow up
CS::needs on prem installation
CS::waiting
Chrome
Design:: Ready
Design:: in progress
Design::UX
E2EE
Edge
Firefox
GDPR
Iteration 13 IM
Linux
MacOS
Need::Discussion
Need::Steps to reproduce
Need::Upstream fix
Needs:: Planning
Needs::Dev-Team
Needs::More information
Needs::Priority
Needs::Product
Needs::Refinement
Needs::Severity
Priority::1-Critical
Priority::2-Max
Priority::3-Impending
Priority::4-High
Priority::5-Medium
Priority::6-Low
Priority::7-None
Progress::Backlog
Progress::Review
Progress::Started
Progress::Testing
Progress::Triage
Progress::Waiting
Reporter::Sentry
Safari
Target::Community
Target::Customer
Target::Internal
Target::PoC
Target::Security
Team:Customer-Success
Team:Design
Team:Infrastructure
Team:Instant-Messaging
Team:Product
Team:Workflows
Type::Bug
Type::Design
Type::Documentation
Type::Feature
Type::Improvement
Type::Support
Type::Tests
Windows
blocked
blocked-by-spec
cla-signed
conduit
contribution::advanced
contribution::easy
contribution::help needed
from::review
iOS
p::ti-tenant
performance
product::triage
proposal
refactor
release-blocker
s: dart_openapi_codegen
s::Famedly-Patient
s::Org-Directory
s::Passport-Generator
s::Requeuest
s:CRM
s:Famedly-App
s:Famedly-Web
s:Fhiroxide
s:Fhiroxide-cli
s:Fhiroxide-client
s:Fhirs
s:Hedwig
s:LISA
s:Matrix-Dart-SDK
s:Role-Manager
s:Synapse
s:User-Directory
s:WFS-Matrix
s:Workflow Engine
s:dtls
s:famedly-error
s:fcm-shared-isolate
s:matrix-api-lite
s:multiple-tab-detector
s:native-imaging
severity::1
severity::2
severity::3
severity::4
technical-debt
voip
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Matthias/conduit#403
No description provided.