El Viernes, 19 de Febrero de 2010, Klaus Darilion escribió:
case 2)
- Bob already has Alice as allowed buddy in Bob's buddy list.
- Now Bob wants to block Alice so invokes "polite-block" in the server.
- From that moment Alice will think that Bob is just offline.
This sounds like the "invisible" feature of ICQ
Yes :)
Perhaps we should redefine the blocking actions:
- "polite-block" means "set invisible", and it's *just* useful for
our buddy
list contacts. This is, we don't explicitely block a buddy in our contact
list, but instead we lie him by setting "invisible" status for a while.
For example: "I want to talk with Alice and want to show her my wonderful
nacked photo, but I don't want my friend Carol to see me connected, neither my
photo".
- "block" means explicitely reject a subscription request (the subscriber
knows it has been rejected). This is useful when we receive an invitation from
a person we don't know or we hate ("no, I'm *not* your friend!").
- "ignore" means "I don't want to accept this user right now, so let
the
subscriber think that I'm not online now and cannot handle the request for
now".
The subscription remains in "pending" state until the server expires it and
sends a NOTIFY to the subscriber with:
Subscription-Status: terminated; reason=timeout
This is like when you receive a Linkedin invitation from some person you know
nothing about, so you don't want to accept it but neither explicitely reject
his offer (perhaps he wants to pay you for a good job!!!). So you leave the
request in "pending" state and search for such user in Google.
I think that the above points cover all the required features for blocking a
user (when he is in our buddylist, when we don't want him in our buddylist and
when we want just to ignore his request for now).
Are you agree?
Thanks a lot.
--
Iñaki Baz Castillo <ibc(a)aliax.net>