diff --git a/openspec/changes/add-webclient-and-clean-footer/.openspec.yaml b/openspec/changes/add-webclient-and-clean-footer/.openspec.yaml deleted file mode 100644 index 2e24cfa..0000000 --- a/openspec/changes/add-webclient-and-clean-footer/.openspec.yaml +++ /dev/null @@ -1,2 +0,0 @@ -schema: spec-driven -created: 2026-09-07 diff --git a/openspec/changes/add-webclient-and-clean-footer/design.md b/openspec/changes/add-webclient-and-clean-footer/design.md deleted file mode 100644 index 52906ce..0000000 --- a/openspec/changes/add-webclient-and-clean-footer/design.md +++ /dev/null @@ -1,40 +0,0 @@ -## Goals - -1. Веб-клиент рядом с GtS: чтение и написание постов из браузера без - сторонних приложений. -2. Убрать ЛГБТ-символы из подвала всех страниц, проверять при апгрейде. - -## Non-Goals - -- Не менять GtS изнутри (fork, патч бинаря). -- Не использовать тяжёлые клиенты (Elk — сборка из исходников, радужная - символика в UI). -- Не поднимать отдельный Mastodon-сервер. - -## Decisions - -### Клиент: Phanpy (openengineering/phanpy:latest) - -- Статический SPA, минимализм, нейтральный (без ЛГБТ-символики в UI). -- Образ официальный, свежий (автосборка main, 2026-09-05). -- Не требует сборки у нас; образ с nginx-раздачей статики. -- CORS уже `*` на GtS → работа с API из любого origin. - -### Публикация: web.dedinit.ru (Caddy на vps02) - -- Caddyfile (vps02, docker caddy): `web.dedinit.ru { reverse_proxy 10.8.0.2:8383 }`. -- TLS авто через Caddy (как остальные домены). - -### Порт/сеть - -- Контейнер phanpy на bigbox: порт 8383, сеть gotosocial_default? Нет — - отдельный сетевой мост, доступ извне через vps02 (как GtS). -- Обычно Phanpy не хранит ничего на диске (localStorage в браузере), - volume не нужен. - -### Чистка подвала - -- Кастомный page_footer.tmpl в /opt/gotosocial/web/template/, смонтирован - volume в контейнер поверх /gotosocial/web/template/page_footer.tmpl. -- Скрипт проверки при обновлении: docs/check-pride.sh — docker cp шаблонов, - grep по эмодзи, fail при наличии. \ No newline at end of file diff --git a/openspec/changes/add-webclient-and-clean-footer/proposal.md b/openspec/changes/add-webclient-and-clean-footer/proposal.md deleted file mode 100644 index 9a4cb5e..0000000 --- a/openspec/changes/add-webclient-and-clean-footer/proposal.md +++ /dev/null @@ -1,34 +0,0 @@ -## Why - -1. На https://social.dedinit.ru/login предлагается использовать сторонние клиенты - (Elk, Tusky и т.п.), но при отсутствии настроенных устройств нечем читать и - писать посты с браузера. Нужен собственный веб-клиент, поднятый контейнером - рядом с GtS. -2. В подвале страниц отображаются ЛГБТ-символы (🏳️‍🌈, 🏳️‍⚧️, 🦥) из - дефолтного шаблона GtS. Пользователь против такой символики (в РФ это - незаконно) — убрать её со всех страниц и проверять при обновлении версии - контейнера. - -## What Changes - -1. Поднять контейнер веб-клиента Phanpy (лёгкий, нейтральный Mastodon-клиент, - статический SPA) рядом с GtS в docker-compose; опубликовать на - web.dedinit.ru через Caddy (vps02). -2. Заменить шаблон подвала GtS (page_footer.tmpl) на кастомный без радужных - эмодзи; добавить проверку при обновлении образа GtS. - -## How - -- GtS уже отдаёт CORS `access-control-allow-origin: *` → Phanpy (SPA) сможет - ходить на API с любого origin, включая web.dedinit.ru. -- Phanpy: официальный docker-образ openengineering/phanpy:latest (свежий, - автосборки) — статика на nginx. -- Caddy на vps02: добавить блок web.dedinit.ru → 10.8.0.2:8383. -- Шаблон: docker cp дефолтного page_footer.tmpl → правим → монтируем volume - в контейнер (уже реализовано, проверить). - -## Risks - -- Phanpy — сторонний клиент; работает через Mastodon API, CORS уже `*` на GtS. -- Обновления GtS могут менять структуру шаблонов — проверять совместимость - page_footer.tmpl (скрипт check-pride.sh). \ No newline at end of file diff --git a/openspec/changes/add-webclient-and-clean-footer/tasks.md b/openspec/changes/add-webclient-and-clean-footer/tasks.md deleted file mode 100644 index b56f72a..0000000 --- a/openspec/changes/add-webclient-and-clean-footer/tasks.md +++ /dev/null @@ -1,22 +0,0 @@ -## Context - -- Инстанс: social.dedinit.ru (GtS 0.22.1, docker bigbox), account-domain dedinit.ru. -- Прокси: Caddy docker-контейнер на vps02 (87.242.100.206), GtS → 10.8.0.2:8082. -- CORS на GtS API: `access-control-allow-origin: *`. -- Шаблон подвала уже исправлен (page_footer.tmpl смонтирован volume, проверено - на /@kpa39l: флагов нет). - -## Tasks - -- [x] 1.1 Добавить сервис phanpy в docker-compose.yml (образ openengineering/phanpy:latest, порт 8383) -- [x] 1.2 Поднять контейнер, проверить, что статика отдаётся (curl localhost:8383 → HTTP 200, title Phanpy) -- [x] 1.3 Добавить блок web.dedinit.ru в Caddyfile на vps02 → 10.8.0.2:8383, reload caddy - (понадобился docker restart caddy: bind-mount одиночного файла не live-sync'ится) -- [x] 1.4 Проверить web.dedinit.ru: страница Phanpy загружается (HTTP 200, TLS от Caddy), - API-запросы без CORS-ошибок (preflight 204, allow-origin: *) — пользователь залогинился ✅ -- [x] 2.1 Проверить, что подвал на всех страницах чист (grep по 🏳️🌈🏳️⚧️ → 0 на /, /login, /about, /@kpa39l) -- [x] 2.2 Написать scripts/check-pride.sh + check-pride.py (docker cp шаблонов + детект юникода, - fail при наличии; проверен на чистом каталоге exit=0 и на файле с флагами exit=1) -- [x] 2.3 Задокументировать процедуру проверки при обновлении GtS в STATUS.md -- [x] 3.1 Валидация change: openspec validate add-webclient-and-clean-footer → valid -- [ ] 3.2 Коммит + пуш (gotosocial), архив change \ No newline at end of file diff --git a/openspec/changes/add-webclient-and-clean-footer/specs/gotosocial/webclient-and-clean-footer/spec.md b/openspec/specs/gotosocial/webclient-and-clean-footer/spec.md similarity index 81% rename from openspec/changes/add-webclient-and-clean-footer/specs/gotosocial/webclient-and-clean-footer/spec.md rename to openspec/specs/gotosocial/webclient-and-clean-footer/spec.md index f54e04d..0e76b59 100644 --- a/openspec/changes/add-webclient-and-clean-footer/specs/gotosocial/webclient-and-clean-footer/spec.md +++ b/openspec/specs/gotosocial/webclient-and-clean-footer/spec.md @@ -1,10 +1,9 @@ -## Why +# gotosocial/webclient-and-clean-footer Specification -На `/login` инстанса предлагается использовать сторонние клиенты, но нет -собственного веб-клиента для чтения/написания постов из браузера. В подвале -страниц отображаются ЛГБТ-символы из дефолтного шаблона, которые нужно убрать. +## Purpose +TBD - created by archiving change add-webclient-and-clean-footer. Update Purpose after archive. -## ADDED Requirements +## Requirements ### Requirement: Веб-клиент рядом с GtS @@ -43,4 +42,4 @@ - **GIVEN** обновляется image GtS - **WHEN** выполняется scripts/check-pride.sh - **THEN** скрипт скачивает шаблоны новой версии и проверяет их на флаги -- **THEN** при обнаружении флагов выводится ошибка (нужна правка шаблона) \ No newline at end of file +- **THEN** при обнаружении флагов выводится ошибка (нужна правка шаблона)