[icq-devel] V7 Invisible Mode

Daniel Tan datan at seas.upenn.edu
Tue Nov 27 08:28:40 CET 2001

I just checked: icq sends snac (9,5) before sending snac(1, 1e)
here's the sequence of events:
1. A sends snac (9,5)
 -> sets visible list. if visible list empty, all clients will
no longer see the sender
2. B receives snac (3,C) 
 -> offgoing buddy.
3. A sends snac (1, 1E)
 -> changes status to invisible. All clients on visible list
will see him as invisible.

the way I conclude is that for v7, changing status to invisible 
using snac (1, 1e) is *not* the trigger for going offline 
on other clients. the trigger is setting your visible list.
if you think about it, when you set your visible list, this has
the same effect has appearing offline to users not on your 
visible list. how going invisible is implemented in v7 (as compared
to v5, when going invisible was the trigger for going offline), 
is that changing status to "invisible" is treated exactly like a normal
status change (ie. to N/A or Away). Thus, all clients who normally
would receive your status will receive your "invisible" status
if they are on your visible list. Thus, if you do not send a 
visible list, icq server will assume by default that you want
to send your status change to all clients, and thus all clients
will see you as invisible (since this is just another status).

thus, similarly, when you want to go back online, the real 
trigger is when you send your "invisible list". 
here, the order is reversed:
1. A sends snac (1, 1e): change status to visible.
2. A sends snac (9, 7): set invisible list
3. B receives snac (3, b): oncoming buddy
(after server receives snac (1,1e))

i believe, if i'm not wrong, that if you reverse the order (say
going to invisible mode you send your status before sending your
invisible list), then all clients will first see you switch to
invisible mode, then see you go offline.
similarly, when going back to visible mode, if order is reversed,
(ie you send invisible list first), then clients will see you 
as invisible then going online (so I made a mistake abt this).

btw, your notes are very helpful...

Massimo Melina wrote:
> Hello Daniel,
> Friday, November 23, 2001, 7:23:55 PM, you wrote:
> DT> hi,  *before*  you  change  status  to  invisible mode you need to
> DT> explicitly  set  your  visible  list  (snac 9,5) *before* changing
> DT> status  to  one  of  the visible modes, you need to explicitly set
> DT> your invisible list (snac 9,7) don't ask me why it was implemented
> yes, it's true.
> to say all: i send invisible list AFTER changing status, not BEFORE.
> as far as i remember that's the way icq2000 does, but not very sure.
> and more: you have to send it when you change your visibility status,
> not for all status-changes
> -rejetto
> -------------------------------------------------
> icq-devel - The forum for ICQ protocol discussion
> For unsubscribe and other mailing list info, see:
> http://www.d.kth.se/~d95-mih/icq/icq-devel/

More information about the icq-devel mailing list