- Replaced dialog-based user creation with API calls for better reliability and speed.
- Added functions for resetting security state and retrieving authentication tokens.
- Improved audit log checks by implementing polling for asynchronous data retrieval.
- Enhanced role assignment and user management tests to utilize API endpoints.
- Streamlined login processes and error handling for failed login attempts.
- Ensured unique user data generation for test isolation.
Bump workspace and backend module to Go 1.26 to satisfy module toolchain requirements and allow dependency tooling (Renovate) to run. Regenerated backend module checksums.
- Implemented SystemPermissionsHandler to check and repair file permissions.
- Added endpoints for retrieving and repairing permissions.
- Introduced utility functions for permission checks and error mapping.
- Created tests for the new handler and utility functions.
- Updated routes to include the new permissions endpoints.
- Enhanced configuration to support new logging and plugin directories.
- Mocked `getNotifications` and `checkUpdates` in `Layout.test.tsx`
- Prevents `UND_ERR_INVALID_ARG` errors caused by unmocked `undici` network requests in JSDOM
- Ensures clean test execution for `Layout` and child components
- Updated error variable names for clarity in DNS provider, import, logs, manual challenge, security, user, and other handlers.
- Improved error handling in services such as backup, credential, docker, mail, notification, security headers, and uptime services.
- Enhanced readability by using more descriptive variable names for errors in multiple locations across the codebase.
- Ensured consistent error handling practices throughout the application.
The golangci-lint v2.8.0 schema validation rejected all properties
in the issues section:
- exclude-use-default
- exclude-dirs
- exclude-files
- exclude
- max-issues-per-linter
- max-same-issues
Solution: Removed the entire issues section from both config files.
Linter behavior is now controlled exclusively through linters.settings,
which is properly configured for govet, errcheck, gosec, gocritic, etc.
Changes to backend/.golangci-fast.yml and backend/.golangci.yml:
- Removed issues section entirely (v2.x schema incompatible)
- Retained all linter-specific settings under linters.settings
- Linters will run with their configured settings and default behaviors
This resolves the jsonschema validation error:
"additional properties ... not allowed"
Fixes: #666 (golangci-lint v2.x schema validation)
The golangci-lint v2.x series requires a different configuration schema:
1. `linters-settings` must be nested under `linters.settings`
2. `issues.exclude-generated-strict` is not supported
3. `issues.exclude-rules` complex syntax replaced with simpler `exclude` patterns
Changes to both backend/.golangci-fast.yml and backend/.golangci.yml:
- Restructured linter settings under `linters.settings`
- Converted exclude-rules to simple exclude patterns
- Added proper v2.x directives (exclude-use-default, max-issues-per-linter)
- Maintained all security checks and error handling exclusions
This resolves the "invalid configuration keys" error when running
golangci-lint v2.8.0 with golangci-lint-action v9.2.0.
Fixes: #666 (golangci-lint configuration schema validation)