Commit Graph

708 Commits

Author SHA1 Message Date
GitHub Actions
a6deff77a7 fix(deps): update electron-to-chromium to version 1.5.323 for improved stability 2026-03-25 08:48:35 +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
5a2b6fec9d fix(deps): update katex to v0.16.42 for improved functionality 2026-03-24 20:25:38 +00:00
renovate[bot]
07ce79b439 fix(deps): update non-major-updates 2026-03-24 17:37:02 +00:00
Jeremy
77511b0994 Merge pull request #881 from Wikid82/renovate/feature/beta-release-non-major-updates
fix(deps): update non-major-updates (feature/beta-release)
2026-03-24 08:54:12 -04:00
GitHub Actions
246b83c72d chore: update package-lock.json for dependency version consistency 2026-03-24 12:08:22 +00:00
renovate[bot]
a7e4e12f32 fix(deps): update non-major-updates 2026-03-24 11:59:32 +00:00
Jeremy
91c1fa9d0f Merge pull request #879 from Wikid82/renovate/feature/beta-release-major-1-lucide-monorepo
fix(deps): update dependency lucide-react to v1 (feature/beta-release)
2026-03-24 07:57:18 -04:00
renovate[bot]
55204289ec fix(deps): update dependency lucide-react to v1 2026-03-24 06:22:11 +00:00
renovate[bot]
95bf0b496d fix(deps): update non-major-updates 2026-03-24 06:20:22 +00:00
GitHub Actions
c822ba7582 chore: downgrade vitest and related packages to version 4.0.18 2026-03-24 01:52:48 +00:00
GitHub Actions
6967c73eaf chore: update dependencies to latest versions
- Upgraded @tanstack/query-core and @tanstack/react-query from 5.95.0 to 5.95.2
- Updated @typescript-eslint packages from 8.57.1 to 8.57.2
- Bumped @vitest packages from 4.1.0 to 4.1.1
- Updated knip from 6.0.3 to 6.0.4
- Upgraded picomatch from 4.0.3 to 4.0.4 and from 2.3.1 to 2.3.2
- Updated react-router and react-router-dom from 7.13.1 to 7.13.2
- Bumped typescript from 6.0.1-rc to 6.0.2
2026-03-24 01:50:32 +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
7d986f2821 chore: update package versions in package-lock.json for consistency 2026-03-23 13:14:48 +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
73aecc60e8 fix(i18n): restore localized noteText in all non-English certificate locales
- The certificate section's noteText had previously been translated into
  Chinese, German, Spanish, and French but was inadvertently overwritten
  with an English string when the individual certificate delete feature
  was introduced.
- All four locales now carry properly translated text that also reflects
  the updated policy: expired or expiring production certificates that
  are not attached to a proxy host are now eligible for deletion.
- Newly introduced keys (deleteConfirmExpiring and other delete-related
  keys) remain as English placeholders pending professional translation,
  which is the established pattern for this project.
2026-03-23 05:24:58 +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
renovate[bot]
0bb7826ad5 fix(deps): update non-major-updates 2026-03-22 20:26:16 +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
renovate[bot]
b2c40345f8 fix(deps): update non-major-updates 2026-03-22 14:24:03 +00:00
GitHub Actions
a98e37b8b4 fix: update @vitest/eslint-plugin, i18next, and react-i18next versions for compatibility 2026-03-22 13:30:41 +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
2c9c791ae5 fix: update package versions in package-lock.json for compatibility 2026-03-22 13:30:41 +00:00
renovate[bot]
3b3ae29414 fix(deps): update dependency i18next to ^25.10.3 2026-03-22 01:11:06 +00:00
renovate[bot]
f335b3f03f fix(deps): update non-major-updates 2026-03-21 16:17:20 +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
c785c5165d fix: validate TCP format and update aria attributes in CreateMonitorModal 2026-03-21 00:47:03 +00:00
GitHub Actions
eaf981f635 fix(deps): update katex to version 0.16.40 and tldts to version 7.0.27 in package-lock.json 2026-03-21 00:47:03 +00:00
renovate[bot]
fa42e79af3 fix(deps): update non-major-updates 2026-03-21 00:12:20 +00:00
renovate[bot]
3b247cdd73 fix(deps): update non-major-updates 2026-03-20 18:09:46 +00:00
renovate[bot]
a40764d7da chore(deps): update dependency knip to v6 2026-03-20 12:00:39 +00:00
renovate[bot]
338c9a3eef chore(deps): update non-major-updates 2026-03-20 05:30:39 +00:00
GitHub Actions
856fd4097b fix(deps): update undici and tar to latest versions for improved stability 2026-03-20 02:47:00 +00:00
GitHub Actions
bb14ae73cc fix(uptime): fix TCP monitor UX — correct format guidance and add client-side validation
The TCP monitor creation form showed a placeholder that instructed users to enter a URL with the tcp:// scheme prefix (e.g., tcp://192.168.1.1:8080). Following this guidance caused a silent HTTP 500 error because Go's net.SplitHostPort rejects any input containing a scheme prefix, expecting bare host:port format only.

- Corrected the urlPlaceholder translation key to remove the tcp:// prefix
- Added per-type dynamic placeholder (urlPlaceholderHttp / urlPlaceholderTcp) so the URL input shows the correct example format as soon as the user selects a monitor type
- Added per-type helper text below the URL input explaining the required format, updated in real time when the type selector changes
- Added client-side validation: typing a scheme prefix (://) in TCP mode shows an inline error and blocks form submission before the request reaches the backend
- Reordered the Create Monitor form so the type selector appears before the URL input, giving users the correct format context before they type
- Type selector onChange now clears any stale urlError to prevent incorrect error messages persisting after switching from TCP back to HTTP
- Added 5 new i18n keys across all 5 supported locales (en, de, fr, es, zh)
- Added 10 RTL unit tests covering all new validation paths including the type-change error-clear scenario
- Added 9 Playwright E2E tests covering placeholder variants, helper text, inline error lifecycle, submission blocking, and successful TCP creation

Closes #issue-5 (TCP monitor UI cannot add monitor when following placeholder)
2026-03-20 01:19:43 +00:00
GitHub Actions
b988179685 fix: update @emnapi/core, @emnapi/runtime, baseline-browser-mapping, and i18next to latest versions for improved stability 2026-03-19 18:18:28 +00:00
renovate[bot]
ec25165e54 fix(deps): update non-major-updates 2026-03-19 18:02:03 +00:00
GitHub Actions
431d88c47c fix: update @tanstack/query-core, @tanstack/react-query, @types/debug, eslint-plugin-testing-library, i18next, and knip to latest versions for improved stability and performance 2026-03-19 12:58:46 +00:00
GitHub Actions
64d2d4d423 fix: update ts-api-utils to version 2.5.0 for improved functionality 2026-03-19 05:16:32 +00:00
GitHub Actions
853940b74a fix: update mockResolvedValue calls for getSecurityStatus to improve test clarity 2026-03-18 23:06:24 +00:00
GitHub Actions
cd3f2a90b4 fix: seed lapi-status in renderWithSeed to prevent loading gaps 2026-03-18 22:19:22 +00:00
GitHub Actions
25e40f164d fix: replace userEvent.click with user.click for consistency in CrowdSec tests 2026-03-18 22:08:05 +00:00
GitHub Actions
5505f66c41 fix: clarify comments on optimistic updates and server state handling in Security component 2026-03-18 22:06:40 +00:00
renovate[bot]
db824152ef fix(deps): update non-major-updates 2026-03-18 17:00:26 +00:00
GitHub Actions
1de29fe6fc fix(frontend): stabilize CrowdSec first-enable UX and guard empty-value regression
When CrowdSec is first enabled, the 10-60 second startup window caused
the toggle to immediately flicker back to unchecked, the card badge to
show 'Disabled' throughout startup, CrowdSecKeyWarning to flash before
bouncer registration completed, and CrowdSecConfig to show alarming
LAPI-not-ready banners to the user.

Root cause: the toggle, badge, and warning conditions all read from
stale sources (crowdsecStatus local state and status.crowdsec.enabled
server data) which neither reflects user intent during a pending mutation.

- Derive crowdsecChecked from crowdsecPowerMutation.variables during
  the pending window so the UI reflects intent immediately on click,
  not the lagging server state
- Show a 'Starting...' badge in warning variant throughout the startup
  window so the user knows the operation is in progress
- Suppress CrowdSecKeyWarning unconditionally while the mutation is
  pending, preventing the bouncer key alert from flashing before
  registration completes on the backend
- Broadcast the mutation's running state to the QueryClient cache via
  a synthetic crowdsec-starting key so CrowdSecConfig.tsx can read it
  without prop drilling
- In CrowdSecConfig, suppress the LAPI 'not running' (red) and
  'initializing' (yellow) banners while the startup broadcast is active,
  with a 90-second safety cap to prevent stale state from persisting
  if the tab is closed mid-mutation
- Add security.crowdsec.starting translation key to all five locales
- Add two backend regression tests confirming that empty-string setting
  values are accepted (not rejected by binding validation), preventing
  silent re-introduction of the Issue 4 bug
- Add nine RTL tests covering toggle stabilization, badge text, warning
  suppression, and LAPI banner suppression/expiry
- Add four Playwright E2E tests using route interception to simulate
  the startup delay in a real browser context

Fixes Issues 3 and 4 from the fresh-install bug report.
2026-03-18 16:57:23 +00:00
GitHub Actions
ac2026159e chore: update tailwindcss to version 4.2.2 in package.json 2026-03-18 16:46:50 +00:00
GitHub Actions
abadf9878a chore(deps): update electron-to-chromium to version 1.5.321 2026-03-18 10:27:06 +00:00