Commit Graph
30 Commits
Author SHA1 Message Date
Jganenokk c81cd91ecd feat: реакции, так еще ебать и анимированные!!!!!! правда лагает пизда я это потом пофиксю мб как в тг сделаю 2026-07-10 00:38:03 +07:00
klockky f4a30328ff feat: истории — просмотр, публикация и кэширование
- протокол STORIES_LIST/GET_BY_OWNER/MARK/REACT/SEND + push (opcodes 0xD0–0xDC)
- StoriesModule: лента, реакции, публикация фото, SQLite-кэш и позиция просмотра
- полноэкранный вьюер: куб-переход, круговое открытие, drag-to-dismiss, прогресс-бары, реакции
- сегментные кольца, плитка «Ваша история» с кнопкой публикации, in-app пикер медиа
- резолв имён авторов через ensureContactNames/ContactCache
2026-07-08 20:07:19 +03:00
Jganenokk 26eca7aae4 feat/rewrite: убрал hero анимацию, добавил возможность просмотра тегов у стикеров 2026-07-05 20:18:29 +07:00
Jganenokk c2f6c32fdb фикс кнопки звонка не людям. issue #44 2026-07-05 19:44:01 +07:00
Jganenokk 9f9b0e0734 небольшие изменения 2026-07-05 19:07:27 +07:00
Jganenokk 03cfa21c75 feat: еще стикеры.. 2026-07-03 12:32:30 +07:00
Jganenokk 0e27f141a7 feat: стикеры 2026-07-03 00:45:36 +07:00
klockky c23a6dcfd6 feat(channels): inline-кнопки под постами в каналах 2026-06-28 12:22:08 +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 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 d055de268b feat(spoof): пер-аккаунтный спуф с тумблером и прокидыванием в веб-аппы
- спуф теперь свой на каждый аккаунт, вмораживается при входе
- тумблер вкл/выкл в настройках (по умолчанию выключен)
- новый аккаунт добавляется со своим включённым спуфом (другое устройство)
- UA спуфа прокинут в Сферум, Цифровой ID (вебвью + HTTP)
- генерация выбирает Android или iOS; iOS отдаёт deviceType IOS
- экран спуфа показывает текущую личность, а не свежесгенерированную
2026-06-20 15:15:09 +00: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
Jganenok ea08c96726 feat: работа с вложениями 2026-06-10 00:58:19 +07: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 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
Jganenok fc7a225b8a ну немножечко так оптимизировал чутка, добавил раздел 'производительность' в насторйки, немного сделал чуточку в кастомизации, пару мелочей переделал 2026-05-16 21:10:21 +07:00
Jganenok e2b4ba33ad эвенты 2026-05-14 20:54:12 +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 bc545df1e7 расшифровка гс 2026-05-14 12:34:07 +07:00
Jganenok dc752e8b0d фикс пустово чата если в нем есть стикер 2026-05-14 08:43:46 +07:00
prime d9cbadbbb7 руки переломаю 2026-04-29 19:02:44 +10:00
Jganenok 4ebfb3353f хм 2026-04-21 17:31:36 +07:00
Jganenokk 0eae0edd67 отображения друнцы, говно правда но это тестовое 2026-04-15 22:30:10 +07:00
Jganenokk 8536ec2508 авотаро4ки в пересланных сообщениях 2026-04-11 00:22:32 +07:00
Jganenokk d0e8d64967 бля а какой запрос на поиск по айди 2026-04-11 00:00:37 +07:00
Jganenokk 06413eaf0e я умер пока фиксил фронт 2026-04-05 23:39:04 +07:00
Jganenokk 48ae6ff477 ебаное медиа оно меня заебало 2026-04-05 21:13:38 +07:00
klockky fc62650ec3 feat: initial project setup - Komet Flutter app 2026-03-12 18:54:09 +03:00