AI summary
LSPosed module that hides selected Telegram chats from dialog lists, search results, share targets, and contact pickers, with optional notification suppression. Reveal hidden chats temporarily by pressing and holding the ActionBar for three seconds. Requires official Telegram 12.10.4 and Android 8.1+.
Generated by AI. May contain inaccuracies.
About this app
Royalty started as a personal replacement for Loyalty after it stopped working on my setup. It keeps chosen chats out of Telegram’s dialog lists, search results, share targets, and people pickers, with optional notification suppression.
Important
Royalty is tested with official Telegram 12.10.4 (org.telegram.messenger). Telegram changes internal classes often, so other versions may not work.
What it does Hides selected chats from the main dialog list and folders. Removes them from local/global search, recent results, messages, forums, and public-post results. Removes them from share targets, contact pickers, new-group, add-member, and invite flows. Can suppress new-message notifications for hidden chats. Lets you reveal hidden chats temporarily with a three-second press and hold. Shows per-surface hook health in the app, so failures are visible instead of silent. Royalty does not delete chats, modify messages, or change Telegram’s stored dialog list.
Before you install Requirement Supported version Android 8.1 or newer Hook framework Vector/LSPosed with Modern Xposed API 101 support Telegram Official app, version 12.10.4 Telegram package org.telegram.messenger Warning
Version 2.1.0 uses the new package name io.github.cepeter.royalty. It installs separately from older builds using io.github.cepeter.telegramhider, and saved selections cannot migrate automatically. Disable and uninstall the old package first to avoid loading two copies of the hook.
Install Download the latest APK from GitHub Releases. Install the APK, then enable Royalty in Vector or LSPosed. Scope the module to org.telegram.messenger. Restart your device so the hook framework can activate Royalty inside Telegram. Open Telegram and leave it running for a few seconds. Open Royalty, tap Refresh, choose the chats to hide, and tap Save. Notification suppression is optional and stays off until you enable it.
Everyday use Configuration changes are synchronized through the framework's Modern Xposed remote-preferences service. Use the search field to filter the chat picker by title or dialog ID. Switch Telegram folders or restart Telegram if the visible list has not redrawn yet.
To reveal hidden chats temporarily:
Open Telegram’s main chat list. Press and hold the top ActionBar for three seconds. Release when the reveal message appears. Repeat the gesture to conceal them again. Reveal mode resets when Telegram restarts and does not turn notification suppression off.
Support matrix Telegram surface Status Main dialog list ✅ Supported Chat folders ✅ Supported New-message notifications ✅ Supported Search and global search ✅ Telegram 12.10.4 Share and contact pickers ✅ Telegram 12.10.4 New group, add member, and contact invite ✅ Telegram 12.10.4 The 2.2.0 surfaces above passed repository, JVM, lint, APK-build, and exact-DEX compatibility checks. The two-account physical-device matrix could not run before publication because neither configured ADB host had a connected device; see docs/device-acceptance-2.2.0.md.
If something is not working Confirm that Royalty is enabled and scoped only to org.telegram.messenger. Confirm that Telegram is version 12.10.4. Restart the device after enabling or updating the module. Open Telegram before tapping Refresh in Royalty. Check the hook-status cards for missing or runtime_error. Hook failures fail open: Telegram keeps showing its normal, unfiltered content instead of crashing or hiding the wrong chats.
Safety and privacy details
Vector or LSPosed supplies the ART hook engine; Royalty does not patch ART structures itself. Dialog and notification filtering use copied inputs rather than mutating Telegram-owned collections. Search surfaces remap visible adapter positions while preserving aligned names and metadata. Share, group, and contact adapters receive replacement copies with fail-open handling for unknown Telegram rows. Configuration uses Modern Xposed remote preferences; it never requests world-readable app files. Catalog requests require a signature-level permission and return through an exact-component PendingIntent. Every request uses an active 128-bit nonce. Catalog responses contain only the account, dialog ID, and display title, capped at 1,024 entries per account and 256 UTF-16 code units per title. See SECURITY.md for the threat model and reporting process.
What's new
- Dashboard usability
- Makes the complete dashboard vertically scrollable. Expands the hidden-chat picker to a stable 360dp height. Adds filtering by chat title or dialog I⟪HERMES-CONTEXT-COMPRESSION: 307 of 507 chars omitted here by Hermes's context compressor. This is NOT part of the original tool call and must never be reproduced in new output — always write full, untruncated content.⟫
About this version
- Version
- 3.0.1 (13)
- Size
- 63.43 KB
- Requires Android
- 8.1
- Target SDK
- 27
- Architecture
- universal
- Downloads
- 6
- Updated
- Sep 24, 2026
- Package
- io.github.cepeter.royalty
Similar apps
Ratings & reviews
- 50
- 40
- 30
- 20
- 10