• 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