Commit Graph
67 Commits
Author SHA1 Message Date
klockky 5ac407fb76 feat: уведомления на iOS через PWA 2026-08-21 21:49:52 +03:00
bigtaed-sysandJganenokk 615ce2caf1 feat(chat): камера в шторке вложений — съёмка и живой предпросмотр
Плитка камеры делает снимок через системную камеру (image_picker)
вместо заглушки «скоро появится». Когда доступ к камере выдан,
плитка показывает живой предпросмотр с задней камеры (camera,
CameraX) с корректным освобождением при сворачивании приложения;
статус разрешения проверяется молча через permission_handler.
2026-08-15 16:02:33 +07:00
JganenokkandClaude Opus 5 08d29ef996 feat: норм отправка кружком как дфывйцждуозйшо / dev 18
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AEefQULnwjVZt2yzvK8CWn
2026-08-08 14:54:45 +07:00
klockky ed33f53c6a feat: api2.oneme.ru с корнем Минцифры; kolibri с pub.dev вместо сабмодуля 2026-08-06 11:03:50 +03:00
Jganenokk 8f42692708 feat: команда прикола с кружками 2026-07-30 14:48:52 +07:00
Jganenokk 8dccbda24b ALO 2026-07-28 00:06:12 +07:00
klockky 90ca80431d feat(contacts): отправка контактов вложением 2026-07-26 15:49:15 +03:00
Jganenokk ac951ea80a feat: работа с шифрованным текстом/фото 2026-07-26 16:23:05 +07:00
klockky 131c1dc775 feat(contacts): имена из телефонной книги везде + тумблер в дев-меню 2026-07-16 11:49:52 +03:00
klockky 1e2fc42b35 feat(debug): диплинк komet.pw/export-logs и zip-экспорт логов за 24 часа 2026-07-14 23:05:15 +03:00
klockky 6655400d17 bump version. завтра оторвем яйца жиже 2026-07-14 20:43:30 +03:00
Jganenokk d65b46f7da feat: liquid glass, пока-что скрыт. 2026-07-14 21:04:23 +07:00
klockky 2ff33630f4 feat(calls): ws2 signaling → kolibri; media/voice/file/video fixes; webview UA from session; re-pin submodule 2026-07-12 22:13:59 +03:00
klockky faadc95993 feat: migrate networking to Rust core (kolibri) — adapter, media,submodule, CI 2026-07-11 21:56:48 +03:00
klockky e16c51d2f0 feat: кастомные обои чата (SVG-паттерны, темы, глобальный фон, прозрачные панели) 2026-07-10 21:18:38 +03:00
Jganenokk 8ab74739b5 feat: переделал lottie -> rlottie, с первым прогревом кадров в фоне, как в тг, чтоб лагов не было 2026-07-11 00:02:48 +07:00
klockky 4e35e3d176 Fix password login profile handling 2026-07-05 23:06:16 +03:00
Jganenokk 9fe9ea2d31 поиск стикеров 2026-07-05 20:50:26 +07:00
klockky abf660e10c feat(update): проверка новой версии через GitHub Releases 2026-07-05 16:49:12 +03:00
Jganenokk f9de0f331c feat: немного анимированных иконок 2026-07-04 13:48:12 +07:00
klockky 7f22ecc643 feat(sms): автоподстановка кода из sms 2026-07-03 19:07:09 +03:00
Jganenokk 473889186b feat: выбор обоев для чата 2026-07-03 17:51:20 +07:00
Jganenokk 03cfa21c75 feat: еще стикеры.. 2026-07-03 12:32:30 +07:00
klockky c2466a9a5f feat(devtools): монитор сокет-трафика в меню разработчика 2026-06-28 14:05:24 +03:00
klockky a55ab28ede perf(android): уменьшаем вес APK на ~33% (65→43.6 МБ)
- media_kit только для десктопа — убраны ffmpeg/libass/mdk с мобилы (~10 МБ)
- google_fonts заменён бандлом Inter/Outfit/Unbounded — убран реестр всех
  шрифтов из libapp.so (22→10 МБ)
- удалена неиспользуемая зависимость camera (CameraX)
- Dart-обфускация (--obfuscate --split-debug-info) в релизных CI + выгрузка
  символов
- кастомные шрифты с Google Fonts вернулись через FontLoader + кэш, без веса
- хардкод Inter заменён наследованием шрифта из активной темы
2026-06-25 22:51:04 +03:00
klockkyandClaude Opus 4.8 a2beb13edd fix(desktop): заменяем fvp на media_kit — десктоп-сборки падали на mdk-sdk
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 18:38:17 +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 48830fe488 говорили же мне э 2026-06-23 15:53:57 +03:00
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 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
Jganenok 580e30897b fix: большой фикс недочетов и фикс пары язв 2026-06-09 01:00:04 +07:00
klockky 73ad6dd1e6 поднял build number 2026-06-08 17:32:50 +00:00
klockky 4a0eeb6ea2 feat(webapp): мини-приложения через webAppInitData, вход в Сферум 2026-06-07 18:28:59 +00:00
klockky 9bc3565922 change build version 2026-06-07 14:29:31 +03: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 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
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