RU

Острова и несколько личностей на одном устройстве: как мы делаем приватность частью архитектуры

Когда делаешь приватный мессенджер, рано или поздно упираешься в неудобный вопрос: что именно защищает пользователя, ваши обещания или ваша архитектур…

RCQприватностьмессенджерend-to-end шифрованиемультиаккаунтself-hostedsealed senderforward secrecyанонимностьopen source
Habr
RU

Push-уведомления в мессенджере: production-грабли которых нет в туториалах

Это девятая статья про инженерные решения в ONEMIX. Тема узкая, push-уведомления. Но я её давно хотел разобрать, потому что туториалов в интернете мно…

react nativepush notificationsexpofcmapnscallkitvoipмессенджермобильная разработкаdeep linking
Habr
RU

Production‑стек для мессенджера на 10к пользователей: FastAPI, SQLite в проде и почему монолит

Это восьмая статья из моей серии про инженерные решения в ONEMIX. До этого было про клиентскую часть мессенджера: кэш со…

fastapisqlitepythonмонолитwebsocketмессенджербэкендпродакшнавторизациямиграции
Habr
RU

Outbox-паттерн для мобильного мессенджера: как Telegram не теряет сообщения и почему ваш код их теряет

Это седьмая статья про инженерные решения в ONEMIX. Тема узкая, но болезненная для каждого кто делал мобильное приложение с отправкой сообщений или фа…

react nativeмессенджерoptimistic updateoutboxмобильная разработкаархитектураtelegramасинхронностьобработка ошибокretry
Habr
RU

Как я сделал desktop-версию мессенджера на vanilla Electron, не на React Native for Desktop. И не пожалел

Это четвёртая статья из серии про инженерные решения в ONEMIX — моём мессенджере на React Native. В предыдущих разбирал трёхуровневый кэш сообщений , …

electrondesktop appкросс-платформенная разработкамессенджерipcelectron-builderauto-updaterdeep linkssystem trayvanilla js
Habr
RU

Как я сделал групповые звонки в React Native мессенджере: WebRTC, CallKit и грабли production'а

Это третья статья из серии про инженерные решения в ONEMIX — моём мессенджере на React Native. В первой я разбирал трёхуровневый кэш сообщений, во вто…

webrtcreact nativelivekitcallkitvoip push notificationstrickle iceмобильная разработказвонкимессенджер
Habr
RU

Я реализовал Double Ratchet в React Native мессенджере. Разбор протокола и кода

В прошлой статье про трёхуровневый кэш сообщений я уже упоминал, что делаю мессенджер ONEMIX на React Native. Базовое E2E у меня было простое: ECDH P-…

double ratchetsignal protocole2eend-to-end encryptionreact nativeкриптографиямессенджерecdhhkdfweb crypto api
Habr
RU

Как я сделал трёхуровневый кэш сообщений в мессенджере на React Native — и что узнал по дороге

Я делаю мессенджер ONEMIX на React Native. К моменту, когда я начал писать этот пост, в нём уже больше десятка экранов, групповые WebRTC-звонки через …

react nativesqliteкэшированиеexpoмессенджерdrizzle ormмобильная разработкапроизводительностьархитектураtelegram
Habr
RU

Как я написал E2EE-мессенджер на Spring Boot и WebCrypto — и почему сервер не видит сообщения

Привет, Хабр. Я Java-разработчик и в основном работаю с backend: Spring Boot, базы данных, интеграции, авторизация, WebSocket — всё то, что обычно нах…

E2EEмессенджерSpring BootX3DHкриптографияWebSocketJavaшифрованиеSignal ProtocolWebCrypto