-
Notifications
You must be signed in to change notification settings - Fork 363
Open
Labels
Description
Description
Synapse appears to incorrectly track whether a room is public. This leads to public rooms being returned from the room list admin api with "public": false
despite having "join_rule": "public"
.
This value is fetched from the is_public
column in the rooms
table:
- Query: https://github.com/element-hq/synapse/blob/develop/synapse/storage/databases/main/room.py#L730
- API schema mapping: https://github.com/element-hq/synapse/blob/develop/synapse/storage/databases/main/room.py#L781
Screenshot demonstrating the issue from an admin API:
Steps to reproduce
- Join public rooms over federation
- Query room list admin API
- Observe that those rooms are marked as
"public": false
, wheretrue
would be expected
Homeserver
rory.gay
Synapse Version
1.127.1
Installation Method
Other (please mention below)
Database
PostgreSQL, single db, no porting, no backups
Workers
Multiple workers
Platform
Installation Method: NixOS
Configuration
Presence enabled
Experimental features:
experimental_features = {
"msc2815_enabled" = true; # Redacted event content
"msc3026_enabled" = true; # Busy presence
"msc3266_enabled" = true; # Room summary API
"msc3916_authenticated_media_enabled" = true; # Authenticated media
"msc3823_account_suspension" = true; # Account suspension
"msc4151_enabled" = true; # Report room API (CS-API)
};
Full configuration: https://cgit.rory.gay/Rory-Open-Architecture.git/tree/host/Rory-nginx/services/matrix/synapse/synapse-main.nix
Relevant log output
N/A
Anything else that would be useful to know?
No response