[JDEV] BIG Roster in Jabber
orihuela at free.fr
Tue Sep 10 10:14:51 CDT 2002
> 1.) While replying to a jabber.iq:roster, if the jid is part of a group
> (passed to it by the client), the group name is sent back to it in the </grp>
> tag & not in the well known </group> tag.
sorry, this was already fixed in the CVS ... but i did not make any new xdb_sql
release since then :( ...
> 2.) If the client wants to add a buddy in a different group, it is taken
> care of by rostergroups table, but the client cannot add more than 1 entry
> (meaning one user can store only one jid corresponding to one group). This is
> because in xdbsql_roster_set, a call is made to roster_purge function.
> Instead can't we remove roster_purge call in xdbsql_roster_set fn. &
> change the "insert" command (in mysql) into "replace delayed" (in
I'm not sure to understand the change you're talking about ...
Anyway, there is a call to roster_purge because jabber resends the whole roster
each time it is modified. The principle is that xdb_sql just stores what jabber
send to it, no more ...
> 3.) If I were to add a buddy with the buddy not online, but offline, the
> request is saved in mysql with subscription=none. Now when the buddy logs in,
> the result of jabber:iq:roster should contain a </presence> tag with a
> type='subscribe' attribute' for the client to know its a subscription request,
> after the normal </iq> response , but it does not happen this way. As
> mod_roster_out_iq fn. in mod_roster.c sends out the additional </presence> tag
> only if subscription attribute is not null, this condition is not matched & the
> presence tag is not sent to the client.
comparison is not made on 'subscription' attribute but on 'subscribe' attribute,
that's a lot different :)
to my knowledge, this has always worked ... what is stored onto this 'subscribe'
attribute in the DB ?
More information about the JDev