| 2026-09-20 |
feat(frontend): переименование в GNexus Tasks, тайтлы страниц
...
- Сервис «gntodo» → «GNexus Tasks»: brand топбара, kicker шапок видов,
subtitle навигации (ru/en/uk), index.html, PWA-манифест (short_name Tasks)
- taskui: APP_NAME + setPageTitle(); тайтлы через meta.title роутов
(afterEach в main.ts) — «{страница} — GNexus Tasks»
- TaskView/ProjectView уточняют тайтл после загрузки (watchEffect):
заголовок задачи / имя проекта
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
| 2026-09-19 |
M6: PWA — manifest, service worker, иконки
...
- vite-plugin-pwa (generateSW, autoUpdate): precache оболочки приложения
- manifest: standalone, иконки 192/512 + maskable
- /api, /auth, /mcp не кэшируются (данные — всегда онлайн)
- вложения и /assets — CacheFirst с лимитом 30 дней
- лимит precache поднят до 6 МБ (CSS кита/phosphor ~4 МБ)
- оффлайн-режим данных — открытый вопрос ТЗ 8.4, пока не реализуем
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
20 hours ago
|
Интеграция gnexus-ui-kit в SPA
...
- kit.css + phosphor icons в main.ts, глобальная регистрация через GnexusUiVue
- vite-плагин: /assets кита (шрифты/иконки) — middleware в dev, копирование в build
- App.vue: GnNavigationShell + GnToastProvider, nav через items с router-ссылками
- StackView: GnPageHeader/GnInput/GnButton/GnCard/GnBadge/GnTextarea/GnSelect/
GnCheckbox/GnEmptyState/GnAlert/GnIconButton — ноль сырых кнопок и полей
- TreeView: заготовка на GnEmptyState
- d.ts-декларации для JS-пакета кита
- правило в CLAUDE.md: максимум готовых Gn*-компонентов
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
21 hours ago
|
Порты разработки: фронтенд 15134 (5173 занят), CORS и дефолт redirect_uri синхронизированы
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
21 hours ago
|
Порт API 8134 вместо 8000; креды локального SSO в .env (не коммитится)
...
- Dockerfile, nginx, vite proxy, README — единый нестандартный порт 8134
- тест redirect привязан к gauth_base_url из настроек, а не к прод-хосту
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
21 hours ago
|
M0: OAuth-флоу через gnexus-gauth
...
- /auth/login → redirect на SSO с PKCE, /auth/callback → обмен code, сессия-cookie
- /auth/logout, /auth/me, защищённый /api/me
- SessionMiddleware (подписанная HttpOnly cookie, секрет из окружения)
- frontend: Войти/Выйти в навбаре, proxy /auth на backend
- тесты: health, защита API, redirect с state/PKCE
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
21 hours ago
|
M0: каркас проекта
...
- ТЗ v0.3 (docs/TZ.md): требования, модель данных, архитектура, вехи
- backend: FastAPI-скелет (health), конфиг из окружения, интеграция gnexus-gauth
- frontend: Vue 3 + Vite + TypeScript, каркас SPA (стек/дерево), gnexus-ui-kit
- Docker: Dockerfile'ы, docker-compose (postgres/api/web), nginx с /api-прокси
- Гейты: ruff + mypy strict (pass), vue-tsc + vite build (pass)
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
21 hours ago
|