converse.js icon indicating copy to clipboard operation
converse.js copied to clipboard

XEP-0402: Bookmarks 2

Open linkmauve opened this issue 3 years ago • 3 comments

Is your feature request related to a problem? Please describe. The current bookmarks situation is a mess, starting with Bookmarks version 1.1 (published the 2007-11-07), which changed the storage mechanism from Private XML to PEP without any migration path. As a result, all clients (but Converse) stayed on the former, while Converse implements only the latter, resulting in the desynchronisation of the MUCs being joined by different clients. Bookmarks Conversion was an attempt at fixing this mess, but it arrived after Bookmarks 2 which added (amongst other improvements) a third way to store bookmarks, as well as two optional features advertising synchronisation with the former two.

Describe the solution you'd like Implement XEP-0402, but use it only when conversion from the former is advertised, otherwise it would introduce a third incompatible and unsynchronised storage. The ideal solution is described at modernxmpp.org, but for compatibility with older Converse versions it might not be applicable right away.

Describe alternatives you've considered Staying with the current situation, this requires every server admin to deploy mod_bookmarks (or similar) which we are deprecating from prosody-modules, as it is incompatible with mod_bookmarks2. Other clients (such as Movim) also started using XEP-0402 without any fallback, making themselves incompatible with any other client unless this mod_bookmarks2 is deployed.

Another “solution” would be to implement XEP-0048 version 1.0, and to only use the current XEP-0048 version 1.1 when XEP-0411 isn’t advertised, bringing back compatibility with every other client, but that is also a regression compared to the current solution as there is no notification mechanism, and it is unlikely new servers will start deploying mod_bookmarks.

Additional context N/A


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

linkmauve avatar Jul 31 '21 12:07 linkmauve