fleet/android/app/detekt.yml
Victor Lyuboslavsky edfa694ac2
Fixed certificate template fetch failing with DNS errors (and other issues) (#42625)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42624
**Related issue:** Resolves #37546

- Fixed certificate template fetch failing with DNS errors (known
Android issue)
- stop polling certs that failed permanently
- CertificateOrchestrator: When server returns template status "failed",
mark the certificate as locally failed (markCertificateForceFailed) and
stop polling
- CertificateOrchestrator: Non-retryable SCEP failures (e.g.
ScepEnrollmentException) now immediately mark as failed and report to
server, skipping the 3-attempt retry logic
- CertificateOrchestrator: recordEnrollmentAttemptFailure now stores the
uuid, fixing a bug where the FAILED guard was bypassed because stored
uuid was empty
- CertificateOrchestrator: Renamed markCertificateFailure to
recordEnrollmentAttemptFailure and added markCertificateForceFailed for
clarity

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Fixed certificate template retrieval failures that displayed
misleading DNS errors. Optimized HTTP request header handling for GET
requests to prevent these errors during certificate enrollment
operations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-02 10:44:50 -05:00

43 lines
1 KiB
YAML

build:
maxIssues: 0
naming:
FunctionNaming:
active: false # Allow Composable functions to use PascalCase
VariableNaming:
active: false # Allow TAG constants to be uppercase
style:
MagicNumber:
active: false # Color hex values are standard in Compose
MaxLineLength:
active: false # Handled by ktlint
ReturnCount:
active: false
complexity:
CognitiveComplexMethod:
active: false
ComplexCondition:
active: false
ComplexInterface:
active: false
CyclomaticComplexMethod:
active: false # Up to engineers to determine if method is too complex
LargeClass:
active: false
LongMethod:
active: false # Up to engineers to determine if method is too long
LongParameterList:
active: false
NamedArguments:
threshold: 5
ignoreArgumentsMatchingNames: true
NestedBlockDepth:
threshold: 5 # Android receivers often need nested blocks
TooManyFunctions:
active: false
exceptions:
TooGenericExceptionCaught:
active: false # Sometimes necessary for robustness in Android