Maxim Dolgolyov
2e9a0ebfb1
feat(panel): обновление из репо, обслуживание БД, авто-прунинг, цветные логи и Сторож
...
- [U] Обновление из репозитория: бэкап -> git pull --ff-only -> npm install -> миграции
-> рестарт -> health-check; при провале миграций/health предлагает откат (git reset --hard
+ восстановление БД из свежего бэкапа). Текущая версия (git short-hash + subject) в шапке.
- [M] Обслуживание БД: backend/scripts/db-maintain.js (node:sqlite) — integrity_check ->
WAL checkpoint(TRUNCATE) -> VACUUM; VACUUM пропускается на битой БД. Авто-бэкап + стоп/старт.
- Авто-прунинг бэкапов: Backup-Db хранит последних 10 (Prune-Backups), Copy-DbFrom вынесен
общим (реюз в Restore-Db и откате обновления), запоминается путь последнего бэкапа.
- Живые логи: отдельный tools/tail-logs.ps1 — раскраска уровней (ERROR/FATAL красным,
WARN жёлтым, успех зелёным) вместо сырого tail; вынос из inline-команды (PS 5.1 quoting).
- Экран «Сторож»: дашборд в рамке с перерисовкой — статус-маркер, счётчики проверок/
перезапусков, последнее событие; выход по клавише.
Все .ps1 — UTF-8 BOM, парсинг OK; db-maintain протестирован на копии БД (10.7->10.5 МБ);
рендер-смоук подтвердил выравнивание.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 23:10:52 +03:00
Maxim Dolgolyov
27f51f1a61
style(panel): дашборд с рамкой, цветной статус-маркер, сгруппированное меню
...
UI консольной панели:
- Закрытая рамка из box-символов (╔═╗║╠╣╚╝) вместо голых ===; правый бордюр выровнен
на всех строках (хелперы B-Top/B-Mid/B-Bot/B-Line + B-Status с цветным маркером ●).
- Статус-блок: ● зелёный РАБОТАЕТ / серый ОСТАНОВЛЕН, health цветом по состоянию,
строка БД (размер · юзеры · миграция-номер · бэкапов), Node/JWT/LLM/время обновления, URL.
- Меню в две выровненные колонки СЕРВЕР | ОБСЛУЖИВАНИЕ (ключи голубые, подписи серые),
отдельная строка ДИАГНОСТИКА; промпт с ▶.
Чистый рефактор отрисовки — логика switch/функции не тронуты. UTF-8 BOM, парсинг OK,
рендер-смоук показал ровное выравнивание.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 23:00:02 +03:00
Maxim Dolgolyov
6eefb70ce7
feat(panel): бэкап/восстановление БД, умный статус, создать админа, watchdog
...
control-panel.ps1 расширена:
- Бэкап БД [B] (копия learnspace.db+wal/shm с датой в data/backups) и восстановление [R]
(выбор из списка, страховочная копия .pre-restore, авто-стоп/старт сервера).
- Умный статус: health-пинг /api/health (+ms), размер БД, кол-во пользователей, последняя
миграция (db-status.js), версия Node, сводка .env (CLIENT_ORIGIN/JWT/LLM). Кэш в .
- Создать админа [A] → scripts/create-admin.js (bcrypt, upsert role=admin, busy_timeout).
- Сторож [W]: авто-перезапуск при падении (выход по клавише). Логи в backend/logs (не %TEMP%),
[E] ошибки из логов.
Фиксы PS 5.1: порт/путь БД читаются из .env (inline node -e с кавычками 5.1 ломает); db-status
вынесен в файл-скрипт; миграция по filename DESC; UTF-8 BOM, парсинг OK. Меню — лат.+рус. клавиши.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 22:40:45 +03:00
Maxim Dolgolyov
d63c99cae9
chore(brand): убрать «BQ-System», оставить только LearnSpace
...
Бренд продукта = LearnSpace. Убрано «BQ-System»/«LearnSpace / BQ-System» из:
- банеров и комментариев запускатора/панели (control-panel/launch-server.ps1, *.bat);
- заголовка CLAUDE.md;
- планов ct-math (PLAN/README).
Путь-каталог (cd BQ-System в SETUP.md, папка на диске) и .claude-настройки — не трогаю
(это локальные пути, не брендинг). ps1 пересохранены в UTF-8 с BOM, парсинг OK.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 17:01:53 +03:00
Maxim Dolgolyov
eed8343977
chore(tools): панель управления сервером + stop-server.bat
...
control-panel.bat → tools/control-panel.ps1: меню-консоль (статус с PID/портом/
аптаймом, старт/стоп/перезапуск, живые логи в отдельном окне, миграции, npm test,
lint:routes, открыть сайт). Сервер запускается в фоне (Start-Process hidden, логи в
%TEMP%) и переживает закрытие панели. stop-server.bat → control-panel.ps1 -Stop.
ps1 в UTF-8 с BOM. Проверено: -Start при работающем сервере → «уже работает».
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 16:33:53 +03:00