21:25:24ShinmeraSAL9000: To be clear about the update tracking thing: how exactly did you think this to work? Would a "call this function when you get a response for the update back" work, or...?
21:25:50SAL9000Shinmera: that's one way, but the minimum would be attaching extra info to Failure updates and similar
21:27:54SAL9000double the repos, double the confusion :)
21:28:13ShinmeraTell me about it, I have a hundred of em
21:28:33SAL9000"attaching extra info" might make more sense as a get-related-update or something
21:29:00SAL9000one thing to take into account -- we want to use __slots__ wherever practical
21:29:55SAL9000if you declare __slots__ on a class it's pre-declaring those members, and by default it forbids creating more members (within that class -- child classes are fair game)
21:30:04SAL9000this lets python optimize the storage of the instances, etc.
21:30:37SAL9000see CaseInsensitiveDict for a (trivial) example
21:32:58SAL9000not like CL lets you toss arbitrary fields onto things either
21:35:18SAL9000awwww... "Multiple inheritance with multiple slotted parent classes can be used, but only one parent is allowed to have attributes created by slots (the other bases must have empty slot layouts) - violations raise TypeError."
21:35:25SAL9000can't use multiple inheritance and slots together. damnit guys.
22:33:19SAL9000Shinmera: I just realised, if the backlog uses ids of messages as originally sent (by the user who requested the backlog), that will cause spurious callbacks...
22:36:44Shinmerathen use a hash or something for the ids.
22:36:53Shinmerathe current server doesn't support the backlog extension anyway.