jackline icon indicating copy to clipboard operation
jackline copied to clipboard

rethink `remove` (and `info`)

Open hannesm opened this issue 10 years ago • 4 comments

if /add foo does add something, /remove on foo does nothing visible. /info on foo also doesn't show any difference. (also: add should validate the given string to be a (valid?) jid, otherwise server might be confused)

reason is that /add adds to roster, but /info doesn't contain any hints whether this user is in your roster or local only.

also, /remove doesn't take a jid argument (and does only do a Roster.put, which if successful prints a message) -- but doesn't remove the local user thingy...

this also gives rise to local-only commands: ladd, lremove to avoid saving data (your social network) on the server

hannesm avatar Sep 04 '15 11:09 hannesm

can we cancel a subscription: none (pending)? (need to look through XMPP RFC and test against servers..)

hannesm avatar Sep 04 '15 11:09 hannesm

(related to #22)

hannesm avatar Sep 11 '15 12:09 hannesm

Yeah, what is /remove actually supposed to do? I don't see the remote contact actually being removed... it doesn't disappear from the contacts list and next time I log in, it's still there.

infinity0 avatar Jan 06 '16 14:01 infinity0

/remove does a Roster.put ~remove here, which the XMPP server upon successful completion should sent a roster update with subscription = Remove (handled here).

Thus, /remove requires a connection to the server, and it needs to be well-behaved. I just tested this between jabber.ccc.de and jabber.berlin.ccc.de, and it worked..

hannesm avatar Jan 06 '16 16:01 hannesm