Крупные KPI-кнопки и вкладка «Все» заменены на ToggleGroup: фильтр занимает меньше места и не сбрасывает последний источник.
Co-authored-by: Cursor <cursoragent@cursor.com>
Пробы CNAME больше не ключуются hostname: цель разворачивается до origin/пула, а уже сохранённый статус по CNAME копируется на IP сервиса.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Added useEffect to set tooltip portal for improved rendering.
- Introduced UptimeDelta component to streamline delta display logic.
- Updated ChartTooltip to utilize ChartTooltipContent for better formatting of tooltip data.
- Refactored chart margin and overflow properties for improved layout consistency.
- Added new endpoints for listing and checking service certificates, improving visibility into SSL status.
- Integrated certificate monitoring options into service binding updates, allowing for flexible SSL management.
- Updated the service detail grid to include SSL monitoring controls, enhancing user interaction with certificate settings.
- Refactored related components and schemas to support the new certificate features, ensuring consistency across the application.
- Improved test coverage for certificate functionalities, validating the new features and ensuring reliability.
- Added optional props `emptyTitle` and `emptyDescription` to HealthTimeline for customizable empty state messages.
- Refactored HealthSourceTiles to export `HEALTH_PROVIDER_ITEMS` and introduced a new `HealthProviderStatusTiles` component for improved health monitoring.
- Updated UptimeChart to support period selection and filtering, enhancing data visualization capabilities.
- Improved ServiceDetailPage by integrating HealthProviderStatusTiles and ServiceHealthMonitor for better service health insights.
- Updated the service health log retrieval to include a limit parameter, improving performance and control over log data.
- Refactored the ServiceUnitCard component to export the LbModeTile function, enhancing reusability across the application.
- Simplified routing for service health and nodes pages by redirecting to the service overview, improving user navigation.
- Enhanced the service detail page with additional state management and mutation hooks for better service configuration handling.
- Removed unused components and streamlined the service routing and subdomains pages for improved clarity and maintainability.
- Added `bg-muted` class to FramePanel in ServiceUnitCard for improved visual consistency.
- Updated documentation to reflect the new background color setting for FramePanel, enhancing clarity on component usage.
- Introduced `lb_mode` to specify the load balancing strategy for services, supporting options like round robin, failover, and weighted.
- Added `active_ips` to track currently active IPs for each service, enhancing visibility into service health and configuration.
- Updated relevant components to display load balancing mode and active IPs, improving user experience and service management capabilities.
- Replaced div elements with Item components in ServiceIpList for better alignment and structure.
- Introduced alignWithMenu prop to align IP Switch with the card menu.
- Updated ServiceUnitCard to utilize Item components, enhancing the visual consistency and responsiveness of the service card layout.
- Improved overall user experience by streamlining component structure and ensuring proper alignment of UI elements.
- Removed unused imports and alerts related to Cloudflare, Globalping, and Local health checks from the HealthCheckConfigFields component.
- Simplified the logic for rendering health check sources and improved layout responsiveness by adding min-width classes.
- Introduced new Cloudflare and Globalping SVG icons for better visual representation in the HealthSourceTiles component.
- Refactored the TilePanel component to enhance its structure and ensure proper handling of minimum width for child elements.
This commit streamlines the health check configuration UI, improving maintainability and user experience.
Worker сам ходит на origin по Cron Trigger; CFDM кладёт цели в KV и забирает результаты без POST /probe.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Added new health worker URL and token fields to the AppConfig interface, allowing for Cloudflare Worker integration.
- Updated health check routes to utilize the new worker configuration, enabling dynamic health checks via Cloudflare Workers.
- Introduced a health log endpoint for services, providing detailed logs of health probe results.
- Enhanced health check service logic to support both local and Cloudflare Worker providers, improving flexibility in health monitoring.
- Updated UI components to reflect changes in health check provider settings and display relevant health information.
This commit significantly improves the health check management capabilities, allowing for better integration with Cloudflare Workers and enhanced logging features.
- Added functionality to toggle individual IPs for services, allowing for dynamic management of IP health status.
- Enhanced the health check configuration in the UI, enabling users to set parameters directly from the settings page.
- Updated service views to include IP health tracking, improving visibility into the status of each IP associated with a service.
- Refactored relevant components to support the new IP toggling feature, ensuring a seamless user experience.
This commit significantly enhances the health management capabilities of services, providing users with more control over IP configurations and health monitoring.
- Introduced IP health tracking in service views, allowing for detailed monitoring of individual IP statuses and latencies.
- Updated the service configuration to include an `ip_health` array, providing structured health data for each IP.
- Enhanced the `attachServiceHealth` function to aggregate IP health data alongside overall service health.
- Modified relevant components to display IP health information, improving visibility and user experience in service management interfaces.
This commit significantly improves the health monitoring capabilities of services, enabling better insights into the status of individual IPs associated with each service.
- Removed unused imports and refactored the ServiceEditSheet component to enhance readability and maintainability.
- Introduced new utility functions for managing service binding drafts and handling common FQDN changes.
- Updated the ServiceCatalogSection to improve layout responsiveness and enhance the display of service units.
- Simplified the ServiceUnitCard component by removing unnecessary elements and optimizing the layout for better user experience.
This commit improves the overall structure and functionality of service management components, making them more efficient and user-friendly.
- Added a common FQDN input field in the ServiceEditSheet to streamline domain management for services.
- Updated binding handling to synchronize the common domain across service bindings.
- Improved the ServiceKanbanCard to display both common domain and IP addresses for better visibility.
- Refactored the ServiceFqdnList to support customizable text classes and added a new ServiceIpList component for IP display.
This commit enhances the user experience by simplifying domain management and improving the display of service information.
- Enhanced the ServiceFqdnList component to support a copyable feature, allowing users to easily copy FQDNs to the clipboard.
- Updated the ServiceKanbanCard to utilize the new copyable functionality in the FQDN list.
- Refined the services grouped catalog logic to improve data handling and display.
- Removed the obsolete services-grouped-columns file to streamline the codebase.
This commit improves user experience by facilitating easier access to FQDNs and optimizing service management components.
- Introduced a new HealthProviderToggle component to manage health check providers (local/cloudflare) in the UI.
- Updated health check configuration to include additional parameters such as retries and consecutive success/failure counts.
- Improved the service edit and group edit sheets to support the new health check provider options.
- Enhanced documentation to clarify the use of ACTIONS_PAT and GITEA_TOKEN for wiki updates.
This commit improves the health check management experience and expands the configuration options for better service monitoring.
- Introduced origin health check routes and integrated them into the application.
- Updated health check configuration to include success recovery thresholds.
- Expanded error handling with new error codes for health check failures.
- Added new service routes for managing health checks, including creation and listing.
- Improved health check service logic to track consecutive successes and failures.
This commit enhances the health check capabilities, providing better monitoring and management of service health.
Соседние Frame-колонки как в EvoBGP вместо вложенной оболочки; compact empty через IconTile elevated; счётчики ReUI Badge.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Added new dependencies for @tanstack/router-cli and updated related packages in pnpm-lock.yaml.
- Modified the build script in package.json to include `tsr generate` for route generation.
- Enhanced the wiki update job in Gitea Actions to use a fallback for the GITEA_TOKEN and improved the authorization method for pushing changes.
- Updated .dockerignore to clarify generated files.
This commit improves the build process and ensures smoother updates to the wiki documentation.
- Removed Dockerfile and Dockerfile.test as part of the transition to a pre-built image.
- Updated .dockerignore and .gitignore to reflect new build context and ignored files.
- Modified docker-compose.yml to use the new image for the application.
- Enhanced documentation in AGENTS.md and README.md to include CI/CD details and release process.
- Added new dependencies for commit linting and semantic release in package.json and pnpm-lock.yaml.
This commit streamlines the Docker setup and improves the CI/CD workflow with Gitea Actions.
- Changed service creation to default `enabled` to true in the database schema.
- Updated service group schema to set default values for `icon`, `domain`, and health check parameters.
- Refactored service routes to use `await` for fetching service views, ensuring proper asynchronous handling.
- Improved error handling in service groups query to provide clearer feedback on response validation.
This commit enhances the overall service management experience by ensuring services are enabled by default and improving the robustness of the service group schema.
CNAME-bindings отдавали пустой ips[]; теперь IP берутся из локальной цепочки bindings, DNS resolve4 или IP сервиса — чтобы vps-tracker мог матчить домен к VPS.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ручной sync работает через pull: VPS Tracker получает bindings в ответе и не зависит от обратного push. Уточнены сообщения об ошибках сети.
Co-authored-by: Cursor <cursoragent@cursor.com>
Исправить prune при domains: [], показать все FQDN в каталоге/kanban, улучшить sheet привязок и панель на домене; убрать мёртвый код.
Co-authored-by: Cursor <cursoragent@cursor.com>
Updated .gitignore to exclude the daemon.pid file from version control. Modified daemon.pid to reflect a new process ID and updated the timestamp for the last start time.
Синхронизированы KpiStatGrid/QuickActionGrid (kpi-cols), design contract и ReUI skill; ReUI PRO выше shadcn в rules.
Co-authored-by: Cursor <cursoragent@cursor.com>
Группы с health-check без verify_tls исключаются из мониторинга сертификатов; list/summary чистят stale. FormSheet — sticky footer со скроллом тела.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduced a new `verify_tls` boolean option in health check configurations across various services, allowing users to specify whether to validate TLS certificates during health checks. Updated related components and services to accommodate this new option, ensuring proper handling in both the backend and frontend. Enhanced tests to validate the new functionality and ensure correct behavior with different configurations.
Added `healthProbeGapMs` configuration to control the minimum pause between probes to different physical targets. Updated health check service to utilize this configuration, ensuring efficient probing without overwhelming the targets. Enhanced the `runAllChecks` function to group probes by physical IP and implement the new gap logic. Updated related tests to validate the new functionality.
Added new utility functions `hostForUrl` and `buildHttpProbeUrl` to improve URL construction for health checks. Updated `httpProbe` to utilize these functions, ensuring proper handling of FQDN and IP addresses. Enhanced tests to validate the new URL building logic and ensure correct behavior with different hostnames and IPs.
Updated authentication flow to use redirectToPortalLogout instead of redirectToPortalLogin in NavUser and AppearanceSettingsPage components. Introduced redirectToPortalLogout function to handle SSO session termination and redirect users to the logout URL.
Added support for portal SSO with JWT authentication and local admin login. Updated environment configuration to include AUTH_REQUIRED, AUTH_JWT_SECRET, AUTH_ISSUER, and AUTH_PORTAL_URL. Enhanced the auth plugin to handle JWT verification based on the new configuration. Introduced new routes for authentication and updated the API client to manage token handling and redirects. Improved user experience by integrating authentication checks across various routes and components.
Обновлены компоненты AppSidebar и PageHeader для улучшения структуры и адаптивности. В AppSidebar добавлен новый элемент SidebarGroupContent для более четкой организации навигации. В PageHeader упрощена разметка и улучшены стили, включая изменения в отображении заголовка и описания. Также обновлены стили в AppShell для интеграции SearchMenu и TooltipProvider, что улучшает взаимодействие с пользователем.
Добавлен новый элемент управления для EvoBGP в конфигурацию AppSwitcher с соответствующими иконкой и ярлыком. Обновлены стили и документация для Shared App Shell chrome, включая ссылки на новые превью и улучшения в компоновке. Изменены классы CSS для AppShell и PageShell для лучшей адаптивности.
Изменены классы CSS в компоненте SystemMonitorPopover для применения flexbox, что улучшает организацию и адаптивность содержимого. Это изменение направлено на улучшение визуального представления и взаимодействия с пользователем.
Добавлен новый маршрут для страницы настроек внешнего вида в интерфейсе. Обновлены компоненты навигации и заголовка для поддержки нового маршрута. Включены изменения в документацию и интерфейсы для отображения новых элементов управления. Также добавлена поддержка отображения быстрого доступа к разделам в панели управления.
Обновлены компоненты KpiStatCardBody и KpiStatGridSkeleton для улучшения визуального представления и компоновки. Изменены классы CSS для более компактного и адаптивного отображения, добавлены новые элементы для лучшей организации информации. Обновлена документация для отражения изменений в дизайне KPI карточек.
Обновлены компоненты CertKpiCards, DomainKpiCards, GroupKpiCards и ServiceKpiCards для поддержки новых вариантов отображения ('warning' и 'destructive') в зависимости от состояния данных. Также обновлен интерфейс KpiStatCard для включения свойства variant. Обновлены ссылки в документации для отражения изменений в дизайне KPI карточек.
Заменены ссылки на блоки card-35 на stats-12 в документации и компонентах, включая KpiStatGrid, CertKpiCards, DomainKpiCards, GroupKpiCards и ServiceKpiCards. Удален неиспользуемый компонент AppCard. Добавлены иконки для улучшения визуализации KPI.
Co-authored-by: Cursor <cursoragent@cursor.com>
SubdomainEditSheet на FormSheet+RHF+Zod; FormField hint через FieldDescription; service-edit на Field/Item примитивы.
Co-authored-by: Cursor <cursoragent@cursor.com>
Bulk toolbar на Frame/muted; availability на Field+Item; domain detail на CountedLineTabs; group detail с DetailPanel.
Co-authored-by: Cursor <cursoragent@cursor.com>
Перевести AppBadge/AppAlert и потребители на @/components/reui; EmptyState — IconStack в духе empty-state-12.
Co-authored-by: Cursor <cursoragent@cursor.com>
Item-rows с status Badge и Collapsible-формами для App Switcher и VPS Tracker; SettingsShell — spacing/header в духе settings-9.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Added children prop to CountedLineTabs for improved flexibility in rendering additional content.
- Introduced CompactNumberField for better handling of numeric inputs in HealthCheckConfigFields, enhancing user experience.
- Refactored ServiceEditSheet and ServiceGroupEditSheet to utilize CountedLineTabs and streamline health check configurations.
- Updated SettingRow component to simplify its export and improve code organization.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Removed unnecessary useRef and useEffect hooks from PageShell, OpsDashboard, ResourcePage, SettingsShell, and other components to simplify code and improve maintainability.
- Updated components to utilize direct className assignments for layout without relying on refs for width logging.
- Introduced CountedLineTabs in various components to enhance tab functionality and improve user experience.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Added health status and latency fields to service and domain schemas, enhancing monitoring capabilities.
- Implemented health status aggregation for services in the API, allowing for improved health checks and reporting.
- Updated web components to display health status using HealthCheckBadge, improving user visibility of service health.
- Refactored service and domain management components to incorporate health status in various views, enhancing overall functionality.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Integrated domain monitoring routes and bulk update functionality for domains in the API.
- Improved health check service to include domain monitoring and logging of health status changes.
- Updated web components to reflect health status with new HealthCheckBadge and enhanced domain filtering options.
- Refactored domain service to support bulk updates and improved domain management capabilities.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Eliminated the logLayout function from OpsDashboard to streamline the code and improve maintainability.
- Adjusted dependencies in the useEffect hook to reflect the removal of the logging functionality.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Refactored OpsDashboard to encapsulate layout metrics logging in a dedicated function, improving code clarity and maintainability.
- Updated metrics logging to include SVG dimensions for better analytics.
- Enhanced ChartContainer to utilize ResizeObserver for dynamic sizing, ensuring charts render correctly within their containers.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Removed unnecessary height classes from CertStatusChart and GroupDomainsChart for better responsiveness.
- Enhanced KpiStatCardItem to improve interactivity with clearer button and link structures.
- Added metrics logging in OpsDashboard for better tracking of layout performance.
- Updated ChartContainer to ensure full width and height for responsive design.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Added margin to TabsList in ServiceEditSheet for better spacing.
- Updated comments in ResourcePage to clarify tab styling.
- Enhanced Tabs component to support horizontal and vertical orientations with appropriate data attributes for better styling control.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Changed CardContent and inner divs in c-tabs-2 to use flexbox for improved spacing and layout consistency.
- Refactored KPI card creation in DashboardPage to eliminate useMemo, simplifying the code structure and enhancing readability.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Updated frontend UI patterns documentation to reflect new components and their usage.
- Enhanced CertKpiCards for better KPI visualization and streamlined data handling.
- Refactored OpsDashboard and ResourcePage for improved layout consistency and loading states.
- Introduced CatalogBoardToggle for better navigation between views in the Groups and Services pages.
- Improved Tabs component styles for better responsiveness and accessibility.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Refactored TabsList and TabsTrigger components to enhance styling and responsiveness.
- Updated class names to ensure consistent appearance across different tabs, including adjustments for active states and background properties.
- Improved accessibility and visual feedback for active tab selections in the ResourcePage and AutomationLibraryGridView components.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Updated frontend UI patterns documentation to include new ReUI components and improved navigation instructions.
- Enhanced AppSidebar to utilize active state management for better user experience.
- Refactored layout components in the ReUI kit for improved spacing and alignment.
- Introduced KanbanBoardSkeleton for loading states in Kanban boards.
- Improved OpsDashboard and ResourcePage with consistent header layouts and enhanced accessibility features.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Updated the CertificatesPage to include a new CertKpiCards component for improved KPI visualization.
- Refactored filter handling and state management for better user experience.
- Introduced new status options and enhanced filtering capabilities in certificates columns.
- Updated the OpsDashboard to utilize KpiStatGrid for displaying key metrics.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Integrated debug logging in main application file to track boot process.
- Added layout width logging in PageShell and various ReUI components to monitor rendering dimensions.
- Implemented chart size logging in dashboard analytics components for better performance insights.
- Enhanced OpsDashboard and ResourcePage with width tracking to improve layout responsiveness.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Updated AppSwitcherEditor to include item separators for better visual organization.
- Improved VpsTrackerIntegrationCard with badges indicating synchronization status and token configuration.
- Refactored SettingsShell to streamline layout and enhance accessibility with improved navigation.
- Added detail fields to KPI cards in DashboardPage for clearer information presentation.
- Introduced new components in the ReUI kit for better integration and user experience.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Added new path aliases for '@cfdm/ui/components', '@cfdm/ui/hooks', and '@cfdm/ui/lib' in tsconfig.app.json and vite.config.ts to streamline imports.
- Set baseUrl in tsconfig.app.json for improved module resolution.
- Included ignoreDeprecations setting in tsconfig.app.json to manage TypeScript deprecations.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Changed import of 'path' to 'node:path' for better compatibility.
- Merged existing Vite configuration with Vitest configuration.
- Added alias for '@cfdm/ui/lib/utils' to streamline utility imports.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Modified ESLint configuration to include additional global ignores for better linting control.
- Updated component layouts in the ReUI kit to use flexbox for improved spacing and alignment.
- Refactored the CertificatesPage to optimize chart data handling and state management.
- Enhanced DashboardPage with state management for current timestamp to streamline expiration checks.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Added ReUI configuration to .mcp.json and .cursor/mcp.json for component integration.
- Updated pnpm-lock.yaml with new dependencies including react-phone-number-input and adjustments to existing packages.
- Enhanced SKILL.md documentation for ReUI to clarify usage and features.
- Removed unused components (ChartCard, DataGridCard, etc.) to streamline the codebase.
- Adjusted domain-related components and filters for improved functionality and UI consistency.
Co-authored-by: Cursor <cursoragent@cursor.com>
Subpath @cfdm/db/settings-repo и @cfdm/db/repos не объявлены в package exports — в Docker/vitest падали 5 test suites.
Co-authored-by: Cursor <cursoragent@cursor.com>
Исходящий sync bindings после updateConfig, настройки в app_settings, страница Интеграции, приём событий vps_down для DNS failover.
Co-authored-by: Cursor <cursoragent@cursor.com>