Архитектура ядра и Compose
JNI-мост и ByteBuddy Agent
Архитектура хуков MandaGram объединяет Java Native Interface (JNI) и динамическое переписывание байткода с помощью ByteBuddy. Это позволяет перехватывать вызовы внутренних методов клиента без необходимости декомпилировать или пересобирать само приложение.
Compose Multiplatform Slot API
Для модификации внешнего вида чатов реализован Slot API: плагин может встроить свой кастомный Composable-компонент в:
- Шапку диалога (кнопки быстрых действий, статус-индикаторы).
- Пузырь сообщения (MessageBubble — кастомные бейджи, кнопки, метаданные).
- Панель ввода (дополнительные панели стикеров, форматирования, шаблонов).
Интеграция с потоком событий TDLib
События входящих и исходящих данных TDLib передаются в диспетчер хуков, позволяя фильтровать, обогащать или логировать сетевые события в реальном времени.