I’‘ve been back to it and that really helped. I have a much better idea what’'s going on.
However, I’‘m confused by something that’'s happening to the roster of a person who is logged in at the time one of their buddies removes their subscription rights.
I’'m using the ‘‘modelChanged’’ event to see when the roster changes in any way.
I start my flash movie, and I see all my buddies and their status. Then, using a separate jabber client (Psi), I remove the authorization of the flash movie user.
In the flash movie, a ‘‘set’’ IQ arrives with subscription=’‘from’’ for the buddy who removed authorization.
At this point I trace my roster.length and it has increased by 1. I do a trace on the new item and it shows as:
Yet the roster item for the buddy who removed my authorization is unchanged - he still traces as being online/available with subscribStatus as ‘‘both’’.
If I log out and log back in again, this is all fixed and the roster length has dropped back down to the number is should be, with the buddy who removed my authorization coming through as subscription=’‘from’’.
Am I doing this all the wrong way again?
Incidentally, this undefined extra roster item shows up even if I use a datagrid as a dataprovider for the roster.