Commit Graph
138 Commits
Author SHA1 Message Date
Denozordec 5060b78875 feat(readme): добавлен раздел о развертывании с Traefik и Cloudflare HTTPS
Docker / build (push) Failing after 20s
Обновлен оглавление и добавлен новый раздел с пошаговой инструкцией по развертыванию контейнера VPS Tracker с использованием Traefik и Cloudflare для HTTPS. Включены ссылки на необходимые файлы и команды для настройки.
2026-07-19 04:08:57 +07:00
DenozordecandCursor 03e951af18 feat(app-switcher): читать конфиг из auth-portal вместо локального editor
Docker / build (push) Failing after 18s
CURRENT_APP_ID vps; настройка ссылок только на портале.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 20:59:03 +07:00
DenozordecandCursor 54ffed6e57 fix(auth): выходить через портал /logout вместо SSO return_to
Docker / build (push) Failing after 17s
Иначе живая сессия портала сразу возвращала JWT в приложение.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 18:37:05 +07:00
DenozordecandCursor 51a52cbf79 fix(topology): бейджи над линией и вытаскивание из группы
Docker / build (push) Failing after 21s
Легенда связи смещена выше stroke; убран extent parent, чтобы узлы можно было вынести из группы.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 18:00:37 +07:00
DenozordecandCursor 7f3371591e feat(topology): Badge-подписи связей и parent-child группы
Docker / build (push) Failing after 19s
Связи показывают тип, подпись, протокол и IP туннеля вместе; группы на заднем слое, узлы внутри прилипают к группе.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 17:46:49 +07:00
DenozordecandCursor e18d3b4ce6 feat(topology): флаг страны на VPS-узле схемы
Docker / build (push) Failing after 21s
В левом верхнем углу карточки сервера показывается флаг по стране расположения, как у Timeweb.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 17:31:22 +07:00
DenozordecandCursor 56556ea736 feat(topology): редактирование параметров блоков, групп и связей
Docker / build (push) Failing after 23s
Клики по фигурам, заметкам, группам и рёбрам открывают FormSheet с параметрами, как у VPS-узлов.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 17:27:47 +07:00
DenozordecandCursor 1f24dbe2a5 fix(topology): починить клик и DnD палитры схемы
Docker / build (push) Failing after 19s
uid без crypto.randomUUID на HTTP; источники DnD через div; клик ставит узел в центр.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 17:15:50 +07:00
DenozordecandCursor 72a51b22fd fix(web): корректно определять Lucide-иконки в EmptyState
Docker / build (push) Failing after 19s
forwardRef-иконки lucide-react больше не рендерятся как ReactNode (ошибка #31).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 17:05:07 +07:00
DenozordecandCursor da818fe104 feat(topology): добавить схему инфраструктуры на React Flow
Docker / build (push) Failing after 19s
Редактор схем с VPS-нодами, связями и персистом в SQLite по space.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 16:52:36 +07:00
DenozordecandCursor c90b42c9c4 fix(web): реактивно переключать пространство через SpaceProvider
Docker / build (push) Failing after 18s
localStorage не вызывал re-render; useSpaceId + remount main по spaceId.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 16:15:52 +07:00
DenozordecandCursor a61b352f0a fix(auth): остановить SSO-цикл редиректов после handoff
Docker / build (push) Failing after 19s
Cooldown 12с между portal handoff и страница sso_loop вместо бесконечного редиректа.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 16:08:50 +07:00
DenozordecandCursor 47c1f37912 fix(web): починить SpaceSwitcher #31 и добавить NavUser в footer
Docker / build (push) Failing after 21s
DropdownMenuLabel только внутри Group; аккаунт в SidebarFooter по app-shell-1.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 15:58:31 +07:00
DenozordecandCursor e360efb885 feat(spaces): добавить изолированные пространства и multi-user
Docker / build (push) Failing after 20s
Полная изоляция данных по space, Share (ACL) и Assign, switcher и участники в UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 15:42:54 +07:00
DenozordecandCursor f26b2c8777 fix(auth): убрать SSO-цикл на /auth/callback после replaceState
Docker / build (push) Failing after 18s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 14:09:21 +07:00
DenozordecandCursor 812aa614df fix(auth): редирект на portal по runtime /api/auth/config при 401
Docker / build (push) Failing after 20s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 13:49:36 +07:00
Denozordec 84cc800d54 fix(web): улучшить адаптивность сетки графиков и дашборда
Docker / build (push) Failing after 22s
Добавлены классы для двухколоночного макета в компоненты ChartsGrid и OpsDashboard, улучшая отображение на больших экранах. Теперь элементы будут более эффективно использовать доступное пространство.
2026-07-18 13:26:16 +07:00
DenozordecandCursor f8e13a4a72 fix(web): вернуть графики дашборда в один ряд на десктопе
Docker / build (push) Failing after 23s
ChartsGrid снова lg:grid-cols-2 — Платежи и Расходы рядом на широких экранах.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 01:17:35 +07:00
DenozordecandCursor da97abce41 fix(web): графики дашборда на всю ширину
Docker / build (push) Failing after 19s
Убран двухколоночный layout ChartsGrid и секции аналитики OpsDashboard — Платежи и Расходы идут столбцом full-width.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 00:58:05 +07:00
DenozordecandCursor d0c515767a fix(web): выровнять ReUI Badge light-варианты с CFDM
Docker / build (push) Failing after 20s
Чипы «Система / Внимание» в SystemMonitorPopover теперь с той же рамкой и тонами, что в CFDM.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 00:15:45 +07:00
Denozordec d04630a7d1 feat(web): улучшить компоненты PageHeader и AppShell, добавить TooltipProvider
Docker / build (push) Failing after 18s
- Обновлены стили компонента PageHeader для более компактного отображения описания.
- Внедрён TooltipProvider в AppShell для улучшения взаимодействия с пользователем.
- Изменён размер боковой панели на 240px для согласованности с дизайном.
- Обновлена документация интерфейса для отражения изменений в компонентах.
2026-07-17 23:56:26 +07:00
Denozordec 29e096862a feat(web): обновить AppShell и добавить новый элемент EvoBGP в App Switcher
Docker / build (push) Failing after 20s
- Обновлены стили компонента AppShell для улучшения макета и адаптивности.
- Добавлен новый элемент EvoBGP в конфигурацию App Switcher с соответствующими параметрами.
- Обновлена документация интерфейса для отражения изменений в AppShell и новых элементах навигации.
2026-07-17 23:14:35 +07:00
Denozordec 267aa1c230 refactor(web): обновить стили компонента SystemMonitorPopover для улучшения макета
Docker / build (push) Failing after 19s
- Изменены классы в компоненте SystemMonitorPopover, чтобы использовать flexbox для более компактного и организованного отображения содержимого.
- Обновлены стили для улучшения визуального представления и взаимодействия с пользователем.
2026-07-17 20:34:01 +07:00
DenozordecandCursor d52c633d90 feat(web): добавить поддержку быстрого доступа на дашборде и обновить настройки интерфейса
Docker / build (push) Failing after 19s
- Внедрён компонент QuickActionGrid для отображения часто используемых разделов на дашборде, управляемый настройкой showQuickActions.
- Добавлен новый параметр showQuickActions в схему настроек для управления видимостью быстрого доступа.
- Обновлён интерфейс настроек для включения переключателя отображения быстрого доступа.
- Добавлен компонент SystemMonitorPopover в заголовок приложения для мониторинга системы.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 20:32:59 +07:00
DenozordecandCursor 9c43b45245 refactor(web): улучшить компоненты KpiStatGrid и KpiStatCardBody для более компактного отображения
Docker / build (push) Failing after 18s
- Обновлены стили и структура компонентов KpiStatGrid и KpiStatCardBody для улучшения визуального представления.
- Изменены классы и добавлены новые стили для более гибкого и компактного макета.
- Обновлена документация для отражения изменений в интерфейсе и описания нового визуального представления KPI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 18:36:47 +07:00
DenozordecandCursor 52665843d6 feat(web): обновить компоненты KpiStatGrid и SectionCards для улучшения интерфейса
Docker / build (push) Failing after 19s
- Добавлен новый тип KpiStatVariant для управления визуальными состояниями карточек KPI.
- Обновлены компоненты SectionCards и KpiStatGrid для поддержки новых свойств, таких как iconClassName и footer с Badge.
- Изменены стили и логика отображения для улучшения визуального представления и взаимодействия с пользователем.
- Обновлена документация для отражения изменений в интерфейсе.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 17:14:55 +07:00
DenozordecandCursor 35e5d8430d feat(web): обновить компоненты и добавить новые элементы интерфейса
Docker / build (push) Failing after 22s
- Добавлены новые правила для использования ReUI и обновлены существующие правила.
- Внедрены новые компоненты, такие как Frame, Alert, IconStack и DetailPanel, для улучшения интерфейса.
- Обновлены существующие компоненты, включая DataGridCard и EmptyState, с использованием новых элементов.
- Добавлены новые утилиты для фильтрации данных и управления состоянием.
- Обновлен .gitignore для исключения файлов окружения.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 15:30:16 +07:00
DenozordecandCursor a11fbc6efd fix(web): заполнить график расходов на дашборде
Docker / build (push) Failing after 19s
Учитывать списания из журнала баланса и не-пополнения; при отсутствии истории показывать оценку по активным VPS. Год по умолчанию — текущий.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 21:25:14 +07:00
DenozordecandCursor 77099b9ab0 feat(web): переработать дашборд по эталону REUI
Docker / build (push) Failing after 19s
Привести layout к эталону: alert с CTA, 6 KPI в ряд, помесячные графики платежей и расходов с фильтром года.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 20:57:43 +07:00
DenozordecandCursor 0e9a6a6a21 feat: интеграция с CF Domain Manager
Docker / build (push) Failing after 22s
Синхронизация bindings в vps_domains с привязкой по IP, API приёма с Bearer-токеном, настройки и App Switcher из SQLite, UI доменов на VPS и уведомление CFDM при vps_down.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 16:45:16 +07:00
DenozordecandCursor 2b01063279 chore(web): обновить дефолтные URL App Switcher для prod
Docker / build (push) Failing after 19s
VPS Tracker — http://192.168.100.67:3001, CF Domain Manager — http://192.168.100.67:6363.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 16:01:40 +07:00
DenozordecandCursor eed73a39f0 fix(web): убрать MenuGroupLabel из App Switcher
Docker / build (push) Failing after 20s
Заголовок меню — обычный div вместо DropdownMenuLabel, чтобы исключить Base UI error #31 в production.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 15:45:44 +07:00
DenozordecandCursor eaa5db38bf fix(web): исправить Base UI error #31 в App Switcher
Docker / build (push) Failing after 21s
DropdownMenuLabel перенесён внутрь DropdownMenuGroup; для внешних ссылок добавлен nativeButton={false}.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 15:32:22 +07:00
DenozordecandCursor ea9c996838 feat(web): добавить App Switcher для перехода между приложениями
Docker / build (push) Failing after 21s
Dropdown в sidebar с настраиваемым списком ссылок через VITE_APP_SWITCHER и дефолтами для VPS Tracker и CF Domain Manager.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 15:11:53 +07:00
DenozordecandCursor 7c777bffc2 fix(web): расширить select размера страницы для значения 100
Docker / build (push) Failing after 20s
Заменить фиксированную ширину w-14 на min-w-18, чтобы трёхзначные значения не обрезались.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 13:06:53 +07:00
DenozordecandCursor 5c1c94bc57 fix(web): UX/UI аудит — пагинация, a11y, settings и TruncatedText
Docker / build (push) Failing after 20s
Исправить обрезку Select в пагинации DataGrid, health-mode zero-results, подтверждение импорта бэкапа и унифицировать tooltip на обрезанном тексте.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 12:53:16 +07:00
DenozordecandCursor 447d499a8d feat(projects): переработать проекты и отчётность по проектам
Docker / build (push) Failing after 20s
Добавлены карточка проекта, KPI и фильтры на /projects, отчёты с разрезом по проектам, cascade rename и защита удаления на API.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 19:21:04 +07:00
DenozordecandCursor 0bcea39868 fix(web): объединить типы пополнения на графике платежей
Docker / build (push) Failing after 19s
topup и provider_balance_topup из разных API — один тип; добавлена легенда с русскими подписями.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 18:34:30 +07:00
DenozordecandCursor 46267669ce fix(web): корректная валюта VPS в отчётах по месячным расходам
Docker / build (push) Failing after 23s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 18:08:27 +07:00
DenozordecandCursor 5998887148 fix(veesp): читать acc_credit вместо acc_balance при получении баланса
Docker / build (push) Failing after 24s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 15:43:54 +07:00
DenozordecandCursor 0682dd0e2f fix(web): не отправлять Content-Type на DELETE без тела
Docker / build (push) Failing after 21s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 15:32:18 +07:00
DenozordecandCursor 60332db1e4 fix(web): конвертировать тарифы VPS в базовую валюту настроек
Docker / build (push) Failing after 21s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 15:19:22 +07:00
DenozordecandCursor 9a29d88b95 feat(api, web): интеграция RuVDS API v2
Docker / build (push) Failing after 21s
Синк VPS, баланса, платежей и тарифов через Bearer-токен из личного кабинета.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 14:10:15 +07:00
DenozordecandCursor ce6414c65f fix(veesp): обновление IP, характеристик и валюты при повторном синке
Docker / build (push) Failing after 21s
Перезапись vcpu/ram/disk/ip на update, fetch VM ips, приоритет валюты из balance API.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 12:10:47 +07:00
DenozordecandCursor 5983c911f2 fix(veesp): IP и характеристики VPS при синке, валюта аккаунта
Docker / build (push) Failing after 21s
Парсинг object-map ответов API (vms/ips), cpus, memory в МБ, IP-массив.
Приоритет валюты аккаунта над baseCurrency хостера; поле в UI для Veesp.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 11:50:25 +07:00
DenozordecandCursor 87aa6949b3 fix(userapi): период тарифа Macloud и отображение ставки на списке VPS
Docker / build (push) Failing after 1m45s
Месячные планы Macloud определяются через inferPlanPeriod; в UI показывается суточная или месячная ставка по tariffType, а не месячный эквивалент.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 11:21:44 +07:00
DenozordecandCursor 579c00392d feat(api, web): интеграция Veesp client area API
Docker / build (push) Has been cancelled
Добавлен отдельный модуль veesp для синка VPS, баланса, счетов и тарифов через JWT/Basic auth.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 10:25:12 +07:00
DenozordecandCursor b15e10f117 fix(userapi): корректно определять суточные ставки Macloud/VDSina при синке
Docker / build (push) Has been cancelled
Учитываются server-group, full_cost при нулевом cost и неактивные тарифные планы из индекса.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 10:04:42 +07:00
DenozordecandCursor 031fc3aaa0 fix(userapi): валюта и ставки Macloud/VDSina при синке
Docker / build (push) Has been cancelled
Валюта VPS берётся из baseCurrency хостера, ставки — из тарифных планов с fallback и parsePlanCost. На списке VPS цены в валюте провайдера. Расширен parseTariffPrice для форматов UserAPI. Добавлены фильтры на странице тарифов.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 02:48:04 +07:00
DenozordecandCursor 6c5eb04fae fix(userapi): подтягивать стоимость VPS Macloud/VDSina из тарифных планов
Docker / build (push) Has been cancelled
При синке UserAPI цена и период берутся по server-plan.id из индекса тарифов, а не остаются нулевыми.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 02:23:34 +07:00