From 2e3eaad31faaeef6ae9f9680847bb5f01deb1d9b Mon Sep 17 00:00:00 2001 From: glb_adm Date: Mon, 6 Jul 2026 14:18:33 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20BUILD-f7.md=20=E2=80=94=20=D1=81=D0=B1?= =?UTF-8?q?=D0=BE=D1=80=D0=BE=D1=87=D0=BD=D0=B0=D1=8F=20=D1=81=D1=80=D0=B5?= =?UTF-8?q?=D0=B4=D0=B0=20(Node=2022.17),=20=D0=B2=D0=BE=D1=81=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B8=D0=B7=D0=B2=D0=BE=D0=B4=D0=B8=D0=BC=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BF=D0=BE=D0=B4=D1=82=D0=B2=D0=B5=D1=80=D0=B6?= =?UTF-8?q?=D0=B4=D0=B5=D0=BD=D0=B0=20(55/65=20=D0=B1=D0=B0=D0=BD=D0=B4?= =?UTF-8?q?=D0=BB=D0=BE=D0=B2=20=3D=20=D0=BE=D1=84=D0=B8=D1=86.=20=D1=80?= =?UTF-8?q?=D0=B5=D0=BB=D0=B8=D0=B7),=20=D1=80=D0=B0=D0=B7=D0=B1=D0=BE?= =?UTF-8?q?=D1=80=20downstream-=D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D0=BA=20glb?= =?UTF-8?q?=20(=D0=B1=D1=80=D0=B5=D0=BD=D0=B4=D0=B8=D0=BD=D0=B3=20dev-f7?= =?UTF-8?q?=20+=20=D0=BF=D0=B0=D1=82=D1=87=20Listener.php)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 40 +--------------------------------------- BUILD-f7.md | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 39 deletions(-) create mode 100644 BUILD-f7.md diff --git a/.gitignore b/.gitignore index 6001188..2ccbe46 100644 --- a/.gitignore +++ b/.gitignore @@ -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/ diff --git a/BUILD-f7.md b/BUILD-f7.md new file mode 100644 index 0000000..cdef6ce --- /dev/null +++ b/BUILD-f7.md @@ -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 — только маркер версии, обкатка конвейера.