docs: BUILD-f7.md — сборочная среда (Node 22.17), воспроизводимость подтверждена (55/65 бандлов = офиц. релиз), разбор downstream-правок glb (брендинг dev-f7 + патч Listener.php)
This commit is contained in:
+1
-39
@@ -1,39 +1 @@
|
||||
# Exclude npm stuff
|
||||
/build
|
||||
/node_modules
|
||||
|
||||
# PHP Code Sniffer
|
||||
/vendor
|
||||
/vendor-bin/*/vendor
|
||||
/lib/Vendor
|
||||
/.php-cs-fixer.cache
|
||||
|
||||
# Local docs
|
||||
/site
|
||||
|
||||
# Karma/jasmine coverage data
|
||||
/coverage
|
||||
/tests/php/coverage-html
|
||||
/tests/php/clover.xml
|
||||
/tests/php/.phpunit.result.cache
|
||||
/tests/integration/vendor
|
||||
/tests/integration/output
|
||||
/drone
|
||||
/findings.sarif
|
||||
|
||||
# PHP Dev server output (integration tests)
|
||||
/tests/integration/phpserver*.log
|
||||
|
||||
# Compiled frontend assets
|
||||
/css
|
||||
/js
|
||||
|
||||
# VScode settings
|
||||
/.vscode
|
||||
*.code-workspace
|
||||
|
||||
# JetBrains IDEs settings
|
||||
/.idea
|
||||
|
||||
# JetBrains Fleet settings
|
||||
/.fleet
|
||||
/node_modules/
|
||||
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
# Сборка форка 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 — только маркер версии, обкатка конвейера.
|
||||
Reference in New Issue
Block a user