136 Commits
Author SHA1 Message Date
DenozordecandClaude Opus 5.5 68c5774df9 chore(release): выставить версию 1.0.0 во всех пакетах
Docker / build (push) Failing after 21s
- version 1.0.0 во всех package.json monorepo
- версия в GET /health и в меню пользователя (vite define)
- Docker: тег vX.Y.Z собирает образ :X.Y.Z и :X.Y, latest остаётся за main
- README: как закрепить версию образа

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 09:41:50 +07:00
DenozordecandClaude Opus 5.5 85ac5b15cb docs: переснять скриншоты после доработок UI и описать шкалу времени
Docker / build (push) Failing after 21s
Скриншоты сняты заново на демо-данных с неделей истории проверок.
В docs/features.md — навигация по точкам измерений и новые матрицы
блокировок и GeoIP. В мониторе цвет текста предупреждений читается
в светлой теме (*-foreground, как в KPI).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 03:09:49 +07:00
DenozordecandClaude Opus 5.5 8ae07628c6 feat(web): шкала времени и наглядные матрицы на страницах блокировок и GeoIP
- шкала по часовым точкам измерений: капсулы с долей проблемных прогонов,
  пресеты «Сейчас / −1 ч / −6 ч / −24 ч / −7 д», кнопки и клавиши ← →
- статусы блокировок — цветные IconTile, короткие подписи сервисов
  с иконками брендов, колонка «Доступно X из Y» с полосой
- GeoIP: флаги стран в ячейках, расхождение с большинством подсвечено,
  колонка «Страна · совпадает N/M»; расхождения считаются по сервисам
- флаг страны VPS в первой колонке, фильтры и вид в шапке матрицы
- демо-данные: неделя истории прогонов по полному списку сервисов

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 03:06:21 +07:00
DenozordecandClaude Opus 5.5 a4a8b9562d feat(web): унифицировать таблицы по раскладке MikrotikManager v2
- поиск и фильтры страниц перенесены в шапку рамки рядом с заголовком,
  ListFiltersBar стал однострочным тулбаром
- шапка таблицы с подложкой, строки без зебры (общий kitDataGridTableLayout)
- у таблиц заголовки и подписи из досок макета
- IP в списке VPS моноширинным шрифтом и без обрезки, компактная
  иконка в ячейке-названии

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 03:06:21 +07:00
DenozordecandClaude Opus 5.5 148ef8efb7 feat(web): привести «Внимание» и KPI к макету и EvoBGP
- монитор в шапке: пилюля «Внимание ●N ●M», в попапе сводка сбой /
  предупреждения / в норме, список проблем со ссылками, плитки метрик
  с полосами и время обновления
- KPI одной полосой в Frame с разделителями 1px, как доски макета

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 02:47:38 +07:00
DenozordecandClaude Opus 5.5 a26647a52d fix(web): пересчитывать «Баланс API» на дашборде в базовую валюту
KPI складывал балансы аккаунтов в разных валютах как есть (46,8 EUR +
1120 RUB показывалось как 1166,80 ₽). Теперь каждый баланс переводится
в базовую валюту с учётом курса хостера.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 23:18:16 +07:00
DenozordecandClaude Opus 5.5 a70955f90d docs(ui): отметить статус экранов в плане миграции и заголовок грида VPS
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 22:07:49 +07:00
DenozordecandClaude Opus 5.5 166abb03b1 fix(web): крошки деталей, контраст warning и тёмный сайдбар на телефоне
Детальные VPS и проекта показывают «раздел / запись» в крошках, warning-значения
KPI читаемы в светлой теме, мобильный сайдбар в светлой теме остаётся тёмным,
заголовки групп не попадают в Tab-порядок свёрнутого меню.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 22:06:39 +07:00
DenozordecandClaude Opus 5.5 9483e1122d fix(web): учесть reduced motion у шеврона групп меню
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 22:03:14 +07:00
DenozordecandClaude Opus 5.5 e3403bcb56 feat(web): перевести настройки, VPS-детали и журнал на вкладки из дизайна VPS-Tracker
Настройки — line-вкладки сверху вместо боковой навигации, детали VPS —
line-вкладки и действия в шапке, журнал — общие CountedLineTabs, шапка
страницы 20px. Детальные маршруты VPS и проекта вынесены из вложенности
(vps_.$vpsId, projects_.$projectId): списки не рендерят Outlet, и детали
не открывались.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 22:02:04 +07:00
DenozordecandClaude Opus 5.5 b5300b9082 feat(web): перевести shell и дашборд на дизайн VPS-Tracker
Сворачиваемые группы меню с точками проблем, приложения в AppSwitcher вместо
AppsMenu в шапке, пилюля монитора со счётчиками, KPI со значением и бейджем
в одной строке, вкладки дашборда на уровне страницы.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 21:57:47 +07:00
DenozordecandClaude Opus 5.5 10b20b9d55 feat(web): перевести тему на палитру и шрифты Geist из дизайна VPS-Tracker
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 21:53:04 +07:00
DenozordecandCursor a64d8b9755 fix(topology): спрямить HA-линии и не показывать RR без пула
Docker / build (push) Failing after 19s
Membership идёт bezier по ближайшей грани; клик по сервису выделяет VPS-членов. Badge HA только при двух уникальных origin IP.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 15:09:19 +07:00
DenozordecandCursor 5a61ce33b4 feat(topology): вынести сервис CFDM в отдельный узел со связями членства
Docker / build (push) Failing after 23s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 14:20:09 +07:00
DenozordecandCursor 4dc5609f17 feat(topology): добавить группы сервисов CFDM на схему
Docker / build (push) Failing after 20s
Сервис ставится существующей группой с Badge типа резервирования; sync сохраняет lbMode.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 11:30:40 +07:00
DenozordecandCursor 29325179f4 fix(ui): привести таблицы к стилю ReUI PRO
Docker / build (push) Failing after 23s
Статусы через ReUI Badge, колонка действий — outline-меню без pin-slab.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 00:14:36 +07:00
DenozordecandCursor d7bcd0d4ec fix(launcher): показывать ошибку ingest MikroTik и повторять без src-address
Docker / build (push) Failing after 23s
RouterOS скрывает HTTP 4xx как fetch error. ros-5 печатает код и тело ответа, затем повторяет POST без src-address.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 14:09:19 +07:00
DenozordecandCursor ecd053b832 fix(launcher): упростить пробы MikroTik до переменной vt-srcIp
Docker / build (push) Failing after 26s
Убраны автоопределение интерфейса и policy routing: исходный IP задаётся вручную на каждом роутере.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 10:55:17 +07:00
DenozordecandCursor a9e3cce113 feat(launcher): требовать интерфейс для проверок MikroTik
Docker / build (push) Failing after 22s
Все пробы и ingest идут через src-address выбранного WAN, scheduler сохраняет vtIface.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 00:22:25 +07:00
DenozordecandCursor c844874b0a feat(launcher): добавить скрипты GEO и blocking для MikroTik 7.22+
Docker / build (push) Failing after 27s
Пробы выполняются на роутере через /tool fetch и уходят в те же ingest API. Ежедневный запуск ставит scheduler, который каждый день заново качает .rsc со свежим токеном.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 17:47:04 +07:00
DenozordecandCursor b03318800f feat(launcher): добавить ежедневный запуск проверок cc и ic
Docker / build (push) Failing after 24s
Флаг --daily ставит cron, который раз в сутки заново качает launcher со свежим токеном. Снять: --remove-daily.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 16:18:14 +07:00
DenozordecandCursor 7480b9dc11 fix(geo): распознать CDN-локации и добавить иконки сервисов
Docker / build (push) Failing after 22s
CDN-значения вида SE (ARN) больше не помечаются как ошибка. У каждого GeoIP-сервиса — бренд-иконка, как в разделе блокировок.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 15:54:04 +07:00
DenozordecandCursor 235ae03489 feat(geo): добавить раздел IP-регионов
Docker / build (push) Failing after 26s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 15:16:17 +07:00
DenozordecandCursor 60a22b9450 feat(blocking): определять и показывать хостер в матрице блокировок
Docker / build (push) Failing after 26s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 13:19:02 +07:00
DenozordecandCursor efebcaf16d feat(blocking): добавить шкалу снимков над матрицей
Docker / build (push) Failing after 24s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 12:32:46 +07:00
DenozordecandCursor 9254b8dc22 fix(blocking): удержать горизонтальный скролл матрицы внутри страницы
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 12:32:38 +07:00
DenozordecandCursor a5f83c6ecb fix(ui): выровнять header pin и матрицу блокировок под ReUI v9
Docker / build (push) Failing after 25s
Kit больше не перебивает defaults примитива: header без серой полосы, CRUD с table-fixed. Матрица /blocking получает sticky identity, иконки сервисов и статусы без текста ОК/Блок.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-22 21:47:58 +07:00
DenozordecandCursor 5847188dc7 feat(ui): перевести DataGrid на ReUI v9 и матрицу блокировок
Docker / build (push) Failing after 26s
Обновить registry data-grid на TanStack Table v9 и показать статус DPI компактной матрицей по VPS и сервисам.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-22 16:06:49 +07:00
DenozordecandCursor 5c43d88f1a feat(censorcheck): добавить статус блокировок и launcher curl | bash
Docker / build (push) Failing after 25s
Прогон с VPS через HMAC-токен матчится к существующим серверам; UI /blocking показывает текущие проверки и историю.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-22 10:52:22 +07:00
DenozordecandCursor 9e0311b53a feat(settings): добавить Bot API URL и ячейку ошибок уведомлений
Docker / build (push) Failing after 26s
Монитор больше не ставит «Внимание» по скрытому счётчику. Telegram можно слать через локальный telegram-bot-api.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-22 02:29:07 +07:00
DenozordecandCursor 55014105f5 fix(ui): выровнять chrome Frame KPI и доступность
Docker / build (push) Failing after 22s
Унифицировать оболочку ops-экранов, IconTile, skip-link и контракт UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-17 15:36:53 +07:00
Denozordec edf1da165a feat(reui): update ReUI components and documentation to reflect 20 building blocks
Docker / build (push) Failing after 19s
- Expanded the ReUI skill description to include 20 free building blocks.
- Updated references in various documentation files to reflect the new count of components.
- Enhanced the data-grid documentation to specify the use of TanStack Table v9.
- Added new component details, including the icon-tile, and clarified usage instructions across multiple files.

This update improves clarity and ensures that all references are consistent with the latest component offerings.
2026-08-07 16:40:14 +07:00
DenozordecandCursor 54f3587b45 feat(web): клик по проекту, копирование IP и доступ к серверу
Docker / build (push) Failing after 27s
Исправить выбор пространства через SelectField; режимы share/assign и отзыв grant.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 22:53:35 +07:00
DenozordecandCursor d4d59f4b8e fix(integrations): sync только по сохранённым cfdmApiUrl и токену
Docker / build (push) Failing after 18s
Убран fallback на локальный App Switcher (192.168.x). URL из portal подставляется в форму для сохранения; кнопка sync требует URL в БД.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 00:46:28 +07:00
DenozordecandCursor c5198cdd7f fix(integrations): pull bindings из CFDM вместо обратного push
Docker / build (push) Failing after 19s
Устраняет fetch failed при ручном sync, когда CFDM не может достучаться до VPS Tracker. Ошибки показывают URL; UI подсказывает URL из App Switcher.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 00:36:04 +07:00
Denozordec fd2d5f39c0 feat(settings): add CFDM API URL handling and improve integration form
Docker / build (push) Failing after 22s
Introduced a new test to verify the persistence of the CFDM API URL via the settings endpoint. Updated the integration form to reflect saved credentials more clearly, enhancing user feedback for the API URL and integration token. Improved sync button behavior to prevent actions without saved credentials. Updated settings schema to include CFDM API URL validation.
2026-08-01 00:20:59 +07:00
Denozordec b8ee99ca03 fix(settings): update CFDM sync tests and improve error handling
Docker / build (push) Failing after 21s
Renamed test cases for clarity and added new tests for handling missing CFDM URL and token scenarios. Removed unnecessary checks in the sync request function to streamline the process. Updated integration form to ensure proper boolean handling for settings. Enhanced sync button behavior based on saved credentials.
2026-08-01 00:07:50 +07:00
DenozordecandCursor 033557a859 feat(integrations): добавить ручной sync с CFDM
Docker / build (push) Failing after 22s
Кнопка в настройках запрашивает полную выгрузку bindings из CFDM.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 23:24:04 +07:00
Denozordec 5bbf0061cf feat(data-grid): add sorting function support for DataGridColumn and update vps tariff calculations
Docker / build (push) Failing after 22s
Enhanced DataGridColumn interface to include a sorting function option. Updated the frame-data-grid component to utilize the new sorting function. Introduced a new function for calculating comparable daily rates for VPS tariffs, improving the accuracy of monthly burn calculations. Updated the VpsPage to implement the new sorting function and daily rate logic.
2026-07-31 17:00:25 +07:00
Denozordec 53d5ed5d33 refactor(vps): update vCPU, RAM, and disk fields to allow decimal values
Docker / build (push) Failing after 21s
Changed the step attribute for NumberField components in the VpsEditSheet to "any" for vCPU, RAM, and disk inputs. Updated the vpsSchema to accept real numbers for vCPU, diskGb, and bandwidthTb. Adjusted database schema to store vCPU, diskGb, and bandwidthTb as REAL instead of INTEGER for better precision.
2026-07-31 16:46:26 +07:00
DenozordecandCursor 72f9597ede feat(audit): показывать человекочитаемые имена VPS в журнале
Docker / build (push) Failing after 19s
Вместо сырого ID — dns/ip (и name для хостера/аккаунта/проекта); id остаётся в title и деталях.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 18:10:43 +07:00
DenozordecandCursor c849dd5ff8 feat(audit): гибрид timeline и таблицы журнала изменений
Docker / build (push) Failing after 18s
Лента в стиле solution-users-6 с раскрываемым diff; переключение на ResourcePage.
Исправлено: монитор считает ошибку синка только по последней записи аккаунта.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 17:57:43 +07:00
DenozordecandCursor 9faec59338 feat(web): унифицировать ReUI PRO — ResourcePage, KpiStatGrid, chrome
Docker / build (push) Failing after 20s
Списки на ResourcePage, KPI на EvoBGP hybrid KpiStatGrid; удалены DataGridCard/SectionCards/ModeToggle; обновлены rules, skill и design contract.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 00:22:49 +07:00
DenozordecandCursor 8a4934940f fix(dashboard): не копировать оценку расходов на все месяцы
Docker / build (push) Failing after 20s
Оценка burn только за текущий месяц; KPI совпадает с convertVpsMonthlyBurnToBase.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 01:00:11 +07:00
DenozordecandCursor d25beec289 fix(dashboard): запас дней по paidUntil вместо balance/burn
Docker / build (push) Failing after 20s
Переименован Runway в «Запас дней»; минимум дней до оплаты активных VPS.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 00:47:28 +07:00
DenozordecandCursor 6f0a238c95 fix(ui): закрепить кнопку Сохранить в футере FormSheet
Docker / build (push) Failing after 19s
Контент формы скроллится отдельно, футер остаётся видимым.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 20:41:42 +07:00
DenozordecandCursor 42c567e5b5 fix(spaces): не закрывать ConfirmDialog при удалении из меню
Docker / build (push) Failing after 20s
Диалог вынесен из DropdownMenu, иначе размонтировался вместе с меню.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 18:14:44 +07:00
DenozordecandCursor 670b5a4468 feat(spaces): корзина, hard purge, transfer и полный backup
Docker / build (push) Failing after 20s
Soft-delete/restore/purge пространств, смена владельца, импорт JSON с spaces, proxy portal-users и polish Settings/ConfirmDialog.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 12:50:18 +07:00
DenozordecandCursor 74af90270f feat(settings): переработать страницу на ReUI Frame
Docker / build (push) Failing after 21s
Разбить монолитную Card-форму на вкладки Общие/Синхронизация/Уведомления/Интеграции с SettingRow и SettingsCard по эталонам settings-16/3/2.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 04:54:42 +07:00
DenozordecandCursor e079a61811 fix: EmptyState по центру и импорт SQLite без 413
Docker / build (push) Failing after 19s
Центрирование заглушек в графиках/Frame; лимит тела backup 100 MiB;
WAL checkpoint при экспорте и очистка -wal/-shm при импорте.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 04:41:42 +07:00