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

Some messages not buffered if client disconnects without /quit and then times out #322

Open
LunNova opened this issue Apr 16, 2013 · 19 comments

Comments

@LunNova
Copy link

LunNova commented Apr 16, 2013

If I disconnect from znc due to an issue with my internet connection, some buffer may be lost, leading to confused conversations as someone assumes you saw their reply.

It would be nice to have an option to make znc keep a buffer of what was said between now and the last successful ping, and add that to the buffer if the client disconnects due to missing a ping, or E_CONN_RESET/other similar error.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/244531-some-messages-not-buffered-if-client-disconnects-without-quit-and-then-times-out?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github).
@urbels
Copy link

urbels commented Apr 17, 2013

This is why i use awaystore plugin for private messages and auto clear buffer is off.

@Weyland
Copy link

Weyland commented Apr 17, 2013

+1 for this idea. Ping timeouts are still a problem on most servers. Having a feature that saves buffer messages if a ping was not successful, is very welcome.

@frozencemetery
Copy link

I observe this problem in my own setup, and am concerned that it happens. It suggests that there is a code path through which a message can show up and, failing delivery to the user, be dropped on the floor. TCP socket calls will provide sufficient information to detect delivery error, so it concerns me that this is a problem at all.

@DvdKhl
Copy link

DvdKhl commented Jul 31, 2014

Since I'm using standby to "power off" the PC, I also have the issue of mIRC not telling ZNC it is quitting. What concerns me the most is that I actually missed a query and only learned of it much later. After looking into it a bit, it seems like I was missing chat history of at least 5min after putting the PC into standby.

@Mikaela
Copy link
Contributor

Mikaela commented Aug 1, 2014

There is this pull request #598 which attempts to fix this.

@frozencemetery
Copy link

@Mkaysi That would not fix channels losing messages since it does not touch the channel logic.

@Mikaela
Copy link
Contributor

Mikaela commented Aug 1, 2014

Oh sorry, I thought that message = private message.

@DvdKhl
Copy link

DvdKhl commented Aug 1, 2014

Mhh, not sure if this would fix the query side.
ZNC seems to behave like the client is still connected after a silent connection loss (which is of course normal),
but then not noticing it was unable to deliver the messages to the client and therefore being lost.

I'll do some testing later and see if I can consistently reproduce it.

@Abazigal
Copy link

Abazigal commented Oct 2, 2014

I regularly observe this problem on an IRC/ZNC server that is oftenly accessed via VPN from countries where internet is not so reliable.
When someone's connection is lost for some reason, messages sent in the following ~20s doesn't appear in his backlog when he reconnects.

@winny-
Copy link

winny- commented Jan 31, 2015

Has any headway been made in relation to this issue?

@jpnurmi
Copy link
Member

jpnurmi commented Jan 31, 2015

This is the solution that I've been happily using for a year: http://wiki.znc.in/Playback. Yes, it needs special support from your client, but that's not difficult to implement.

@Mikaela
Copy link
Contributor

Mikaela commented Jan 31, 2015

Yes, it needs special support from your client, but that's not difficult to implement.

Is this currently supported by anything else than Communi-*?

@jpnurmi
Copy link
Member

jpnurmi commented Jan 31, 2015

Is this currently supported by anything else than Communi-*?

Textual & Mobile Colloquy

@caktux
Copy link

caktux commented Apr 24, 2015

The OP's proposed solution would be a very welcomed feature.

@PotcFdk
Copy link

PotcFdk commented May 21, 2015

Assuming I'm not missing any important technical detail that would lead to issues, I agree with @caktux, as this solution would (hopefully) work with all standard clients and not require special plugins.

@Mikaela
Copy link
Contributor

Mikaela commented Sep 9, 2015

Could this be closed based on *playbck or will this wait for it to be merged to ZNC?

@PotcFdk
Copy link

PotcFdk commented Sep 9, 2015

I'm not entirely sure if a solution to this issue should require non-standard client implementations and/or (third-party) plugins.

@AndrioCelos
Copy link

Isn't this what the clearbufferonmsg module is for?

@glechapelain
Copy link

It never checks whether the actual `write(...)' call succeeded :(
I'll see if I can come up w/ sthing!

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