Commit Graph
289 Commits
Author SHA1 Message Date
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 3644c51a48 feat(chat): фронт троеточия 2026-06-22 21:10:31 +07:00
Jganenokk 0f0d15f884 feat(chat): доп фронт в выделении сообщения 2026-06-22 19:59:10 +07:00
Jganenokk a902a587ba feat(chat): выделение сообщений 2026-06-22 17:48:17 +07: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 39abdc8d63 fix(spoof): сука коки зачем нам самостав айося в спуфе 2026-06-22 11:28:53 +07:00
klockky a07706e964 фикс манифеста 2026-06-21 18:18:28 +00:00
Jganenokk fd308327f5 feat: / команды 2026-06-21 22:35:58 +07:00
klockkyandGitHub 78cc4fdae6 Merge pull request #36 from KometTeam/feature/nfc-contact-exchange
Feature/nfc contact exchange
2026-06-21 17:33:53 +03: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 2f3b280fa4 feat(contacts): окно обмена сверху + анимация получения контакта 2026-06-21 11:43:28 +00:00
klockky eb20ed025f feat(contacts): синхронный показ карточки + статус обмена 2026-06-21 10:47:59 +00:00
klockky 6b082a81fe feat(contacts): обмен контактами NFC→BLE 2026-06-21 10:18:48 +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 5322af6e5b feat(spoof): тумблер меняет данные на лету + выбор Android/iOS 2026-06-20 15:50:47 +00:00
klockky d055de268b feat(spoof): пер-аккаунтный спуф с тумблером и прокидыванием в веб-аппы
- спуф теперь свой на каждый аккаунт, вмораживается при входе
- тумблер вкл/выкл в настройках (по умолчанию выключен)
- новый аккаунт добавляется со своим включённым спуфом (другое устройство)
- UA спуфа прокинут в Сферум, Цифровой ID (вебвью + HTTP)
- генерация выбирает Android или iOS; iOS отдаёт deviceType IOS
- экран спуфа показывает текущую личность, а не свежесгенерированную
2026-06-20 15:15:09 +00:00
klockky 62b5d1b9f3 ДА НЕ КНОПКА ЭТО!!! 2026-06-20 13:58:14 +00:00
Jganenokk 73cdf7ef7f feat: внятный показ обрыва сессии 2026-06-19 01:19:11 +07:00
Jganenokk c10817baf6 feat(animation): анимации чатов. Появление / перемещения. 2026-06-14 00:25:01 +07:00
Jganenokk abdda2be14 fix: небольшие фиксы от линуса торвальдса 2026-06-13 23:06:54 +07:00
Jganenokk 814e969c4a feat: гост мод и фиксы разные всякие я линус торвальдс 2026-06-13 22:19:45 +07:00
klockky e84cdf15e3 fix(chat): кнопка отложенных реагирует на lastDelayedUpdateTime 2026-06-13 12:56:04 +00:00
klockky 6618072692 fix(tls): убран kReleaseMode-гард, тумблер insecure-TLS работает в release 2026-06-13 09:59:10 +00:00
klockky 33025eed5e feat(chat): пикер времени барабаном + кнопка отложенных по наличию 2026-06-13 09:51:51 +00: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 d6acfa52fa feat(calls): Я ЕБЛАН ХАХАХХА Я ШАШКИ ЧЕРЕЗ ЗВОНКИ СДЕЛАЛ 2026-06-13 00:42:14 +07:00
Jganenok d7dcb076c3 feat(calls): Щас попробую легонечко с data channel побурмалдить 2026-06-12 22:19:57 +07:00
Jganenok 42f1fd5292 feat(calls): Тяжело...... Звонки. Вроде полностью. Почти. 2026-06-12 22:19:57 +07:00
klockky 5e28e397e8 fix(chat): SizeTransition.axisAlignment для совместимости с CI Flutter 2026-06-12 08:14:08 +00:00
klockky 4ee84745bf feat(chat): удаление сообщений (у себя/у всех) 2026-06-12 08:02:31 +00:00
Jganenok 7cc3ae57aa feat(animation): анимация реанимация для опросов 2026-06-12 12:10:44 +07:00
Jganenok 532fae4b39 feat(frontend): flossy стиль. Выбор градиент/без 2026-06-12 00:13:13 +07:00
klockky a5956a0628 Merge branch 'feature/FullStack' of https://github.com/KometTeam/Komet into feature/FullStack 2026-06-11 18:27:49 +03: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
Jganenok e93019e96a feat(calls): я в рот блять ебал эти звонки ваши ебучие Ыuka 2026-06-11 22:08:51 +07:00
klockky a4c2618474 fix: вернул нормальную полоску выбора типа медиа в шторке вложений (названия + расширение активной вкладки) 2026-06-11 17:24:01 +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 60c6f7461d fix: как бы нихуя не изменилось по сути но на всякий пусть temp файлы не плодяться 2026-06-10 14:12:31 +07:00
Jganenok ed3b06bfae fix: соединил в один файл 2026-06-10 13:59:25 +07:00
Jganenok a3c3b8b797 fix(chat_screen): Улучшил работу bottom sheet на андроиде 2026-06-10 13:38:57 +07:00