After reading the new proposed Chat Markers XEP, the thought occurred of why are we using explicit enable/disable queries for Chat Markers and Carbons?
What if we instead make it so that if you want to use them, advertise support for the features in caps and then the server automatically enables them. If you don't want to use a feature for a given session, don't advertise support for it. Benefits: - Simplified protocol, works similar to PEP - Fewer requests/responses needed to fully establish a session (ie, faster = better, esp for web clients). Cons: - Enabling/disabling a feature requires presence update, with associated presence storm issues. - ? As for presence storms, I'd say we'd have the exact same issue that we already have for enabling/disabling interest for PEP nodes, so it shouldn't be that big of an issue. And Carbons/Chat Markers are the type of features that would typically always be enabled, not flipped on and off constantly. -- Lance
