Jganenokk
9a04ea69c2
feat: поиск
2026-07-03 22:36:11 +07:00
Jganenokk
48451c5d6c
форматирование сообщений
2026-07-03 13:45:49 +07:00
Jganenokk
a0f4acf4b5
feat: еще стикеры
2026-07-03 10:34:53 +07:00
Jganenokk
0e27f141a7
feat: стикеры
2026-07-03 00:45:36 +07:00
Jganenokk
a25e21277d
feat: вынес общую логику. Добавил статус 'выбирает стикер...'
2026-07-03 00:02:45 +07:00
Jganenokk
a904b733d2
feat: фул интеграция FCM с андроидом нах
2026-07-02 23:32:31 +07:00
klockky
bcef107c25
ало какие нахуй mode это што такое
2026-07-02 16:06:48 +00:00
Jganenokk
4b4aeec92a
fix: щавель виноград, ебырь омайгад
2026-06-30 16:00:16 +07:00
Jganenokk
a855b302ee
feat: лог экспорт
2026-06-29 20:26:52 +07:00
Jganenokk
cd1ebaee24
feat: история изменения сообщений
2026-06-29 15:05:22 +07:00
Jganenokk
0abbc2b59d
feat:нечиталка
2026-06-29 12:57:57 +07:00
Jganenokk
a48652ef63
fix
2026-06-28 19:00:52 +07:00
klockky
b545d4ec41
feat(chats): очистка истории и удаление чата из меню
2026-06-28 14:29:13 +03:00
klockky
c2466a9a5f
feat(devtools): монитор сокет-трафика в меню разработчика
2026-06-28 14:05:24 +03:00
klockky
c23a6dcfd6
feat(channels): inline-кнопки под постами в каналах
2026-06-28 12:22:08 +03:00
klockky
aca4cef96b
Merge branch 'feature/voice-video-notes' into feature/FullStack
2026-06-25 17:36:01 +03:00
klockky
8bcd308973
fix(notes): чиним кружки — сплющивание/поворот
2026-06-25 17:31:31 +03:00
klockky
37e3763384
feat(media): голосовые сообщения и видеокружки
...
- голосовые: запись/отправка/воспроизведение, Ogg/Opus (libopus FFI на Windows/Android), волна, анимации, lock + slide-to-cancel
- видеокружки: нативная квадратная запись 480x480 (Camera2 + GL), аудио mono 48k, снятие video edit-list для прохождения серверного валидатора
- file_uploader: единый uploadMediaFile (аудио+видео), чтение полного ответа CDN
- проигрывание видео и кружков в message_bubble
2026-06-25 12:53:11 +03:00
klockky
2455aa78e7
feat(chats): имена и аватарки отправителей в группах
2026-06-24 22:59:09 +03:00
klockky
c4afc94a7d
feat(video): полноценный просмотр видео — превью, стриминг, качество, перемотка
2026-06-23 17:04:24 +03:00
klockky
4277b0a20d
feat(links): поддержка max.ru-ссылок и komet:// диплинков
...
- резолв max.ru/{join,joincall,u,c,:auth,<channel>}
- открытие чатов/профилей/звонков и подтверждение веб-входа в приложении
- внешние диплинки: intent-filter (Android), URL-схемы (iOS/macOS), komet://-регистрация в рантайме (Windows/Linux)
- fix(calls): не слать opcode 79 до login (жижа я тебя выебу)
2026-06-23 14:18:51 +03:00
klockky
e6d16a62de
feat(messages): пересылка сообщений
2026-06-22 23:57:43 +03:00
klockky
77a1228457
Merge branch 'feature/FullStack' of https://github.com/KometTeam/Komet into feature/FullStack
...
# Conflicts:
# lib/frontend/screens/chats/chat_screen.dart
# lib/frontend/widgets/message_bubble.dart
2026-06-22 17:32:33 +03:00
klockky
4aee2a4fb1
feat(messages): ответы на сообщения
2026-06-22 17:25:17 +03:00
Jganenokk
31dc6b619c
feat(commands): еще немного команд
2026-06-22 16:37:56 +07:00
klockky
4f11203064
feat(spoof): deviceType=ANDROID по умолчанию на iOS, iOS-спуф отключён
2026-06-22 12:25:30 +03:00
Jganenokk
fd308327f5
feat: / команды
2026-06-21 22:35:58 +07:00
klockky
1b77941196
fix(chats): просмотренный канал не попадает в список чатов (флаг in_list)
2026-06-21 14:31:04 +00:00
klockky
721515729c
fix(search): поиск по сообщениям через chatSearch + просмотр каналов из поиска
2026-06-21 13:37:31 +00:00
klockky
23a1bed46a
feat(search): экран поиска — чаты, контакты, сообщения и поиск по номеру
2026-06-21 12:48:08 +00:00
klockky
ad04225a62
feat(contacts): обмен номером телефона по NFC/BLE
2026-06-21 12:26:01 +00:00
klockky
f20a818825
feat(auth): вход по токену с обязательным ручным спуфом устройства
2026-06-21 09:23:34 +00:00
klockky
d96499d88d
feat(contacts): добавление контакта через NFC
2026-06-21 07:49:15 +00:00
klockky
d055de268b
feat(spoof): пер-аккаунтный спуф с тумблером и прокидыванием в веб-аппы
...
- спуф теперь свой на каждый аккаунт, вмораживается при входе
- тумблер вкл/выкл в настройках (по умолчанию выключен)
- новый аккаунт добавляется со своим включённым спуфом (другое устройство)
- UA спуфа прокинут в Сферум, Цифровой ID (вебвью + HTTP)
- генерация выбирает Android или iOS; iOS отдаёт deviceType IOS
- экран спуфа показывает текущую личность, а не свежесгенерированную
2026-06-20 15:15:09 +00:00
Jganenokk
abdda2be14
fix: небольшие фиксы от линуса торвальдса
2026-06-13 23:06:54 +07:00
Jganenokk
814e969c4a
feat: гост мод и фиксы разные всякие я линус торвальдс
2026-06-13 22:19:45 +07:00
Jganenok
8f15863493
feat(chats_screen): Real-time работа с lastMsg, галочки.
2026-06-13 16:06:41 +07:00
klockky
c8a64e2871
feat(chat): отложенные сообщения и отправка видео
2026-06-13 08:02:12 +00:00
Jganenok
42f1fd5292
feat(calls): Тяжело...... Звонки. Вроде полностью. Почти.
2026-06-12 22:19:57 +07:00
klockky
4ee84745bf
feat(chat): удаление сообщений (у себя/у всех)
2026-06-12 08:02:31 +00:00
klockky
894036e2ff
feat: отправка вложений — файлы, опросы и геопозиция
...
- FILE/POLL/LOCATION через MSG_SEND (opcode 64) с inline-attach
- sendLocationMessage / sendPollMessage в MessagesModule
- экран создания опроса + рабочие вкладки «Файл/Геопозиция/Опрос» в шторке
- geolocator + разрешения геолокации (Android/iOS) для текущей позиции
2026-06-11 18:27:09 +03:00
klockky
e3635b5d29
feat: полное отображение типов сообщений + предпросмотр ссылок и оптимизация фото
...
Модели (lib/models/):
- attachment.dart — новые типы ShareAttachment (OG-карточка ссылки) и
CallAttachment (звонок); FILE получил вложенное превью и поле token;
LOCATION — поле zoom; единый декодер previewData (сырой WebP → data-URI)
вынесен в decodeAttachPreview
- poll.dart — корректный парсинг голосов ({userId,timestamp}) и признак
своего голоса (options & 1); helper withStateMap
Лента сообщений (message_bubble.dart):
- SHARE — карточка предпросмотра ссылки (картинка, домен, заголовок,
описание), тап открывает URL
- CALL — отображение звонков: аудио/видео/групповые/пропущенные,
длительность, направление; симметричная иконка
- LOCATION — карточка геопозиции, тап открывает карту
- FILE — превью-картинка над строкой файла
- кликабельные ссылки в тексте и подписях (LinkText)
- фикс лишней ширины бабблов гео/share/опроса (IntrinsicWidth + stretch)
- оптимизация рендера фото: убран fade-in, уменьшен размер декода
плиток фото-сетки
Опросы:
- интерактивное голосование через opcode 304 (polls.dart, poll_view.dart):
одиночный/множественный выбор, отметка своего ответа, проценты
Список чатов (chats.dart):
- превью типа вложения для сообщений без текста («Фото», «Опрос: …»,
«Звонок», «Геопозиция», «Файл: …», «Ссылка: …» и т.д.)
Настройки разработчика:
- тумблер «Предпросмотр ссылок» (app_link_preview.dart) — отключает
SHARE-карточки, оставляя текст со ссылкой; применяется на лету
Прочее:
- зависимость url_launcher ^6.3.1 (open_external_url / open_location_on_map)
- bump версии 0.5.0+11 → 0.5.0+12
2026-06-11 17:14:36 +03:00
klockky
760cdcd877
feat: звонки 1:1 (аудио) — WebRTC + ws2-сигналинг
...
Реализованы голосовые звонки 1:1 поверх инфраструктуры VK/OK
(flutter_webrtc + сигналинг ws2 wss://videowebrtc.okcdn.ru). Протокол
восстановлен реверсом захваченных пакетов и декомпиляцией
ru.ok.android.externcalls.sdk.
Ядро (lib/core/calls/):
- conversation_params.dart — декодер vcp (LZ4-блок), с unit-тестом
- ws2_signaling.dart — клиент сигналинга ws2 (transmit-data, ICE,
accept-call, hangup, change-media-settings, ping/pong)
- call_session.dart — WebRTC-контроллер для звонящего и вызываемого
- call_controller.dart — глобальный оркестратор: пуш opcode 137,
исходящие, приём/отклонение, управление активной сессией
Бэкенд:
- CallsModule.initiateCall — инициация исходящего (opcode 78)
- общий LZ4-block декодер вынесен в core/protocol/lz4_block.dart
(используется и транспортом, и vcp)
UI / обвязка:
- CallScreen переписан под живой CallSession (+ кнопка «свернуть»
без завершения звонка, возврат повторным нажатием 📞 )
- кнопка звонка в шапке диалога
- инициализация CallController на логине, показ входящего по пушу
- дев-тумблер: принудительный сигнал состояния микрофона без
изменения реального аудиотрека
Прочее:
- зависимость flutter_webrtc ^0.12.5
- Android: RECORD_AUDIO / MODIFY_AUDIO_SETTINGS / BLUETOOTH
2026-06-10 18:21:27 +03:00
klockky
3af41dc69e
fix: порядок логина при хэндшейке + регистрация FCM-токена (pushOptions)
2026-06-10 11:35:17 +03:00
Jganenok
ea08c96726
feat: работа с вложениями
2026-06-10 00:58:19 +07:00
Jganenok
580e30897b
fix: большой фикс недочетов и фикс пары язв
2026-06-09 01:00:04 +07:00
klockky
02bfbb9ab0
feat(digital-id): Цифровой ID — WebView-мост к оригиналу + нативный режим
...
Реализован функционал Цифрового ID (паспорт, СНИЛС, ИНН, ОМС, водительское,
СТС и др.) двумя путями с переключателем в меню разработчика.
WebView-мост (по умолчанию):
- Открывает оригинальную страницу digital-id.max.ru и реализует нативный
хост-мост window.WebViewHandler (postEvent/receiveEvent), который настоящее
приложение MAX предоставляет нативно: lifecycle-события, биометрия,
SecureStorage/DeviceStorage, OpenLink (переход на Госуслуги) и заворот
OAuth-callback (externalCallback) обратно в мини-апп.
- botId Цифрового ID резолвится из settings-entry-banners конфига логина
(как Сферум).
Нативный режим:
- DigitalIdModule — REST-клиент к ext-api.max.ru (все эндпоинты по образцу
библиотеки gaijin: biometry, docs, esia, qr, verify, acms, profile),
авторизация через #WebAppData= из webAppInitData.
- Модели документов и экран онбординга/просмотра.
Прочее:
- Тумблер AppDigitalIdNative (WebView/нативно) и кнопка «Сбросить Цифровой ID»
(очистка кук и данных WebView) — в настройках разработчика.
2026-06-08 18:23:23 +03:00
Jganenok
b1ce3054a7
fix: переделал 2FA, теперь должен работать.
2026-06-08 16:20:46 +07:00
klockky
7c4401c9fe
fix(webapp): динамический appid Сферума из конфига логина
2026-06-07 19:32:53 +00:00
klockky
c6bf57ebfc
fix(sferum): резолвить бота перед запросом web-app данных
2026-06-07 19:06:44 +00:00