1. Общие требования
• Приложение работает только с одним homeserver (домен укажу).
• Выбор сервера и федерацию отключить.
• Все внешние сервисы и ссылки (element.io, matrix.to, Posthog, Sentry, Crashlytics и т.п.) удалить.
• Приложения не должны обращаться к сторонним доменам.
⸻
2. Авторизация и пользователи
• Вход по @username, без домена.
• Matrix ID скрыт.
• Поиск пользователей — по @username.
• Ссылки на профили —
.
⸻
3. Интерфейс
• Удалить пункты «Лаборатория / Labs» и «Режим разработчика».
• После изменения фото профиля экран автоматически закрывается.
• В профиле отображать только @username.
• В меню сообщений убрать:
• “Copy link to message”
• “View source”
• “Report content”
• Оставить: Reply, Forward, Pin, эмодзи-реакции.
⸻
4. Визуальная часть
• Новый логотип, иконки, цвета, splash-screen, favicon.
• Удалить все упоминания Element и Matrix.
⸻
5. Настройки и служебные пункты
• “Сообщить о проблеме” → перенаправить на мой URL или e-mail.
• “Аналитика” → отключить либо направить на внутренний API.
• Все внешние SDK и отчёты удалить.
⸻
6. Web-версия
• Удалить экран выбора сервера при входе.
• Скрыть Matrix ID.
• Настроить собственные deep-links
.
• Проверить отсутствие внешних подключений (CDN, аналитика и т.д.).
⸻
7. RTC и звонки
• Используется текущий RTC-бэкенд (MatrixRTC / LiveKit).
• Видеозвонки уже работают.
• Добавить отдельную кнопку “📞 Voice Call”:
• создаётся RTC-вызов с video=false;
• передаётся флаг {"audioOnly": true};
• обе стороны работают в режиме audio-only;
• звук по умолчанию через earpiece (Handset);
• в интерфейсе кнопка Speaker / Handset;
• при включении камеры — возврат к видео-режиму.
Датчик приближения
• В режиме аудио-звонка активировать датчик приближения (proximity sensor):
• при поднесении телефона к уху экран гаснет, звук остаётся в earpiece;
• при отведении — экран включается, можно переключить на speaker.
⸻
8. Инфраструктура сервера
• Matrix Synapse — основной сервер.
• PostgreSQL — база данных.
• Развёрнуто в k3s-кластере.
• Все API-эндпоинты стандартные (/_matrix/client, /_matrix/media, /_matrix/identity).
• Сервер поддерживает E2E-шифрование, RTC и VoIP без ограничений.
⸻
9. Итог
• Готовые сборки:
• iOS (.ipa / TestFlight)
• Android (.apk / .aab)
• Web (Docker / static build)
• Исходники с комментариями и инструкцией по сборке.
• Отчёт об удалённых внешних ссылках и SDK.
⸻
10. Требования к исполнителю
• Опыт работы с Element X / Matrix SDK.
• Умение кастомизировать клиенты iOS, Android и Web.
• Понимание работы WebRTC / LiveKit.
• Опыт деплоя и интеграции с Synapse / PostgreSQL / Kubernetes (k3s) приветствуется.