Adding a data-backed rule to the noise-policy list: csharpsquid:S3267 (loops should be simplified with LINQ, 45 findings) has a HIGH false-positive/degradation rate on this codebase. I…
Resolved in spikersoft-backend PR #362 (merged to master). All 6 sites now parse with CultureInfo.InvariantCulture + DateTimeStyles.RoundtripKind, preserving UTC Kind — phone-code expiry and…
Resolved in spikersoft-backend PR #360 (merged to master). The two empty catches are gone — Keycloak update failures now propagate to UserController, which logs and returns BadRequest (restoring…
Reclassified per spikerj (2026-07-17): this is an isolated dev environment, so the hardcoded secrets carry no production exposure and the 24 SonarQube findings have been ACCEPTED (not false-positiv…
Resolved in spikersoft-angular PR #224 (offline store) + PR #225 (download service), both merged to master. BookOfflineStoreService (IndexedDB schema/CRUD, atomic deleteBook, sha256 staleness) +…
Resolved in spikersoft-angular PR #223 (merged to master). EpubPageCacheService (LRU + prefetch±5 + in-flight dedupe) wired into epub-reader.loadPage; ngsw api-books (dead /Book*) replaced…
Resolved in spikersoft-angular PR #222 (merged to master). The toolbar Community badge now fires a one-shot token so the sidebar jumps to the Community tab (index computed from file type), plus…