Skip to content

Conversation

badrihippo
Copy link

Opening a new pull request as I'm coming back to this after a while. This PR supersedes and continues the work of #3117. The first commit here is basically a squash-and-rebase of the earlier PR.


This PR replaces src/omemo with plugins/omemo-views and headless/plugins/omemo. The way I'm working on this is to keep everything on omemo-views for now, and then gradually move whatever possible out to the headless omemo.

Files to be tackled (more will be added as events warrant):

  • util
    • copy the functions whole
    • break up the functions which have UI and non-UI parts to them
  • index
    • create and register the headless omemo plugin separately
    • move headless event handlers to headless version
    • move over other headless dependency files as appropriate
  • miscellaneous small files which can mostly be copied over directly

Standard steps to finish before completing pull request:

  • 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.

This replaces 'plugins/omemo' with 'plugins/omemo-views' and
'headless/plugins/omemo'.
So that it gets detected and registered as a plugin, but
unfortunately it still doesn't seem to be doing that? :(
@badrihippo
Copy link
Author

Wait I rebased against the wrong thing sorry! Will be back.

@badrihippo
Copy link
Author

Please do not touch this yet as I will be force-pushing something soon.

@MirwaisAkrami
Copy link

Hi, I am trying to use OMEMO encryption in the headless version of Converse, I tried many things, but couldn't succeed.
I just now came across this PR, so is there any way to use OMEMO encryption in the headless version yet, or do we need to wait for this PR to be merged?
I use Converse with Angular v19 in the frontend and have ejabberd as an XMPP server.
Thank you.

@badrihippo
Copy link
Author

Hi! OMEMO encryption is not yet supported in headless. You need to wait till the PR is complete. Actually, it starts off some work I did quite a while ago at #3117. I need rebase to the latest master and handle all the merge conflicts, then make a few more changes to make it work.

@Neustradamus
Copy link

@badrihippo: Any progress on it?

@badrihippo
Copy link
Author

@Neustradamus I don't want to promise anything because I've done that multiple times in the past 😬 but thanks in part to your nudge I have started on rebasing this entire thing to the new master! I'll update on my progress next Monday.

@MirwaisAkrami
Copy link

Thanks a lot, looking forward to

@MirwaisAkrami
Copy link

Hi @badrihippo, did you get time to finish up things?

@badrihippo
Copy link
Author

Hi @MirwaisAkrami, I am still working on the rebase as quite a few things have changed (at to be honest I've only managed to put in about 2-3 hours the past week due to being busy with client work).

The good news is that I just got awarded a grant from NLnet to develop Convo! The details are yet to be finalised but this PR is likely to be on top of the priority list to get OMEMO working. In terms of timelines: I am keeping January 2026 free to work on Convo so the worst case is to have this completed my mid-January. I feel a bit silly saying this because that's a long way away and this is not such a large task but it's mainly about my ability to set aside the time; I'm already balancing two client projects at the moment.

I am going home this week to spend time with family, let's see if I can work on this as well during that time 🤞

Would you like to join the chatroom [email protected]? I will be posting more regular updates there. It's mainly centred around Convo but this is one of the pending tasks there and I'm also interested to hear what you were planning to use this feature for, so you can tell me about it there!

@badrihippo
Copy link
Author

Closing this because it was completed in #3789. Thanks @jcbrand!!

@badrihippo badrihippo closed this Aug 10, 2025
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.

3 participants