spantaleev / matrix-docker-ansible-deploy

🐳 Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker
GNU Affero General Public License v3.0
4.92k stars 1.05k forks source link

[Dendrite] All Users Appear Offline #1824

Open madprogramer opened 2 years ago

madprogramer commented 2 years ago

Is your feature request related to a problem? Please describe.

Running Dendrite on the latest version of the playbook with default settings causes all users on and off of the homeserver to show as "Offline" at all times.

Describe the solution you'd like

This is related to the presence setting introduced to Dendrite some time ago. Essentially, homeserver admins are offered the choice of deciding whether or not they want to share inbound (and/or external) online/offline stati. By default, presence is now set to off, which causes everyone to appear invisible on the homeserver.

presence can be re-enabled from matrix-docker-ansible-deploy/roles/matrix-dendrite/templates/dendrite/dendrite.yaml.j2 under the presence settings located at line 70. It should be enough to change both enable_inbound: false and enable_outbound: false to true and re-deploy the notebook with ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start.

Ideally, I would vote for matrix-docker-ansible-deploy to switch the default value to true from false, because this is how Synapse, the default homeserver, already handles it.

Describe alternatives you've considered

Alternatively, it might be a good idea to mention that the default setting for presence is different on Dendrite and that admins might want to configure the setting. Maybe as an extra-step here: https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook.md#other-configuration-options

Additional context

image
spantaleev commented 2 years ago

We try to stick to upstream defaults where possible. It seems like Dendrite developers either don't trust this presence feature or wish to keep it off for some other reason (like privacy).

This should probably be brought up with them, instead of us going against their recommended defaults.

madprogramer commented 2 years ago

I see. In that case I think I will just make a short PR to the documentation (maybe under https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook.md#other-configuration-options) and leave it at that.

runbgp commented 2 years ago

I was doing a bit of research into this this morning and found official documentation on the presence feature in Dendrite and why it's disabled by default. tl;dr - it's for performance reasons. It would be nice to make this a configurable option (or document the workaround that @madprogramer mentioned) in the playbook for those that do want to enable it, while leaving it disabled by default. https://matrix-org.github.io/dendrite/administration/presence

aaronraimist commented 2 years ago

@runbgp every option in Dendrite's config file is configurable using matrix_dendrite_configuration_extension_yaml