klockky and Claude Opus 4.8
0f4844bf80
feat(macos): сборка DMG, фикс keychain и opus-библиотек
...
- secure storage: usesDataProtectionKeychain=false — вход в аккаунт
больше не падает с -34018 без аккаунта разработчика
- entitlements: убран app-sandbox/keychain-access-groups (adhoc без Team ID)
- иконка: squircle с прозрачными полями (нативный macOS-вид)
- opus/ogg: битые bitcode-библиотеки ogg_opus_player заменены на
собранные из исходников universal (.a в macos/prebuilt/opus +
scripts/fix_opus_macos.sh применяет их после pub get)
- scripts/build_dmg.sh: adhoc-сборка universal DMG с дизайном (create-dmg)
- CI: build-macos.yml собирает DMG-артефакт; flutter-main.yml чинит libs
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 20:08:10 +03:00
klockky and Claude Opus 4.8
c800cc0b32
ci(linux): ставим libopus-dev/libogg-dev для ogg_opus_player
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-25 19:09:06 +03:00
klockky and Claude Opus 4.8
f1f2c6607e
ci(linux): --verbose для диагностики линковки
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-25 19:00:34 +03:00
klockky and Claude Opus 4.8
c16532dc43
ci(linux): ставим libmpv-dev для media_kit
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-25 18:54:41 +03:00
klockky and Claude 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
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
24eb30cc8b
fix(db): бандленый SQLite через FFI — UPSERT падал на Android 9 и старше
2026-06-25 16:08:33 +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
2b45bb3185
feat(spoof): обновил фингерпринт и версию до 26.19.2 + миграция старых профилей
2026-06-23 16:32:31 +03:00
klockky
48830fe488
говорили же мне э
2026-06-23 15:53:57 +03:00
klockky
38c3f21003
build(windows): suppress STL1011 для <experimental/coroutine> в inappwebview
2026-06-23 15:21:34 +03:00
klockky
817c5b0174
build(ios): bump deployment target 13 → 14
2026-06-23 15:18:24 +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
7f434dfd81
Merge branch 'feature/FullStack' of https://github.com/KometTeam/Komet into feature/FullStack
2026-06-22 23:58:00 +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
klockky
4f11203064
feat(spoof): deviceType=ANDROID по умолчанию на iOS, iOS-спуф отключён
2026-06-22 12:25:30 +03:00
klockky
a07706e964
фикс манифеста
2026-06-21 18:18:28 +00: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
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
klockky
c8a64e2871
feat(chat): отложенные сообщения и отправка видео
2026-06-13 08:02:12 +00: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
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
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
klockky
5d9a70f1b4
fix(digital-id): не заворачивать ссылку Госуслуг назад (externalCallback только top-level)
...
Перехват OAuth-callback в WebView-мосте проверял externalCallback как подстроку
во всём URL и ошибочно срабатывал на самой ссылке Госуслуг: у неё externalCallback
сидит внутри параметра redirect_uri (адрес возврата). Из-за этого мост заворачивал
ссылку входа обратно на digital-id, и Госуслуги не открывались при «Подключить
документы».
Теперь externalCallback распознаётся только как top-level параметр запроса
(?externalCallback= / &externalCallback=).
2026-06-09 17:15:52 +03:00
klockky
73ad6dd1e6
поднял build number
2026-06-08 17:32:50 +00:00
klockky
1d897fad71
feat(ci): сборка unsigned ipa
2026-06-08 17:31:12 +00: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
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
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
klockky
6c33fa48bc
fix(chats): fall back to cached title/iconUrl for dialogs
2026-06-07 14:25:30 +03:00
klockky
222d7110fa
fix(ios): drop private entitlements from pseudo-signed IPA
2026-06-07 14:00:20 +03:00
klockky
7964c61699
fix(spoof): persist and apply all spoofing fields
2026-06-06 19:36:24 +03: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
9b73d7a491
жижа сука не притрагивайся к анимациям
2026-06-03 16:34:03 +03:00
klockky
7c2ad380bb
feat(auth): implement phone registration flow with preset avatars
2026-06-03 08:20:21 +00:00
klockky
3341888ad5
feat: кэширование файлов/видео + управление кэшем в дев-меню
2026-06-02 20:40:03 +00: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
1bcdb180af
feat: мимикрия протокола (opcode 6 + LZ4) и фиксы UI (истории, 2FA)
2026-06-02 18:28:31 +00:00
klockky
ddcdcf5a36
feat: отправка chatCacheFingerprint и exp в login-пакете (opcode 19)
2026-06-02 17:09:23 +00:00
klockky
1d3a7306a5
feat: открытие дев-меню по 7 тапам по иконке на экране входа
2026-06-02 16:11:18 +00:00
klockky
d7c5434d24
fix: адаптивная иконка для Minimal
2026-05-28 05:45:38 +00: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
klockky
be928f8c1a
feat: отображаемое имя приложения с большой буквы
2026-05-27 17:23:44 +00:00
klockky
eb02c73762
ci: воркфлоу релиза для main — сборка всех платформ и публикация в GitHub Releases
2026-05-27 16:16:50 +00:00
klockky
f781a5f3d0
feat: мультиаккаунтинг — переключение долгим нажатием на «Настройки»
2026-05-26 18:09:29 +03:00
klockky
80706daf45
feat: десктоп-режим — 2-pane с ресайз-разделителем при ширине окна ≥ 900px
2026-05-26 17:32:29 +03:00
klockky
a6aab0a7e3
feat: аватар после входа, кнопка выхода в настройках
2026-05-26 17:13:26 +03:00
klockky
221487ca28
feat: красивая анимация после успешного входа в аккаунт
2026-05-26 05:41:54 +00:00
klockky
c7b7121119
Merge branch 'feature/FullStack' of https://github.com/KometTeam/Komet into feature/FullStack
2026-05-25 18:15:46 +03:00
klockky
ed7a3b4c00
списочное меню действий компактнее; пкм на пк открывает список; радиал не съезжает у краёв
2026-05-25 18:15:26 +03:00
klockky and Claude Opus 4.7
fd77a0894b
отдельные воркфлоу под iOS, macOS, Linux и Windows
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-25 11:15:43 +00:00
klockky
0a5ebda91f
пункты списка подсвечиваются как таблетки primary-цветом (destructive — error)
2026-05-23 08:36:53 +00:00
klockky
ac5bd1c24d
второй стиль меню действий: список (как в telegram); выбор в кастомизации
2026-05-23 08:22:05 +00:00
klockky
917e4aec72
убираю отладочный painter с позицией пальца и центрами кнопок
2026-05-23 07:37:14 +00:00
klockky
d98a660d36
переход с Navigator.push на OverlayEntry: route модал глотал pointer events после cancel
2026-05-23 07:22:53 +00:00
klockky
aca19cfd20
debug: визуализация позиции пальца, центров кнопок и состояния контроллера
2026-05-23 07:04:04 +00:00
klockky
e3e5e3ec75
кнопки всегда тапабельны + тройной канал доставки для drag-to-select
2026-05-23 06:44:18 +00:00
klockky
b108778084
fix: addGlobalRoute вместо addRoute (на iOS видимо адресная подписка не доставляла события)
2026-05-23 06:20:36 +00:00
klockky
a55bbc3599
fix: явный импорт package:flutter/gestures.dart для GestureBinding
2026-05-23 05:54:00 +00:00
klockky
bb867c6816
fix: подписка на pointer через GestureBinding.pointerRouter вместо Listener (модальный route отрезал hit-цепочку)
2026-05-23 05:49:21 +00:00
klockky
2305860aa3
fix: ловим pointer события через Listener вместо onLongPressMoveUpdate (route глотал events)
2026-05-23 05:32:38 +00:00
klockky
308cbeaff7
drag-to-select на радиальном меню: подсветка под пальцем, лейбл, тактильный клик
2026-05-23 05:13:23 +00:00
klockky
424ab3d683
fix: cap pixelRatio через сравнение вместо .clamp() для типа double
2026-05-23 04:21:54 +00:00
klockky
1dac23a901
long-press на сообщении: scale-up с blur и радиальное меню действий
2026-05-23 04:20:59 +00:00
klockky
f9caf37588
fix: импорт package:flutter/rendering.dart для RenderRepaintBoundary
2026-05-22 18:43:31 +00:00
klockky
c78a684036
анимация circular reveal при смене темы
2026-05-22 18:17:56 +00:00
klockky and Claude Opus 4.7
684339acff
ci(ios): pseudo-sign IPA через ldid для установки на jailbreak
...
Без подписи iOS-ядро не загружает Mach-O, и Filza ругается на полное отсутствие подписи. Подписываем frameworks/dylibs/app extensions и главный бинарь Runner через ldid с минимальными entitlements — IPA теперь ставится через Filza/TrollStore/rootless-jailbreak.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-21 20:06:56 +00:00
klockky
5849fb94f5
фикс подтормаживания при смене темы
2026-05-21 06:37:10 +00:00
klockky
2fb4d89f79
кастомизация темы — режим, AMOLED, расписание переключения
2026-05-21 05:59:34 +00:00
klockky
4e500ef087
fix(security): close critical findings #1-3 from issue #17
...
- TLS: validate cert chain by default; debug-menu toggle to disable
- Logs: redact secrets in sender/dispatcher payloads
- Identity: per-install mt_instanceid/deviceId, per-launch clientSessionId
2026-05-16 23:36:28 +03:00
klockky
191ff7133f
fix(ios): strip whole Firebase #if/#endif blocks from plugin registrant
2026-05-16 22:04:18 +03:00
klockky
72a9e4e886
fix(ios): exclude Firebase from iOS build, keep deployment target 13.0
2026-05-16 21:52:51 +03:00
klockky
9a8a2341c6
ci: add all-platform pre-release workflow for dev/0.5.0
2026-05-16 21:28:34 +03:00