145 Commits
Author SHA1 Message Date
DenozordecandCursor a64d8b9755 fix(topology): спрямить HA-линии и не показывать RR без пула
Docker / build (push) Failing after 19s
Membership идёт bezier по ближайшей грани; клик по сервису выделяет VPS-членов. Badge HA только при двух уникальных origin IP.

Co-authored-by: Cursor <[email protected]>
2026-09-01 15:09:19 +07:00
DenozordecandCursor 5a61ce33b4 feat(topology): вынести сервис CFDM в отдельный узел со связями членства
Docker / build (push) Failing after 23s
Co-authored-by: Cursor <[email protected]>
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 <[email protected]>
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 <[email protected]>
2026-09-01 00:14:36 +07:00
DenozordecandCursor 6e401533c7 feat(launcher): полный список ipregion на MikroTik (ros-8)
Docker / build (push) Failing after 27s
40 сервисов как у Linux: primary, custom и CDN. Имена совпадают с vernette/ipregion.

Co-authored-by: Cursor <[email protected]>
2026-08-26 19:27:28 +07:00
DenozordecandCursor adea0ab070 fix(launcher): собирать ingest JSON MikroTik вручную (ros-7)
Docker / build (push) Failing after 23s
RouterOS serialize ломал тело POST. ros-7 пишет JSON строкой и печатает префикс при ошибке ingest.

Co-authored-by: Cursor <[email protected]>
2026-08-26 16:30:47 +07:00
DenozordecandCursor f53ca1ed7d fix(launcher): принимать JSON-массив results от MikroTik
Docker / build (push) Failing after 28s
RouterOS serialize превращает results в объект с ключами 0,1 — API отвечал 400. ros-6 собирает массив, ingest принимает оба формата.

Co-authored-by: Cursor <[email protected]>
2026-08-26 15:59:30 +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 <[email protected]>
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 <[email protected]>
2026-08-26 10:55:17 +07:00
DenozordecandCursor 72aad059bd fix(launcher): выпускать пробы MikroTik через выбранный WAN
Docker / build (push) Failing after 24s
src-address недостаточно при нескольких default route: добавляем policy routing и снимаем правила после прогона.

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

Co-authored-by: Cursor <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
2026-08-25 15:54:04 +07:00
DenozordecandCursor 235ae03489 feat(geo): добавить раздел IP-регионов
Docker / build (push) Failing after 26s
Co-authored-by: Cursor <[email protected]>
2026-08-25 15:16:17 +07:00
DenozordecandCursor 60a22b9450 feat(blocking): определять и показывать хостер в матрице блокировок
Docker / build (push) Failing after 26s
Co-authored-by: Cursor <[email protected]>
2026-08-25 13:19:02 +07:00
DenozordecandCursor efebcaf16d feat(blocking): добавить шкалу снимков над матрицей
Docker / build (push) Failing after 24s
Co-authored-by: Cursor <[email protected]>
2026-08-25 12:32:46 +07:00
DenozordecandCursor 9254b8dc22 fix(blocking): удержать горизонтальный скролл матрицы внутри страницы
Co-authored-by: Cursor <[email protected]>
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 <[email protected]>
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 <[email protected]>
2026-08-22 16:06:49 +07:00
DenozordecandCursor ca7f37f980 fix(censorcheck): показывать прогресс-бар во время проверки сайтов
Docker / build (push) Failing after 21s
JSON остаётся в stdout, бар пишет в stderr; launcher больше не перехватывает прогресс.

Co-authored-by: Cursor <[email protected]>
2026-08-22 11:15:18 +07:00
DenozordecandCursor 8ec1ccfecc fix(censorcheck): восстановить vendor-скрипт и ставить зависимости по ОС
Сломанный here-doc съел is_installed; launcher определяет дистрибутив и ставит jq/dig/column без prompt, скрипты отдаются с LF.

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

Co-authored-by: Cursor <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
2026-08-06 22:53:35 +07:00
Denozordec c14cf3953e fix(tests): enhance fetch mocks and type safety in settings and audit tests
Docker / build (push) Failing after 30s
Updated fetch mocks in settings and audit test files to improve type safety by specifying the fetch type. Adjusted handling of mock call parameters to ensure proper access to request options. This enhances test reliability and clarity in error handling scenarios.
2026-08-02 19:52:18 +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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
2026-07-21 17:57:43 +07:00
DenozordecandCursor a02daba69b feat(audit): dual-write журнала в auth-portal ingest
Docker / build (push) Failing after 23s
Добавлены event_id/actorUserId и async push source_app=vps без блокировки CRUD.

Co-authored-by: Cursor <[email protected]>
2026-07-21 13:24:30 +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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
2026-07-20 00:47:28 +07:00
DenozordecandCursor b7a4a10333 feat(billmanager): профили ihor, cloudrix, servhost, landvps, datacheap
Docker / build (push) Failing after 19s
Гео из datacentername, specs через vds.order/vds.edit; парсер ДЦ/городов РФ.

Co-authored-by: Cursor <[email protected]>
2026-07-20 00:30:15 +07:00
DenozordecandCursor 11a0a85ff0 feat(billmanager): гео Waicore из datacentername
Docker / build (push) Failing after 20s
Страна и город VPS из `[DE] Город | …` и `Страна, Город` через enrichVds.

Co-authored-by: Cursor <[email protected]>
2026-07-20 00:08:35 +07:00
DenozordecandCursor 4c6240c636 feat(sync): FirstByte daily paidUntil из баланса и гео 4VPS
Docker / build (push) Failing after 21s
Для daily FirstByte считать dailyRate из cost/30 и общий paidUntil по балансу аккаунта; для 4VPS парсить страну/город из dc_name+flag.

Co-authored-by: Cursor <[email protected]>
2026-07-19 23:26:50 +07:00
DenozordecandCursor 83ed3b8a42 feat(billmanager): профиль FirstByte — ДЦ, оплата и specs VPS
Docker / build (push) Failing after 19s
Парсинг страны/города и paidUntil из list vds; CPU/RAM/диск из vds.order по pricelist_id, иначе vds.edit.

Co-authored-by: Cursor <[email protected]>
2026-07-19 22:38:33 +07:00
DenozordecandCursor 4dda77f118 feat(billmanager): унифицированные профили хостеров (waicore vds.vps)
Docker / build (push) Failing after 20s
Overrides по apiBaseUrl: DEFAULT + partial merge; Waicore использует func=vds.vps.

Co-authored-by: Cursor <[email protected]>
2026-07-19 22:15:13 +07:00
DenozordecandCursor 6f0a238c95 fix(ui): закрепить кнопку Сохранить в футере FormSheet
Docker / build (push) Failing after 19s
Контент формы скроллится отдельно, футер остаётся видимым.

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

Co-authored-by: Cursor <[email protected]>
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 <[email protected]>
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 <[email protected]>
2026-07-19 04:54:42 +07:00