alphapapa / ement.el

A Matrix client for GNU Emacs
GNU General Public License v3.0
507 stars 45 forks source link

Synapse mismatches user IDs when containing uppercase letters (Error: "400: Cannot set another user's typing state") #143

Open StrictlyMonad opened 1 year ago

StrictlyMonad commented 1 year ago

Steps to reproduce:

  1. Install ement.el through straight + use-package ement.
  2. ement-connect -> credentials.
  3. Enter a room and attempt to compose a message.

Error you'll be greeted with:

Error in process sentinel: ement-api-error: Ement API error: "400: Cannot set another user's typing state"
Error in process sentinel: Ement API error: "400: Cannot set another user's typing state" 
alphapapa commented 1 year ago

Hello,

This is caused by a bug in Synapse. See #114 and #84. To solve it, make sure that the case of the user ID you enter matches what you used when you made the account. Or if that doesn't fix it, try entering it all in lowercase letters. If even that doesn't fix it, you might need to make a new account that is all-lowercase to begin with. But ultimately it's a bug in Synapse, as documented in those other issues, and the Synapse devs need to fix it.

alphapapa commented 1 year ago

And if somehow there's no other solution, you could disable ement-room-send-typing, which should prevent it for this case, but there may be other actions that could trigger the same bug or similar bugs on the server.

StrictlyMonad commented 1 year ago

Following the suggestion you sent in the first reply resolved the issue! Appreciate the help and the links you provided! :blush:

alphapapa commented 1 year ago

Cool, which one, using all-lowercase, or matching case with how the account was made?

StrictlyMonad commented 1 year ago

Writing the username with lowercases, instead of the previous mix between upper (first letter) and lower cases (remaining).

alphapapa commented 1 year ago

Thanks.

I guess Someone(TM) needs to file a bug against Synapse then...