-
-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Emiel Kollof edited this page Jul 6, 2026
·
14 revisions

A WeeChat plugin written in C++23 that adds full XMPP/Jabber support, including a comprehensive set of XEPs targeting CCS2022 compliance.
Fork of bqv/weechat-xmpp carrying critical bug fixes, new XEP implementations, and ongoing refactoring.
| Page | Description |
|---|---|
| Installation | Build dependencies, compile steps, loading into WeeChat |
| Configuration | Account setup, options, status bar items |
| Usage | Commands, MUC, PM, encryption, message features |
| Microblogging | XEP-0277/0472 — post, reply, retract; Movim/Libervia interop |
| Command Reference | Complete table of all commands |
| Troubleshooting | Common problems, raw XML logging, OMEMO diagnosis |
| Contributing | Build system, port abstraction, code style, submitting patches |
| Releasing | Version bumps, GitHub Actions CI packages, publishing releases |
- Full XEP-0045 Multi-User Chat (MUC) —
/create(instant + reserved), IRC-style admin (/kick,/ban,/voice,/devoice,/op,/deop), owner config (/setmodes,/affiliation,/destroy), registration (/mucregister), direct and mediated invites (/invite,/decline), mode display in status bar - Buffer sidebar prefixes:
#for MUC rooms,@for PM buffers - OMEMO encryption using the legacy axolotl namespace (
eu.siacs.conversations.axolotl) only (XEP-0384). OMEMO:2 (urn:xmpp:omemo:2) is not supported. PM OMEMO is production-ready; non-anonymous MUC OMEMO is experimental (seedocs/planning-muc-omemo.md). Signal-spec compliant (random pre-key selection, own-device key inclusion, pre-key ID continuity) - BTBV Trust Model — Blind Trust Before Verification TOFU with per-device trust levels (BLIND/VERIFIED/UNTRUSTED/UNDECIDED)
- Room Activity Indicators — subscribe on connect, display MUC activity notifications (XEP-0437)
- PGP encryption (XEP-0027)
- Message Archive Management with LMDB caching and RSM cursor persistence (XEP-0313)
- MAM Preferences — view and set per-JID archiving policy (XEP-0441)
- Message Correction, Retraction, Reactions, Replies (XEP-0308/0424/0444/0461)
- Ephemeral Messages — auto-tombstone after N seconds (XEP-0466)
- Chat Notification Settings — per-chat always/on-mention/never preference (XEP-0492)
- MUC Mention Notifications — surface missed @mentions (XEP-0452)
- HTTP File Upload (XEP-0363) with Encrypted File Sharing (XEP-0448, AES-256-GCM); small plaintext images via XEP-0231 BoB (≤8 KiB)
- Message Markup rendering — emphasis, strong, code, blockquote, lists (XEP-0394)
- Message Styling — bold, italic,
code, blockquotes (XEP-0393) - XHTML-IM rendering (XEP-0071)
- Stream Management / resumption (XEP-0198) — connect probes (SM, CSI, MAM, bookmarks) gated on server
disco#info -
/disco summary— cached server capability matrix; auto-printed to account log after connect - PEP Native Bookmarks with autojoin (XEP-0402)
- In-Band Registration: register, change password, cancel account (XEP-0077)
- Interactive picker UI for retract, moderate, reply, edit, upload
- Link metadata / OpenGraph previews (XEP-0511)
- Message status glyphs: ⌛ pending → ✓ delivered → ✓✓ read
- Smart presence filter (hides join/leave noise for quiet nicks)
- PubSub feed reader with RSM cursor persistence and Pubsub MAM (XEP-0060 / XEP-0442); disable entirely with
xmpp.look.feeds off - Microblogging post/reply/retract — Movim/Libervia interop (XEP-0277 / XEP-0472)
- vCard retrieval including vCard4 (XEP-0054 / XEP-0292)
- Consistent Color Generation per nick (XEP-0392)
- Exponential reconnect backoff; resource regeneration on
<conflict/> - Kitty inline image previews (vendored icat) — SFS/SIMS/OOB/ESFS, XEP-0449 stickers, XEP-0514 custom emoji, XEP-0231 BoB send/receive (Movim stickers); MAM replay sync for image dimensions
- Pre-built packages for Debian, Fedora, Arch, Void, and Alpine via GitHub Releases
See the full XEP compliance table in the README.
The official Xepher MUC is the place to ask questions, report usage issues that don't belong in the GitHub issue tracker, share tips, and follow announcements.
-
JID:
xepher@conference.hackerheaven.org - Web link: xmpp:xepher@conference.hackerheaven.org?join
Join with the plugin once any account is connected:
/xmpp enter xepher@conference.hackerheaven.orgOr from any other XMPP client (Conversations, Gajim, Dino, Monal, etc.) using the JID above.
Mozilla Public License 2.0. Original project © Tony Olagbaiye.