Closed RoiArthurB closed 2 months ago
Your vars.yml
does not indicate that you're enabling encryption for any of these bridges.
The error message seems to be this, which is somehow related to encryption.
I wonder if our pickle_key
configuration is incorrect. You can try overriding encryption.pickle_key
via *_extension_yaml
variables.
For testing purposes, I just did a new installation of the Gmessages bridge and it starts successfully. Maybe when it's powered by an existing database (with existing encrypted messages?) that it suffers some problems.
Hi, you're right I forgot to show that I enabled mautrix encryption with this parameter :
matrix_bridges_encryption_enabled: true
matrix_bridges_encryption_default: true
So I can understand why it's failing over Slack, but on a brand new bridge (which is the case for GMessages) it shouldn't be a problem...
I wonder if our
pickle_key
configuration is incorrect. You can try overridingencryption.pickle_key
via*_extension_yaml
variables.
I'd be happy to try anything (and I don't mind resetting my bridges), but I'll need you to help me with that π
From what I can see in the files, the slack bridge is the only with a different value than every other bridges for the pickle_key
... :thinking:
./matrix-docker-ansible-deploy/roles/custom/matrix-bridge-mautrix-gmessages/templates/config.yaml.j2:
360 # Pickle key for encrypting encryption keys in the bridge database.
361 # If set to generate, a random key will be generated.
362: pickle_key: mautrix.bridge.e2ee
363 # Options for deleting megolm sessions from the bridge.
364 delete_keys:
./matrix-docker-ansible-deploy/roles/custom/matrix-bridge-mautrix-slack/templates/config.yaml.j2:
377 # Pickle key for encrypting encryption keys in the bridge database.
378 # If set to generate, a random key will be generated.
379: pickle_key: generate
380 # Options for deleting megolm sessions from the bridge.
381 delete_keys:
It should be as simple as this:
matrix_mautrix_gmessages_configuration_extension_yaml: |
bridge:
displayname_template: "{{ '{{or .FullName .PhoneNumber}}' }} (RCS)"
encryption:
pickle_key: some value
Yes, the Slack bridge uses a value of generate
, while the Gmessages bridge uses mautrix.bridge.e2ee
(not sure where this came from).
It seems like both of these may be problematic. You can try ""
.
I've enabled encryption for my Gmessages bridge like this:
matrix_mautrix_gmessages_bridge_encryption_allow: true
matrix_mautrix_gmessages_bridge_encryption_default: true
... and it still managed to start successfully with its default pickle_key
value of mautrix.bridge.e2ee
.
So maybe it's existing installations (that had a different pickle key, historically) that suffer this problem.
It should be as simple as this:
matrix_mautrix_gmessages_configuration_extension_yaml: | bridge: displayname_template: "{{ '{{or .FullName .PhoneNumber}}' }} (RCS)" encryption: pickle_key: some value
I did set some random values, but nothing made it work...
I also try to disable the encryption for this bridge, disable it (then ran setup-gmessages) and re-enable it; but nothing seems to work for me... I should do something wrong somewhere :/
I've enabled encryption for my Gmessages bridge like this:
matrix_mautrix_gmessages_bridge_encryption_allow: true matrix_mautrix_gmessages_bridge_encryption_default: true
Can you help me to fully reset the bridge to try to fix this issue and potential conflicting values with previously set key ? π
I know it's not supposed to, but do you think that using the playbook in the old manner might lead to this issue ?
I'm running it with this command : make roles && ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
(or tweaking the tags)
To fully reinstall a component:
*_enabled:
variable to false
)just setup-all
or what you're quoting above)/matrix/postgres/bin/cli
on the server\l
DROP DATABASE some_database_name;
)
rm -rf /matrix/some-component-directory
*_enabled:
variable to true
)just setup-all
or what you're quoting above). You may even do just install-all
, which is quickerHi @spantaleev,
Thanks a lot for all your support. I did successfully fully reset my faulty bridges and now everything works just fine again. I probably did some bad things one way or another, but this radical solution been my simpliest fix.
Thanks also for all your great work on this project π
Adding the gmessage pickle_key setting fixed this issue for me like so:
matrix_mautrix_gmessages_configuration_extension_yaml: |
encryption:
pickle_key: "go.mau.fi/mautrix-gmessages"
The value was pulled from: /matrix/mautrix-gmessages/docker-src/cmd/mautrix-gmessages/legacymigrate.go
Running just install-matrix-bridge-mautrix-gmessages,start
was not sufficient, I had to run with setup-all,start
.
Thanks for figuring it out, @xangelix!
I've added a dedicated variable to the Gmessages role (matrix_mautrix_gmessages_bridge_encryption_pickle_key
), which lets you override it easier (without having to resort to matrix_mautrix_gmessages_configuration_extension_yaml
).
Only users of the previous Gmessages bridge should be affected by this and will need to adjust the pickle_key
. For new installations, we're using a pickle_key
of mautrix.bridge.e2ee
.
To summarize, if you've been using the old Gmessages bridge with encryption and you're finding that the new bridge fails for you, consider adding this additional configuration to your vars.yml
file:
matrix_mautrix_gmessages_bridge_encryption_pickle_key: go.mau.fi/mautrix-gmessages
Describe the bug
Since I moved from classical shared secret auth to the new Appservice Double Puppet, some of my mautrix bridges breaks. It can be either one which was working great before (like Slack) or a newly installed one (only with the appservice installed, not before) (like Gmessages).
Finally (and even more surprisingly), some other services doesn't suffer any issue at all (like WhatsApp, Discord, else).
To Reproduce My
vars.yml
file looks like this:Expected behavior Have every mautrix services working right out of the box as supposed to.
Matrix Server:
Additional context Add any other context about the problem here.
Logs :