Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

auto_join_rooms breaks after changing #16878

Open
kieranlane opened this issue Jan 31, 2024 · 5 comments
Open

auto_join_rooms breaks after changing #16878

kieranlane opened this issue Jan 31, 2024 · 5 comments

Comments

@kieranlane
Copy link

Description

Troubleshooting issues with the auto_join_rooms Synapse configuration option, I haven't been able to get users to join rooms (/ or have them auto-created, which it should do by default).

Starting fresh to try again, I've noticed that it works the first time, but breaks as soon as you change the rooms in the auto_join_rooms config. The only workaround seems to be starting fresh, which isn't ideal.

autojoin_success.log
autojoin_fail.log
autojoin_fail_manual.log

Steps to reproduce

Starting on a fresh server with the following set:

auto_join_rooms:
  - "#banana:example.com"
  - "#apple:example.com"
  - "#orange:example.com"

Works as intended, new users created either manually through the Admin API (/ console), via Delegated Auth, or through registering all join the three rooms.

However, changing the auto_join_rooms config seems to break it from ever working again for newly registered users. I changed it too:

auto_join_rooms:
  - "#kiwi:example.com"
  - "#pineapple:example.com"
  - "#lemon:example.com"

But any new users, receive the following error when synapse tries to auto-join them:

synapse.handlers.register - 586 - ERROR - POST-347 - Failed to join new user to '#pineapple:example.com': SynapseError('404: Room alias #pineapple:example.com not found')

I have also tried manually creating a room and giving it the alias, but this then hits:

synapse.handlers.register - 586 - ERROR - POST-347 - Failed to join new user to '#kiwi:example.com': AssertionError()

Homeserver

Custom Homeserver

Synapse Version

1.93.0+lts.1

Installation Method

Other (please mention below)

Database

ESS Built-in Postgres

Workers

Single process

Platform

AWS c5a.2xlarge : 8 vCPU, 16 GB Memory
Ubuntu 22.04.3 LTS
Installed via ESS: element-installer-enterprise-edition-23.10.18-gui

Configuration

auto_join_rooms:
  - "#kiwi:example.com"
  - "#pineapple:example.com"
  - "#lemon:example.com"

Relevant log output

See logs uploaded above:
- [autojoin_success.log](https://github.com/element-hq/synapse/files/14112952/autojoin_success.log)
  - First run, auto-join rooms is successful for all newly created users
- [autojoin_fail.log](https://github.com/element-hq/synapse/files/14112954/autojoin_fail.log)
  - Second run, after changing rooms in auto-join config, fails with `SynapseError('404: Room alias not found')`
- [autojoin_fail_manual.log](https://github.com/element-hq/synapse/files/14112955/autojoin_fail_manual.log)
  - Third run, after manually creating the rooms (+ aliases) present in the auto-join config, fails with `Failed to join new user: AssertionError()`

Anything else that would be useful to know?

No response

@AronSchoffer
Copy link

We are running into the same issue.
Does anyone have a workaround?

@dskeller
Copy link

dskeller commented Apr 24, 2024

We are running in the same issue.
Any updates on this?

We can not reproduce the third case. If we create the room prior to the registration and set the room options and permissions correctly, newly added users are joined to that room.

reivilibre added a commit that referenced this issue May 22, 2024
…uto_join_rooms` option. (#17176)

Would have been useful for tracking down #16878.

Signed-off-by: Olivier 'reivilibre <[email protected]>
@reivilibre
Copy link
Contributor

The documentation for the option says:

autocreate_auto_join_rooms

Where auto_join_rooms are specified, setting this flag ensures that the rooms exist by creating them when the first user on the homeserver registers. This option will not create Spaces.

So the auto_join_rooms being changed after first user registering here is a known limitation, rather than some undocumented bug.

As for

I have also tried manually creating a room and giving it the alias, but this then hits:

this is weird. Are you sure the new room is publicly joinable etc?

Unfortunately the logging is pretty rubbish here (remedied in #17176)

H-Shay pushed a commit to H-Shay/hq_synapse that referenced this issue May 31, 2024
…uto_join_rooms` option. (element-hq#17176)

Would have been useful for tracking down element-hq#16878.

Signed-off-by: Olivier 'reivilibre <[email protected]>
Mic92 pushed a commit to Mic92/synapse that referenced this issue Jun 14, 2024
…uto_join_rooms` option. (element-hq#17176)

Would have been useful for tracking down element-hq#16878.

Signed-off-by: Olivier 'reivilibre <[email protected]>
@derhagen
Copy link

@kieranlane in the case where you create a room manually, is it a public or a private room?

For private rooms you need to specify the local part of the user that is used to invite new users to any auto-join rooms. See auto_join_mxid_localpart

@Twi1ightSparkle
Copy link
Contributor

I am also running into this on Synapse 1.99.0+lts.4 and 1.113.0. However afaict, autocreate_auto_join_rooms doesn't work at all.

The test below is running in Podman locally on my Fedora 40 workstation using the image ghcr.io/element-hq/synapse:latest. Synapse version 1.113.0. Image ID f9b69fb10ce7.

homeserver.yaml:

# Configuration file for Synapse.
#
# This is a YAML file: see [1] for a quick introduction. Note in particular
# that *indentation is important*: all the elements of a list or dictionary
# should have the same indentation.
#
# [1] https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html
#
# For more information on how to configure Synapse, including a complete accounting of
# each option, go to docs/usage/configuration/config_documentation.md or
# https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html
server_name: "localhost:8448"
pid_file: /data/homeserver.pid
listeners:
  - port: 8448
    tls: false
    type: http
    x_forwarded: true
    resources:
      - names: [client, federation]
        compress: false
    bind_addresses:
      - 0.0.0.0
database:
  name: psycopg2
  args:
    database: synapse
    user: synapse
    password: password
    host: postgres
    cp_min: 5
    cp_max: 10
log_config: "/data/localhost:8448.log.config"
media_store_path: /data/media_store
registration_shared_secret: "wbgKrqSFFRp#9yN8wblZunUPOJISqUq-F&K;Ue8Ak44ZXa80vq"
report_stats: false
macaroon_secret_key: "wZ=.rSIz#5Z7D+W-m-*JeZV&GtqyDtw4Zl79.wcrhbIY45aI-z"
form_secret: "MylO_ICdt1WldF4XoZken@kDlb4Av89w~4GXr35^V~RiFf-iQB"
signing_key_path: "/data/localhost:8448.signing.key"
trusted_key_servers:
  - server_name: "matrix.org"
    accept_keys_insecurely: true
# vim:ft=yaml

suppress_key_server_warning: true
enable_registration: true
enable_registration_without_verification: true
presence:
  enabled: false
user_directory:
  enabled: true
  search_all_users: true
  prefer_local_users: true
auto_join_rooms:
- "#auto-join-room:localhost:8448"
- "#test01:localhost:8448"
autocreate_auto_join_rooms: true
auto_join_mxid_localpart: adminbot

#test01:localhost:8448 was created manually. adminbot is a member with room admin. adminbot is also Synapse admin. Newly created users are correctly added here.

Note that the adminbot user on my local test environment is just a normal Synapse user, I am not running the Element AdminBot locally. However I see the exact same behavior on my ESS lab where I am trying to use the AdminBot to invite users to rooms.

#auto-join-room:localhost:8448 is failing with this in the Synapse log

2024-08-16 16:23:29,687 - synapse.storage.TIME - 664 - DEBUG - sentinel - Total database time: 1.206% {room_forgetter_stream_pos(3): 0.114%, create_ui_auth_session(1): 0.096%, mark_access_token_as_used(3): 0.062%}
2024-08-16 16:23:30,413 - synapse.util.ratelimitutils - 342 - DEBUG - sentinel - Ratelimit(10.89.0.10) [139987206772736]: Finished sleeping
2024-08-16 16:23:30,413 - synapse.util.ratelimitutils - 354 - DEBUG - sentinel - Ratelimit(10.89.0.10) [139987206772736]: Processing req
2024-08-16 16:23:30,413 - synapse.storage.txn - 758 - DEBUG - GET-35 - [TXN START] {get_users_by_id_case_insensitive-7a}
2024-08-16 16:23:30,413 - synapse.storage.txn - 862 - DEBUG - GET-35 - [TXN END] {get_users_by_id_case_insensitive-7a} 0.000492 sec
2024-08-16 16:23:30,414 - synapse.util.ratelimitutils - 378 - DEBUG - GET-35 - Ratelimit(10.89.0.10) [139987206772736]: Processed req
2024-08-16 16:23:30,414 - synapse.access.http.8448 - 473 - INFO - GET-35 - 10.89.0.10 - 8448 - {None} Processed request: 1.002sec/0.000sec (0.000sec, 0.000sec) (0.000sec/0.000sec/1) 18B 200 "GET /_matrix/client/v3/register/available?username=test05 HTTP/1.1" "Mozilla/5.0 (X11; Linux x86_64; rv:129.0) Gecko/20100101 Firefox/129.0" [0 dbevts]
2024-08-16 16:23:30,453 - synapse.access.http.8448 - 428 - DEBUG - POST-36 - 10.89.0.10 - 8448 - Received request: POST /_matrix/client/v3/register
2024-08-16 16:23:30,453 - synapse.storage.txn - 758 - DEBUG - POST-36 - [TXN START] {get_users_by_id_case_insensitive-7b}
2024-08-16 16:23:30,454 - synapse.storage.txn - 862 - DEBUG - POST-36 - [TXN END] {get_users_by_id_case_insensitive-7b} 0.000656 sec
2024-08-16 16:23:30,454 - synapse.storage.txn - 758 - DEBUG - POST-36 - [TXN START] {create_ui_auth_session-7c}
2024-08-16 16:23:30,455 - synapse.storage.txn - 862 - DEBUG - POST-36 - [TXN END] {create_ui_auth_session-7c} 0.001081 sec
2024-08-16 16:23:30,456 - synapse.storage.txn - 758 - DEBUG - POST-36 - [TXN START] {add_user_agent_ip_to_ui_auth_session-7d}
2024-08-16 16:23:30,457 - synapse.storage.txn - 862 - DEBUG - POST-36 - [TXN END] {add_user_agent_ip_to_ui_auth_session-7d} 0.001017 sec
2024-08-16 16:23:30,640 - synapse.storage.txn - 758 - DEBUG - POST-36 - [TXN START] {set_ui_auth_session_data-7e}
2024-08-16 16:23:30,650 - synapse.storage.txn - 862 - DEBUG - POST-36 - [TXN END] {set_ui_auth_session_data-7e} 0.009485 sec
2024-08-16 16:23:30,650 - synapse.access.http.8448 - 473 - INFO - POST-36 - 10.89.0.10 - 8448 - {None} Processed request: 0.197sec/0.000sec (0.182sec, 0.001sec) (0.000sec/0.012sec/4) 89B 401 "POST /_matrix/client/v3/register HTTP/1.1" "Mozilla/5.0 (X11; Linux x86_64; rv:129.0) Gecko/20100101 Firefox/129.0" [0 dbevts]
2024-08-16 16:23:30,654 - synapse.access.http.8448 - 428 - DEBUG - POST-37 - 10.89.0.10 - 8448 - Received request: POST /_matrix/client/v3/register
2024-08-16 16:23:30,654 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {get_ui_auth_session_data-7f}
2024-08-16 16:23:30,655 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {get_ui_auth_session_data-7f} 0.000406 sec
2024-08-16 16:23:30,655 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {get_ui_auth_session_data-80}
2024-08-16 16:23:30,655 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {get_ui_auth_session_data-80} 0.000301 sec
2024-08-16 16:23:30,655 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {get_users_by_id_case_insensitive-81}
2024-08-16 16:23:30,656 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {get_users_by_id_case_insensitive-81} 0.000334 sec
2024-08-16 16:23:30,656 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {get_ui_auth_session-82}
2024-08-16 16:23:30,656 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {get_ui_auth_session-82} 0.000285 sec
2024-08-16 16:23:30,656 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {set_ui_auth_client_dict-83}
2024-08-16 16:23:30,657 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {set_ui_auth_client_dict-83} 0.000987 sec
2024-08-16 16:23:30,658 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {add_user_agent_ip_to_ui_auth_session-84}
2024-08-16 16:23:30,658 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {add_user_agent_ip_to_ui_auth_session-84} 0.000244 sec
2024-08-16 16:23:30,658 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {mark_ui_auth_stage_complete-85}
2024-08-16 16:23:30,659 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {mark_ui_auth_stage_complete-85} 0.001151 sec
2024-08-16 16:23:30,660 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {get_completed_ui_auth_stages-86}
2024-08-16 16:23:30,660 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {get_completed_ui_auth_stages-86} 0.000358 sec
2024-08-16 16:23:30,660 - synapse.handlers.auth - 602 - INFO - POST-37 - Auth completed with creds: {'m.login.dummy': True}. Client dict has keys: ['username', 'initial_device_display_name']
2024-08-16 16:23:30,847 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {get_user_agents_ips_to_ui_auth_session-87}
2024-08-16 16:23:30,847 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {get_user_agents_ips_to_ui_auth_session-87} 0.000382 sec
2024-08-16 16:23:30,848 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {get_users_by_id_case_insensitive-88}
2024-08-16 16:23:30,848 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {get_users_by_id_case_insensitive-88} 0.000306 sec
2024-08-16 16:23:30,848 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {register_user-89}
2024-08-16 16:23:30,858 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {register_user-89} 0.009990 sec
2024-08-16 16:23:30,859 - synapse.util.metrics - 170 - DEBUG - user_directory.notify_new_event-10 - Entering block user_dir_delta
2024-08-16 16:23:30,859 - synapse.util.metrics - 183 - DEBUG - user_directory.notify_new_event-10 - Exiting block user_dir_delta
2024-08-16 16:23:30,859 - synapse.util.metrics - 170 - DEBUG - user_directory.notify_new_event-11 - Entering block user_dir_delta
2024-08-16 16:23:30,859 - synapse.util.metrics - 183 - DEBUG - user_directory.notify_new_event-11 - Exiting block user_dir_delta
2024-08-16 16:23:30,859 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {get_profileinfo-8a}
2024-08-16 16:23:30,860 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {get_profileinfo-8a} 0.000483 sec
2024-08-16 16:23:30,860 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {is_support_user-8b}
2024-08-16 16:23:30,860 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {is_support_user-8b} 0.000300 sec
2024-08-16 16:23:30,861 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {get_user_deactivated_status-8c}
2024-08-16 16:23:30,861 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {get_user_deactivated_status-8c} 0.000543 sec
2024-08-16 16:23:30,862 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {update_profiles_in_user_dir-8d}
2024-08-16 16:23:30,863 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {update_profiles_in_user_dir-8d} 0.001747 sec
2024-08-16 16:23:30,864 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {is_real_user-8e}
2024-08-16 16:23:30,864 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {is_real_user-8e} 0.000356 sec
2024-08-16 16:23:30,864 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {count_real_users-8f}
2024-08-16 16:23:30,865 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {count_real_users-8f} 0.000310 sec
2024-08-16 16:23:30,865 - synapse.handlers.register - 515 - INFO - POST-37 - Auto-joining @test05:localhost:8448 to #auto-join-room:localhost:8448
2024-08-16 16:23:30,865 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {get_association_from_room_alias-90}
2024-08-16 16:23:30,865 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {get_association_from_room_alias-90} 0.000294 sec
2024-08-16 16:23:30,865 - synapse.handlers.register - 593 - ERROR - POST-37 - Failed to join new user to '#auto-join-room:localhost:8448': SynapseError('404: Room alias #auto-join-room:localhost:8448 not found')
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/synapse/handlers/register.py", line 524, in _join_rooms
    ) = await room_member_handler.lookup_room_alias(room_alias)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/synapse/handlers/room_member.py", line 1552, in lookup_room_alias
    mapping = await directory_handler.get_association(room_alias)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/synapse/handlers/directory.py", line 300, in get_association
    raise SynapseError(
synapse.api.errors.SynapseError: 404: Room alias #auto-join-room:localhost:8448 not found
2024-08-16 16:23:30,866 - synapse.handlers.register - 515 - INFO - POST-37 - Auto-joining @test05:localhost:8448 to #test01:localhost:8448
2024-08-16 16:23:30,867 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {get_association_from_room_alias-91}
2024-08-16 16:23:30,867 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {get_association_from_room_alias-91} 0.000319 sec
2024-08-16 16:23:30,867 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {get_association_from_room_alias-92}
2024-08-16 16:23:30,867 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {get_association_from_room_alias-92} 0.000245 sec
2024-08-16 16:23:30,868 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {is_host_joined-93}
2024-08-16 16:23:30,868 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {is_host_joined-93} 0.000555 sec
2024-08-16 16:23:30,869 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {get_filtered_current_state_ids-94}
2024-08-16 16:23:30,869 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {get_filtered_current_state_ids-94} 0.000360 sec
2024-08-16 16:23:30,869 - synapse.storage.databases.main.events_worker - 1409 - DEBUG - POST-37 - Loading 1 events: {'$w7DUkGXlQEWgNVb1NUuH2OeInrWWqU2jWGFbS_wAqV0'}
2024-08-16 16:23:30,869 - synapse.util.metrics - 170 - DEBUG - fetch_events-0 - Entering block _fetch_event_list
2024-08-16 16:23:30,870 - synapse.storage.txn - 758 - DEBUG - fetch_events-0 - [TXN START] {do_fetch-95}
2024-08-16 16:23:30,871 - synapse.metrics._gc - 125 - DEBUG - sentinel - Collecting gc 0
2024-08-16 16:23:30,871 - synapse.storage.txn - 862 - DEBUG - fetch_events-0 - [TXN END] {do_fetch-95} 0.001356 sec
2024-08-16 16:23:30,871 - synapse.util.metrics - 183 - DEBUG - fetch_events-0 - Exiting block _fetch_event_list
2024-08-16 16:23:30,871 - synapse.storage.databases.main.events_worker - 1412 - DEBUG - POST-37 - Loaded 1 events (1 rows)
2024-08-16 16:23:30,871 - synapse.util.async_helpers - 482 - DEBUG - POST-37 - Acquired uncontended linearizer lock 'member_as_limiter' for key <object object at 0x7f514fbb9a20>
2024-08-16 16:23:30,871 - synapse.util.async_helpers - 482 - DEBUG - POST-37 - Acquired uncontended linearizer lock 'member' for key ('!cEDYxlMhpnXRGcZELg:localhost:8448',)
2024-08-16 16:23:30,872 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {try_acquire_read_write_lock-96}
2024-08-16 16:23:30,873 - synapse.storage.txn - 862 - DEBUG - POST-37 - [TXN END] {try_acquire_read_write_lock-96} 0.001770 sec
2024-08-16 16:23:30,874 - synapse.storage.txn - 758 - DEBUG - POST-37 - [TXN START] {get_user_suspended-97}

Full room state for #test01:localhost:8448:

[
  {
    "type": "m.room.create",
    "room_id": "!cEDYxlMhpnXRGcZELg:localhost:8448",
    "sender": "@admin:localhost:8448",
    "content": {
      "room_version": "10",
      "creator": "@admin:localhost:8448"
    },
    "state_key": "",
    "origin_server_ts": 1723824702825,
    "unsigned": {
      "age": 1034564
    },
    "event_id": "$LkLP8qY3Lpx4ji7O6Wv03kfJUpqG7WOaaa4f9CymWXg",
    "user_id": "@admin:localhost:8448",
    "age": 1034564
  },
  {
    "type": "m.room.member",
    "room_id": "!cEDYxlMhpnXRGcZELg:localhost:8448",
    "sender": "@admin:localhost:8448",
    "content": {
      "displayname": "admin",
      "membership": "join"
    },
    "state_key": "@admin:localhost:8448",
    "origin_server_ts": 1723824702865,
    "unsigned": {
      "age": 1034524
    },
    "event_id": "$LpzQIDO8XdZvFChQb4d0AvyFVypozHTjAmPZVz6Oq7E",
    "user_id": "@admin:localhost:8448",
    "age": 1034524
  },
  {
    "type": "m.room.guest_access",
    "room_id": "!cEDYxlMhpnXRGcZELg:localhost:8448",
    "sender": "@admin:localhost:8448",
    "content": {
      "guest_access": "can_join"
    },
    "state_key": "",
    "origin_server_ts": 1723824702898,
    "unsigned": {
      "age": 1034491
    },
    "event_id": "$-eUfh_0sLSXoxMoH8eh3stM1YiJ_04vYYXnYUNXefP8",
    "user_id": "@admin:localhost:8448",
    "age": 1034491
  },
  {
    "type": "m.room.history_visibility",
    "room_id": "!cEDYxlMhpnXRGcZELg:localhost:8448",
    "sender": "@admin:localhost:8448",
    "content": {
      "history_visibility": "shared"
    },
    "state_key": "",
    "origin_server_ts": 1723824702898,
    "unsigned": {
      "age": 1034491
    },
    "event_id": "$jCkHev4M7eLws57JKWdJTxhLebQ2nPcripexYLqF-TU",
    "user_id": "@admin:localhost:8448",
    "age": 1034491
  },
  {
    "type": "m.room.join_rules",
    "room_id": "!cEDYxlMhpnXRGcZELg:localhost:8448",
    "sender": "@admin:localhost:8448",
    "content": {
      "join_rule": "invite"
    },
    "state_key": "",
    "origin_server_ts": 1723824702897,
    "unsigned": {
      "age": 1034492
    },
    "event_id": "$w7DUkGXlQEWgNVb1NUuH2OeInrWWqU2jWGFbS_wAqV0",
    "user_id": "@admin:localhost:8448",
    "age": 1034492
  },
  {
    "type": "m.room.name",
    "room_id": "!cEDYxlMhpnXRGcZELg:localhost:8448",
    "sender": "@admin:localhost:8448",
    "content": {
      "name": "test01"
    },
    "state_key": "",
    "origin_server_ts": 1723824702898,
    "unsigned": {
      "age": 1034491
    },
    "event_id": "$IDlgGmkSUuO0BI_36_ySqwl0J-HxTqqilTWFP4sCHLs",
    "user_id": "@admin:localhost:8448",
    "age": 1034491
  },
  {
    "type": "m.room.canonical_alias",
    "room_id": "!cEDYxlMhpnXRGcZELg:localhost:8448",
    "sender": "@admin:localhost:8448",
    "content": {
      "alt_aliases": [],
      "alias": "#test01:localhost:8448"
    },
    "state_key": "",
    "origin_server_ts": 1723824711189,
    "unsigned": {
      "age": 1026200
    },
    "event_id": "$WbgEgWRnbN3nnINcsjYdTAZSNSuQMcDoTEEQe2NYWfY",
    "user_id": "@admin:localhost:8448",
    "age": 1026200
  },
  {
    "type": "m.room.member",
    "room_id": "!cEDYxlMhpnXRGcZELg:localhost:8448",
    "sender": "@adminbot:localhost:8448",
    "content": {
      "displayname": "adminbot",
      "membership": "join"
    },
    "state_key": "@adminbot:localhost:8448",
    "origin_server_ts": 1723825008304,
    "unsigned": {
      "replaces_state": "$93wRkKlE2lXv98J1WJ1mhNCpeeEWswdZEjd-fk00mhE",
      "prev_content": {
        "displayname": "adminbot",
        "membership": "invite"
      },
      "prev_sender": "@admin:localhost:8448",
      "age": 729085
    },
    "event_id": "$wvhQz2vAtQ1TEnFOMGHUcYsOy_SM43aeUNxtVxjUoHc",
    "user_id": "@adminbot:localhost:8448",
    "age": 729085,
    "replaces_state": "$93wRkKlE2lXv98J1WJ1mhNCpeeEWswdZEjd-fk00mhE",
    "prev_content": {
      "displayname": "adminbot",
      "membership": "invite"
    }
  },
  {
    "type": "m.room.power_levels",
    "room_id": "!cEDYxlMhpnXRGcZELg:localhost:8448",
    "sender": "@admin:localhost:8448",
    "content": {
      "users": {
        "@admin:localhost:8448": 100,
        "@adminbot:localhost:8448": 100
      },
      "users_default": 0,
      "events": {
        "m.room.name": 50,
        "m.room.power_levels": 100,
        "m.room.history_visibility": 100,
        "m.room.canonical_alias": 50,
        "m.room.avatar": 50,
        "m.room.tombstone": 100,
        "m.room.server_acl": 100,
        "m.room.encryption": 100
      },
      "events_default": 0,
      "state_default": 50,
      "ban": 50,
      "kick": 50,
      "redact": 50,
      "invite": 0,
      "historical": 100
    },
    "state_key": "",
    "origin_server_ts": 1723825024853,
    "unsigned": {
      "replaces_state": "$M2G6HQbfMKFpqK_SVnAlT_c-yAbkNTPpqZ0pXdY7vfE",
      "prev_content": {
        "users": {
          "@admin:localhost:8448": 100
        },
        "users_default": 0,
        "events": {
          "m.room.name": 50,
          "m.room.power_levels": 100,
          "m.room.history_visibility": 100,
          "m.room.canonical_alias": 50,
          "m.room.avatar": 50,
          "m.room.tombstone": 100,
          "m.room.server_acl": 100,
          "m.room.encryption": 100
        },
        "events_default": 0,
        "state_default": 50,
        "ban": 50,
        "kick": 50,
        "redact": 50,
        "invite": 0,
        "historical": 100
      },
      "prev_sender": "@admin:localhost:8448",
      "age": 712536
    },
    "event_id": "$5O6coIwrqFLTQmd5bbtplNqTVeYYyCtgoKufq4m20MQ",
    "user_id": "@admin:localhost:8448",
    "age": 712536,
    "replaces_state": "$M2G6HQbfMKFpqK_SVnAlT_c-yAbkNTPpqZ0pXdY7vfE",
    "prev_content": {
      "users": {
        "@admin:localhost:8448": 100
      },
      "users_default": 0,
      "events": {
        "m.room.name": 50,
        "m.room.power_levels": 100,
        "m.room.history_visibility": 100,
        "m.room.canonical_alias": 50,
        "m.room.avatar": 50,
        "m.room.tombstone": 100,
        "m.room.server_acl": 100,
        "m.room.encryption": 100
      },
      "events_default": 0,
      "state_default": 50,
      "ban": 50,
      "kick": 50,
      "redact": 50,
      "invite": 0,
      "historical": 100
    }
  },
  {
    "type": "m.room.member",
    "room_id": "!cEDYxlMhpnXRGcZELg:localhost:8448",
    "sender": "@test02:localhost:8448",
    "content": {
      "displayname": "test02",
      "membership": "join"
    },
    "state_key": "@test02:localhost:8448",
    "origin_server_ts": 1723825039707,
    "unsigned": {
      "replaces_state": "$jnnRoaEOVzbILMi9VLJzz7RzHrO2wbqmU5h0N6t41Q4",
      "prev_content": {
        "displayname": "test02",
        "membership": "invite"
      },
      "prev_sender": "@adminbot:localhost:8448",
      "age": 697682
    },
    "event_id": "$s-Za-gg_0uU14w8dYfEp27SfxJ_1e2Pu4LcE6TS51qA",
    "user_id": "@test02:localhost:8448",
    "age": 697682,
    "replaces_state": "$jnnRoaEOVzbILMi9VLJzz7RzHrO2wbqmU5h0N6t41Q4",
    "prev_content": {
      "displayname": "test02",
      "membership": "invite"
    }
  },
  {
    "type": "m.room.member",
    "room_id": "!cEDYxlMhpnXRGcZELg:localhost:8448",
    "sender": "@test03:localhost:8448",
    "content": {
      "displayname": "test03",
      "membership": "join"
    },
    "state_key": "@test03:localhost:8448",
    "origin_server_ts": 1723825122981,
    "unsigned": {
      "replaces_state": "$RLO-h3N35JXVaY9x13QpQIg3mU9hRCXUnuTShfp3vMA",
      "prev_content": {
        "displayname": "test03",
        "membership": "invite"
      },
      "prev_sender": "@adminbot:localhost:8448",
      "age": 614408
    },
    "event_id": "$dvuwm765-7Gl7fQmQ_Sl9k1npjjO12_ixFQQtfxYOdQ",
    "user_id": "@test03:localhost:8448",
    "age": 614408,
    "replaces_state": "$RLO-h3N35JXVaY9x13QpQIg3mU9hRCXUnuTShfp3vMA",
    "prev_content": {
      "displayname": "test03",
      "membership": "invite"
    }
  },
  {
    "type": "m.room.member",
    "room_id": "!cEDYxlMhpnXRGcZELg:localhost:8448",
    "sender": "@test04:localhost:8448",
    "content": {
      "displayname": "test04",
      "membership": "join"
    },
    "state_key": "@test04:localhost:8448",
    "origin_server_ts": 1723825351449,
    "unsigned": {
      "replaces_state": "$-iKtUhr8OgZJEHeGgiIcr9qTlzi4u7jS_zlKBq8CZLY",
      "prev_content": {
        "displayname": "test04",
        "membership": "invite"
      },
      "prev_sender": "@adminbot:localhost:8448",
      "age": 385940
    },
    "event_id": "$OhJK9nDOXN1iMYFG4WJrul23EnkkVkDc6oJAbOoyFVQ",
    "user_id": "@test04:localhost:8448",
    "age": 385940,
    "replaces_state": "$-iKtUhr8OgZJEHeGgiIcr9qTlzi4u7jS_zlKBq8CZLY",
    "prev_content": {
      "displayname": "test04",
      "membership": "invite"
    }
  },
  {
    "type": "m.room.member",
    "room_id": "!cEDYxlMhpnXRGcZELg:localhost:8448",
    "sender": "@test05:localhost:8448",
    "content": {
      "displayname": "test05",
      "membership": "join"
    },
    "state_key": "@test05:localhost:8448",
    "origin_server_ts": 1723825410938,
    "unsigned": {
      "replaces_state": "$8rGvJ7FQFtIDYHpVHtP87A2iqkAJWftqnH6AMLYMY88",
      "prev_content": {
        "displayname": "test05",
        "membership": "invite"
      },
      "prev_sender": "@adminbot:localhost:8448",
      "age": 326451
    },
    "event_id": "$YurKYN47n9Mhrtop0pOhqnGvj5H5Ar-XHvnP3_6MTNw",
    "user_id": "@test05:localhost:8448",
    "age": 326451,
    "replaces_state": "$8rGvJ7FQFtIDYHpVHtP87A2iqkAJWftqnH6AMLYMY88",
    "prev_content": {
      "displayname": "test05",
      "membership": "invite"
    }
  }
]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants