Repository navigation
v0.0.18
HushTelegram v0.0.18 has 68 patches for telegram.org's Telegram 13.0.3 (org.telegram.messenger.web, version code 71839) and the official Telegram beta 13.0.3 (org.telegram.messenger.beta, also 71839). Sixty-four are selected by default, and every new switch starts off. This release moves to Telegram 13.0.3. Telegram 13 dropped the menu that slid in from the left, so the new Side menu switch draws one again with your name and the screens it used to reach. Search can stay inside your own chats with Search only my chats, and Lock HushTelegram settings keeps every setting read-only until a 24 hour wait runs out. There's also a How to translate box for AI translation, a folder to open at launch, a compact bottom bar and a way to keep your location from Mini Apps. Patching takes about half as long as it did.
What's new
- Telegram: Moved to Telegram 13.0.3, telegram.org's build and the official beta (both version code 71839). Every patch carried over without a change.
- Telegram: The descriptions in Morphe Manager now mention the switches that were added inside existing patches, so you can see what Hide popular apps, Faster downloads, Repair Firebase push registration and nine others also bring before you patch. The patch names didn't change, so your saved selection carries over.
- Telegram: Black and white launch logo shows the white logo on black every time now, with AMOLED black on and your phone in dark mode. Before, Telegram's blue launch screen came back whenever Android reopened a Telegram it had closed in the background, since Android skips the launch screen an app names for itself in that case. The logo now sits in Telegram's own dark launch screen instead. With AMOLED black off you get Telegram's usual launch screen, except after Android has closed Telegram in the background in dark mode, when it's the black one. Reported in #6.
- Telegram: HushTelegram settings can drop the cards. Settings look at the top of Look and feel switches every page to plain rows with a thin line between them, the text closer to the edge and section titles in the accent color, and dialogs' choices follow. Tap it again for the cards. The status card at the top keeps its card either way. It's only how the settings screen looks, so settings files and Quick setups leave it out and Pause doesn't touch it. Asked for in #18.
- Telegram: Hide phone number no longer says it covers your number in the side menu, in Morphe Manager or in its settings line. Telegram 13 dropped its side menu, and the new Side menu switch shows your name but never your number.
- Telegram: Hide folder tab counters adds an Open a folder at launch switch, off by default, with a Folder to open row under it. Pick one of your folders and the chat list opens on it instead of All Chats. Each account keeps its own pick on this phone, and your folder order and the folders on Telegram's servers aren't touched. A folder that's gone, renamed or locked falls back to All Chats (a new folder that takes a deleted one's place doesn't count as your pick), and the chat pickers for sharing and forwarding open as they always have.
- Telegram: Hide popular apps adds a Find names in styled letters switch, off by default. With it on, searching your chats and contacts finds names written in decorative letters (𝐁𝐨𝐥𝐝, 𝘐𝘵𝘢𝘭𝘪𝘤, Wide, circled and the like) when you type ordinary ones. Names still show as they're written, numbers and other alphabets aren't touched, and a name found this way isn't highlighted.
- Telegram: Export diagnostic report has a third choice, Preview the report. It shows the report as it would be shared, with a box for each part, such as hook status or the selected events. Untick anything you'd rather keep to yourself and Copy or Save takes only what's still ticked. Cancel leaves nothing on the clipboard and no file behind. A very long report shows its first 30,000 characters and says how much there is. A file saved with a part left out isn't called the full report.
- Telegram: Open links externally has a second switch on the Links page, Keep your location from Mini Apps. With it on, a Mini App that asks for your location is told it isn't available, the same answer Telegram gives on a phone without GPS, and Android is never asked. A web page opened inside Telegram is refused your location without the dialog. A page you already allowed keeps it until you close it, and any site can still guess a rough area from your connection. Sending your location in a chat works as before. It's off unless you turn it on, and Mini Apps get your location again while HushTelegram is paused.
- Telegram: Quick setups can be hidden from the settings home with a long press on its row, and its help line now says so. The Quick setups on the home page row on Settings backup brings it back. The choice stays out of settings backups and Quick setups, and Pause leaves it alone.
- Telegram: The Support HushTelegram row at the bottom of HushTelegram settings is just its name now. The line under it is gone.
- Telegram: When Telegram's server turns down the push sign-up, which is what happens with your own API ID,
Repair Firebase push registrationnow turns on Telegram's ownKeep-Alive ServiceandBackground Connection, the same thing Telegram does on phones without Google Play. Messages then come in over Telegram's own connection instead of whenever Android lets it wake up. It only does this when you've never set either switch yourself, and it hands them back if push starts working later. The notification status shows whether both are on and where to turn them on. Related to #5 and #16. - Telegram: When push is turned down, the notification status now says Telegram's own two switches are in Telegram's Settings > Notifications, under Other. In German, Spanish, Indonesian, Portuguese and Turkish it names them exactly as Telegram does in that language. Before, some of those languages used other words for them, so they were hard to find. Related to #16.
- Telegram: UnifiedPush notifications now sign up with Telegram as a Web Push address. The old sign-up was accepted, but Telegram's servers only call that kind for a few events, so an ordinary message never woke Telegram through ntfy. Turning the switch off still hands Telegram back to Firebase after an update from 0.0.17. Related to #5 and #16.
- Telegram: Hide Contacts tab has a second switch on the Chat list page, Compact bottom bar. With it on, the bar at the bottom of the main screen is 64 dp tall instead of 72, with less room around its tabs, and it no longer stretches to 320 dp across when its tabs need less. Each tab keeps Telegram's 48 dp height, so taps and swipes work the way they did. It works with the Contacts tab shown or hidden. It's off unless you turn it on, the bar goes back to Telegram's size while HushTelegram is paused, and a restart shows either change.
- Telegram: Hide Contacts tab has a third switch on the Chat list page, Side menu. Telegram 13 dropped the menu that slid in from the left, so this draws one again. With it on, swipe right on your first chat folder and it follows your finger out. It has your name with a Switch account row, then My Profile, New Message, Contacts, Calls, Saved Messages, Settings and HushTelegram settings, each opening Telegram's own screen and named in Telegram's own words for your language. Back or a tap beside it closes it, and swiping between your other folders works as before. The menu takes the chat list's colors, or black with AMOLED black on. It's off unless you turn it on, it works the moment you flip it, and swipes are Telegram's again while HushTelegram is paused. Asked for in #14.
- Telegram: Holiday look all year adds an Emoji next to the chat list title row on the Look and feel page. Type an emoji or a few letters and they show after Telegram's name at the top of the chat list, with the New Year look on or off. It's only on this phone, so nothing goes to Telegram and your Premium emoji status stays as it is. Clear the text to get the plain title back. A change shows after a restart, and settings backups carry it.
- Telegram: Hide popular apps has a second switch on the Ads page, Search only my chats. With it on, search still finds your chats, your contacts and messages in chats you're in, but it stops asking Telegram for public accounts, channels and sponsored results. A contact you find by typing a "+" phone number still turns up in the Chats tab, matched on the phone. The Channels, Apps and Posts tabs go away, and the Downloads button above search still opens Downloads. Looking someone up by name anywhere else works the same way, so New Message and the pickers for contacts, forwarding and adding members show only your own contacts and chats. A hashtag still finds messages in your own chats, and a tag like #news@channel still searches a channel you're in. Its public posts, public stories and channels you haven't joined come back empty. It's off unless you turn it on, and search goes back to normal while HushTelegram is paused. Asked for in #17.
- Telegram: Keep searches on this phone now covers more of search. The Channels and Apps tabs don't ask Telegram about what you type and show no results instead. The media tabs and the Chats tab with a chat or date filter don't search for typed text either, so they keep what they showed. A contact you find by typing a "+" phone number turns up in the Chats tab again with the switch on. The Posts tab and search inside a chat still go to Telegram, and the switch's description now says which parts of the main search stay on the phone. With the switch off or HushTelegram paused, search works the way Telegram's does.
- Telegram: The settings home page has a new row under Quick setups, Lock HushTelegram settings. Once it's on, every setting on the screen is read-only. Switches, Quick setups (Back to defaults too), Pause, the choosers and settings import all stay as they are and a short note says why. To change something again, tap Start unlock and wait 24 hours. The row shows the time left and can cancel the wait, and turning the phone's clock back past the start begins it again. Resume, Debug logging and Export settings still work while it's locked. Asked for in #17.
- Telegram: The AI translation service has a How to translate box. Write how you want things translated in your own words (keep it casual, leave names alone, a word list) and it goes to your AI service along with each message, up to 1,000 characters. It's optional and stays on this phone with your key. Google's web translate doesn't use it, and it's still there if you switch back to an AI service later. Asked for in #6.
- Telegram: Hide messages by keyword turns away an expression whose count only makes work, like
/(?:(?=x)){16777215}(?!x)/, with the same "may be slow" note it gives other slow lines. Large counts are refused now, and so is a count on a look-ahead or right after an open-ended repeat. Short ones like\d{4}still work. The lines of one list also share a single budget, so a hundred heavy lines can't add up to a slow chat. A line like that from an older list or a settings file stays in the editor and in backups, but the chat skips it without running it. A repeat that can only stop in one place, like the spaces in/airdrop\s+0x[a-f0-9]{40}/, isn't counted as many ways into the count after it, so filters for wallet addresses work. That shortcut isn't taken for a letter written by its number, like\x61, or one that matches two letters when case is ignored, like ß or ẞ, so/\x61+a{1000}!/is turned away like/a+a{1000}!/. Checking that shortcut reads each pair of characters once and keeps the answer, so a list of a hundred wallet lines is ready in a moment instead of holding up the first message after it's saved. - Telegram: A switch you flip while a settings import is running stays the way you left it. Before, the switch and the setting Telegram was running could snap back while your change was still saved, so the next start disagreed with what you saw. Only the switches the file names wait for the import now, and every settings page that's open shows how it ended.
- Telegram: A settings import that changes Use system font, AMOLED black, Disable pull to archive, Hide Contacts tab or the Emoji next to the chat list title now brings up the Restart Telegram row, just like flipping one of them by hand. A file that sets a switch back to what Telegram is running clears that one, and an import that fails doesn't add any.
- Telegram: Saving a filter list, the translation service, the sticker size or the emoji next to the chat list title no longer freezes the settings screen while the phone writes it. The dialog dims its buttons until the save is done, so a second tap doesn't start another, and it only closes once the save worked. If it didn't, what you typed stays and the list goes back to the size that's saved. Chats keep using the old value until the new one is actually saved. A save you make while a settings import is still running waits with a short note and keeps what you typed.
- Telegram: Clear diagnostic data and its undo do their file work in the background now, so slow storage doesn't hold the settings screen. The row waits while it works and ignores extra taps. If putting the data back fails, the row still offers to try again. Whatever HushTelegram records in the meantime doesn't wait for the files either.
- Telegram: Patching is faster. Most patches used to read every instruction in Telegram on their own to find the few methods they change. Now the app is read once per patching session, and each patch only looks inside the classes that mention what it's searching for. On a PC, the default patches for Telegram 13.0.2 took about 32 seconds instead of 52, and the patches themselves went from about 34 seconds to 15. In Morphe Manager on a two-core Android 14 emulator, 67 patches on the same Telegram took about 51 seconds instead of 111 to 116. What each patch changes stays the same, and so does every check that makes it refuse a build it doesn't recognize.
- Telegram: Searching HushTelegram settings for "null" no longer turns up rows that just don't have a line under their title.
- Telegram: Notification status on this phone now gives Telegram's reply to each account's push sign-up on its own line, with Firebase and UnifiedPush apart and how long ago the reply came. Before, it kept only the newest reply, so one account's refusal could hide behind another account's success. Accounts show as 1, 2 and so on, never by name or number, and a reply that can't be tied to one account isn't shown as anyone's. The diagnostic report carries the same lines.
- Telegram: Play voice messages one at a time has a second switch on the Playback page, Keep voice messages quiet while locked. With it on, voice and round video messages don't start, resume or skip to the next one while your phone is locked, whether the tap comes from headphones, a car, the notification or the lock screen, and a short note says to unlock first. One that's already playing finishes. Music and other videos play as usual. It starts off.
- Telegram: Faster downloads has a second switch on the Playback page, Hold automatic downloads on Data Saver. With it on, while Android's Data Saver is on and the network is metered, Telegram doesn't start photos, videos, files, voice messages, music or stories downloading on its own, and the next song and upcoming stories aren't loaded ahead. Automatic downloads in Telegram's download queue stop when the hold starts and pick up again once it lifts, though one a chat had already started as it showed the message gets to finish. What you tap still downloads. A video you open streams without being saved for later, so it doesn't land in Telegram's Downloads, and a download from Telegram's in-app browser asks first. Both work that way when automatic downloads are off, too. With Data Saver off, Telegram allowed to use data freely, an unmetered network or no network, Telegram's own rules apply. The hold notices the switch, Data Saver or the network changing right away, and the row shows what Android reports when you open the page. It starts off, and it doesn't hold anything while HushTelegram is paused.
- Telegram: Settings say which account they work on. Folders by chat type works on the account you have open. A chat or message you turn on for outside translation stays on only in the account you turned it on in. Keep drafts on this phone covers every account. Export settings lists what a settings file leaves out in your build, the translation service and its key, the settings lock and a hidden Quick setups row among them, and says your chats, drafts and kept messages aren't in it.
- Telegram: The Hide messages by keyword list editors have a Try button. Type or paste a message under the list and it tells you which line would hide it, numbered the way you see the lines, or that none would. It reads the list the way a chat does, unsaved changes included, so the first line that matches is the one named. A line that can't be used gets the same note Save gives. The message you try isn't saved, logged or sent, and it's gone when the editor closes. Autofill doesn't see it either. Try waits for its answer before it takes another tap, and when the phone is too busy to check, it asks you to try again in a moment rather than freezing the screen. A check that fails says the same instead of showing nothing.
- Telegram: The settings home page has a Changed switches row just above More settings. It counts the switches that aren't the way they started and opens a page with only those, each under the name of its page, including ones that start on and were turned off. Flip one there and it's back the way it started and off the list. The settings lock and a change that needs a restart work there just like on the switch's own page.
- Telegram: After a Quick setups choice changes switches, its note says you can undo it, and Quick setups shows an Undo the last setup card. The card names what the choice turned on and off, and how many switches were already set or couldn't change. Undo puts back only the switches you haven't touched since, through the same steps as a tap, so the lock and restart notes still apply. It only moves switches, so the chats' translate choices a switch cleared stay cleared. A settings import ends the undo. If an undo couldn't put everything back, the card lists only what's left.
- Telegram: Notification status on this phone splits its details into three parts, each with its own fix. The first is what Android allows, now including whether it restricts Telegram in the background and whether battery optimization is on. The second is the push service, with the UnifiedPush app's state when your build has it. The third is what Telegram answered each account, and an APP_PUSH_APIKEY_MISSING refusal now explains that it's set up on Telegram's side, not on your phone. When Android holds Telegram back, a button takes you to where that's changed. That's App info, or before Android 12, Android's battery optimization list when battery optimization is all that applies, since App info only reaches it a few taps in there. Nothing gets changed for you, and anything that can't be read says Unknown.
Tooling
- Tooling: Every build graph this repository owns uses Guava 33.7.2 now, the release that fixes CVE-2026-102554. That includes the lint and annotation tools the Android plugin loads on its own. The patcher's classpath still says 33.5.0, because that's what Morphe Manager and the CLI run with, and the dependency report keeps it that way.
- Tooling: The selection check lets a selection with
Black and white launch logorewrite exactly the two values it changes in Telegram's dark launch theme, the splash background to black and the splash icon to the logo it adds, and checks the icon names that logo. Every other selection still has to leave Telegram's values as they were. - Tooling: The selection check expects the UnifiedPush receiver's fifth action,
TEMP_UNAVAILABLE, which the patch has declared since it started following the connector contract. Every selection with UnifiedPush in it was failing that check, the default one included. - Tooling: The build runs on Gradle 9.8.1 now. 9.7.1 was inside three of Gradle's own high severity advisories, and 9.8.1 is the release that fixes them.
- Tooling: The pre-push hook now stops a push whose ref lines aren't what git sends, instead of reading them as nothing to check.
- Tooling: The advisory gates stop when OSV sends back something that isn't a real answer. An error object used to read as "no advisories", and the gate passed without checking anything.
- Tooling: The build advisory scan now holds the Gradle version to Gradle's own published advisories, so a wrapper inside a known high severity range is refused. OSV doesn't cover the build tool, which is why a clean library scan said nothing about it.
- Tooling: Two device builds can run at once without stepping on each other. Each works in its own folder, so a second run can't overwrite or delete the first one's files.
- Tooling: A device install only goes ahead under a lease in the machine's shared lease folder. A lease kept somewhere else doesn't count anymore.
- Tooling: A device build now waits its turn in the machine's build queue before it starts patching, and the patcher runs with a capped heap and two processors so it doesn't crowd out builds already running.
- Tooling: A release can't skip the build advisory scan anymore. Release preflight and the build stage both generate the dependency report under strict checksum verification, run the scan, and stop on a build tool or library it refuses. The release gate also reads the Gradle version recorded in an SBOM and holds it to the same advisory list, even when the OSV check is skipped.
- Tooling: Patching now checks each extension stub it writes the way Android's verifier will, and stops with the stub's name if one would be turned down. The side menu's name stub was: one register held your user on one path and your name on the other, so Android refused the whole side menu and Telegram closed on the first swipe.
- Tooling: Morphe Manager now lists what changed in the release your Telegram was patched with, the way it does for older ones. The release's index stage puts every bullet but the Tooling ones under What's new in the bundle description, and the release facts check reads only the text above that list.
- Tooling: A release no longer stops when the GitHub description names no version, patch count or Telegram build. That description is left as written, and one that names any of them is still kept current.
- Tooling: A device build now clears out what a killed one left behind. When
patch-for-device.ps1starts, it deletes anyrun-folder in the output folder that no running build owns, the argument file with the signing password included. Each build records its process and start time in its folder, so a build that's still running is never touched. One whose process can't be read, such as a build started as administrator, is left alone too.
Install
- Install Morphe Manager 1.34.0 or newer.
- Add HushTelegram as a patch source: https://morphe.software/add-source?github=SysAdminDoc%2FHushTelegram
- Get Telegram 13.0.3 from telegram.org's Download button. The official beta 13.0.3 works too, and both have version code 71839. The patched app needs Android 9 or newer.
- Coming from v0.0.17? That one was built for 13.0.2, so patch the new 13.0.3 APK and install it over your current HushTelegram with the same Morphe Manager signing key. New to HushTelegram? Uninstall the stock Telegram first, since Android won't put one over the other. Your chats come back when you sign in, but secret chats don't. Back up Morphe Manager's signing key after your first patch. You'll need it for every update.
- If Telegram won't send you a login code, register your own app at my.telegram.org/apps. Use only letters and numbers in the short name. Then select
Use registered Telegram API credentials, fill inapiIdandapiHash, and patch again. The result installs over your current HushTelegram build. Keep both values private. - Want HushTelegram's own icon, or Telegram's logo in white on the black launch screen? Turn on Expert mode in Morphe Manager and pick
HushTelegram icon and nameorBlack and white launch logobefore you patch. - For notifications, open Telegram's Settings, tap Notifications, and turn on
Keep-Alive ServiceandBackground Connectionunder Other, near the bottom of the page. Phones where Firebase notifications don't come through can also try theUnifiedPush notificationsswitch on HushTelegram's Notifications page with a UnifiedPush app like ntfy. - To change HushTelegram's switches, open Telegram's Settings and tap HushTelegram settings, or press and hold the Telegram title at the top of your chat list. The side menu is the
Side menuswitch on the Chat list page.
The .mpp download is a patch bundle, not a Telegram APK. Installation instructions.
Validation
1360 runtime tests and 487 patch tests passed locally, along with both Android lints. All 68 patches applied without forcing to Telegram 13.0.3 and to the 13.0.3 beta, both version code 71839. The release receipt checked each patched app's manifest, native libraries, resources and alignment.
On a Samsung phone running Android 16, a 13.0.3 build from the same patch code installed over the 13.0.2 one and stayed signed in. A swipe on the chat list's title bar opened the side menu, its HushTelegram settings and Settings rows opened their pages, and Back closed it. The patched 13.0.3 beta started and opened HushTelegram settings on an Android emulator.