Skip to content

fix: пропорции фото, отступы подписей, краш редактирования + автозаглавные буквы → dev/0.5.0 - #60

Open
bigtaed-sys wants to merge 5 commits into
KometTeam:dev/0.5.0from
bigtaed-sys:fix/photo-bubble-aspect-and-edit-crash

Conversation

@bigtaed-sys

@bigtaed-sys bigtaed-sys commented Jul 17, 2026

Copy link
Copy Markdown

Описание

Фиксы отображения фото в чате, крашей при редактировании сообщения с фото и в меню действий, автозаглавная буква при наборе и рабочая камера в шторке вложений с живым предпросмотром. Из fix/photo-bubble-aspect-and-edit-crash в dev/0.5.0.

Объём: 15 файлов, +531 / −94.

Что вошло

💬 Чаты и сообщения

  • Одиночное фото в пузыре больше не обрезается в квадрат — превью считается по реальному соотношению сторон (даунскейл до 280px по большей стороне, апскейл до 100px по меньшей); ширина блока подписи совпадает с шириной фото
  • Подписи под фото и видео: верхний отступ 6px, боковые 10/6 вместо 6/4 — константы вынесены в BubbleContext
  • Краш при редактировании сообщения с фото: RichMessageController уничтожался до конца анимации закрытия шторки, TextField обращался к мёртвому контроллеру («used after being disposed» → каскадный ассерт _dependents.isEmpty); шторка выделена в _EditMessageSheet, который владеет контроллером и освобождает его в dispose
  • Краш меню действий при тапе над открытой клавиатурой: _MessageActionsLayerState создавал два AnimationController при SingleTickerProviderStateMixin; заменён на TickerProviderStateMixin
  • TextCapitalization.sentences в композере, подписи к вложениям и шторке редактирования — клавиатура сама предлагает заглавную в начале предложения
  • Камера в шторке вложений работает вместо заглушки «скоро появится»: тап делает снимок через системную камеру (image_picker); при выданном разрешении плитка показывает живой предпросмотр с задней камеры (camera/CameraX) с освобождением при сворачивании приложения, статус разрешения проверяется молча (permission_handler)

Коммиты

  • c5b5635 fix(chat): фото в пузырях сохраняют пропорции, подписи получили отступы
  • 7329167 fix(chat): краш при редактировании сообщения с фото
  • 4ac5637 feat(chat): автозаглавная буква в начале предложений при наборе
  • 868b1e2 fix(chat): краш меню действий над клавиатурой из-за одиночного тикера
  • 116ff19 feat(chat): камера в шторке вложений — съёмка и живой предпросмотр

Проверка

  • flutter analyze
  • Сборка komet flavor
  • Ручная проверка: фото разных пропорций с подписью и без, редактирование сообщения с фото, автозаглавная буква, меню действий над клавиатурой, съёмка и живой предпросмотр камеры (Pixel 9 Pro, debug)

Одиночное фото больше не обрезается в квадрат: размер считается
по реальному соотношению сторон с масштабированием в пределы
min/max. Подпись под фото и видео получила верхний отступ и
увеличенные боковые.
RichMessageController уничтожался сразу после закрытия шторки
редактирования, пока TextField ещё жил во время анимации закрытия.
Шторка выделена в _EditMessageSheet, который владеет контроллером
и освобождает его в dispose после полного демонтажа роута.
TextCapitalization.sentences для композера, подписи к вложениям
и шторки редактирования сообщения.
@bigtaed-sys bigtaed-sys changed the title fix(chat): пропорции фото, отступы подписей и краш при редактировании fix: пропорции фото, отступы подписей, краш редактирования + автозаглавные буквы → dev/0.5.0 Jul 17, 2026
@bigtaed-sys
bigtaed-sys force-pushed the fix/photo-bubble-aspect-and-edit-crash branch from fddecf1 to 4ac5637 Compare July 17, 2026 17:14
_MessageActionsLayerState создавал два AnimationController при
SingleTickerProviderStateMixin. Заменён на TickerProviderStateMixin.
Плитка камеры делает снимок через системную камеру (image_picker)
вместо заглушки «скоро появится». Когда доступ к камере выдан,
плитка показывает живой предпросмотр с задней камеры (camera,
CameraX) с корректным освобождением при сворачивании приложения;
статус разрешения проверяется молча через permission_handler.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant