matvey-kazakov / neerc-soft

Automatically exported from code.google.com/p/neerc-soft
0 stars 0 forks source link

"User joined" message is shown at the top with incorrect timestamp in XMPP #10

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
When logged in message about user joined is show on top of the window and
shows local time

Original issue reported on code.google.com by Matvey.K...@gmail.com on 21 Oct 2009 at 7:35

GoogleCodeExporter commented 9 years ago
 # left/join not a message, so not stored in the history of messages
 # on startup it shows online users as join events and after that shows history

Original comment by Mandri...@gmail.com on 21 Oct 2009 at 11:41

GoogleCodeExporter commented 9 years ago
That's clear, but I think it should be moved to server into history together 
with
other messages otherwise they do not have sense

Original comment by Matvey.K...@gmail.com on 21 Oct 2009 at 12:27

GoogleCodeExporter commented 9 years ago
Zibada proposed to simply remove left/join on startup, so question is: we 
really need 
left/join in history?

Original comment by Mandri...@gmail.com on 21 Oct 2009 at 12:31

GoogleCodeExporter commented 9 years ago

Original comment by Mandri...@gmail.com on 21 Oct 2009 at 12:32

GoogleCodeExporter commented 9 years ago
These initial presence packets are useless for history anyway, they reflect 
current
state.

So, unless we patch the server somehow, presence change history can only be 
tracked
on client side.
Combined with intelligent reconnect feature (retrieve history only since last
message, keep any older messages including presence changes as is), this should 
not
be a big problem.

Original comment by zib...@gmail.com on 21 Oct 2009 at 12:44

GoogleCodeExporter commented 9 years ago
Alternative solution:
Make every client send special messages on login/logout.
This however will break if client terminates ungracefully (crash or network 
error).

Original comment by zib...@gmail.com on 21 Oct 2009 at 12:48

GoogleCodeExporter commented 9 years ago
I thought about alternative solution too, but it sounds like a unnecessary hack.

Original comment by Mandri...@gmail.com on 21 Oct 2009 at 12:52

GoogleCodeExporter commented 9 years ago
Also we don't need to patch server - we can develop plugins (see 
http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/plugin-d
ev-
guide.html), but I think this is unnecessary.

Original comment by Mandri...@gmail.com on 21 Oct 2009 at 12:55

GoogleCodeExporter commented 9 years ago
custom messages seem an easier hack.
Also we can then completely ignore presence packets for history logging purposes
(instead of deciding between "new" and "not new").

Original comment by zib...@gmail.com on 21 Oct 2009 at 1:04

GoogleCodeExporter commented 9 years ago

Original comment by Mandri...@gmail.com on 21 Oct 2009 at 11:07

GoogleCodeExporter commented 9 years ago
Wait... This message has same importance as messages from history flood. 
For example, I look to those messages  (joined/left) and understand that network
connectivity broke. So I'm sure that this is at least medium priority.

Original comment by Matvey.K...@gmail.com on 22 Oct 2009 at 3:07

GoogleCodeExporter commented 9 years ago
As long as you stay connected, your client will log all enter/exit events 
correctly.
They are not logged in server-side history though, so they will be lost if you
restart the client (there's little need to do this now with reconnect feature).

What is incorrect in current implementation is that client shows some excess 
'enter'
messages when it joins or reconnects, one for each user already in the room.

Original comment by zib...@gmail.com on 22 Oct 2009 at 3:55