Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
586 commits
Select commit Hold shift + click to select a range
dcb6a7f
fix: update backups and long-running operations tests for improved cl…
actions-user Feb 12, 2026
53a3e29
fix: refine wait-helpers tests and improve navigation handling for UR…
actions-user Feb 12, 2026
1d3a852
fix: improve manual DNS provider and proxy host dropdown tests
actions-user Feb 12, 2026
3b2c2ec
fix: enhance admin onboarding tests with improved login handling and …
actions-user Feb 12, 2026
6c8dcd7
fix: refactor domain and DNS management tests for improved structure …
actions-user Feb 12, 2026
feaad99
fix: update agent configurations for improved clarity and functionality
actions-user Feb 12, 2026
f6463e9
fix: update execution guidelines to optimize test suite runs and impr…
actions-user Feb 12, 2026
094b3df
fix: add tools configuration file to .gitignore for cleaner version c…
actions-user Feb 12, 2026
c6a13c9
fix: enhance execution guidelines for handling failing tests and anal…
actions-user Feb 12, 2026
f4f7d1b
fix: update Playwright Dev agent guidelines to ensure proper reportin…
actions-user Feb 12, 2026
813e0a5
fix: enhance authentication checks in RequireAuth and improve session…
actions-user Feb 12, 2026
901e824
fix: prevent re-authentication after logout by clearing auth state wh…
actions-user Feb 12, 2026
d8798d5
fix: update Playwright configuration to use 'localhost' for cookie co…
actions-user Feb 12, 2026
21e300d
fix: streamline admin onboarding tests by utilizing loginUser helper …
actions-user Feb 12, 2026
0588141
fix: update test descriptions for clarity in authentication long-sess…
actions-user Feb 12, 2026
394f43b
fix: enhance logout and session expiration tests to validate route gu…
actions-user Feb 12, 2026
a58c6a9
fix: remove phase indication from SSL Certificates spec documentation…
actions-user Feb 12, 2026
7c24a24
fix: refactor data consistency tests to improve readability and maint…
actions-user Feb 12, 2026
526d8c3
fix: remove phase indications from multi-component workflows tests fo…
actions-user Feb 12, 2026
8ca3e3c
fix: remove phase indication from Proxy Hosts CRUD E2E Tests document…
actions-user Feb 12, 2026
587971d
fix: remove phase indication from Proxy + ACL Integration E2E Tests d…
actions-user Feb 12, 2026
6ccde86
fix: remove phase indication from Audit Logs E2E Tests documentation …
actions-user Feb 12, 2026
041e7b6
fix: remove phase indication from CrowdSec Configuration E2E Tests do…
actions-user Feb 12, 2026
1e9c715
fix: update phase indications to improve clarity in Emergency & Break…
actions-user Feb 12, 2026
bedc986
fix: remove phase indication from Rate Limiting E2E Tests documentati…
actions-user Feb 12, 2026
695b7f3
fix: remove phase indication from Security Dashboard E2E Tests docume…
actions-user Feb 12, 2026
a84fc91
fix: remove phase indication from Security Headers E2E Tests document…
actions-user Feb 12, 2026
e9a7f9e
fix: remove phase indication from Security Suite Integration E2E Test…
actions-user Feb 12, 2026
4ca4ae6
fix: remove phase indication from E2E test descriptions for clarity
actions-user Feb 12, 2026
ad620aa
fix: remove phase indication from WAF configuration E2E test document…
actions-user Feb 12, 2026
efa24fe
fix: enhance loginUser function to store authentication token in loca…
actions-user Feb 12, 2026
aec7de0
fix: remove phase indication from emergency server E2E test documenta…
actions-user Feb 12, 2026
193f520
fix: remove phase indication from Access Lists CRUD E2E test document…
actions-user Feb 12, 2026
9152e99
fix: remove phase indications from ACL & WAF Layering test documentat…
actions-user Feb 12, 2026
1425da4
feat: add comprehensive security enforcement tests for API authentica…
actions-user Feb 12, 2026
179c12f
fix: remove phase indications from Auth Middleware Cascade tests for …
actions-user Feb 12, 2026
c368a5a
feat: add Cerberus ACL (Role-Based Access Control) tests for user rol…
actions-user Feb 12, 2026
5398c7b
fix: remove phase indications from WAF & Rate Limit Interaction test …
actions-user Feb 12, 2026
f22da21
chore: enhance authentication state management by adding localStorage…
actions-user Feb 12, 2026
f3a845d
chore: add debug tests for DNS Providers page state with detailed log…
actions-user Feb 12, 2026
7b1f11f
fix: enhance DNS Providers page loading with additional wait steps fo…
actions-user Feb 12, 2026
848bc50
fix: update base URL references from 127.0.0.1 to localhost for consi…
actions-user Feb 12, 2026
f2a4d8c
fix: update ARIA label test for copy buttons to ensure proper accessi…
actions-user Feb 12, 2026
9ce9db1
docs: Add remediation plans for security test suite and skipped tests
actions-user Feb 12, 2026
015ba54
fix: update import paths in caddy import tests for correct resolution
actions-user Feb 12, 2026
8a207ad
fix: update AccessListSelector to handle string-based values and impr…
actions-user Feb 12, 2026
54f5ff5
chore: Add pre-commit blocker report and improve Go version management
actions-user Feb 12, 2026
9ff12a8
fix: refactor golangci-lint scripts to improve version resolution and…
actions-user Feb 12, 2026
2904b74
fix: resolve stale closure bugs in ProxyHostForm and enhance ACL/Secu…
actions-user Feb 13, 2026
162750a
chore: enhance user lifecycle tests with invite dialog and loading ha…
actions-user Feb 13, 2026
1a06a46
chore: implement user audit logging for create, invite, update, and d…
actions-user Feb 13, 2026
9c2ac30
chore: enhance user lifecycle tests with API interactions and improve…
actions-user Feb 13, 2026
6416e20
fix: improve error handling in RehydrateLiveDatabase for locked or bu…
actions-user Feb 13, 2026
7dfed7c
fix: refactor RehydrateLiveDatabase for improved error handling and c…
actions-user Feb 13, 2026
e1b648a
fix: implement retry logic for persisting audit logs to handle transi…
actions-user Feb 13, 2026
8616c52
fix: implement retry logic for upserting settings to handle transient…
actions-user Feb 13, 2026
5db0e94
fix: enhance RehydrateLiveDatabase to use a temporary file for restor…
actions-user Feb 13, 2026
cd6ad51
fix: clear block security decisions during emergency reset
actions-user Feb 13, 2026
f59dad5
fix: update health and metrics routes to include rate limiting middle…
actions-user Feb 13, 2026
7fd8829
fix: simplify rate limit enabled status check in middleware
actions-user Feb 13, 2026
1f14557
fix: add checkpointing for SQLite database before backup and restore …
actions-user Feb 13, 2026
7308c03
fix: implement SQLite snapshot creation for safer backups and restore…
actions-user Feb 13, 2026
9628c30
fix: update admin security control plane request check to include set…
actions-user Feb 13, 2026
5c8aa7c
fix: add memory tool to Backend Dev agent for enhanced diagnostics
actions-user Feb 13, 2026
a572a68
fix: enhance admin security control plane request validation and add …
actions-user Feb 13, 2026
d0334dd
fix: enhance backup service to support restoration from WAL files and…
actions-user Feb 13, 2026
f05fe48
fix: update agent context to include gopls references for improved Go…
actions-user Feb 13, 2026
88714d0
fix: update Planning and Supervisor agents to include gopls for enhan…
actions-user Feb 13, 2026
f4f7194
fix: improve AuthMiddleware to handle nil authService and validate us…
actions-user Feb 13, 2026
aa06aa8
fix: update OptionalAuth to retrieve user details from authService an…
actions-user Feb 13, 2026
954eef8
fix: enhance Restore method to retry database rehydration on transien…
actions-user Feb 13, 2026
a73ae35
fix: enhance Validate method to support environment token as fallback…
actions-user Feb 13, 2026
709f9ba
fix: increase max attempts for upsertSettingWithRetry and improve tra…
actions-user Feb 13, 2026
3aac941
fix: Refactor and consolidate RBAC tests; remove redundant code and i…
actions-user Feb 13, 2026
c047fb0
fix: update baseContext handling and remove redundant tests in securi…
actions-user Feb 13, 2026
75b65d9
fix: enable Cerberus feature when security module is activated and up…
actions-user Feb 13, 2026
4d191e3
fix: streamline CreateBackup and RestoreBackup methods; improve snaps…
actions-user Feb 13, 2026
7517ad4
fix: enhance auth middleware tests; add cases for rejecting disabled …
actions-user Feb 13, 2026
fd0ec06
fix: refactor security enforcement tests; update context handling and…
actions-user Feb 13, 2026
9a732b8
fix: add multi-component security workflows tests; implement security…
actions-user Feb 13, 2026
97f6713
fix: enhance data consistency tests; add user creation via API and st…
actions-user Feb 13, 2026
9e27590
fix: enhance user lifecycle tests; implement API-based user creation,…
actions-user Feb 13, 2026
c487e2f
fix: add backup restore functionality; implement live rehydrate check…
actions-user Feb 13, 2026
645b700
fix: remove emergency token generation test; Cerberus dependency not met
actions-user Feb 13, 2026
d68e11c
fix: add emergency token generation test; verify button visibility an…
actions-user Feb 13, 2026
694a116
fix: enhance Manual DNS Provider tests; add route handlers for challe…
actions-user Feb 13, 2026
9f88f5e
fix(deps): update weekly-non-major-updates
renovate[bot] Feb 13, 2026
26970e4
fix: update auth token extraction logic; prioritize cookie-based auth…
actions-user Feb 13, 2026
d8c08c4
fix: enhance local request detection; add functions to normalize host…
actions-user Feb 13, 2026
0024b81
fix: add latest config apply state retrieval; enhance status response…
actions-user Feb 13, 2026
a44530a
fix: change Caddy config reload from async to sync for deterministic …
actions-user Feb 13, 2026
369c877
fix: implement manual DNS challenge loading and display; enhance UI f…
actions-user Feb 13, 2026
eaefe0c
fix: enhance security dashboard tests; implement preconditions and to…
actions-user Feb 13, 2026
d02fe73
fix: enhance getAuthToken function; add options for required token va…
actions-user Feb 13, 2026
4bfccd4
fix: refine loading completion check; exclude specific timeout progre…
actions-user Feb 13, 2026
a2fc900
fix: improve accessibility checks and loading state handling in manua…
actions-user Feb 13, 2026
a668ca3
fix: enhance user creation and login flow; add token authorization an…
actions-user Feb 13, 2026
2f567fa
fix: update card title structure in ManualDNSChallenge component for …
actions-user Feb 13, 2026
bde88d8
fix: implement comprehensive E2E tests for Security Dashboard functio…
actions-user Feb 13, 2026
8fa8748
fix: update Playwright test commands to use 'security-tests' project …
actions-user Feb 13, 2026
5c4ba81
Merge branch 'feature/beta-release' into renovate/feature/beta-releas…
Wikid82 Feb 13, 2026
d9eaa09
Merge pull request #693 from Wikid82/renovate/feature/beta-release-we…
Wikid82 Feb 13, 2026
c369f4f
fix: increase login duration threshold in E2E workflow test for impro…
actions-user Feb 13, 2026
2aaa27c
fix: enhance login navigation flow with improved error handling and v…
actions-user Feb 13, 2026
bc38f79
fix: refactor Security Dashboard E2E tests for improved readability a…
actions-user Feb 13, 2026
c86cff4
fix: streamline login navigation by removing redundant logout check
actions-user Feb 13, 2026
aea7a3b
fix: improve login navigation by handling additional error cases and …
actions-user Feb 13, 2026
496d22f
fix: update go.mod to include go-sqlite3 as a direct dependency
actions-user Feb 13, 2026
a4b4c0f
fix: remove unused parameter from email address parsing functions
actions-user Feb 13, 2026
6e83a32
fix: remove unused TimeRemaining field from TestVerifyResult_Fields
actions-user Feb 13, 2026
a2e552e
fix: adjust className properties for AlertTriangle and Info component…
actions-user Feb 13, 2026
6cad5c9
fix: update styling for MonitorCard component in Uptime page
actions-user Feb 13, 2026
661f1df
fix: streamline tool list in Management agent for improved clarity
actions-user Feb 13, 2026
a88dd24
fix: enhance authentication flow and session management in AuthHandle…
actions-user Feb 13, 2026
23a394f
fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.34
renovate[bot] Feb 14, 2026
c7d013c
Merge pull request #694 from Wikid82/renovate/feature/beta-release-we…
Wikid82 Feb 14, 2026
f906f4a
fix: improve error handling and session management in various handler…
actions-user Feb 14, 2026
7b64b75
fix: enhance user access validation in Admin-User E2E workflow
actions-user Feb 14, 2026
46e20d0
fix: update tools list in agent files for improved functionality and …
actions-user Feb 14, 2026
972eb01
fix: standardize indentation for mcp-servers in Planning and Supervis…
actions-user Feb 14, 2026
4568328
fix: improve navigation visibility checks in SSL Certificates tests
actions-user Feb 14, 2026
b7b07c2
fix: enhance dropdown interaction checks and modal visibility asserti…
actions-user Feb 14, 2026
17534bf
fix: update heading selector for Proxy Hosts navigation test to impro…
actions-user Feb 14, 2026
ee1aaf7
fix: refine live region locator for status updates in Manual DNS Prov…
actions-user Feb 14, 2026
2f106a2
fix: improve handling of empty state in Certificate Details tests
actions-user Feb 14, 2026
5e9bbf6
fix: enhance button visibility checks and modal interaction handling …
actions-user Feb 14, 2026
c2e66c0
fix: update back and forward navigation test to use initial URL for a…
actions-user Feb 14, 2026
8d1ddfb
fix: enhance navigation visibility checks to include links in sidebar…
actions-user Feb 14, 2026
9edc3f2
fix: enhance navigation visibility checks to include rendered applica…
actions-user Feb 14, 2026
3a25209
fix: improve login handling in navigation tests for consistent page s…
actions-user Feb 14, 2026
815f8cb
fix: update page load handling in Remote Servers navigation test for …
actions-user Feb 14, 2026
66376b7
fix: enhance navigation tests with improved visibility checks and aut…
actions-user Feb 14, 2026
cfeff36
fix: update navigation test to verify page URL is truthy after naviga…
actions-user Feb 14, 2026
380a0ab
fix: implement canonicalization for Discord webhook URLs and enhance …
actions-user Feb 14, 2026
ee72fc8
fix: enhance Discord webhook validation and improve error handling fo…
actions-user Feb 14, 2026
99d5f3c
fix: update Playwright base URL handling for improved cookie domain c…
actions-user Feb 14, 2026
5ab2a49
fix: update login page navigation to use base URL for consistency
actions-user Feb 14, 2026
61cff45
fix: update base URL handling in modal dropdown tests for environment…
actions-user Feb 14, 2026
7cfda51
fix: update button width classes in ProviderForm for consistency
actions-user Feb 14, 2026
caf8cd9
fix: update page load handling in modal dropdown tests for improved r…
actions-user Feb 15, 2026
b389859
fix: enhance visibility checks for record value field and DNS button …
actions-user Feb 15, 2026
90843d5
fix: improve visibility checks for record value field in Manual DNS P…
actions-user Feb 15, 2026
38427eb
fix: enhance accessibility checks for status indicator and verify but…
actions-user Feb 15, 2026
9ff4a65
fix: update page load handling in Admin-User E2E Workflow tests for i…
actions-user Feb 15, 2026
673efbd
fix: implement retry logic for page navigation in Manual DNS Provider…
actions-user Feb 15, 2026
c8a6542
fix: update Playwright coverage configuration and base URL for consis…
actions-user Feb 15, 2026
e466bb7
fix: update page navigation handling for WAF & Rate Limit Interaction…
actions-user Feb 15, 2026
b040141
fix: refactor proxy form handling in WAF & Rate Limit Interaction tes…
actions-user Feb 15, 2026
fef8417
fix: refactor proxy form handling in WAF & Rate Limit Interaction tes…
actions-user Feb 15, 2026
d2aae27
refactor: remove long-session authentication test for codebase cleanup
actions-user Feb 15, 2026
676b0b5
fix: enhance login navigation and settings page verification for impr…
actions-user Feb 15, 2026
26399c8
fix(deps): update weekly-non-major-updates
renovate[bot] Feb 15, 2026
797d68b
Merge pull request #695 from Wikid82/renovate/feature/beta-release-we…
Wikid82 Feb 15, 2026
8652843
fix: enhance error handling in login flow to verify response status a…
actions-user Feb 15, 2026
bd2d336
chore: add CI-parity Playwright tasks for Firefox non-security shard …
actions-user Feb 15, 2026
96ee1d7
fix: update Playwright test commands to source environment variables …
actions-user Feb 15, 2026
3d614dd
fix: enhance DNSProviders page to improve manual challenge handling a…
actions-user Feb 15, 2026
f4fafde
fix: enforce validation for empty domain names in proxy host updates …
actions-user Feb 15, 2026
cd8f5f9
fix: add parsing functions for nullable uint fields and forward port …
actions-user Feb 15, 2026
43c6317
fix: trim whitespace for domain names and forward host, enforce DNS p…
actions-user Feb 15, 2026
ff8851b
fix: enhance accessibility by adding aria-labels and data-testid attr…
actions-user Feb 15, 2026
416fbb0
fix(deps): update dependency i18next to ^25.8.8
renovate[bot] Feb 15, 2026
40f66a1
Merge pull request #696 from Wikid82/renovate/feature/beta-release-we…
Wikid82 Feb 15, 2026
e16165d
fix: streamline tools list in agent markdown files for consistency an…
actions-user Feb 15, 2026
bd69612
fix: update navigation tests to use explicit locators and improve use…
actions-user Feb 15, 2026
b8f26ca
fix: improve waitForLoadingComplete error handling to avoid false pos…
actions-user Feb 15, 2026
f450dce
fix: add manual DNS providers route and enhance challenge panel inter…
actions-user Feb 15, 2026
b3bbbc2
fix: refactor long-running operations tests for improved user and pro…
actions-user Feb 16, 2026
b835a59
fix: enhance long-running operations tests with dynamic proxy creatio…
actions-user Feb 16, 2026
99e1750
fix: streamline user and proxy creation in long-running operations tests
actions-user Feb 16, 2026
011a145
fix: increase timeout for login during backup to improve test reliabi…
actions-user Feb 16, 2026
f02003a
fix: enhance user access validation on /users page with improved navi…
actions-user Feb 16, 2026
d5de372
fix: update create backup button selector and improve API response ha…
actions-user Feb 16, 2026
7fd0145
fix: refactor backup creation test for improved reliability and clarity
actions-user Feb 16, 2026
e672d6f
fix: improve dashboard load time test with dynamic timeout handling
actions-user Feb 16, 2026
90f280a
chore(deps): update weekly-non-major-updates
renovate[bot] Feb 16, 2026
da3117b
Merge pull request #698 from Wikid82/renovate/feature/beta-release-we…
Wikid82 Feb 16, 2026
5a46ef4
fix: include invite URL in user invitation response and update relate…
actions-user Feb 16, 2026
d50c316
fix: refactor invite link display logic in InviteModal for improved r…
actions-user Feb 16, 2026
943fb2d
fix: update frontend unit tests to improve coverage and handle edge c…
actions-user Feb 16, 2026
3a25782
chore: add unit tests for system permissions handler and proxy host s…
actions-user Feb 16, 2026
21b0f79
chore: enhance coverage with new unit tests for various handlers and …
actions-user Feb 16, 2026
2e80733
chore: add unit tests for auth handler, permission helpers, and mail …
actions-user Feb 16, 2026
e0181de
chore: add unit tests for LogsWebSocketHandler and streaming with fil…
actions-user Feb 16, 2026
e99fc79
fix: improve ACL dropdown handling in ProxyHostForm tests
actions-user Feb 16, 2026
2c8b74c
chore: update coverage guidelines to clarify patch coverage requireme…
actions-user Feb 16, 2026
b0010e4
fix(deps): update dependency i18next to ^25.8.9
renovate[bot] Feb 16, 2026
2a58e22
Merge pull request #700 from Wikid82/renovate/feature/beta-release-we…
Wikid82 Feb 16, 2026
7f2532a
chore: remove deprecated entry points from coverage exclusions
actions-user Feb 16, 2026
c52d008
chore: remove temporary quarantine for unrelated flaky tests in cover…
actions-user Feb 16, 2026
24c8def
fix: increase memory limit for vitest and improve test stability
actions-user Feb 16, 2026
ae00b36
fix: update minimum coverage threshold to 85%
actions-user Feb 16, 2026
4d3962e
test: add tests for production environment detection and request sche…
actions-user Feb 16, 2026
a7ed841
fix(deps): update weekly-non-major-updates
renovate[bot] Feb 16, 2026
ede4dc6
Merge pull request #703 from Wikid82/renovate/feature/beta-release-we…
Wikid82 Feb 16, 2026
ec36ce3
chore: add unit tests for email recipient normalization and SQLite er…
actions-user Feb 16, 2026
f1527b9
fix: correct configuration key from 'settings' to 'linters-settings' …
actions-user Feb 16, 2026
f275613
fix: update Playwright test command to include 'chromium' project
actions-user Feb 16, 2026
8c12dde
chore: add model configuration and user invocability to agent definit…
actions-user Feb 16, 2026
d9a0875
fix: update condition for backend and frontend Codecov uploads to han…
actions-user Feb 16, 2026
9222314
fix: update go-test-coverage script to handle test failures correctly…
actions-user Feb 16, 2026
0064dd5
chore(deps): update github/codeql-action digest to ad5a6c0
renovate[bot] Feb 16, 2026
6adc1db
chore(deps): update dependency eslint to v10
renovate[bot] Feb 16, 2026
fa42065
Merge pull request #705 from Wikid82/renovate/feature/beta-release-ma…
Wikid82 Feb 16, 2026
16f5573
Merge pull request #704 from Wikid82/renovate/feature/beta-release-we…
Wikid82 Feb 16, 2026
b2cad09
fix: update eslint and eslint-plugin-react-hooks to latest versions
actions-user Feb 16, 2026
5b3a3f4
fix: add @eslint/js dependency at version 10.0.1
actions-user Feb 16, 2026
6944488
fix: refactor parsedDetails initialization in AuditLogDetailModal for…
actions-user Feb 16, 2026
716ec91
chore: Enhance test coverage across various handlers and services
actions-user Feb 16, 2026
3e4022c
fix: add CHARON_ENCRYPTION_KEY environment variable to benchmark and …
actions-user Feb 16, 2026
4d00af7
fix(tests): enhance database setup for unit tests and address CI fail…
actions-user Feb 16, 2026
e6a5ebc
chore(deps): update dependency eslint-plugin-react-hooks to ^7.1.0-ca…
renovate[bot] Feb 16, 2026
a4e8686
Merge pull request #706 from Wikid82/renovate/feature/beta-release-we…
Wikid82 Feb 16, 2026
27c8365
fix: add pull request trigger for main and development branches in be…
actions-user Feb 16, 2026
bea88e0
chore: downgrade eslint and related packages to version 9.x
actions-user Feb 16, 2026
66cb952
fix(tests): adapt TestMain_DefaultStartupGracefulShutdown_Subprocess …
actions-user Feb 16, 2026
70ae7d2
fix: add feature branch support to pull request trigger in benchmark …
actions-user Feb 17, 2026
28f444d
fix: update feature branch pattern in benchmark workflow to support n…
actions-user Feb 17, 2026
6d7cca7
fix: remove workflow_run trigger from benchmark workflow
actions-user Feb 17, 2026
74faee1
fix: update benchmark job condition to include pull_request event
actions-user Feb 17, 2026
2e84f88
fix: correct file path reference in Management agent instructions
actions-user Feb 17, 2026
557e08c
fix: enhance encryption key validation and add trigger parity check f…
actions-user Feb 17, 2026
4bd0c4b
fix: update database connection handling in tests to use file-backed …
actions-user Feb 17, 2026
0bd1ae2
fix: remove unnecessary database migration call in NewSecurityService
actions-user Feb 17, 2026
5d72cec
fix: refactor TestFetchIndexFallbackHTTP to use httptest for HubBaseURL
actions-user Feb 17, 2026
07322be
fix: enhance TCP port handling in startup tests and add readiness checks
actions-user Feb 17, 2026
4a1c6f6
fix: improve error handling in ReloadPlugins test by simulating direc…
actions-user Feb 17, 2026
d8a6a3e
fix: update Crowdsec handler tests to improve environment variable ha…
actions-user Feb 17, 2026
c88b80f
fix: update acquisition config tests to set environment variable and …
actions-user Feb 17, 2026
fe70b60
fix: update certificate handler tests to use file-backed DB with busy…
actions-user Feb 17, 2026
c98b075
fix: update payload key in TestUpdateAcquisitionConfig to use 'conten…
actions-user Feb 17, 2026
5d5d1b4
fix: enhance credential deletion with retry logic for transient datab…
actions-user Feb 17, 2026
2a355d1
fix: refactor bouncer key path handling and acquisition config retrieval
actions-user Feb 17, 2026
ab2b496
fix: remove parallel execution from TestFetchIndexFallbackHTTP for co…
actions-user Feb 17, 2026
678be42
fix: standardize formatting in TestBackupService_Restore_ZipSlip and …
actions-user Feb 17, 2026
d6e01b2
fix: update readFixture to use dynamic path for testdata directory
actions-user Feb 17, 2026
416a9ab
fix: refactor BackupService to use configurable backup and cleanup fu…
actions-user Feb 17, 2026
982fc98
fix: update setupNotificationTestDB to accept testing.T parameter for…
actions-user Feb 17, 2026
897a76f
fix: streamline environment variable setup in bouncer and LAPI key te…
actions-user Feb 17, 2026
4105ef5
fix: replace runtime.Caller with embed.FS for reading test fixtures
actions-user Feb 17, 2026
45461cd
fix: update test fixtures to use new hub_index_fixture.json for impro…
actions-user Feb 17, 2026
9667ba0
fix: update coverage target from 100% to 85% in codecov configuration
actions-user Feb 17, 2026
918cf79
fix: update checkout step in backend job to include fetch-depth and r…
actions-user Feb 17, 2026
7c82f5a
fix: update database connection settings in notification rate limitin…
actions-user Feb 17, 2026
aefbc5e
chore: add local pre-CI patch report generation for backend and front…
actions-user Feb 17, 2026
b9bb146
chore: add detailed file coverage reporting and sorting functionality
actions-user Feb 17, 2026
0fdaa3f
chore: add local patch coverage preflight instructions before unit te…
actions-user Feb 17, 2026
93325bb
chore: Add tests for auth cookie extraction and rate limit middleware…
actions-user Feb 17, 2026
9713908
fix: format JSON threshold and warnings for consistency in test output
actions-user Feb 17, 2026
2cad49d
chore: Add tests for backup service, crowdsec startup, log service, a…
actions-user Feb 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,17 @@ coverage:
# Fail CI if Codecov upload/report indicates a problem
require_ci_to_pass: yes

# -----------------------------------------------------------------------------
# PR Comment Configuration
# -----------------------------------------------------------------------------
comment:
# Post coverage report as PR comment
require_changes: false
require_base: false
require_head: true
layout: "reach, diff, flags, files"
behavior: default

# -----------------------------------------------------------------------------
# Exclude from coverage reporting
# -----------------------------------------------------------------------------
Expand Down
5 changes: 5 additions & 0 deletions .docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,11 @@ Configure the application via `docker-compose.yml`:
| `CHARON_HTTP_PORT` | `8080` | Port for the Web UI (`CPM_HTTP_PORT` supported for backward compatibility). |
| `CHARON_DB_PATH` | `/app/data/charon.db` | Path to the SQLite database (`CPM_DB_PATH` supported for backward compatibility). |
| `CHARON_CADDY_ADMIN_API` | `http://localhost:2019` | Internal URL for Caddy API (`CPM_CADDY_ADMIN_API` supported for backward compatibility). |
| `CHARON_CADDY_CONFIG_ROOT` | `/config` | Path to Caddy autosave configuration directory. |
| `CHARON_CADDY_LOG_DIR` | `/var/log/caddy` | Directory for Caddy access logs. |
| `CHARON_CROWDSEC_LOG_DIR` | `/var/log/crowdsec` | Directory for CrowdSec logs. |
| `CHARON_PLUGINS_DIR` | `/app/plugins` | Directory for DNS provider plugins. |
| `CHARON_SINGLE_CONTAINER_MODE` | `true` | Enables permission repair endpoints for single-container deployments. |

## NAS Deployment Guides

Expand Down
2 changes: 1 addition & 1 deletion .docker/compose/docker-compose.playwright-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ services:
# Charon Application - Core E2E Testing Service
# =============================================================================
charon-app:
# CI provides CHARON_E2E_IMAGE_TAG=charon:e2e-test (locally built image)
# CI provides CHARON_E2E_IMAGE_TAG=charon:e2e-test (retagged from shared digest)
# Local development uses the default fallback value
image: ${CHARON_E2E_IMAGE_TAG:-charon:e2e-test}
container_name: charon-playwright
Expand Down
101 changes: 86 additions & 15 deletions .docker/docker-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,42 @@ run_as_charon() {
fi
}

get_group_by_gid() {
if command -v getent >/dev/null 2>&1; then
getent group "$1" 2>/dev/null || true
else
awk -F: -v gid="$1" '$3==gid {print $0}' /etc/group 2>/dev/null || true
fi
}

create_group_with_gid() {
local gid="$1"
local name="$2"

if command -v addgroup >/dev/null 2>&1; then
addgroup -g "$gid" "$name" 2>/dev/null || true
return
fi

if command -v groupadd >/dev/null 2>&1; then
groupadd -g "$gid" "$name" 2>/dev/null || true
fi
}

add_user_to_group() {
local user="$1"
local group="$2"

if command -v addgroup >/dev/null 2>&1; then
addgroup "$user" "$group" 2>/dev/null || true
return
fi

if command -v usermod >/dev/null 2>&1; then
usermod -aG "$group" "$user" 2>/dev/null || true
fi
}

# ============================================================================
# Volume Permission Handling for Non-Root User
# ============================================================================
Expand Down Expand Up @@ -89,18 +125,19 @@ if [ -S "/var/run/docker.sock" ] && is_root; then
DOCKER_SOCK_GID=$(stat -c '%g' /var/run/docker.sock 2>/dev/null || echo "")
if [ -n "$DOCKER_SOCK_GID" ] && [ "$DOCKER_SOCK_GID" != "0" ]; then
# Check if a group with this GID exists
if ! getent group "$DOCKER_SOCK_GID" >/dev/null 2>&1; then
GROUP_ENTRY=$(get_group_by_gid "$DOCKER_SOCK_GID")
if [ -z "$GROUP_ENTRY" ]; then
echo "Docker socket detected (gid=$DOCKER_SOCK_GID) - creating docker group and adding charon user..."
# Create docker group with the socket's GID
groupadd -g "$DOCKER_SOCK_GID" docker 2>/dev/null || true
create_group_with_gid "$DOCKER_SOCK_GID" docker
# Add charon user to the docker group
usermod -aG docker charon 2>/dev/null || true
add_user_to_group charon docker
echo "Docker integration enabled for charon user"
else
# Group exists, just add charon to it
GROUP_NAME=$(getent group "$DOCKER_SOCK_GID" | cut -d: -f1)
GROUP_NAME=$(echo "$GROUP_ENTRY" | cut -d: -f1)
echo "Docker socket detected (gid=$DOCKER_SOCK_GID, group=$GROUP_NAME) - adding charon user..."
usermod -aG "$GROUP_NAME" charon 2>/dev/null || true
add_user_to_group charon "$GROUP_NAME"
echo "Docker integration enabled for charon user"
fi
fi
Expand Down Expand Up @@ -152,33 +189,67 @@ if command -v cscli >/dev/null; then
# Initialize persistent config if key files are missing
if [ ! -f "$CS_CONFIG_DIR/config.yaml" ]; then
echo "Initializing persistent CrowdSec configuration..."

# Check if .dist has content
if [ -d "/etc/crowdsec.dist" ] && [ -n "$(ls -A /etc/crowdsec.dist 2>/dev/null)" ]; then
cp -r /etc/crowdsec.dist/* "$CS_CONFIG_DIR/" || {
echo "Copying config from /etc/crowdsec.dist..."
if ! cp -r /etc/crowdsec.dist/* "$CS_CONFIG_DIR/"; then
echo "ERROR: Failed to copy config from /etc/crowdsec.dist"
echo "DEBUG: Contents of /etc/crowdsec.dist:"
ls -la /etc/crowdsec.dist/
exit 1
}
echo "Successfully initialized config from .dist directory"
fi

# Verify critical files were copied
if [ ! -f "$CS_CONFIG_DIR/config.yaml" ]; then
echo "ERROR: config.yaml was not copied to $CS_CONFIG_DIR"
echo "DEBUG: Contents of $CS_CONFIG_DIR after copy:"
ls -la "$CS_CONFIG_DIR/"
exit 1
fi
echo "✓ Successfully initialized config from .dist directory"
elif [ -d "/etc/crowdsec" ] && [ ! -L "/etc/crowdsec" ] && [ -n "$(ls -A /etc/crowdsec 2>/dev/null)" ]; then
cp -r /etc/crowdsec/* "$CS_CONFIG_DIR/" || {
echo "ERROR: Failed to copy config from /etc/crowdsec"
echo "Copying config from /etc/crowdsec (fallback)..."
if ! cp -r /etc/crowdsec/* "$CS_CONFIG_DIR/"; then
echo "ERROR: Failed to copy config from /etc/crowdsec (fallback)"
exit 1
}
echo "Successfully initialized config from /etc/crowdsec"
fi
echo "Successfully initialized config from /etc/crowdsec"
else
echo "ERROR: No config source found (neither .dist nor /etc/crowdsec available)"
echo "ERROR: No config source found!"
echo "DEBUG: /etc/crowdsec.dist contents:"
ls -la /etc/crowdsec.dist/ 2>/dev/null || echo " (directory not found or empty)"
echo "DEBUG: /etc/crowdsec contents:"
ls -la /etc/crowdsec 2>/dev/null || echo " (directory not found or empty)"
exit 1
fi
else
echo "✓ Persistent config already exists: $CS_CONFIG_DIR/config.yaml"
fi

# Verify symlink exists (created at build time)
# Note: Symlink is created in Dockerfile as root before switching to non-root user
# Non-root users cannot create symlinks in /etc, so this must be done at build time
if [ -L "/etc/crowdsec" ]; then
echo "CrowdSec config symlink verified: /etc/crowdsec -> $CS_CONFIG_DIR"

# Verify the symlink target is accessible and has config.yaml
if [ ! -f "/etc/crowdsec/config.yaml" ]; then
echo "ERROR: /etc/crowdsec/config.yaml is not accessible via symlink"
echo "DEBUG: Symlink target verification:"
ls -la /etc/crowdsec 2>/dev/null || echo " (symlink broken or missing)"
echo "DEBUG: Directory contents:"
ls -la "$CS_CONFIG_DIR/" 2>/dev/null | head -10 || echo " (directory not found)"
exit 1
fi
echo "✓ /etc/crowdsec/config.yaml is accessible via symlink"
else
echo "WARNING: /etc/crowdsec symlink not found. This may indicate a build issue."
echo "ERROR: /etc/crowdsec symlink not found"
echo "Expected: /etc/crowdsec -> /app/data/crowdsec/config"
# Try to continue anyway - config may still work if CrowdSec uses CFG env var
echo "This indicates a critical build-time issue. Symlink must be created at build time as root."
echo "DEBUG: Directory check:"
ls -la /etc/ | grep crowdsec || echo " (no crowdsec entry found)"
exit 1
fi

# Create/update acquisition config for Caddy logs
Expand Down
17 changes: 12 additions & 5 deletions .github/agents/Backend_Dev.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,24 @@
name: 'Backend Dev'
description: 'Senior Go Engineer focused on high-performance, secure backend implementation.'
argument-hint: 'The specific backend task from the Plan (e.g., "Implement ProxyHost CRUD endpoints")'
tools:
['execute', 'read', 'agent', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'search', 'todo']
model: 'Cloaude Sonnet 4.5'
tools: vscode/extensions, vscode/getProjectSetupInfo, vscode/installExtension, vscode/memory, vscode/openSimpleBrowser, vscode/runCommand, vscode/askQuestions, vscode/vscodeAPI, execute, read, agent, 'github/*', 'github/*', 'io.github.goreleaser/mcp/*', 'trivy-mcp/*', edit, search, web, 'github/*', 'playwright/*', 'pylance-mcp-server/*', todo, vscode.mermaid-chat-features/renderMermaidDiagram, github.vscode-pull-request-github/issue_fetch, github.vscode-pull-request-github/labels_fetch, github.vscode-pull-request-github/notification_fetch, github.vscode-pull-request-github/doSearch, github.vscode-pull-request-github/activePullRequest, github.vscode-pull-request-github/openPullRequest, ms-azuretools.vscode-containers/containerToolsConfig, ms-python.python/getPythonEnvironmentInfo, ms-python.python/getPythonExecutableCommand, ms-python.python/installPythonPackage, ms-python.python/configurePythonEnvironment

model: GPT-5.3-Codex (copilot)
target: vscode
user-invocable: true
disable-model-invocation: false

---
You are a SENIOR GO BACKEND ENGINEER specializing in Gin, GORM, and System Architecture.
Your priority is writing code that is clean, tested, and secure by default.

<context>

- **MANDATORY**: Read all relevant instructions in `.github/instructions/` for the specific task before starting.
- **Project**: Charon (Self-hosted Reverse Proxy)
- **Stack**: Go 1.22+, Gin, GORM, SQLite.
- **Rules**: You MUST follow `.github/copilot-instructions.md` explicitly.
- **References**: Use `gopls` mcp server for Go code understanding and generation.
</context>

<workflow>
Expand Down Expand Up @@ -43,6 +49,9 @@ Your priority is writing code that is clean, tested, and secure by default.
- Run `go mod tidy`.
- Run `go fmt ./...`.
- Run `go test ./...` to ensure no regressions.
- **Local Patch Coverage Preflight (MANDATORY)**: Run VS Code task `Test: Local Patch Report` or `bash scripts/local-patch-report.sh` before backend coverage runs.
- Ensure artifacts exist: `test-results/local-patch-report.md` and `test-results/local-patch-report.json`.
- Use the file-level coverage gap list to target tests before final coverage validation.
- **Coverage (MANDATORY)**: Run the coverage task/script explicitly and confirm Codecov Patch view is green for modified lines.
- **MANDATORY**: Patch coverage must cover 100% of new/modified code. This prevents CodeCov Report failing CI.
- **VS Code Task**: Use "Test: Backend with Coverage" (recommended)
Expand All @@ -65,5 +74,3 @@ Your priority is writing code that is clean, tested, and secure by default.
- **NO CONVERSATION**: If the task is done, output "DONE". If you need info, ask the specific question.
- **USE DIFFS**: When updating large files (>100 lines), use `sed` or `replace_string_in_file` tools if available. If re-writing the file, output ONLY the modified functions/blocks.
</constraints>

```
14 changes: 7 additions & 7 deletions .github/agents/DevOps.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@
name: 'DevOps'
description: 'DevOps specialist for CI/CD pipelines, deployment debugging, and GitOps workflows focused on making deployments boring and reliable'
argument-hint: 'The CI/CD or infrastructure task (e.g., "Debug failing GitHub Action workflow")'
tools:
['execute', 'read', 'agent', 'github/*', 'github/*', 'io.github.goreleaser/mcp/*', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'search', 'web', 'github/*', 'todo', 'ms-azuretools.vscode-containers/containerToolsConfig']
model: 'Cloaude Sonnet 4.5'
mcp-servers:
- github
tools: vscode/extensions, vscode/getProjectSetupInfo, vscode/installExtension, vscode/memory, vscode/openSimpleBrowser, vscode/runCommand, vscode/askQuestions, vscode/vscodeAPI, execute, read, agent, 'github/*', 'github/*', 'io.github.goreleaser/mcp/*', 'trivy-mcp/*', edit, search, web, 'github/*', 'playwright/*', 'pylance-mcp-server/*', todo, vscode.mermaid-chat-features/renderMermaidDiagram, github.vscode-pull-request-github/issue_fetch, github.vscode-pull-request-github/labels_fetch, github.vscode-pull-request-github/notification_fetch, github.vscode-pull-request-github/doSearch, github.vscode-pull-request-github/activePullRequest, github.vscode-pull-request-github/openPullRequest, ms-azuretools.vscode-containers/containerToolsConfig, ms-python.python/getPythonEnvironmentInfo, ms-python.python/getPythonExecutableCommand, ms-python.python/installPythonPackage, ms-python.python/configurePythonEnvironment

model: GPT-5.3-Codex (copilot)
target: vscode
user-invocable: true
disable-model-invocation: false
---

# GitOps & CI Specialist
Expand Down Expand Up @@ -135,6 +136,7 @@ main:
- Look for error messages
- Check timing (timeout vs crash)
- Environment variables set correctly?
- If MCP web fetch lacks auth, pull workflow logs with `gh` CLI

3. **Verify environment configuration**
```bash
Expand Down Expand Up @@ -248,5 +250,3 @@ git revert HEAD && git push
```

Remember: The best deployment is one nobody notices. Automation, monitoring, and quick recovery are key.

````
11 changes: 6 additions & 5 deletions .github/agents/Doc_Writer.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@
name: 'Docs Writer'
description: 'User Advocate and Writer focused on creating simple, layman-friendly documentation.'
argument-hint: 'The feature to document (e.g., "Write the guide for the new Real-Time Logs")'
tools:
['read/getNotebookSummary', 'read/problems', 'read/readFile', 'read/readNotebookCellOutput', 'read/terminalSelection', 'read/terminalLastCommand', 'read/getTaskOutput', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'search/changes', 'search/codebase', 'search/fileSearch', 'search/listDirectory', 'search/searchResults', 'search/textSearch', 'search/usages', 'search/searchSubagent', 'web/fetch', 'github/add_comment_to_pending_review', 'github/add_issue_comment', 'github/assign_copilot_to_issue', 'github/create_branch', 'github/create_or_update_file', 'github/create_pull_request', 'github/create_repository', 'github/delete_file', 'github/fork_repository', 'github/get_commit', 'github/get_file_contents', 'github/get_label', 'github/get_latest_release', 'github/get_me', 'github/get_release_by_tag', 'github/get_tag', 'github/get_team_members', 'github/get_teams', 'github/issue_read', 'github/issue_write', 'github/list_branches', 'github/list_commits', 'github/list_issue_types', 'github/list_issues', 'github/list_pull_requests', 'github/list_releases', 'github/list_tags', 'github/merge_pull_request', 'github/pull_request_read', 'github/pull_request_review_write', 'github/push_files', 'github/request_copilot_review', 'github/search_code', 'github/search_issues', 'github/search_pull_requests', 'github/search_repositories', 'github/search_users', 'github/sub_issue_write', 'github/update_pull_request', 'github/update_pull_request_branch', 'github/add_comment_to_pending_review', 'github/add_issue_comment', 'github/assign_copilot_to_issue', 'github/create_branch', 'github/create_or_update_file', 'github/create_pull_request', 'github/create_repository', 'github/delete_file', 'github/fork_repository', 'github/get_commit', 'github/get_file_contents', 'github/get_label', 'github/get_latest_release', 'github/get_me', 'github/get_release_by_tag', 'github/get_tag', 'github/get_team_members', 'github/get_teams', 'github/issue_read', 'github/issue_write', 'github/list_branches', 'github/list_commits', 'github/list_issue_types', 'github/list_issues', 'github/list_pull_requests', 'github/list_releases', 'github/list_tags', 'github/merge_pull_request', 'github/pull_request_read', 'github/pull_request_review_write', 'github/push_files', 'github/request_copilot_review', 'github/search_code', 'github/search_issues', 'github/search_pull_requests', 'github/search_repositories', 'github/search_users', 'github/sub_issue_write', 'github/update_pull_request', 'github/update_pull_request_branch', 'github/add_comment_to_pending_review', 'github/add_issue_comment', 'github/assign_copilot_to_issue', 'github/create_branch', 'github/create_or_update_file', 'github/create_pull_request', 'github/create_repository', 'github/delete_file', 'github/fork_repository', 'github/get_commit', 'github/get_file_contents', 'github/get_label', 'github/get_latest_release', 'github/get_me', 'github/get_release_by_tag', 'github/get_tag', 'github/get_team_members', 'github/get_teams', 'github/issue_read', 'github/issue_write', 'github/list_branches', 'github/list_commits', 'github/list_issue_types', 'github/list_issues', 'github/list_pull_requests', 'github/list_releases', 'github/list_tags', 'github/merge_pull_request', 'github/pull_request_read', 'github/pull_request_review_write', 'github/push_files', 'github/request_copilot_review', 'github/search_code', 'github/search_issues', 'github/search_pull_requests', 'github/search_repositories', 'github/search_users', 'github/sub_issue_write', 'github/update_pull_request', 'github/update_pull_request_branch', 'vscode.mermaid-chat-features/renderMermaidDiagram', 'todo']
model: 'Cloaude Sonnet 4.5'
mcp-servers:
- github
tools: vscode/extensions, vscode/getProjectSetupInfo, vscode/installExtension, vscode/memory, vscode/openSimpleBrowser, vscode/runCommand, vscode/askQuestions, vscode/vscodeAPI, execute, read, agent, 'github/*', 'github/*', 'io.github.goreleaser/mcp/*', 'trivy-mcp/*', edit, search, web, 'github/*', 'playwright/*', 'pylance-mcp-server/*', todo, vscode.mermaid-chat-features/renderMermaidDiagram, github.vscode-pull-request-github/issue_fetch, github.vscode-pull-request-github/labels_fetch, github.vscode-pull-request-github/notification_fetch, github.vscode-pull-request-github/doSearch, github.vscode-pull-request-github/activePullRequest, github.vscode-pull-request-github/openPullRequest, ms-azuretools.vscode-containers/containerToolsConfig, ms-python.python/getPythonEnvironmentInfo, ms-python.python/getPythonExecutableCommand, ms-python.python/installPythonPackage, ms-python.python/configurePythonEnvironment

model: GPT-5.3-Codex (copilot)
target: vscode
user-invocable: true
disable-model-invocation: false
---
You are a USER ADVOCATE and TECHNICAL WRITER for a self-hosted tool designed for beginners.
Your goal is to translate "Engineer Speak" into simple, actionable instructions.
Expand Down
Loading
Loading