Skip to content

Releases: kyra-labs/pingogram-android

Pingogram v0.3.0-beta.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 09:26
d3ebf47

Added

  • Send as a channel: in groups and channels where you can post as a channel you own or anonymously, the composer
    starts with the avatar of who your messages go out as. Tap it to choose your account, one of your channels or
    "Anonymous admin"; the choice is kept for the chat. Channels that only Telegram Premium users can post as are shown
    but cannot be chosen.
  • Emoji and stickers: the smiley at the start of the message field opens a panel in the keyboard's place, at the
    keyboard's height, so nothing jumps when you switch back and forth. The Emoji tab has every emoji your phone can
    show, by category, with the ones you used last first; tapping one puts it where the cursor is, and the panel's
    backspace deletes a whole emoji at a time. The Stickers tab has your favorite and recently used stickers and every
    sticker set you added, each a tap away in the row at the top; tapping a sticker sends it right away, as a reply if you
    were replying. Back or the keyboard button brings the keyboard back.
  • Animated stickers play, in chats and in the sticker panel, once they are downloaded. To save battery, at most eight
    play at once, only while they are on screen and Pingogram is in front, and not at all when animations are turned off
    in Android's settings. Video stickers still show a still picture.
  • Files you send and files you tap to download keep going when you leave Pingogram: while they are on their way, a quiet
    notification in the new "Transfers" channel shows how many files and how much of them, with "Cancel", and it goes
    away a moment after the last one. Files you save from a selection count too. Photos and videos that download by
    themselves never keep Pingogram running in the background.
  • Language: Settings → Language chooses Pingogram's language apart from your phone's, or follows the phone's (the
    default). Pingogram ships in English for now; the page lists every language once translations arrive. On Android 13
    and later the choice is the same as in Android's own app language settings, which the page also opens; on Android
    8 to 12 Pingogram keeps it itself.
  • Two-step verification in Settings → Privacy and security: set a password with a hint and a recovery email (confirmed
    with the code Telegram sends there), change it, turn it off, or change the recovery email, each after entering the
    current password. A forgotten password is reset with a code sent to the recovery email, or, without one, after
    Telegram's waiting period of several days, which the page shows with when it ends and lets you cancel. A recovery
    email still waiting for its code can be confirmed or dropped later. Wrong passwords and codes show at the field,
    and when Telegram asks to wait, a countdown says how long.
  • Send your location: "Location" in the attach menu finds where you are and shows the coordinates and how accurate
    they are, improving while you look, with "Open in maps" to check them in your maps app. Send it now, without sound or
    at a time. Pingogram explains why before Android asks for the location, uses it only while the sheet is open, never
    in the background, and works without Google Play services. If you allow only an approximate location, that is what
    is sent, and the sheet offers to ask for the precise one; if location is turned off, a snackbar takes you to the
    setting.
  • Automatic download: Settings → Data and storage now says what downloads by itself on mobile data, on Wi-Fi and while
    roaming, and each opens a page with switches for photos, videos and GIFs, files, and voice and video messages, with a
    size limit for videos and for files. By default Wi-Fi downloads photos, videos up to 10 MB, files up to 3 MB and voice
    and video messages; mobile data downloads photos; roaming downloads nothing. Conversations follow the network you
    are on: a photo that doesn't download by itself shows a download button, and other media downloads when you tap it,
    as before. While Android's Data Saver is on, nothing downloads by itself on mobile data. Stickers, profile photos and
    previews always download.
  • Select messages: "Select" in a message's actions starts selection mode. Tap or long-press other messages to select
    or deselect them (an album as a whole); selected messages turn a different color and show a check. The top bar
    shows how many are selected, and a toolbar in place of the composer copies their texts (several at once with who
    sent them and when, as the official apps do), forwards them, reports them or deletes them, offering only what
    Telegram allows for every selected message. Back or the close button leaves selection mode, which also survives
    turning the phone. With TalkBack, each message says whether it is selected and can be selected from its actions.
  • Report messages: "Report" in a message's actions (and in the selection toolbar) where Telegram allows it asks the
    reasons Telegram offers, and a comment where it wants one, then thanks you once the report is sent.
  • Save to Downloads: documents, music, videos, GIFs and photos can be saved to your phone's Downloads folder (in a
    Pingogram folder) from a message's actions, where the chat allows saving. A file that isn't on the phone yet
    downloads first. A snackbar confirms it, with a button that opens the file. On Android 8 and 9 Pingogram asks for
    storage access first.
  • Notifications for new messages, mentions, new secret chats and calls, while Pingogram is running. Each chat gets one
    notification that shows its latest messages with who sent them and their photos; media show as "Photo", "Voice
    message" and so on, and chats whose previews you turned off show "New message". Muted chats and exceptions work as
    in your other apps, and a notification goes away once you read the chat anywhere. Only new messages make a sound:
    updates, messages sent silently and the chat you are looking at stay quiet.
  • Reply right from a notification, or mark the chat as read; tap a notification to open its chat.
  • Notification channels for private chats, groups, channels, calls and everything else, so you can set their sound
    and importance in your device's settings. On Android 11 and later, chats show in the conversations section of the
    notification shade, where you can make one a priority conversation.
  • On Android 13 and later, the chat list explains why Pingogram asks to show notifications before it asks. Choose
    "Not now" and it won't ask again; if you refused before, it offers your device's notification settings instead.
  • Settings → Notifications: turn notifications and message previews on or off for private chats, groups and
    channels, choose whether mentions and replies notify in muted groups and whether pinned messages notify, and open
    each kind's sound and vibration in your device's settings. These settings belong to your Telegram account, so they
    apply on your other devices too. Exceptions lists the chats with settings of their own and whether they are muted
    (and until when); tap one to mute it for an hour, 8 hours, a day or for good, unmute it or let it follow the default
    again. "Reset all notification settings" restores everything after asking. If your device blocks Pingogram's
    notifications, the page says so at the top and helps you turn them back on.
  • "Keep connected" (GitHub and F-Droid builds, off by default): keeps Pingogram connected in the background, so new
    messages notify at once, at the cost of some battery. A quiet notification shows while it is on, with "Turn off".
    It starts again after your device restarts, but only if you turned it on, and stops when you log out.
  • Sponsored messages: channels and chats with bots show Telegram's sponsored messages as a card labelled
    "Sponsored" (or "Recommended" for a recommended channel) below the newest posts, with the advertiser's button.
    Tap the button, a link or the picture to open it. The info button shows "About this ad": who placed it and more
    about it, and lets you report it, with the reasons Telegram asks for.
  • A reactions picker: the + button at the end of a message's quick reactions shows every reaction you can add in
    that chat, the chat's most used ones first, then your recent ones and the popular ones, with those you added
    marked. Tap one to add it, or tap it again to take it back. The picker also shows every reaction already on the
    message with how often it was added. Reactions that need Telegram Premium only show if you have it. Custom emoji
    reactions show as a still picture where Telegram has one.
  • Open-source licenses: About now lists the libraries, fonts and icons Pingogram is built with, each with its
    version and license. Tap one to read the full license text, which you can select and copy, and to open its
    website. The list is made from the app's own build, so it always matches what you installed, and it works
    offline.
  • Push notifications for builds with Google Play services (the "gms" build, not yet published): new messages arrive
    through Firebase Cloud Messaging even when Pingogram is closed. Telegram encrypts each push for your device, so
    Google only sees that something arrived. The GitHub releases stay free of Google's services.
  • Forward messages: "Forward" in a message's actions (where Telegram allows it; protected content can't be forwarded)
    opens a sheet with your chats, Saved Messages first, and a search. Pick one or more chats you can write in, add a
    comment if you like, and send. "Hide sender's name" sends copies without "Forwarded from", and for photos, videos
    or files with a caption "Hide captions" leaves the captions out. An album is forwarded whole. A snackbar confirms
    it, and when you forwarded to one other chat, opens that chat.
  • A "New chat" button on the chat list. It shrinks to an icon while you scroll down and grows back when you scroll
    up, and opens a New chat screen that grows out of it, with your contacts to start a conversation with. New group,
    New...
Read more

Pingogram v0.3.0

Pingogram v0.3.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 18:14
bc8a5aa

Added

  • Releases now include a second set of APKs with "-gms" in their names, for phones with Google Play services: they get
    notifications through Google's push service even when Pingogram is closed, without "Keep connected". The plain APKs
    stay free of Google services. Both are the same app, so installing one replaces the other and keeps your data.
  • Swipe to reply: swipe a message toward the other side of the screen (to the right, or to the left in right-to-left
    languages) and let go once the reply icon pops to start a reply to it, with a short vibration as you pass the point.
    A short swipe just springs back. Messages still being sent, or chats you cannot write in, do not reply.
  • Copy part of a message: long-press a message, then long-press its text in the lifted message to select words, and
    copy them from the menu that appears.
  • Forward from the media viewer: the toolbar starts with Forward wherever Telegram lets the photo, video or GIF be
    forwarded (never for protected content). It opens the same forward sheet as the conversation, over the viewer, and
    after forwarding to one chat the snackbar there offers to open it.

Changed

  • On Android 16, the progress of files you send or download shows as a Live Update in the status bar and on the lock
    screen while Pingogram is in the background. Android's settings can turn it off for Pingogram.
  • License: Pingogram stays GPL-3.0-or-later, with an additional permission to combine it with Google's Play services
    and Firebase libraries, which the "-gms" builds need (LICENSE-EXCEPTION.md).
  • Settings on tablets and other wide windows shows its pages beside the list of settings, as the chats do: the page
    you pick opens beside them, the pages it leads to open in its place, and back returns through them. Phones keep
    opening each page full screen.
  • Settings pages have the large title of Settings itself, which shrinks into the top bar as you scroll, and line up
    with their content on wide windows; on tablets and unfolded phones their content keeps a wider margin from the edges.
  • Long-pressing a message now lifts it out of the conversation, which blurs behind it (on Android 12 and later), with
    its quick reactions above it and its actions in a menu right below it, as in Google Messages; if the message is too
    close to an edge, everything slides into view. Tap outside or go back to close it. With TalkBack, and in windows too
    short for the menu (phones in landscape), the actions still open in the sheet from the bottom.
  • Settings look more like Android 16's: each row's icon sits in a small colored circle, one color per group; switches
    show a check in their knob when on, and buzz lightly as they turn on and off; the theme and contrast choices are a
    row of joined buttons that tick as you choose. Edit profile's fields sit directly on the page as rounded fields,
    without a box around each. With AMOLED black on, settings pages are black and their rows dark grey, rather than the
    other way round. Blocked users have an "Unblock" button instead of an X, and their phone numbers are formatted, and
    names, usernames and devices from other languages read in their own direction. The switches of a new poll and of
    forwarding show the same check.
  • The message composer is slimmer and looks like Google Messages': the field is a filled, rounded pill with the emoji
    button inside, "+" in a tonal circle attaches, and sending is a small icon button with its menu (without sound, at
    a time) beside it, so the field keeps most of the width even with large text. The bar is lower, the voice recording
    bar matches the field, and on tablets the composer is no wider than a message can be. Text written in a
    right-to-left language now lines up to the right as you type it.

Fixed

  • Names in Hebrew or Arabic no longer jumble the sentences around them, and English names no longer do in a
    right-to-left language: "… is typing", "Forwarded from …", group events such as "… joined the group", the sender
    before a chat's last message, "Forwarded to …" and the delete dialogs keep their words in order. Phone numbers and
    email addresses in the sign-in steps stay left to right. Settings too: "… unblocked" in Blocked users, the devices
    and places in Active sessions, the recovery email and password hint of 2-step verification, and usernames in Edit
    profile.
  • The reply bar above the composer, chat names in the forward and "Send messages as" sheets and file names before
    sending now read in their own direction, like messages; a location's coordinates read left to right before you send
    it.

Downloads

  • universal — works on every device (largest)
  • arm64-v8a — most phones from 2017 onwards
  • armeabi-v7a — older 32-bit devices
  • x86_64 — emulators / Chromebooks

The files ending in -gms are the same app for phones with Google Play services: they get
notifications through Google's push service even when Pingogram is closed. The others contain no
Google services; turn on Settings → Notifications → Keep connected to be notified while it is closed.
Both share their signature, so installing one replaces the other and keeps your data.

Verify with sha256sum -c SHA256SUMS.txt.

Pingogram v0.3.0-beta.2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 13:43
2dcf9f3

Added

  • Pingogram has its own icon, with a themed version that follows your wallpaper's colors on Android 13 and later. It
    also shows on the splash screen, on the Welcome screen and, with the full logo, at the top of About.

Changed

  • The app's own colors, used when dynamic color is off or unavailable (before Android 12), are now built from the
    icon's blue instead of a placeholder pink.

Fixed

  • "Wallpaper colors" now follow the wallpaper on phones that publish its colors only the older way, such as Samsung
    phones with One UI, where the app showed the system's stock blue instead.

Downloads

  • universal — works on every device (largest)
  • arm64-v8a — most phones from 2017 onwards
  • armeabi-v7a — older 32-bit devices
  • x86_64 — emulators / Chromebooks

Verify with sha256sum -c SHA256SUMS.txt.

Pingogram v0.3.0-beta.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 07:59
8f1c50f

Added

  • You can write and send messages. Format selected text as bold, italic, underlined, strikethrough, monospace,
    spoiler or a link (from the selection menu, or Ctrl+B, I, U and K on a keyboard). Send without sound, or
    schedule a message for later. Unsent text is kept as a draft that syncs with your other devices. Where you
    can't write in a chat, a short note says why; channels you only read show no composer.
  • Message actions: long-press a message (or use TalkBack's actions) for quick reactions, reply, copy text, edit,
    pin or unpin (in private chats also only for yourself), delete for you or for everyone, and send a failed
    message again, each only where Telegram allows it. A reply shows a bar above the composer and is kept in the
    chat's draft on all your devices; editing puts the message's text or caption, with its formatting, back in the
    composer. Tap a reaction under a message to add or remove yours.
  • Attach photos, videos, files, contacts and polls: the attach button beside the message field opens Gallery (up to
    10 at once), Camera, File, Contact and, in groups, channels, bots and Saved Messages, Poll. Picked items show in a
    preview first, where you can remove some, add a formatted caption, and send now, without sound or later. Photos are
    sent upright, at most 2560 px and without location data; photos and videos go as albums of up to 10, files as
    albums of files. Polls can be anonymous, allow several answers, or be a quiz with one correct answer. A photo, video
    or file shows its upload progress in the chat; tap X (or TalkBack's "Cancel upload") to stop it.
  • Settings shows your account at the top (photo, name, phone number and username) and has new Appearance, Data
    and storage, and About pages; Log out moved to the end.
  • Appearance: a System, Light or Dark theme, AMOLED black for the dark theme, dynamic color from your wallpaper
    (Android 12+) and contrast (on Android 14+ it follows your device's setting). Changes apply at once with a
    smooth color fade, and the app always opens in the theme you chose.
  • Data and storage: how much space downloaded files and the database use, and "Clear cache" to remove downloaded
    photos, videos, voice messages, music and files. Your chats and secret chats are not affected; files download
    again when you open them.
  • About: the app version, a link to the source code, the license and a note that Pingogram is an unofficial
    Telegram client.
  • Edit your profile from Settings: set a new profile photo from the photo picker (with upload progress) or remove
    it, and change your first and last name, your username and your bio. Usernames are checked as you type
    (available, taken or for sale on Fragment), Save applies only what changed, and leaving with unsaved changes
    asks first.
  • Privacy and security in Settings: choose who can see your phone number, last seen and online status and
    profile photos, whose forwards of your messages link to your account, and who can call you, add you to groups
    and channels or send you voice and video messages (limiting the last needs Telegram Premium). Exceptions set
    in other apps are shown and kept when you change a choice.
  • Blocked users: everyone you blocked, with a button to unblock and Undo.
  • Active sessions: the devices logged in to your account. Confirm new logins, or terminate one session or all
    other sessions.
  • Whether two-step verification is on, and whether a recovery email is set.

Changed

  • Settings follow the Material 3 Expressive look of Google's own apps. Your account sits on a card at the top (photo,
    name, phone number, username, and a Premium label for Telegram Premium subscribers); tap it to edit your profile.
    Every settings page shows its options as connected, rounded groups whose corners round out when you press them.
  • The app's font is stored uncompressed, so Android reads it straight from the app when the first text draws
    instead of unpacking all 4 MB into memory: a faster start, for about 1.7 MB more download.
  • Text is set the way Google sets Google Sans Flex on Android: Material's weights (titles were one to three
    steps heavier), without the extra letter spacing meant for Roboto, and rounded letters for emphasized text
    only. Sizes are unchanged, but text reads lighter and takes less room.
  • Going back from a chat is smoother: the floating navigation bar stays ready while it is hidden instead of being
    rebuilt, and keeps its tab selected while it slides away and back. Chat list rows do less work as they appear;
    screen-reader descriptions are built only when a screen reader asks for them.
  • Message bubbles follow Material 3 Expressive: round corners (one-line messages are pills), and runs of messages from
    one sender sit close together with tight corners on the sender's side, without tails. A message of one to three
    emoji shows large, without a bubble. Reactions show as round badges on the bubble's corner, up to three and then
    "+N"; tap one to add or take back yours.
  • Conversations open more smoothly: no loading spinner flashes while messages come from the device.

Fixed

  • A chat with unread messages opens at the first unread message instead of the newest, also when there are many.
    Quotes and search results far back load the messages around them at once, and the position in a conversation
    survives rotation and the app being closed in the background.
  • The chat list shows its "Connecting…" status once, below the title, instead of twice while the top bar collapses.
  • Leaving a chat after playing a voice message or song no longer holds up the screen for a moment: the audio
    player now runs on its own thread, and frees itself there.
  • "Clear cache" and "Log out" keep their card while they run, and settings page titles fit at large font sizes
    instead of being cut off.

Downloads

  • universal — works on every device (largest)
  • arm64-v8a — most phones from 2017 onwards
  • armeabi-v7a — older 32-bit devices
  • x86_64 — emulators / Chromebooks

Verify with sha256sum -c SHA256SUMS.txt.

Pingogram v0.2.0

Pingogram v0.2.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 07:56
9c925f9

Added

  • Tapping a chat opens the conversation (read-only for now). The top bar shows the avatar and name with
    "online", "last seen …", who is typing, or the number of members or subscribers. Messages load as you
    scroll back, with date pills, a divider before the first unread message and a button that jumps to the
    newest. Bubbles group consecutive messages, show sender names and avatars in groups, the time, "edited",
    and sent, read, pending or failed status, forwarded-from headers, reply quotes, reactions and link
    previews. Text keeps its formatting: bold, italic, underline, strikethrough, code, quotes, spoilers (tap
    to reveal) and links. Service messages appear as pills.
  • Media in conversations. Photos fill their bubble with a blurred preview while they load, albums show as
    one mosaic, and videos and GIFs show their thumbnail with the length. Stickers, animated emoji, dice and
    round video messages appear without a bubble. Voice messages show their waveform and length; documents
    show their name and size and download on tap, with progress and cancel. Music, polls with their results,
    locations and venues (which open your maps app), contacts, games and invoices have their own cards.
    Tapping a photo, video, GIF or album item opens it full screen.
  • Voice messages and music play in the conversation, one at a time: the waveform fills as it plays, tapping
    it seeks, and voice messages play on to the next one. A file that isn't downloaded yet downloads first.
    Playback pauses when you leave the chat or unplug headphones.
  • Messages you see in a conversation are marked as read, and the unread count follows.
  • Tapping a reply quote jumps to the original message and highlights it, loading older messages if needed.
  • A full-screen media viewer: swipe through all the photos and videos of a chat (GIFs among the chat's GIFs)
    with "N of total" at the top; pinch or double-tap to zoom and drag to pan; videos play with play/pause and
    a seek slider, GIFs loop silently. The sender, date and caption show over the media; tap to hide them
    along with the system bars. Swipe down or go back to close. The viewer is always dark, like a photo app.
  • Photos, videos and GIFs grow out of their bubble into the media viewer and shrink back into it when you close
    it. The viewer can share what it shows with another app or save it to Pictures/Pingogram or Movies/Pingogram,
    unless the chat protects its content; on Android 8 and 9 saving first asks for storage access, with the reason.
    Tapping a downloaded document opens it in an app that can view it.
  • Search, from the round button beside the navigation bar or at the top of the rail. Before you type it shows the
    people you message most and your recent searches, which you can remove one by one or clear. As you type it finds
    your chats, your contacts, public chats and channels, and messages in all your chats, with the matching words
    highlighted; more messages load as you scroll. Tapping a message opens its chat at that message.
  • On tablets, foldables and other large screens, the chat list and the open conversation sit side by side;
    the open chat is highlighted in the list. Narrowing the window shows the conversation alone, and back
    returns to the list.

Changed

  • Folder tabs respond like Material 3 Expressive button groups: a pressed folder grows and nudges its
    neighbours, and the selected folder turns into a pill with a bold label. Every folder stays a tab; the row
    scrolls sideways when they do not fit. Switching folders fades the list out and the new folder's list in,
    from its top; with animations turned off, the lists swap at once.
  • "Archived chats" is bold while it holds unread chats, like any unread chat.
  • The chat list, the archive and conversations sit on a sheet with rounded top corners below their top bar, in the
    style of Google's Material 3 Expressive apps; chats and messages scroll inside it. Selected chats turn into
    rounded pills set in from the edges, and swiping a chat reveals its action on a rounded card.

Fixed

  • A swipe on a chat runs its action once. Archiving a chat inside a folder no longer archives and unarchives
    it over and over with its row stuck halfway, archiving in All chats no longer brings the chat straight back,
    and "Undo" on "Chat archived" moves the chat back to the chat list again. A chat just marked as read or
    unread by swiping can be swiped again at once, for example to unarchive it in Archived chats.
  • With Android's "Bold text" setting on, text is one step bolder instead of nearly black, and unread chat
    names still stand out from read ones.
  • Switching back to a chat folder shows its list where you left it, or at its top the first time, instead of
    jumping to the chat that was first in the other folder.
  • The navigation bar stays in place when you switch tabs, instead of sliding sideways and back.
  • Going back from a chat, the archive or another tab with the back gesture is smoother: the screen you leave
    shrinks a little and fades away over the one you go back to, instead of shrinking far, waiting and vanishing at
    once. Opening and leaving a chat no longer redraws every screen behind it, which caused stutters.
  • Switching chat folders no longer stutters: the new folder's chats appear in their places instead of sliding in
    from where the other folder had them, and the chat list does less work per chat.
  • Fewer stutters when going between screens: each text style's font is prepared once, instead of again whenever
    enough other styles had been shown since.

Downloads

  • universal — works on every device (largest)
  • arm64-v8a — most phones from 2017 onwards
  • armeabi-v7a — older 32-bit devices
  • x86_64 — emulators / Chromebooks

Verify with sha256sum -c SHA256SUMS.txt.

Pingogram v0.1.2

Pingogram v0.1.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Oct 12:46
bec4376

Added

  • The chat list. The top bar shows the connection state ("Connecting…", "Waiting for network…") while not
    connected. Your chat folders are tabs with unread counts, with "All chats" where you placed it. Each chat
    shows its avatar with an online dot, verified or scam badges, a lock for secret chats, who is typing, your
    draft or the last message with its sender, the time in your 12- or 24-hour format, read ticks, and unread,
    mention, reaction, muted and pinned markers. Saved Messages and deleted accounts get their own icons. More
    chats load as you scroll. Opening a chat comes with the conversation screen.
  • Chat actions in the chat list. Swipe a chat right to mark it as read or unread, or left to archive it (with
    Undo). Long-press to select chats: a floating toolbar takes the navigation bar's place to pin, mute, mark
    as read or unread, archive or delete them all at once, and the selected avatars turn into a check. Deleting
    asks first and offers "Also delete for …" or "Delete for all members" where Telegram allows it; leaving a
    group or channel is worded as such. An "Archived chats" row at the top of All chats opens the archive, which
    works like the chat list. Screen readers get every action on each chat, so none needs a swipe.
  • A floating navigation bar on phones, in the style of Google's Material 3 Expressive apps: the tabs in a
    pill that floats over the content (the selected tab shows its icon and label, the others their label, or
    their icon when the labels do not fit), with a round search button beside it. Tablets keep the
    navigation rail, now with the search button at its top. Search itself is not built yet.
  • Data layer for the chat list and conversations (no screens yet): chats with lists, folders, unread counts and
    mute state; users and their online status; paged chat history kept current by TDLib's updates, with at most
    three chats' messages in memory; files with download priorities; and a message model covering every content,
    formatting and service message type of the TDLib version in use. All of it starts listening before TDLib
    starts, so no update is missed.
  • Groundwork for the chat list (no screen yet): typing indicators; verified, scam and fake badges for groups
    and channels; the chat actions behind swipes (pin, mute, archive, mark as read or unread, and delete or
    leave with the right steps for each kind of chat), with a clear message when the pinned-chat limit is
    reached; and avatars, which show the photo from TDLib's files through Coil 3 (which makes no network
    requests of its own) or else initials on an expressive Material shape in one of seven color pairs, with an
    online dot.

Changed

  • The Contacts placeholder no longer says that sign-in is coming.

Downloads

  • universal — works on every device (largest)
  • arm64-v8a — most phones from 2017 onwards
  • armeabi-v7a — older 32-bit devices
  • x86_64 — emulators / Chromebooks

Verify with sha256sum -c SHA256SUMS.txt.

Pingogram v0.1.1

Pingogram v0.1.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Oct 06:21
b086313

Fixed

  • The app could not connect to Telegram and stayed on "Connecting…": it did not request the internet
    permission.

Downloads

  • universal — works on every device (largest)
  • arm64-v8a — most phones from 2017 onwards
  • armeabi-v7a — older 32-bit devices
  • x86_64 — emulators / Chromebooks

Verify with sha256sum -c SHA256SUMS.txt.

Pingogram v0.1.0

Pingogram v0.1.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Oct 05:42
968afc9

Added

  • Project scaffold, documentation, CI, TDLib and release workflows.

  • Gradle project: version catalog, build-logic convention plugins, Gradle 9.8.1 wrapper and the
    :app, :core:* and :feature:* modules from docs/ARCHITECTURE.md (mostly empty for now).
    AGP 9.4.1, Kotlin 2.4.21, Compose BOM 2026.09.00; foss/gms flavors; app version and
    per-ABI version codes from -Pversion.

  • Telegram API credentials come from the git-ignored secrets.properties; the build fails with a
    clear message (never echoing values) when the file or a key is missing or malformed.

  • Committed debug keystore for consistent debug signatures; release signing from environment or
    keystore.properties (v2/v3/v4), and release packaging fails early when signing is not configured.

  • Static analysis in ./gradlew check: ktlint 1.8 (./gradlew ktlintFormat), detekt 1.23.8 with the
    PingogramHardcodedToken rule (no literal colors, text sizes, sizes, shapes or animation specs in
    :feature:* code), Android Lint with warnings as errors, and ./gradlew dependencyUpdates.

  • :benchmark module: Macrobenchmark StartupBenchmark and Baseline/Startup Profile generation
    (./gradlew :app:generateBaselineProfile); release builds ship the profile via profileinstaller.

  • PingogramTheme on MaterialExpressiveTheme: six generated brand color schemes (seed #E8457C,
    standard/medium/high contrast), dynamic color on Android 12+, system contrast on Android 14+,
    AMOLED black, harmonized online green; the full Google Sans Flex type scale (15 styles + 15
    emphasized, per-style variable axes); the expressive shape scale with MaterialShapes helpers;
    spacing tokens; preview helpers; splash and window themes.

  • Roborazzi screenshot tests (Robolectric, native graphics) verified by ./gradlew check.

  • Release builds produce one APK per ABI (arm64-v8a, armeabi-v7a, x86_64) plus a universal APK,
    with distinct version codes. Native code for other ABIs is left out, so devices that only support
    32-bit x86 cannot install the app.

  • TDLib 1.8.68 for Android, built by the Build TDLib workflow and published as the tdlib-a94b83d67a
    release; the build downloads it and verifies its pinned SHA-256 (pingogram.tdlib.aar overrides it with
    a local AAR).

  • core:tdlib: coroutine TdlibClient with typed authorization and connection state, automatic
    SetTdlibParameters (honest client identification), database key wrapped by the Android Keystore and
    kept out of backups; FakeTdlibClient and TdApi fixtures for tests.

  • App shell: MainActivity (splash, edge-to-edge, predictive back) with type-safe navigation and an
    adaptive NavigationSuiteScaffold — short navigation bar on phones, navigation rail on larger
    screens — with Chats, Contacts and Settings placeholder tabs and Material Symbols Rounded icons.

  • Sign-in flow (feature:auth): welcome, phone number with country picker and live formatting, login
    codes of every type with resend countdown, two-step verification password with recovery by email,
    registration with terms of service, QR code login, email address and email code, and an explanation when
    an account needs Telegram Premium to sign in (no purchase flow). Rate limits show a countdown and an
    offline banner appears while there is no connection; errors map to readable messages.

  • The app opens on the sign-in flow when logged out and on the chats when logged in; the splash screen
    waits up to 300 ms for TDLib. Logging out (Settings → Log out, with confirmation), being logged out
    elsewhere, or a closed session returns to sign-in with nothing of the previous account left behind.

  • Sign-in screens polished: real QR code for QR login (ZXing), password visibility toggle, adaptive layout
    for tablets, landscape and large fonts, shared-axis transitions and predictive back between steps,
    screen-reader friendly countdowns and banners; screenshot tests for every step in light, dark and
    dynamic color.

Changed

  • Package root and applicationId are dev.kyralabs.pingogram (debug: dev.kyralabs.pingogram.debug).
  • compileSdk is 37 (needed by Compose 1.12); targetSdk stays 36.
  • Uses the pre-release androidx.compose.material3:material3:1.5.0-beta01 (allowed by CLAUDE.md rule 7):
    in the stable 1.4.0 the Material 3 Expressive APIs (MotionScheme.expressive(), MaterialShapes,
    the emphasized type styles, the increased shape sizes) are internal.
  • Backups and device transfer are disabled for all app data.

Downloads

  • universal — works on every device (largest)
  • arm64-v8a — most phones from 2017 onwards
  • armeabi-v7a — older 32-bit devices
  • x86_64 — emulators / Chromebooks

Verify with sha256sum -c SHA256SUMS.txt.

TDLib a94b83d67a (Android AAR)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Oct 22:36
9f61ba5

Prebuilt TDLib for Android.

  • tdlib/td commit: a94b83d67ab4c8397c6245e541b31a4131ea2f79
  • ABIs: arm64-v8a armeabi-v7a x86_64 · min API 26
  • Built with NDK 28.1.13356709 (64-bit libraries 16 KB page aligned)
  • License: Boost Software License 1.0 (https://github.com/tdlib/td)

Consumed by core/tdlib via the fetchTdlib Gradle task.