mirror of
https://gitverse.ru/kpa39l/xmpp-server-prosody.git
synced 2026-09-29 09:45:02 +00:00
43 lines
2.1 KiB
Markdown
43 lines
2.1 KiB
Markdown
# Slidge registration — which XMPP clients can talk to a bare-domain service JID
|
|
|
|
Verified 2026-08-29 on nixg.ru (estorozhenko@nixg.ru registered via Pidgin,
|
|
Method B). Complements `slidge-registration-and-avatar-gap.md` §1.
|
|
|
|
## The problem
|
|
|
|
Bridge registration is an interaction with the COMPONENT JID `telegram.nixg.ru`
|
|
— a bare domain with no local part. Some clients refuse to start chats with
|
|
such addresses:
|
|
|
|
| Client | Bare-domain JID (`telegram.nixg.ru`) | Notes |
|
|
|---|---|---|
|
|
| Converse.js (web, chat.nixg.ru) | ❌ refuses | "Пожалуйста, введите корректный XMPP-адрес" — requires user@domain to open a chat / add a contact |
|
|
| Pidgin | ✅ works | Buddies → New Instant Message → type `telegram.nixg.ru` (no @) → chat opens → type `register` |
|
|
| Gajim | ✅ works | Method A (adhoc Register command) or chat to service JID |
|
|
| Movim / Cheogram | ✅ works | Method A supported |
|
|
| Conversations (Android) | ✅ works | can message service JIDs |
|
|
|
|
## Why Converse fails
|
|
|
|
Converse validates chat targets as full JIDs (user@domain). A domain-only JID
|
|
fails its address validation on the "new chat / add contact" path, so the
|
|
bridge (which lives at the domain) is unreachable from the web client for
|
|
registration. This is a client limitation, not a server config problem.
|
|
|
|
## Working registration recipe (Pidgin)
|
|
|
|
1. Pidgin: Buddies → New Instant Message (Ctrl+M).
|
|
2. Address: `telegram.nixg.ru` (bare domain, no @).
|
|
3. Type `register`. Bridge replies with the form.
|
|
4. Enter phone (international `+7...`). api_id/api_hash NOT asked when preset
|
|
in env (SLIDGE__SLIDGRAM_API_ID/HASH) — the form omits those fields.
|
|
5. Enter the code from SMS/TG notification; if 2FA is on, the bridge asks for
|
|
the account password.
|
|
6. Verify: `docker logs icq-slidgram | grep 'Login success'`, and
|
|
`user_account` row in `/var/lib/slidge/slidge.sqlite`.
|
|
|
|
## Registering a SECOND user
|
|
|
|
The bridge binds one TG number per XMPP user per server. A second XMPP user
|
|
must run the same `register` flow from their own client — the bridge stores
|
|
per-user sessions, it is NOT one shared account. |