Skip to content

v2.2.0 — Matrix transport

Choose a tag to compare

@eric-wien eric-wien released this 09 Jul 18:12
· 10 commits to main since this release

The gateway can now run over your own Matrix homeserver instead of Telegram: set OGMA_TRANSPORT=matrix, drop the bot credentials in config/matrix_bot.env.local, and the whole channel stays on infrastructure you control.

  • New transport_matrix.py — same six-method transport seam, still Python stdlib only: long-polled /sync with a persisted since-token, chunked sends, long output via media-repo upload, typing indicator.
  • Safety first: the first sync skips the room backlog (a stale message is never replayed as a fresh command), room invites are auto-joined only when the inviter is on the allow-list, and authorization always targets the sender — never the room.
  • Per-backend allow-lists: MATRIX_ALLOWED_USERS / MATRIX_GUEST_USERS mirror their Telegram counterparts.
  • No E2EE by design (would need native olm bindings) — pair it with a self-hosted, federation-off homeserver you trust. See .env.example for setup.

Transports now yield an explicit actor field; Telegram behavior is unchanged. E2E-tested against a live Continuwuity server.