Skip to content

Adding support for protocol handler#3870

Open
marcellintacite wants to merge 2 commits intoconversejs:masterfrom
marcellintacite:add-protocol-handler
Open

Adding support for protocol handler#3870
marcellintacite wants to merge 2 commits intoconversejs:masterfrom
marcellintacite:add-protocol-handler

Conversation

@marcellintacite
Copy link
Contributor

Here's a draft for this issue : #1247
This merge request adds support for handling xmpp: protocol links in Converse.js, allowing users to click links like xmpp:user@example.com to automatically open a chat with the specified JID if logged in. This enhances user experience by enabling seamless integration with external XMPP links (e.g., from emails, websites, or other apps).

Before submitting your request, please make sure the following conditions are met:

  • Add a changelog entry for your change in CHANGES.md
  • When adding a configuration variable, please make sure to
    document it in docs/source/configuration.rst
  • Please add a test for your change. Tests can be run in the commandline
    with make check or you can run them in the browser by running make serve
    and then opening http://localhost:8000/tests.html.

@marcellintacite marcellintacite marked this pull request as draft October 1, 2025 08:05
@jcbrand
Copy link
Member

jcbrand commented Oct 7, 2025

Looking good so far @marcellintacite!

Please also remember to update the DOAP file to mention support for the new XEP
https://github.com/conversejs/converse.js/blob/master/conversejs.doap

@marcellintacite
Copy link
Contributor Author

@jcbrand Hello, i would like your review for the test i wrote

@marcellintacite
Copy link
Contributor Author

@jcbrand i need your help on tests so i can get done with this PR. I am facing some errors

@marcellintacite marcellintacite marked this pull request as ready for review November 10, 2025 10:47
@marcellintacite marcellintacite force-pushed the add-protocol-handler branch 2 times, most recently from 67fa8c7 to cd88326 Compare November 10, 2025 10:55
@marcellintacite
Copy link
Contributor Author

Hello @jcbrand i have fixed test issue

@marcellintacite
Copy link
Contributor Author

Hi @jcbrand , could you please provide an update on this Pull Request? I'd like to know what's left to address so we can proceed with merging it.

Copy link
Member

@jcbrand jcbrand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @marcellintacite

I took some time to review this PR. Thanks a lot for the work you've done on this so far.

Please have a look at this comment first:
https://github.com/conversejs/converse.js/pull/3870/changes#r2667473276

Since it's the most important one of my review.

It's important that we stick to the plugin architecture and separation of concerns, which is why I think you need to move the functionality to separate plugins.

The roster-related stuff should go into the rosterview plugin and the other actions can go into chatboxviews (which encompasses both MUC and 1:1 whereas chatview is only 1:1).

Let me know if you have any questions or if anything is unclear.

- Register XMPP protocol handler in src/index.js
- Implement URI parsing in chatview/utils.js
- Add plugin-specific routing via xmppURIAction event
- Add message sending support in chatboxviews plugin
- Add roster contact addition in rosterview plugin
- Add comprehensive unit tests for all features
- Follow plugin architecture for separation of concerns
@marcellintacite
Copy link
Contributor Author

Hi @jcbrand , i have updated the PR can you check please

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants