Files
f7_talk/BUILD-f7.md
T

38 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Сборка форка f7_talk (Nextcloud Talk / spreed)
Форк ветки nextcloud/spreed. Базовый апстрим — **v22.0.12** (тег `v22.0.12-upstream`),
совместим с NC 32.0.5 (glb, forbion). Обновления с официальной ветки НЕ берём (решение владельца
2026-07-06) — источник версии Talk теперь этот репозиторий.
## Сборочная среда (проверено на nd3, 2026-07-06)
- Node **22.17.0** + npm **10.9.2** (package.json engines: node ^22, npm ^10.5). На nd3 ставится
в userspace: `/home/foradmin/f7-build/node-v22.17.0-linux-x64` (не системный).
- Зависимости фронтенда: `npm ci` по `package-lock.json` (воспроизводимо).
- Сборка: `NODE_OPTIONS=--max-old-space-size=8192 npm run build` (rspack, production) → каталог `js/`.
На 16 vCPU / 20 ГБ занимает ~20 с; 4 warning'а (olm.wasm __dirname/__filename) — безвредны.
## Воспроизводимость (подтверждена)
Наша сборка из исходников v22.0.12 сверена с ОФИЦИАЛЬНЫМ релизным артефактом
`nextcloud-releases/spreed v22.0.12`:
- **55 из 65** `.js`-бандлов — байт-в-байт идентичны.
- Расхождения: 10 файлов = `.map` (source maps, не грузятся клиентом) + `talk-collections.js`,
где отличается ТОЛЬКО порядок двух minifier-переменных (`p`/`d`) — недетерминизм минификатора,
функционально эквивалентно. Вывод: собранный нами Talk = официальному 22.0.12.
## Что на боевом glb отличается от стока (правки downstream, НЕ наши в форке)
Установленный на glb spreed = сток 22.0.12 + преобразования f7-брендинга (владелец — dev-f7,
их generalize/theme-конвейер), а НЕ ручной патч ядра:
- `l10n/*` (110 файлов): строки Nextcloud→F7cloud, ссылки docs;
- `img/*` (27): фавиконки/иконки бренда; `css/talk-main.css`: одна @media-правка;
- `js/*` (7 бандлов): namespace `http://nextcloud.com/ns``https://f7cloud.ru/ns` + бренд-строки;
- **единственный функциональный патч PHP**: `lib/Notification/Listener.php` — форс языка `ru`
для push-уведомлений больших звонков (упрощение: fallbackLang='ru', userLanguages=[]).
Вывод для форка: брендинг остаётся ПОСТ-сборочным шагом dev-f7 (их зона), либо переносится в форк
отдельным коммитом по согласованию. Патч Listener.php логично инкорпорировать в форк как наш.
## Релизы форка
Версии `22.0.12-f7.N`. Пайплайн: изменение → `npm ci && npm run build` → смок-чеклист на стенде →
деплой glb → золотой шаблон (dev-f7). app id `spreed`, схема БД, OCS API v4/bot v1/HMAC — НЕ трогаем
(транскрипция R5, HPB, мобильные клиенты). Первый релиз f7.1 — только маркер версии, обкатка конвейера.