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

device_keys values must be a list of strings #19842

Closed
dm-msk opened this issue Nov 22, 2021 · 2 comments
Closed

device_keys values must be a list of strings #19842

dm-msk opened this issue Nov 22, 2021 · 2 comments
Labels

Comments

@dm-msk
Copy link

dm-msk commented Nov 22, 2021

Steps to reproduce

Hello. We have old RiotIM client for x32 PCs. After last upgrade we got an error "device_keys values must be a list of strings" during send of message. Can we have temporary workaroud, may be some options in client or server, while we'll migrating to x64 PCs?

Outcome

What did you expect?

What happened instead?

Operating system

No response

Application version

1.5.15.0

How did you install the app?

No response

Homeserver

No response

Will you send logs?

No

@t3chguy
Copy link
Member

t3chguy commented Nov 22, 2021

Please put this as a comment on the 32 bit windows issue #13175

@t3chguy t3chguy closed this as completed Nov 22, 2021
@fidoman
Copy link

fidoman commented Nov 19, 2023

workaround for synapse 1.71
fix it in place, so after server upgrade users can connect with riot and upgrade to element without service disruption
(as fresh element client refuse to work with old server you must first upgrade server)

/opt/venvs/matrix-synapse/lib/python3.10/site-packages/synapse/rest/client

--- keys.py-orig        2023-11-15 23:30:51.746311535 +0000
+++ keys.py     2023-11-15 20:40:33.766275710 +0000
@@ -171,6 +171,9 @@
         def is_list_of_strings(values: Any) -> bool:
             return isinstance(values, list) and all(isinstance(v, str) for v in values)

+        for k, v in device_keys.items():
+          if v=={}: device_keys[k]=[]
+
         if any(not is_list_of_strings(keys) for keys in device_keys.values()):
             raise InvalidAPICallError(
                 "'device_keys' values must be a list of strings:%s BODY:%s"%(repr(device_keys), repr(body)),

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

No branches or pull requests

3 participants