PRs open (not yet merged):
- spikersoft-backend #318 — nClam MaxStreamSize + scan-error-vs-virus labeling
- spikersoft-infrastructure #117 — clamd StreamMaxLength/MaxFileSize 128M, MaxScanSize…
Resolved in spikersoft-angular PR #196 (merged to master). New @spikersoft/platform-content-locale primitive (ContentLocaleService signal + onContentLocaleChange edge hook); the three…
Partial hardening landed: spikersoft-backend PR #317 (merged) gives the coderunner workflow the concurrency guard the other multi-arch workflows already carry (PR runs cancel, master runs queue…
Resolved in spikersoft-angular PR #195 (merged to master) — the recommended option 1. A mediaUrl() helper prepends environment.baseUrl to root-relative media URLs in all three consuming…
Resolved in spikersoft-angular PR #194 (merged to master). The runner query in language-playground-shell.component.ts is now the optional viewChild(LanguageRunner) — every sidebar/result…
Resolved — verified in production ✅
spikersoft-backend#316 merged (commit a30ea3b) and deployed. After the swarm rolling update landed (~8.5 min post-merge), the same prod curl that…
Second root cause found — the online/signed-in symptom was NOT the WASM path
The merged WASM work (#313 / frontend) localizes the offline in-browser attempt starter. But the symptom…
Resolved in spikersoft-backend PR #314 (merged to master). Added bounded retry to the SpikerSoft.Secrets OpenBao overlay — VaultSecretSource now retries AppRole login + KV reads on…
Resolved in spikersoft-backend PR #311 (merged to master). Quiz.DegradedPageNumbers (#559) and Quiz.UnvalidatedQuestionDropCount (#564) were non-nullable properties added after the schema…