The way which Spark parses XMPP URIs is incorrect. Take for example the following (correct) URL:
This URI should join the conference room #email@example.com. Instead, Spark joins %firstname.lastname@example.org, which is incorrect.
The following URL is bad:
The hash (#) symbol is reserved for the ID/target portion of the URL, thus this URL should either display an error message or be ignored. Instead, the Spark client joins #email@example.com, which is incorrect behavior as well.
The URL parser needs to first extract each part of the URL, and then perform the URL unescaping. The parts of the URL are (to the best of my recolection):
After the URL is broken up into those parts, each part individually should be unescaped.
On a slightly different note, one URL which will really, really confuse spark is the following:
Try saying something after joining that room. This must be a bug, although I’'m not exactly sure what the correct behavior should be. I believe that the correct behavior would be to join the room with the nick ‘‘bubba’’ instead of whatever default spark would otherwise use. (Someone should verify this in the JEP/RFC)
(BTW: Shouldn’'t this forum support linking to XMPP URLs?)