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

if synapse goes down, what happens? #8

Open
kfatehi opened this issue Mar 16, 2017 · 2 comments
Open

if synapse goes down, what happens? #8

kfatehi opened this issue Mar 16, 2017 · 2 comments

Comments

@kfatehi
Copy link
Member

kfatehi commented Mar 16, 2017

does the client somehow deal with that for us, keeping messages in a queue until reconnect? or do we need to do this?

@AndrewJDR
Copy link
Collaborator

Btw, this actually happened to me yesterday. There was some kind of transient error happening with my home server (probably a cloudflare thing actually), and I got this when the hangouts bridge was attempting to send a 3rd party's message to a matrix room:

handleThirdPartyRoomMessage error { [M_UNKNOWN: Internal server error]
  errcode: 'M_UNKNOWN',
  name: 'M_UNKNOWN',
  message: 'Internal server error',
  data: { errcode: 'M_UNKNOWN', error: 'Internal server error' },
  httpStatus: 500 }

Ideally, the bridge would have put this in a queue for retrying. So there's definitely a need for something here...

@erdnaxeli
Copy link
Member

erdnaxeli commented Mar 22, 2017

We should stop using the client.sendMessage method (and client.sendImageMessage), and instead write our own method sendMessage(client, message) that takes care of putting the message on a queue if the HS is down.

Then we need a way to known when the HS goes up again to flush the queue. We must take care of flushing the queue before sending any message to not mess the messages order.

In the other way (M->T), we can redact too old messages and warn the user on the status room that its message was not sent.

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

No branches or pull requests

3 participants