Commit Graph
53 Commits
Author SHA1 Message Date
klockky fde789f926 chore(deps): апгрейд зависимостей до latest (ахуеть новая версия webrtc не сломала звонки) 2026-06-23 14:52:39 +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 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 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
Jganenok 580e30897b fix: большой фикс недочетов и фикс пары язв 2026-06-09 01:00:04 +07:00
klockky 4a0eeb6ea2 feat(webapp): мини-приложения через webAppInitData, вход в Сферум 2026-06-07 18:28:59 +00:00
Jganenok a80cba572f цэ фронт хуйнюшки которая где медиа отправлять 2026-06-07 13:11:20 +07:00
klockky 356e3c5774 Merge remote-tracking branch 'origin/feature/FullStack' into feature/app-icon-switcher
# Conflicts:
#	pubspec.lock
2026-06-03 18:06:43 +03:00
klockky ef05c9eaaa feat: поддержка медиа-вложений — опросы, видео, файлы и просмотр фото
Опросы (новый тип сообщения):
- модель Poll/PollAnswer и PollAttachment (_type: POLL)
- PollsModule: загрузка через opcode 306 (GET_POLL_UPDATES) с кэшем
- рендер опроса в баблах (вопрос, варианты, прогресс-бары, голоса)

Видео:
- getVideoUrl через opcode 83 (VIDEO_PLAY): выбор MP4_*/HLS из ответа
- полноэкранный плеер (video_player) с play/pause и перемоткой
- тап по видео в чате запускает воспроизведение

Файлы:
- getFileUrl через opcode 88 (FILE_DOWNLOAD) с корректным форматом
  {messageId, chatId, fileId} → url (раньше слался неверный {url, token})
- скачивание во временную папку и открытие системным приложением
  (path_provider, open_filex)

Фото:
- полноэкранный просмотрщик с зумом (был TODO-заглушкой)
- фикс «сжатости»: декодирование с учётом devicePixelRatio вместо ×2
2026-06-02 20:06:46 +00:00
klockky ddcdcf5a36 feat: отправка chatCacheFingerprint и exp в login-пакете (opcode 19) 2026-06-02 17:09:23 +00:00
Jganenok 7fbeb4b27e изменение профиля 2026-05-31 17:43:58 +07:00
klockky c6b0cba08f fix: смена иконки через нативный MethodChannel — без плагина и без отключения MainActivity 2026-05-28 05:13:14 +00:00
klockky 73208bda49 feat: смена иконки приложения в кастомизации (Default / Minimal) 2026-05-28 04:39:38 +00:00
Jganenok 554e9fdf60 фронт 2026-05-25 21:09:29 +07:00
Jganenok fc7a225b8a ну немножечко так оптимизировал чутка, добавил раздел 'производительность' в насторйки, немного сделал чуточку в кастомизации, пару мелочей переделал 2026-05-16 21:10:21 +07:00
klockky 04dda00e65 feat(customization): font switcher with Unbounded, styled via m3e 2026-05-16 10:58:14 +03:00
klockky 75ccc2e694 feat(push): FCM via MAX server — oneme flavor, dedicated FCM workflow, opcode 22, notifications + CI/lint fixes 2026-05-15 18:14:22 +03:00
noxzion 0a9780a024 говночистил 2026-05-15 17:51:01 +05:00
klockky 7ac22b0369 fix: Zstd через pure-Dart libcompress 2026-05-14 18:01:36 +03:00
Jganenok d9b423d89c чет пофиксил + отправка файлов незаконченная 2026-05-14 17:54:05 +07:00
klockky ff3134d4ca Merge branch 'feature/FullStack' of https://github.com/KometTeam/Komet into feature/FullStack 2026-05-14 13:16:50 +03:00
klockky 177c1c3cc4 fix(transport): Zstd-распаковка, гонка PacketReceiver, fix имён и стикеров 2026-05-14 13:12:41 +03:00
Jganenok dc752e8b0d фикс пустово чата если в нем есть стикер 2026-05-14 08:43:46 +07:00
Jganenokk d0e8d64967 бля а какой запрос на поиск по айди 2026-04-11 00:00:37 +07:00
klockky 91bdfea222 feat(auth): server endpoint in bottom sheet on login 2026-04-07 13:36:30 +03:00
klockky dc2a23ccf0 chore(dependencies): update device_info_plus to version 12.3.0 and adjust related project files 2026-04-07 11:17:17 +03:00
Sergej NekrasovandGitHub 21c1da5c77 Revert "feat(auth): integrate SmartAuth for SMS code auto-fill and update localization strings"
This reverts commit 37e320a52b.
2026-04-06 21:10:31 +00:00
sergejwinston 8b680f277b feat(auth): integrate SmartAuth for SMS code auto-fill and update localization strings 2026-04-07 02:51:34 +07:00
Jganenokk f9be6abd4a бля а как мне тестить у меня темпблок 2026-04-06 22:04:22 +07:00
klockky 57fbaece03 feat(qr): rounded finder overlay, dim mask, green lock, settle delay before pop 2026-04-06 15:43:33 +03:00
klockky 55313abb12 feat(devices): QR approve login for web and desktop MAX 2026-04-06 15:07:15 +03:00
Jganenokk a4719c91b8 olo 2026-04-06 18:24:45 +07:00
klockky 882bc8c62e feat(settings): add app version display in settings tab and update dependencies 2026-04-05 20:59:30 +03:00
Jganenokk 47f870f825 нахуевёртил 2026-04-04 13:31:13 +07:00
klockky 1caa8c1049 Added localization support for multiple languages, including Russian and English, and integrated language selection in the login and country selection screens. Updated pubspec.yaml and pubspec.lock to include necessary dependencies. 2026-04-03 21:29:45 +03:00
klockky 4b2e5e5c47 Updated dependencies in pubspec.lock and added internet permissions in AndroidManifest.xml 2026-04-03 21:14:12 +03:00
Jganenokk 91069f53ea я как бы еще не доделал, это такой промежуточный пуш знаете 2026-04-03 19:35:45 +07:00
noxzion c22ba7cc04 Логин flow, некоторые фиксiкi 2026-04-01 22:50:00 +05:00
klockkyandGitHub 01fb73e614 Merge branch 'dev/0.5.0' into feature/server-connection-handshake 2026-04-01 19:55:41 +03:00
klockky d7a8d50c3c feat: add phone auth with 2FA, multi-account storage 2026-03-29 11:33:13 +03:00
JganenokandGitHub debbe3e9b8 Merge branch 'dev/0.5.0' into feature/frontend 2026-03-29 14:52:40 +07:00
klockky 11edc9b7b2 добавил сохранение аккаунта в хранилище ОС
на Android это в EncryptedSharedPreferences
в яблочно подобных это Keychain
с виндой работает но я хз че там за хранилище
с линухом работает, но нужно поставить доп. пакеты

# Debian / Ubuntu
sudo apt install libsecret-1-dev
# Fedora / RHEL
sudo dnf install libsecret-devel
# Arch
sudo pacman -S libsecret
2026-03-29 10:48:52 +03:00
Jganenokk 2149db96e4 Вроде чет доделал в экране ввода номера 2026-03-23 18:44:52 +07:00
noxzion 81ea86c546 Экран выбора страны, динамик цвета 2026-03-17 16:36:58 +05:00
noxzion 852a3f8456 Выберите страну 2026-03-16 08:09:19 +05:00
Klockky 807ea0553a обновил список стран 2026-03-15 19:36:51 +03:00
InviseDivine 91c8cf9278 FIX: cmd в пакетах FEAT: получение user agent'а 2026-03-15 17:27:54 +02:00