Commit Graph
100 Commits
Author SHA1 Message Date
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
klockkyandClaude 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
klockkyandClaude 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
klockky 48622c72bc fix(accent): restore app_accent.dart deleted in 5dcb8fd 2026-05-16 18:09:26 +03:00
klockky a4a4ee2ca3 ci(android): sign release builds with dedicated keystore 2026-05-16 17:46:27 +03:00
klockky 4928acc0f9 fix(fonts): make font size reactive via ValueNotifier 2026-05-16 12:41:06 +03:00
klockky fadb81652d perf(theme): memoize themes to stop AnimatedTheme re-lerp storm 2026-05-16 12:03:12 +03:00
klockky 43c8d0d68c feat(customization): add category hub, move fonts to dedicated screen 2026-05-16 11:55:37 +03:00
klockky ca404273a5 feat(customization): system font, custom Google Fonts by URL, font size slider 2026-05-16 11:25:08 +03:00
klockky 04dda00e65 feat(customization): font switcher with Unbounded, styled via m3e 2026-05-16 10:58:14 +03:00
klockky 0729132938 fix(network): bind via NetworkCallback for valid handle, distinguish VPN lockdown 2026-05-16 10:06:35 +03:00
klockky 6571d18696 fix(network): make non-VPN network selection robust + show failure reason 2026-05-16 09:16:52 +03:00
klockky 07290614ec fix(network): trigger VPN bypass on handshake failure too 2026-05-16 08:34:54 +03:00
klockky bfde7133ca refactor(network): VPN bypass as fallback — try VPN first, bypass only on failure 2026-05-16 07:59:56 +03:00
klockky cd848f73fb feat(network): VPN bypass — bind to non-VPN net (wlan*/rmnet*) when tun detected + dev toggle 2026-05-16 07:45:29 +03:00
klockky 2830e697aa fix(ci): correct split-per-abi APK artifact paths + fail on missing artifacts 2026-05-15 18:58:48 +03:00
klockky 8937dfd992 fix(android): enable core library desugaring for flutter_local_notifications 2026-05-15 18:36:21 +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 e0151045c7 feat: тактильная отдача + тумблер в настройках 2026-05-15 07:26:27 +03:00
klockky 7ac22b0369 fix: Zstd через pure-Dart libcompress 2026-05-14 18:01:36 +03:00
klockky e8f22b864d Merge branch 'feature/FullStack' of https://github.com/KometTeam/Komet into feature/FullStack 2026-05-14 17:06:26 +03:00
klockky 8061681043 feat: галочки у официальных пользователей, ботов и каналов 2026-05-14 17:06:11 +03:00
klockky 787c511931 Merge branch 'feature/FullStack' of https://github.com/KometTeam/Komet into feature/FullStack 2026-05-14 14:42:04 +03:00
klockky 2095170e70 perf: кэш дерева вкладки чатов между ребилдами 2026-05-14 14:41:52 +03: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
klockky 3b201dc2e7 Merge remote-tracking branch 'origin/feature/FullStack' into fix/tab-switch-freeze
# Conflicts:
#	lib/frontend/screens/chats/chat_list_screen.dart
#	lib/frontend/screens/chats/chat_screen.dart
#	lib/frontend/widgets/message_bubble.dart
2026-05-13 19:12:21 +03:00
klockky 5f40288614 fix: устранить фриз при переключении вкладок в ChatListScreen 2026-05-13 08:26:46 -07:00
klockky 602c924503 fix: автооткрытие клавиатуры на экране кода 2026-04-21 18:59:35 +03:00
klockky 44dfb60933 fix(spoof): trim preset locale to 2-letter code 2026-04-11 00:25:15 +03:00
klockky 23ef587015 feat(spoof): port session spoofing screen with device presets 2026-04-11 00:21:31 +03:00
klockky 94dcd670a3 fix(auth): await session online state when applying custom server 2026-04-09 21:55:53 +03:00
klockky a3555ea579 feat(network): SOCKS5 and HTTP(S) proxy support 2026-04-09 14:48:31 +03:00
klockky 1a37f29fd1 fix(auth): strip formatting from phone before requestCode 2026-04-07 19:27:05 +03:00
klockky 7f5a8252c3 fix(auth): per-country phone mask hint and Indonesia digit count 2026-04-07 13:50:34 +03: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
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
klockky cd5fdcf2c5 feat(settings): версия приложения, секретное меню разработчика и перетаскиваемый FPS-оверлей 2026-04-05 21:36:21 +03:00
klockky 279bb87e6a feat(settings): implement debug menu toggle in settings tab with version label tap detection 2026-04-05 21:14:05 +03:00
klockky 882bc8c62e feat(settings): add app version display in settings tab and update dependencies 2026-04-05 20:59:30 +03:00
klockky b3af3c959f fix(ui): center folder tab labels in chat list 2026-04-05 13:28:22 +03:00
klockky 546ab8de19 feat(chats): folder sync, local cache, and swipeable folder pages 2026-04-04 17:23:54 +03:00
klockky 19b69cffca fix(chats): require explicit pull to reveal stories after scrolling from top 2026-04-04 16:39:08 +03:00
klockky 4b9d1c06a1 ix(chat): dock nav above system bar without extra gap on gestures 2026-04-04 16:12:08 +03:00
klockky 23a4ec268a feat(theme): system light/dark mode and Material You dynamic colors 2026-04-04 16:02:36 +03:00
klockky e78acfdbf2 Enhance chat list screen with navigation animation and dynamic tab selection. Introduced animation controller for smoother transitions and implemented drag handling for the bottom navigation bar. 2026-04-03 23:24:32 +03:00
klockky e86ab1e509 Add pinned chats header to chat list screen with dynamic story display 2026-04-03 22:56:41 +03:00
klockky 84657860a7 Refactor story closing logic in chat list screen to use a timestamp for layout settling 2026-04-03 22:49:15 +03:00
klockky d0d13052e0 Refactor logging utility to support dynamic log levels and enhanced log formatting. Introduced KometLogPrinter for custom log output, including color coding and structured message formatting. Updated logger initialization to utilize new log level and filter functions based on release mode. 2026-04-03 22:32:20 +03:00
klockky 7fefb71de6 Implemented country registration handling in the API, allowing for dynamic country selection in the login and country selection screens. Added parsing logic for registration countries and updated the UI to reflect allowed countries based on the API response. 2026-04-03 21:38:59 +03:00