Commit Graph

255 Commits

Author SHA1 Message Date
GitHub Actions
8239a94938 chore: Add tests for CertificateList and CertificateUploadDialog components
- Implement test to deselect a row checkbox in CertificateList by clicking it a second time.
- Add test to close detail dialog via the close button in CertificateList.
- Add test to close export dialog via the cancel button in CertificateList.
- Add test to show KEY format badge when a .key file is uploaded in CertificateUploadDialog.
- Add test to ensure no format badge is shown for unknown file extensions in CertificateUploadDialog.
2026-04-15 11:35:10 +00:00
GitHub Actions
fb8d80f6a3 fix: correct CertificateUploadDialog tests to provide required key file 2026-04-14 20:40:26 +00:00
GitHub Actions
8090c12556 feat(proxy-host): enhance certificate handling and update form integration 2026-04-14 20:35:11 +00:00
GitHub Actions
0e0d42c9fd fix(certificates): mark key file as aria-required for PEM/DER cert uploads 2026-04-14 19:10:57 +00:00
GitHub Actions
14b48f23b6 fix: add key file requirement message for PEM/DER certificates in CertificateUploadDialog 2026-04-14 16:35:37 +00:00
GitHub Actions
81a083a634 fix: resolve CI test failures and close patch coverage gaps 2026-04-14 12:42:22 +00:00
GitHub Actions
027a1b1f18 fix: replace fireEvent with userEvent for file uploads in CertificateUploadDialog tests 2026-04-14 02:33:25 +00:00
GitHub Actions
877a32f180 fix: enhance form validation for certificate upload by adding required attributes and adjusting test logic 2026-04-13 17:31:05 +00:00
GitHub Actions
850550c5da test: update common name display test to match exact text 2026-04-13 04:38:26 +00:00
GitHub Actions
e1bc648dfc test: add certificate feature unit tests and null-safety fix
Add comprehensive unit tests for the certificate upload, export,
and detail management feature:

- CertificateExportDialog: 21 tests covering format selection,
  blob download, error handling, and password-protected exports
- CertificateUploadDialog: 23 tests covering file validation,
  format detection, drag-and-drop, and upload flow
- CertificateDetailDialog: 19 tests covering detail display,
  loading state, missing fields, and branch coverage
- CertificateChainViewer: 8 tests covering chain visualization
- CertificateValidationPreview: 16 tests covering validation display
- FileDropZone: 18 tests covering drag-and-drop interactions
- useCertificates hooks: 10 tests covering all React Query hooks
- certificates API: 7 new tests for previously uncovered endpoints

Fix null-safety issue in ProxyHosts where cert.domains could be
undefined, causing a runtime error on split().

Frontend patch coverage: 90.6%, overall lines: 89.09%
2026-04-13 04:02:31 +00:00
GitHub Actions
30c9d735aa feat: add certificate export and upload dialogs
- Implemented CertificateExportDialog for exporting certificates in various formats (PEM, PFX, DER) with options to include private keys and set passwords.
- Created CertificateUploadDialog for uploading certificates, including validation and support for multiple file types (certificates, private keys, chain files).
- Updated DeleteCertificateDialog to use 'domains' instead of 'domain' for consistency.
- Refactored BulkDeleteCertificateDialog and DeleteCertificateDialog tests to accommodate changes in certificate structure.
- Added FileDropZone component for improved file upload experience.
- Enhanced translation files with new keys for certificate management features.
- Updated Certificates page to utilize the new CertificateUploadDialog and clean up the upload logic.
- Adjusted Dashboard and ProxyHosts pages to reflect changes in certificate data structure.
2026-04-13 04:01:31 +00:00
GitHub Actions
1fe69c2a15 feat: add Top Attacking IPs chart component and integrate into CrowdSec configuration page
- Implemented TopAttackingIPsChart component for visualizing top attacking IPs.
- Created hooks for fetching CrowdSec dashboard data including summary, timeline, top IPs, scenarios, and alerts.
- Added tests for the new hooks to ensure data fetching works as expected.
- Updated translation files for new dashboard terms in multiple languages.
- Refactored CrowdSecConfig page to include a tabbed interface for configuration and dashboard views.
- Added end-to-end tests for CrowdSec dashboard functionality including tab navigation, data display, and interaction with time range and refresh features.
2026-03-25 17:19:15 +00:00
GitHub Actions
86023788aa feat: add support for Ntfy notification provider
- Updated the list of supported notification provider types to include 'ntfy'.
- Modified the notification settings UI to accommodate the Ntfy provider, including form fields for topic URL and access token.
- Enhanced localization files to include translations for Ntfy-related fields in German, English, Spanish, French, and Chinese.
- Implemented tests for the Ntfy notification provider, covering form rendering, CRUD operations, payload contracts, and security measures.
- Updated existing tests to account for the new Ntfy provider in various scenarios.
2026-03-24 21:04:54 +00:00
GitHub Actions
49b3e4e537 fix(tests): resolve i18n mock issues in BulkDeleteCertificateDialog tests
Removed local i18n mock to allow global mock to function correctly, updated assertions to use resolved English translations for better consistency in test outcomes.
2026-03-24 01:47:43 +00:00
GitHub Actions
849c3513bb feat(i18n): add aria-label for bulk delete certificates in multiple languages 2026-03-23 05:46:49 +00:00
GitHub Actions
a707d8e67e feat(i18n): add localized provider labels for certificate management 2026-03-23 05:45:23 +00:00
GitHub Actions
4bdc771cd4 feat: synchronize selected certificate IDs with available certificates on update 2026-03-23 05:39:37 +00:00
GitHub Actions
9ed698b236 feat: enhance certificate management with expiring status
- Update isInUse function to handle certificates without an ID.
- Modify isDeletable function to include 'expiring' status as deletable.
- Adjust CertificateList component to reflect changes in deletable logic.
- Update BulkDeleteCertificateDialog and DeleteCertificateDialog to handle expiring certificates.
- Add tests for expiring certificates in CertificateList and BulkDeleteCertificateDialog.
- Update translations for expiring certificates in multiple languages.
2026-03-23 02:23:08 +00:00
GitHub Actions
69736503ac feat: add BulkDeleteCertificateDialog component for bulk certificate deletion
- Implemented BulkDeleteCertificateDialog with confirmation and listing of certificates to be deleted.
- Added translations for bulk delete functionality in English, German, Spanish, French, and Chinese.
- Created unit tests for BulkDeleteCertificateDialog to ensure proper rendering and functionality.
- Developed end-to-end tests for bulk certificate deletion, covering selection, confirmation, and cancellation scenarios.
2026-03-23 00:07:59 +00:00
GitHub Actions
97255f84e6 fix: add tests for delete certificate functionality and error handling in CertificateList 2026-03-22 17:33:11 +00:00
GitHub Actions
441864be95 fix: add DeleteCertificateDialog component with confirmation dialog for certificate deletion
- Implement DeleteCertificateDialog component to handle certificate deletion confirmation.
- Add tests for DeleteCertificateDialog covering various scenarios including rendering, confirmation, and cancellation.
- Update translation files for multiple languages to include new strings related to certificate deletion.
- Create end-to-end tests for certificate deletion UX, including button visibility, confirmation dialog, and success/failure scenarios.
2026-03-22 13:30:41 +00:00
GitHub Actions
ad7e97e7df fix: align test expectations with updated proxy host handler behavior 2026-03-21 03:05:10 +00:00
GitHub Actions
22769977e3 fix: clarify that advanced_config requires Caddy JSON, not Caddyfile syntax 2026-03-21 02:12:24 +00:00
GitHub Actions
65d02e754e feat: add support for Pushover notification provider
- Updated the list of supported notification provider types to include 'pushover'.
- Enhanced the notifications API tests to validate Pushover integration.
- Modified the notifications form to include fields specific to Pushover, such as API Token and User Key.
- Implemented CRUD operations for Pushover providers in the settings.
- Added end-to-end tests for Pushover provider functionality, including form rendering, payload validation, and security checks.
- Updated translations to include Pushover-specific labels and placeholders.
2026-03-16 18:16:14 +00:00
GitHub Actions
26be592f4d feat: add Slack notification provider support
- Updated the notification provider types to include 'slack'.
- Modified API tests to handle 'slack' as a valid provider type.
- Enhanced frontend forms to display Slack-specific fields (webhook URL and channel name).
- Implemented CRUD operations for Slack providers, ensuring proper payload structure.
- Added E2E tests for Slack notification provider, covering form rendering, validation, and security checks.
- Updated translations to include Slack-related text.
- Ensured that sensitive information (like tokens) is not exposed in API responses.
2026-03-13 03:40:02 +00:00
GitHub Actions
2969eb58e4 chore: update TypeScript to 6.0.1-rc and adjust package dependencies
- Removed duplicate @typescript-eslint/utils dependency in frontend/package.json
- Updated TypeScript version from 5.9.3 to 6.0.1-rc in frontend/package.json and package.json
- Adjusted ResizeObserver mock to use globalThis in tests
- Modified tsconfig.json and tsconfig.node.json to include empty types array
- Cleaned up package-lock.json to reflect TypeScript version change and updated dev dependencies
2026-03-11 22:19:35 +00:00
GitHub Actions
3e32610ea1 chore: Refactor tests to use findBy queries for better async handling, update mock implementations, and clean up imports across various test files. Adjust toast utility to use for-of loops for callback execution. Update Vite and Vitest configuration files for consistency. 2026-03-11 02:24:28 +00:00
GitHub Actions
ef71f66029 feat: add Telegram notification provider support
- Updated API to support Telegram as a notification provider type.
- Enhanced tests to cover Telegram provider creation, updates, and token handling.
- Modified frontend forms to include Telegram-specific fields and validation.
- Added localization strings for Telegram provider.
- Implemented security measures to ensure bot tokens are not exposed in API responses.
2026-03-10 12:14:57 +00:00
GitHub Actions
317bff326b fix: update component styles for consistency and improved layout 2026-03-09 20:15:19 +00:00
GitHub Actions
542d4ff3ee fix: replace flex-shrink-0 with shrink-0 for consistent styling across components 2026-03-09 20:03:57 +00:00
GitHub Actions
d3ef8d83b3 fix(frontend): resolve ESLint crash and repair lint configuration
- Scope base JS/TS configs to only JS/TS file extensions, preventing
  TypeError when ESLint applies core rules to markdown/CSS/JSON files
- Remove silent data loss from duplicate JSON keys in five translation
  files where the second dashboard block was overriding the first
- Fix unsafe optional chaining in CredentialManager that would throw
  TypeError when providerTypeInfo is undefined
- Remove stale eslint-disable directive for a rule now handled globally
  by the unused-imports plugin
- Downgrade high-volume lint rules (testing-library, jsx-a11y, import-x,
  vitest) from error to warn to unblock development while preserving
  visibility for incremental cleanup
2026-03-08 07:45:01 +00:00
GitHub Actions
ee224adcf1 fix: update notification provider type in tests and enhance email injection sanitization 2026-03-06 06:31:11 +00:00
GitHub Actions
27c252600a chore: git cache cleanup 2026-03-04 18:34:49 +00:00
GitHub Actions
c32cce2a88 chore: git cache cleanup 2026-03-04 18:34:39 +00:00
GitHub Actions
a681d6aa30 feat: remove Account page and add PassthroughLanding page
- Deleted the Account page and its associated logic.
- Introduced a new PassthroughLanding page for users without management access.
- Updated Settings page to conditionally display the Users link for admin users.
- Enhanced UsersPage to support passthrough user role, including invite functionality and user detail modal.
- Updated tests to reflect changes in user roles and navigation.
2026-03-03 03:10:02 +00:00
GitHub Actions
f20e789a16 fix(tests): increase timeout for ProxyHostForm tests to improve reliability 2026-03-01 16:30:51 +00:00
GitHub Actions
dbff270d22 fix(tests): update input handling in ProxyHostForm tests for improved reliability 2026-03-01 14:04:40 +00:00
GitHub Actions
10f5e5dd1d chore: enhance coverage for AccessListSelector and ProxyHostForm components
- Added new test suite for AccessListSelector to cover token normalization and emitted values.
- Updated existing tests for AccessListSelector to handle prefixed and numeric-string form values.
- Introduced tests for ProxyHostForm to validate DNS detection, including error handling and success scenarios.
- Enhanced ProxyHostForm tests to cover token normalization for security headers and ensure proper handling of existing host values.
- Implemented additional tests for ProxyHostForm to verify domain updates based on selected containers and prompt for new base domains.
2026-02-28 21:08:16 +00:00
GitHub Actions
5fe1cf9265 fix: enhance security header profile handling in ProxyHost to support UUIDs and improve form data normalization 2026-02-28 12:58:59 +00:00
GitHub Actions
cdf7948575 fix: update access list handling in ProxyHostService and forms to support access_list structure 2026-02-28 05:11:33 +00:00
GitHub Actions
b04b94e429 fix: enhance access list handling in ProxyHostHandler and forms to support string IDs 2026-02-28 05:07:24 +00:00
GitHub Actions
0ff19f66b6 fix: update resolveAccessListToken to handle accessLists and improve UUID resolution in AccessListSelector 2026-02-28 05:00:32 +00:00
GitHub Actions
bf583927c1 fix: improve ID parsing logic in AccessListSelector and ProxyHostForm to ensure valid numeric IDs 2026-02-28 04:45:26 +00:00
GitHub Actions
6ed8d8054f fix: update getOptionToken to handle string IDs correctly 2026-02-28 04:41:59 +00:00
GitHub Actions
5c4a558486 chore: enhance ACL handling in dropdowns and add emergency token flows
- Add tests to normalize string numeric ACL IDs in AccessListSelector.
- Implement regression tests for ProxyHostForm to ensure numeric ACL values are submitted correctly.
- Introduce a recovery function for ACL lockout scenarios in auth setup.
- Create new tests for ACL creation and security header profiles to ensure dropdown coverage.
- Add regression tests for ACL and Security Headers dropdown behavior in ProxyHostForm.
- Establish a security shard setup to validate emergency token configurations and reset security states.
- Enhance emergency operations tests to ensure ACL selections persist across create/edit flows.
2026-02-28 04:41:00 +00:00
GitHub Actions
2024ad1373 fix: enhance AccessListSelector and ProxyHostForm to support UUID-only options and improve token resolution 2026-02-28 03:34:54 +00:00
GitHub Actions
c9e4916d43 fix: update SelectContent styles to improve z-index and pointer events handling 2026-02-27 22:07:26 +00:00
GitHub Actions
75d945f706 fix: ensure ACL and Security Headers dropdown selections persist correctly in Proxy Host form 2026-02-27 21:57:05 +00:00
GitHub Actions
aa2e7a1685 choredocker): enhance local Docker socket access and error handling
- Added guidance for Docker socket group access in docker-compose files.
- Introduced docker-compose.override.example.yml for supplemental group configuration.
- Improved entrypoint diagnostics to include socket GID and group guidance.
- Updated README with instructions for setting up Docker socket access.
- Enhanced backend error handling to provide actionable messages for permission issues.
- Updated frontend components to display troubleshooting information regarding Docker socket access.
- Added tests to ensure proper error messages and guidance are rendered in UI.
- Revised code coverage settings to include Docker service files for better regression tracking.
2026-02-25 03:42:01 +00:00
GitHub Actions
f56fa41301 fix: ensure delete confirmation dialog is always open when triggered 2026-02-24 12:41:20 +00:00