Commit Graph

1298 Commits

Author SHA1 Message Date
Jeremy
b1778ecb3d Merge branch 'development' into main v0.11.1 2025-12-17 09:32:46 -05:00
Jeremy
230f9bba70 Merge pull request #417 from Wikid82/renovate/npm-minorpatch
chore(deps): update dependency knip to ^5.75.1
2025-12-17 09:32:29 -05:00
Jeremy
40156be788 Merge branch 'development' into renovate/npm-minorpatch 2025-12-17 09:32:16 -05:00
Jeremy
647f9c2cf7 Merge pull request #416 from Wikid82/renovate/github-codeql-action-4.x
chore(deps): update github/codeql-action action to v4.31.9
2025-12-17 09:31:57 -05:00
Jeremy
3a3dccbb5a Merge branch 'development' into renovate/github-codeql-action-4.x 2025-12-17 09:31:09 -05:00
Jeremy
e3b596176c Merge pull request #415 from Wikid82/renovate/github-codeql-action-digest
chore(deps): update github/codeql-action digest to 5d4e8d1
2025-12-17 09:30:52 -05:00
renovate[bot]
8005858593 chore(deps): update dependency knip to ^5.75.1 2025-12-17 14:26:03 +00:00
renovate[bot]
793315336a chore(deps): update github/codeql-action action to v4.31.9 2025-12-17 14:25:51 +00:00
renovate[bot]
711ed07df7 chore(deps): update github/codeql-action digest to 5d4e8d1 2025-12-17 14:25:45 +00:00
Jeremy
7e31a9c41a Merge pull request #413 from Wikid82:copilot/sub-pr-411
fix: secure WebSocket authentication using HttpOnly cookies instead of query parameters
v0.11.0
2025-12-17 09:22:30 -05:00
Jeremy
c0fee50fa9 Merge branch 'main' into copilot/sub-pr-411 2025-12-17 07:59:09 -05:00
copilot-swe-agent[bot]
6718431bc4 fix: improve test error handling with proper error checks
Co-authored-by: Wikid82 <176516789+Wikid82@users.noreply.github.com>
2025-12-17 12:58:02 +00:00
copilot-swe-agent[bot]
36a8b408b8 test: add comprehensive tests for secure WebSocket authentication priority
Co-authored-by: Wikid82 <176516789+Wikid82@users.noreply.github.com>
2025-12-17 12:56:46 +00:00
copilot-swe-agent[bot]
e1474e42aa feat: switch WebSocket auth from query params to HttpOnly cookies for security
Co-authored-by: Wikid82 <176516789+Wikid82@users.noreply.github.com>
2025-12-17 12:54:35 +00:00
Jeremy
1a5bc81c6c Merge pull request #411 from Wikid82/development
feat: implement modern UI/UX design system (#409)
v0.10.0
2025-12-17 07:49:09 -05:00
copilot-swe-agent[bot]
a01bcb8d4a Initial plan 2025-12-17 12:46:47 +00:00
Jeremy
15f73bd381 Merge pull request #410 from Wikid82/feature/beta-release
feat: implement modern UI/UX design system (#409)
2025-12-17 07:35:24 -05:00
GitHub Actions
85abf7cec1 test: add unit tests for Alert, DataTable, Input, Skeleton, and StatsCard components 2025-12-16 22:05:39 +00:00
GitHub Actions
8f2f18edf7 feat: implement modern UI/UX design system (#409)
- Add comprehensive design token system (colors, typography, spacing)
- Create 12 new UI components with Radix UI primitives
- Add layout components (PageShell, StatsCard, EmptyState, DataTable)
- Polish all pages with new component library
- Improve accessibility with WCAG 2.1 compliance
- Add dark mode support with semantic color tokens
- Update 947 tests to match new UI patterns

Closes #409
2025-12-16 21:21:39 +00:00
GitHub Actions
6bd6701250 docs: Add comprehensive trace analysis and investigation report for WebSocket reconnection issue and 401 auth failures
- Documented full trace analysis of the Security Dashboard Live Logs, detailing file-by-file data flow and authentication flow.
- Analyzed and resolved critical issue causing WebSocket reconnection loop due to object reference instability in props.
- Verified localStorage key usage and confirmed alignment between frontend and backend authentication methods.
- Investigated 401 auth failures reported in Docker logs, clarifying that they originate from Plex and are not indicative of a bug in Charon.
- Provided recommendations for handling log noise and confirmed that the Docker health check is functioning correctly.
2025-12-16 19:17:34 +00:00
Jeremy
e0905d3db9 Merge pull request #403 from Wikid82/development
Propagate changes from development into feature/beta-release
2025-12-16 13:08:36 -05:00
Jeremy
4649a7da21 Merge pull request #408 from Wikid82/renovate/npm-minorpatch
chore(deps): update npm minor/patch
2025-12-16 11:13:56 -05:00
renovate[bot]
e5918d392c chore(deps): update npm minor/patch 2025-12-16 15:53:48 +00:00
Jeremy
aa68f2bc23 Merge pull request #407 from Wikid82/renovate/renovatebot-github-action-44.x
chore(deps): update renovatebot/github-action action to v44.2.0
2025-12-16 10:52:07 -05:00
Jeremy
631247752e Merge pull request #406 from Wikid82/renovate/github.com-expr-lang-expr-1.x
chore(deps): update module github.com/expr-lang/expr to v1.17.7
2025-12-16 10:51:45 -05:00
renovate[bot]
7f3cdb8011 chore(deps): update renovatebot/github-action action to v44.2.0 2025-12-16 15:17:40 +00:00
renovate[bot]
e17e9b0bc0 chore(deps): update module github.com/expr-lang/expr to v1.17.7 2025-12-16 15:17:35 +00:00
Jeremy
d943f9bd67 Merge pull request #405 from Wikid82/main
Propagate changes from main into development
2025-12-16 10:15:43 -05:00
Jeremy
0732b9da5c Merge branch 'development' into main v0.9.3 2025-12-16 09:57:37 -05:00
GitHub Actions
2b78c811d8 fix: resolve merge conflict in go.work.sum for geoip2-golang dependency v0.9.2 2025-12-16 14:52:43 +00:00
GitHub Actions
53f3e44999 fix: upgrade c-ares to address CVE-2025-62408 and add MaxMind GeoLite2 configuration files v0.9.1 2025-12-16 14:47:48 +00:00
Jeremy
0a4ea58110 Merge pull request #404 from Wikid82/feature/beta-release
hotfix: resolve CrowdSec metrics display and WebSocket stability
v0.9.0
2025-12-16 09:34:19 -05:00
Jeremy
bc5fc8ce52 Merge branch 'main' into feature/beta-release 2025-12-16 09:24:37 -05:00
GitHub Actions
bca0c57a0d fix: expand exclusion patterns in TypeScript build configuration 2025-12-16 14:24:13 +00:00
GitHub Actions
73aad74699 test: improve backend test coverage to 85.4%
Add 38 new test cases across 6 backend files to address Codecov gaps:
- log_watcher.go: 56.25% → 98.2% (+41.95%)
- crowdsec_handler.go: 62.62% → 80.0% (+17.38%)
- routes.go: 69.23% → 82.1% (+12.87%)
- console_enroll.go: 79.59% → 83.3% (+3.71%)
- crowdsec_startup.go: 94.73% → 94.5% (maintained)
- crowdsec_exec.go: 92.85% → 81.0% (edge cases)

Test coverage improvements include:
- Security event detection (WAF, CrowdSec, ACL, rate limiting)
- LAPI decision management and health checking
- Console enrollment validation and error handling
- CrowdSec startup reconciliation edge cases
- Command execution error paths
- Configuration file operations

All quality gates passed:
- 261 backend tests passing (100% success rate)
- Pre-commit hooks passing
- Zero security vulnerabilities (Trivy)
- Clean builds (backend + frontend)
- Updated documentation and Codecov targets

Closes #N/A (addresses Codecov report coverage gaps)
2025-12-16 14:10:32 +00:00
GitHub Actions
c71b10de7d feat: update Go Test Coverage hook to include only Go files 2025-12-16 06:44:09 +00:00
GitHub Actions
872abb6043 test: skip slow hook 2025-12-16 06:42:01 +00:00
GitHub Actions
90ee8c7f83 feat: stabilize WebSocket connections by using memoized filter objects in LiveLogViewer 2025-12-16 06:10:34 +00:00
GitHub Actions
67d671bc0c feat: enhance planning and bug fix protocols with mandatory root cause analysis 2025-12-16 05:59:05 +00:00
GitHub Actions
898066fb59 fix: correct localStorage key for WebSocket auth token
The WebSocket code in logs.ts was reading from 'token' instead of
'charon_auth_token', causing all WebSocket connections to fail
authentication with 401 errors. This resulted in the Security
Dashboard Live Log Viewer showing "Disconnected" with rapid
connect/disconnect cycling.

- Changed localStorage key from 'token' to 'charon_auth_token'
- Both connectLiveLogs and connectSecurityLogs functions updated
2025-12-16 05:08:14 +00:00
GitHub Actions
83030d7964 feat: Fix CrowdSec re-enrollment and live log viewer WebSocket
- Add logging when console enrollment is silently skipped
- Add DELETE /admin/crowdsec/console/enrollment endpoint
- Add enhanced re-enrollment UI with CrowdSec Console link
- Fix WebSocket authentication by passing token in query params
- Change Live Log Viewer default mode to security logs
- Add error message display for failed WebSocket connections

Fixes silent enrollment idempotency bug and WebSocket
authentication issue causing disconnected log viewer.
2025-12-16 04:20:32 +00:00
GitHub Actions
45102ae312 feat: Add CrowdSec console re-enrollment support
- Add logging when enrollment is silently skipped due to existing state
- Add DELETE /admin/crowdsec/console/enrollment endpoint to clear state
- Add re-enrollment UI section with guidance and crowdsec.net link
- Add useClearConsoleEnrollment hook for state clearing

Fixes silent idempotency bug where backend returned 200 OK without
actually executing cscli when status was already enrolled.
2025-12-16 03:39:08 +00:00
GitHub Actions
d435dd7f7f fix: allow startup when Cerberus is enabled without admin whitelist, log warning 2025-12-16 01:57:14 +00:00
GitHub Actions
f14cd31f71 fix: pass tenant and force flags to cscli console enroll command
- Add --tags tenant:X when tenant/organization is provided
- Add --overwrite flag when force (rotate key) is requested
- Add extractUserFriendlyError() to parse cscli errors for user display
- Add comprehensive tests for command construction

Fixes enrollment not reaching CrowdSec.net when using the console enrollment form.
2025-12-16 01:26:23 +00:00
GitHub Actions
71e44f79a7 fix: resolve CrowdSec state sync issues and remove deprecated mode toggle
- Backend: Start/Stop handlers now sync both settings and security_configs tables
- Frontend: CrowdSec toggle uses actual process status (crowdsecStatus.running)
- Frontend: Fixed LiveLogViewer WebSocket race condition by using isPausedRef
- Frontend: Removed deprecated mode toggle from CrowdSecConfig page
- Frontend: Added info banner directing users to Security Dashboard
- Frontend: Added "Start CrowdSec" button to enrollment warning panel

Fixes dual-source state conflict causing toggle to show incorrect state.
Fixes live log "disconnected" status appearing while logs stream.
Simplifies CrowdSec control to single source (Security Dashboard toggle).

Includes comprehensive test updates for new architecture.
2025-12-15 23:36:07 +00:00
GitHub Actions
65cad0ba13 feat: Enhance CrowdSec integration with configurable binary path and improved process validation 2025-12-15 22:10:28 +00:00
GitHub Actions
11a03de3b7 Add tests for useConsoleEnrollment hooks and crowdsecExport utility functions
- Implement comprehensive tests for the useConsoleStatus and useEnrollConsole hooks, covering various scenarios including success, error handling, and edge cases.
- Create unit tests for crowdsecExport utility functions, ensuring filename generation, user input sanitization, and download functionality are thoroughly validated.
2025-12-15 14:45:56 +00:00
GitHub Actions
5b2724a2ba Refactor code structure for improved readability and maintainability 2025-12-15 07:48:28 +00:00
GitHub Actions
2a6175a97e feat: Implement CrowdSec toggle fix validation and documentation updates
- Added QA summary report for CrowdSec toggle fix validation, detailing test results, code quality audit, and recommendations for deployment.
- Updated existing QA report to reflect the new toggle fix validation status and testing cycle.
- Enhanced security documentation to explain the persistence of CrowdSec across container restarts and troubleshooting steps for common issues.
- Expanded troubleshooting guide to address scenarios where CrowdSec does not start after a container restart, including diagnosis and solutions.
2025-12-15 07:30:36 +00:00
GitHub Actions
2a04dbc49d fix: enhance QA and Security agent constraints with additional guidelines for testing and security focus 2025-12-15 07:30:36 +00:00