i've implemented a client that uses the syncitems/lastsync routines. i read evan's code and wrote a similar implementation, popping off syncitems as they were downloaded, and looping until syncitems is empty.
my algorithm was in stuck in an infinite loop, and here i was pulling my hair out for hours thinking 'Perhaps the client is broken?'.
calling syncitems first, the server is returning an array of items, and one item in particular has the itemid 441. (testing this on my own journal)
then, following getevents through its course, the final result set has NO itemid of 441. furthermore, calling getevents with selecttype of "one" and "itemid" of 441 returns an empty result set.
if this item doesn't exist, why in the world is syncitems returning it to start with? is this a bug? what's going on?