Пишу сервис для общения: отправка реакций, удаление и правка сообщений
Пока удалось нормально только удалять сообщения 😅 На сервер отправляется запрос и он удаляет сообщение в БД (на самом деле помечает удаленным и хранится пока по закону не разрешат его удалить с сервера).
Говорят, что с 1 января 2026 г срок хранения удаленных сообщений составляет всего лишь 3 года.
Анимации удаления не сделал. Наверно нужно что-то придумать. Сейчас список сообщений просто перестраивается и выглядит это немного неэстетично. Но ладно, пока сойдет и так.
Синхронизация реакций хоть и работает, но не полностью. Не продумал как быть в случае, если реакций будет очень много. Нужно продумать как группировать их.
Правка сообщений работает с ошибками. Сервер нормально обрабатывает команду правки сообщений (правит сообщение и рассылает изменение получателям). Но сломался интерфейс пузыря с сообщением. А если точнее, то по симптомам вижу, что сломалась область состояния сообщения (дата отправки и иконка состояния доставки). Эту область и так кучу раз дорабатывал раньше, похоже придется снова вносить изменения.
Еще немного доработал анимации взаимодействия с сообщениями. На видео видны все последние улучшения:
В видео два собеседника обмениваются сообщениями. Собеседник слева работает с телефона. Собеседник справа - уверенный пользователь консоли (он видит не только сообщения, но и идентификаторы задач UID, ID сообщений и прочую техническую информацию).
Давняя идея
У меня была мысль встроить в приложение переводчик и сделать чтобы собеседники из разных стран могли общаться в режиме автоперевода и вообще чтобы можно было читать новости из разных стран сразу с переводом. Например, случилось какое-то событие и оно попало в новости в разных странах. В приложении можно будет сравнивать и сопоставлять как освещается новость в каждой стране. Но это одна из идей на очень далекое будущее 😄
Вообще, давно хотелось сделать, чтобы люди из разных стран могли общаться без языкового барьера. Например китайцы и русские. Но тут есть проблемы: по закону мессенджеру придется хранить данные пользователей в РФ. А если приложение будет работать в Китае, то придется хранить данные пользователей на серверах в Китае. Китай - это как пример. Возьмем Америку для наглядности. Американцы не разрешат хранить данные своих граждан в РФ, а РФ не даст хранить данные своих граждан в США. В итоге получается неразрешимая ситуация. Законно такой мессенджер работать не сможет 🫤
Дальнейшие задачи (TODOшка)
Недочеты буду устранять. Добавлю функцию переотправки сообщения (если оно не отправилось по какой-то причине). После этого перейду к отправке файлов: картинок, видео, медиа.
Не думайте, что все там работает идеально. Чтобы мне не сломаться раньше времени от многопоточности, изначально много чего упростил. Например, сделал отправку любых данных последовательной. То есть за отправку отвечает один поток. А это значит, что сообщения отправляются в том порядке, в котором их отправили. Возможно в какой-то момент придется перейти на многопоточную отправку данных. Посмотрим...
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых. Постепенно буду продолжать делиться успехами разработки сервиса.






