Commit Graph
121 Commits
Author SHA1 Message Date
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
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