Skip to content

feat(ui): мобильный релиз с сохранением production desktop - #407

Merged
TThanos3000 merged 1 commit into
masterfrom
release/prod-mobile-responsive-20261010
Oct 10, 2026
Merged

TThanos3000 merged 1 commit into
masterfrom
release/prod-mobile-responsive-20261010

Conversation

@TThanos3000

@TThanos3000 TThanos3000 commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Что изменено

Мобильный и tablet frontend из dev переносится в production отдельным релизом от текущего master. На >=1000px сохранены production-разметка и геометрия. Pixel regression на 1000/1440/1920px: 66/66 точных совпадений, 0 изменённых RGB-пикселей.

Зачем

Выпустить уже исправленный мобильный интерфейс без повторной регрессии desktop после UI Kit и без переноса других dev-функций.

Реализация

База: 11bec95e8dc3bc48d9d4fe491c9b6a0c18968850, последний успешный production deploy. Responsive/UI Kit и исправления перенесены из dev до f3df1c8808c8f2fe352eaac70f28c34da0eae828 (#401, #403, #405, #406).

  • Новые геометрия и tokens ограничены max-width:999px; существующие desktop consumers сохраняют исходные шаблоны master.
  • DesktopLayoutService выбирает представление на границе 1000px. Единственные ng-content slots сохранены; Button сохраняет desktop-геометрию и loading behavior.
  • Main программы сохраняет исходную структуру и TS production, добавляя role widget ниже 1000px. Исключение для ровно 1000px сохранено как в prod.
  • Production backend notification center сохранён, без подмены старой invite-only реализацией dev.
  • Исправлены мобильные приглашения, поля даты/подсказки, интервалы и ширины кнопок, диалог поиска, пустые контакты и attention rows.
  • Ожидание профиля при прямом переходе и защита от form feedback loop перенесены как frontend lifecycle fixes.
  • По согласованному fix: убрать глобальное предупреждение о скрытых чатах #406 скрытый WS-чат больше не создаёт две глобальные ошибки соединения; reconnect и онлайн-статусы сохраняются. HTTP-ошибки операций не скрываются.

API

Endpoints и обязательные payloads не менялись. Добавлено необязательное имя связанной программы в DTO/model. Новые backend функции и миграции не нужны. Доменные бизнес-правила сохранены; изменения frontend lifecycle перечислены выше.

UI

Office, Feed/FeedFilter, проекты/InfoCard, Members, Programs/ProgramCard, Detail проекта/профиля/программы, Vacancies, Courses, редакторы, onboarding и shared Button/Card/PageHeader. Светлая мобильная шапка и responsive UI Kit используются ниже 1000px. Desktop reference — текущий prod, а не весь dev.

Полный отчёт, команды, снимки и ограничения, desktop pixel gate, WS recovery.

Permissions

Роли, маршруты, server-side permissions и object scopes не менялись; backend/guards не включены в diff.

Проверки

  • Production build, exit 0; CSS budgets не повышались.
  • Full test:ci: 413 файлов, 2099 тестов, exit 0.
  • После последних template fixes: InputComponent 20 тестов, MainComponent 2 теста.
  • ESLint: exit 0, 0 errors; 6 прежних warnings.
  • Stylelint: 135 изменённых SCSS, exit 0.
  • Full format:check на Git index LF checkout, как на Linux CI.
  • Desktop 1000/1440/1920px: 22 состояния x 3 ширины, 66/66, без masks/tolerance. Повторные снимки программы на 1000px идентичны внутри каждой сборки.
  • Mobile 320/390/768px: 16 страниц + 6 дополнительных состояний; viewport, date/hints, button gaps, invitation alignment, single search border, dialog footer, contacts и attention assertions.
  • WS: два сбоя, автоматический reconnect, восстановление presence, нет глобальных WS-toast; HTTP доступен.
  • Program contacts с существующей ссылкой открываются в мобильном диалоге; пустая кнопка скрыта.
  • Self-review: isolated diff с master, production notification center, API/permission compatibility и desktop source boundaries проверены.

Acceptance criteria

  • Нет merge всего dev; release от текущего production master.
  • Desktop >=1000px визуально сохранён на проверенных страницах и состояниях — pixel regression, не только overflow.
  • Mobile/tablet 320/390/768px сохраняет адаптив и smoke-test fixes.
  • Сборка и production CI checks проходят локально.

Не проверено

Реальные iOS/Android, Safari/WebKit, аппаратная клавиатура/камера/upload и live-auth/API в этой сессии не проверялись. Дополнительный headless-снимок live login не получен: navigation/networkidle timeout. Успех выкладки отдельно подтверждён workflow и HTTP-проверкой опубликованных assets. Auth/onboarding проверены source/tests/build, но не включены в 66 desktop-снимков. Pixel gate использует одинаковые synthetic fixtures в headless Chrome/Windows; все роли и hover/focus на всех страницах не покрыты. Чек-лист устройств приведён в отчёте.

Риски / migration

Frontend-only release, без изменения workflows/dependencies/budgets и без data migration. Merge в master запускает существующий Deploy to server. После deploy нужен smoke на реальных устройствах и с live-данными; дефекты оформлять отдельными PR. Rollback: revert release commit отдельным PR в master и повторный frontend deploy.

Выкладка

PR смёржен в master: 19439e6d359d37ae1bca4a0d7d4b57d4337869fc. Deploy to server завершился успешно, включая CI checks и rsync.

https://app.procollab.ru/ и новые main-KKFKRI2U.js / styles-IQCTYWW6.css отвечают HTTP 200 с корректными MIME types; имена assets совпадают с логом этой сборки. Рабочая ветка чистая, tree master совпадает с проверенным release commit.

@TThanos3000
TThanos3000 merged commit 19439e6 into master Oct 10, 2026
@TThanos3000
TThanos3000 deleted the release/prod-mobile-responsive-20261010 branch October 10, 2026 15:03
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.

2 participants