Commit Graph
51 Commits
Author SHA1 Message Date
klockky 213c57e524 Merge branch 'feature/FullStack' of https://github.com/KometTeam/Komet into feature/FullStack 2026-06-11 18:27:49 +03:00
klockky 82df24c38d 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 e66f760a16 feat(calls): я в рот блять ебал эти звонки ваши ебучие Ыuka 2026-06-11 22:08:51 +07:00
klockky 94d3e44354 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 cf154b006b 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 e587ef184b fix: большой фикс недочетов и фикс пары язв 2026-06-09 01:00:04 +07:00
klockky 5eaa425c8f feat(webapp): мини-приложения через webAppInitData, вход в Сферум 2026-06-07 18:28:59 +00:00
Jganenok 5b9aaf7d7e цэ фронт хуйнюшки которая где медиа отправлять 2026-06-07 13:11:20 +07:00
klockky 4804c5bc1d Merge remote-tracking branch 'origin/feature/FullStack' into feature/app-icon-switcher
# Conflicts:
#	pubspec.lock
2026-06-03 18:06:43 +03:00
klockky 1a3570f942 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 d35729e911 feat: отправка chatCacheFingerprint и exp в login-пакете (opcode 19) 2026-06-02 17:09:23 +00:00
Jganenok 4afdf4b61e изменение профиля 2026-05-31 17:43:58 +07:00
klockky eb159de0f4 fix: смена иконки через нативный MethodChannel — без плагина и без отключения MainActivity 2026-05-28 05:13:14 +00:00
klockky b35626e36a feat: смена иконки приложения в кастомизации (Default / Minimal) 2026-05-28 04:39:38 +00:00
Jganenok 7a9aa71c5e фронт 2026-05-25 21:09:29 +07:00
Jganenok 590c9ed1e2 ну немножечко так оптимизировал чутка, добавил раздел 'производительность' в насторйки, немного сделал чуточку в кастомизации, пару мелочей переделал 2026-05-16 21:10:21 +07:00
klockky 8848ad1769 feat(customization): font switcher with Unbounded, styled via m3e 2026-05-16 10:58:14 +03:00
klockky 5a6cb10c91 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 52f74a51b5 говночистил 2026-05-15 17:51:01 +05:00
klockky 9e293c1250 fix: Zstd через pure-Dart libcompress 2026-05-14 18:01:36 +03:00
Jganenok 358b82a12c чет пофиксил + отправка файлов незаконченная 2026-05-14 17:54:05 +07:00
klockky 53805e8d74 Merge branch 'feature/FullStack' of https://github.com/KometTeam/Komet into feature/FullStack 2026-05-14 13:16:50 +03:00
klockky d541e9df9d fix(transport): Zstd-распаковка, гонка PacketReceiver, fix имён и стикеров 2026-05-14 13:12:41 +03:00
Jganenok a51bae555b фикс пустово чата если в нем есть стикер 2026-05-14 08:43:46 +07:00
Ваше Имя fd7a5fc487 бля а какой запрос на поиск по айди 2026-04-11 00:00:37 +07:00
klockky 1f9ead1b0f feat(auth): server endpoint in bottom sheet on login 2026-04-07 13:36:30 +03:00
klockky 035c57b9c5 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 24f4c6e1e9 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 37e320a52b feat(auth): integrate SmartAuth for SMS code auto-fill and update localization strings 2026-04-07 02:51:34 +07:00
Ваше Имя c4623d9dc7 бля а как мне тестить у меня темпблок 2026-04-06 22:04:22 +07:00
klockky 9a1dc8e82b feat(qr): rounded finder overlay, dim mask, green lock, settle delay before pop 2026-04-06 15:43:33 +03:00
klockky 3dd8b39e23 feat(devices): QR approve login for web and desktop MAX 2026-04-06 15:07:15 +03:00
Ваше Имя 8a9b229082 olo 2026-04-06 18:24:45 +07:00
klockky 19dfd4c82e feat(settings): add app version display in settings tab and update dependencies 2026-04-05 20:59:30 +03:00
Ваше Имя 3f99bda6d2 нахуевёртил 2026-04-04 13:31:13 +07:00
klockky 80f528f4fb 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 0a5aa0757e Updated dependencies in pubspec.lock and added internet permissions in AndroidManifest.xml 2026-04-03 21:14:12 +03:00
Ваше Имя a0a4d7dd6b я как бы еще не доделал, это такой промежуточный пуш знаете 2026-04-03 19:35:45 +07:00
noxzion fc52f91912 Логин flow, некоторые фиксiкi 2026-04-01 22:50:00 +05:00
klockkyandGitHub 9157effdf8 Merge branch 'dev/0.5.0' into feature/server-connection-handshake 2026-04-01 19:55:41 +03:00
klockky c3e825ec18 feat: add phone auth with 2FA, multi-account storage 2026-03-29 11:33:13 +03:00
JganenokandGitHub 74a1029a76 Merge branch 'dev/0.5.0' into feature/frontend 2026-03-29 14:52:40 +07:00
klockky 73eaff142b добавил сохранение аккаунта в хранилище ОС
на 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
Ваше Имя 0306820746 Вроде чет доделал в экране ввода номера 2026-03-23 18:44:52 +07:00
noxzion f843f467e9 Экран выбора страны, динамик цвета 2026-03-17 16:36:58 +05:00
noxzion 65010cccfc Выберите страну 2026-03-16 08:09:19 +05:00
Klockky bc4b4ba494 обновил список стран 2026-03-15 19:36:51 +03:00
InviseDivine 4c758efba8 FIX: cmd в пакетах FEAT: получение user agent'а 2026-03-15 17:27:54 +02:00
noxzion 8f51e4f3a7 Что-то похожее на фронтенд 2026-03-15 18:34:57 +05:00
klockky 16032e5e7d feat: добавил logging framework 2026-03-12 19:18:43 +03:00