• v0.3.10 ea83eeb848

    tackygram 0.3 Pre-release

    ann released this 2026-10-27 16:20:46 +00:00 | 1 commits to main since this release

    Signed by ann
    SSH key fingerprint: SHA256:W5M34SUfd1n6UVfu3dIKsi8wVTbvCykT2F7caAghIFU

    tackygram 0.3 · 2026-10-25 → 2026-10-28 · tag v0.3.11

    The line of Telegram secret chats, relayed by a gateway that holds no key, and of everyday Telegram content: silent and scheduled messages, edits, albums, polls, places, formatting, profiles, folders, video calls and your own account's settings. 0.3.11 is the line's latest release; nothing after 0.3.2 has been tried against Telegram itself yet.

    0.3.11 — 2026-10-28

    • Telegram secret chats started from XMPP no longer end at the peer's first message (Telegram for iOS and macOS announce an old layer first). On libtacky 1.1.11.

    0.3.10 — 2026-10-27

    • Animated stickers arrive as their static preview (Telegram's own still picture); nothing is converted, and the converters and their tools are gone from the image.
    • Your blocked list is never thinned by the gateway: after a restart the XMPP and Telegram lists are merged, so a contact stays blocked.
    • A failed read of your gateway settings is retried instead of being written over; contact names from messages are made XML-safe.
    • Security: the delta audit's High (D1) and its converter findings are moot with the converter gone; the rest fixed. Built on libtacky v1.1.10.

    0.3.9 — 2026-10-27

    • One-to-one video calls with Telegram users (experimental).
    • Pinned, muted and archived chats show as the roster groups "Pinned Chats", "Muted Chats" and "Archived Chats"; every contact offers Mute, Pin and Archive.
    • Telegram's auto-delete timers as XMPP ephemeral messages (XEP-0466), set from either side.
    • Report spam or abuse while blocking a contact (XEP-0377); custom emoji arrive as their plain emoji.
    • The component stores nothing per user.
    • Security: the final audit's 2 High and 3 Medium findings fixed.

    0.3.8 — 2026-10-27

    • Telegram folders become roster groups.
    • Your blocked list stays in sync between XMPP and Telegram (XEP-0191).
    • Search a chat's history on the server (XEP-0431).
    • Bot inline buttons (XEP-0439).

    0.3.7 — 2026-10-27

    • A Telegram contact's vCard: phone, birthday, about text and @username (vcard-temp and XEP-0292).
    • Large Telegram accounts: without the roster privilege the chats are a pageable list (New chat finds them) and a contact is added on first use; with it, the roster pushes are paced.

    0.3.6 — 2026-10-27

    • Your Telegram sessions, two-step password and privacy settings, as forms on the gateway (Active sessions, Two-step password, Privacy settings).
    • Sync my XMPP profile: one command (or the chat line profile) sets your Telegram name and photo from your XMPP nickname and avatar, after showing what it will set; it runs once, nothing is kept in sync afterwards.
    • You are online on Telegram only while you are online here, so your phone keeps notifying while you are away (online on|off).
    • The gateway lists only Link and Status until you link; the account's commands come after.
    • Fixes: a QR login you left no longer blocks the next one for ten minutes; Saved Messages is one contact with each message once; linking no longer floods the roster with your phone book.
    • Dice arrive as plain text; built on libtacky v1.1.6.

    0.3.5 — 2026-10-27

    • Built on libtacky 1.1.5-rc1, with the fixes of libtacky's 2026-10-26 security review.

    0.3.4 — 2026-10-26

    • A Telegram contact's card shows their about text, phone, birthday and @username; bots are marked as bots.
    • Every contact offers block, unblock and refresh; bots also offer their own commands and menu.
    • Set your own Telegram bio, name, username and photo from XMPP.
    • Last seen times in your own time zone.
    • The 0.3.2 presence fix is included.

    0.3.3 — 2026-10-26

    • Silent and scheduled messages, as Telegram's own.
    • Corrections and retractions both ways in one-to-one chats; a message deleted on Telegram shows as retracted and keeps its history.
    • Albums and captions both ways.
    • Places and live locations, contact cards, polls, forwards, pins and other service messages.
    • Formatting both ways (bold, italic, code, links and the rest).

    0.3.2 — 2026-10-26

    • Contacts no longer look offline after a gateway restart: a sync Telegram refused is retried.
    • Contacts come back with their real Telegram status right after a restart.

    0.3.1 — 2026-10-26

    • Security: the engine fetches shared files only from the upload service and allowed public hosts (Critical, SSRF onto the server's admin API).
    • Security: a secret-chat message the gateway couldn't store is never acknowledged to Telegram.
    • A media size limit with "fetch anyway" for bigger files; optional retention and storage quota.
    • Typing both ways; voice notes and round videos reach Telegram as Telegram's own.
    • Secret chats keep working after a restart, their offline queue bounded per chat.

    0.3 — 2026-10-25

    • Telegram secret chats (urn:tacky:mtproto-e2e:0): messages, read marks, typing, files, stickers, GIFs, timers and re-keying, sealed end to end; the gateway only carries them.
    • Messages for an absent device are queued, with a plain nudge so push can wake it.
    • A sticker set's first sticker names its pack once imported; stickers show as pictures in other clients.

    Downloads: tackygram and paperplaned (linux amd64), tackygram-image.tar.gz and SHA256SUMS of 0.3.10; images dev.another.im/another-im/tackygram:0.3.10, :0.3 and :latest. Test results are in the tag message.

    Upgrading

    • Server: the gateway now runs in a network namespace of its own and connects to ejabberd over the network on a dedicated component listener, port 5348, which accepts only telegram.<domain> (anotherim-server fix/tackygram-netns 068b68e). It no longer shares ejabberd's loopback, where the admin API and port 5347 listen. In the quadlet, drop the shared/host network, start the gateway with -host <ejabberd> -port 5348, add the 5348 listener to ejabberd, and publish the calls' UDP range on the gateway.
    • Server: mod_privilege must also grant the gateway the IQ permission on urn:xmpp:blocking (both) for the blocked-list sync (in anotherim-server master since 819f3b7); otherwise as since 0.2.2: mod_component_iq, pubsub_createnode for the gateway, mod_http_upload access for media.
    • New options, all optional: -roster-pace (contacts' stanzas per account a second, default 50), -login-idle (seconds a QR login lives unasked, default 60).
    • The component stores nothing per user; only the engine's sealed store remains.
    • In the quadlet, Image=dev.another.im/another-im/tackygram:0.3.10 (or :0.3), then systemctl daemon-reload && systemctl restart tackygram.
    Downloads
  • v0.2.4 f0fc34827a

    tackygram 0.2 Stable

    ann released this 2026-10-25 17:42:16 +00:00 | 171 commits to main since this release

    Signed by ann
    SSH key fingerprint: SHA256:W5M34SUfd1n6UVfu3dIKsi8wVTbvCykT2F7caAghIFU

    tackygram 0.2 · 2026-10-22 → 2026-10-25 · tag v0.2.4

    The line where calls work: one-to-one voice calls between XMPP and Telegram, with stickers, media, history and avatars around them. Telegram chats now behave like ordinary XMPP contacts.

    0.2.4 — 2026-10-25

    • Link Telegram with standard XEP-0077 registration, the way XEP-0100 has clients link a gateway; ad-hoc commands stay as the fallback.
    • Unlinking leaves the roster cleanly.

    0.2.3 — 2026-10-25

    • Reactions both ways in one-to-one chats (XEP-0444), your reactions from Telegram's apps mirrored too.

    0.2.2 — 2026-10-25

    • A Telegram contact is named from its first message on.
    • Delivery and read reports both ways (XEP-0184, XEP-0333).
    • A received sticker's set is imported into the server's sticker catalogue unasked.
    • Avatars for everyone you chat with, without a refresh.

    0.2.1 — 2026-10-22

    • Telegram contacts ask for your presence and end at "both", remembered across restarts.

    0.2.0 — 2026-10-22

    • One-to-one voice calls both ways (Jingle to Telegram's phone calls), audio only.
    • Stickers both ways, Telegram sticker sets importable into the server's catalogue.
    • Photos, albums, videos, GIFs, voice notes, audio, round videos and files both ways through the server's upload service.
    • Open one-to-one chats join the roster; your messages from other Telegram devices are mirrored as yours.
    • Each chat's history as an archive (MAM); profile photos as avatars; lookup by @username or phone number.

    Downloads: tackygram and paperplaned (linux amd64), tackygram-image.tar.gz and SHA256SUMS of 0.2.4; images dev.another.im/another-im/tackygram:0.2.0 … :0.2.4. Built on libtacky v1.0.5.

    Downloads
  • v0.1.0 da2c849cc1

    tackygram 0.1 Stable

    ann released this 2026-10-20 21:44:25 +00:00 | 198 commits to main since this release

    Signed by ann
    SSH key fingerprint: SHA256:W5M34SUfd1n6UVfu3dIKsi8wVTbvCykT2F7caAghIFU

    tackygram 0.1 · 2026-10-21 → 2026-10-21 · tag v0.1.0

    The first line of the Telegram gateway for an XMPP server: text messages work. The component telegram.<domain> (tackygram, with libtacky inside) runs the Telegram engine paperplaned beside it.

    0.1.0 — 2026-10-21

    • Link a Telegram account through the gateway's ad-hoc commands, by QR code or phone number.
    • One-to-one text messages both ways.
    • Telegram contacts land in the roster with presence (XEP-0356 privileges from ejabberd's mod_privilege); without the privileges they arrive as XEP-0144 roster suggestions.
    • What you write from Telegram's own apps comes back as carbons.
    • A fake Telegram (-engine-args -fake) for trying the gateway without the network.

    Downloads: tackygram and paperplaned (linux amd64), tackygram-image.tar.gz and SHA256SUMS; the registry image of 0.1.0 was only ever :latest, so use the attached tarball. Built on libtacky v1.0.5.

    Downloads