The async editor rewrite (g_child_watch + ui_suspend / ui_resume) lost the editor_task.active check the old pthread implementation had at the top of get_message_from_editor_async. With the guard gone, a second launch_editor call while the first session is in flight would call ui_suspend a second time, fork another editor, and register a second child watch; whichever child exits first runs ui_resume and clears suspension while the other still owns the terminal. Triggering this needs a code path other than the main-loop alt+c / /editor (those can't fire while the main loop is parked in the suspended iteration), so the realistic source is a plugin firing launch_editor from a g_main_context_iteration dispatch. Restore an explicit editor_active static in src/tools/editor.c: check it at the start of launch_editor (bail with a console error), set it just before ui_suspend, and clear it on the fork-error path and at the start of _editor_exit_cb. Keeps the same simple semantics the pre-merge code had, without exposing a new ui.h API.
CProof
CProof is a console based XMPP chat client based on Profanity.
See the Quick Start Guide for information on installing and using CProof.
Project
CProof enables you to communicate with privacy, freedom and comfort. Our open-source chat application delivers secure, end-to-end encrypted messaging (OTR, PGP, OMEMO, OX) built on the trusted XMPP protocol. With a decentralized design, you can connect directly or even host your own server, keeping your data in your hands. Whether you're chatting with friends or collaborating securely, CProof makes private communication simple, reliable, and truly yours.
Installation
Check our installation guide for detailed instructions.
How to contribute
See our Helping Out page for a concise summary of ways to help us.
Review the Contributing Guide and Code Overview pages for advanced technical details.
Getting help
Prior to asking questions, check our User Guide, then check out the FAQ.
If you are still having a problem then search the issue tracker.
As a last resort, feel free to write us on support@jabber.tech or create a new issue depending on what your problem is.
Links
Website
Feel free to visit our website: jabber.space.
You may also check the repository if you like, available on git.jabber.space/devs/profanity.
Plugins
Plugins repository: https://git.jabber.space/devs/cproof-plugins
