2026-07-03 - 2026-08-03

Overview

0 Active Pull Requests
580 Active Issues

There has been no commit activity in this period.

417 Issues closed from 2 users

Closed #628 [Bug][CI][E2E] e2e.staff credential drift — OpenBao staff_password no longer authenticates against Keycloak (student from same secret works) 2026-08-03 15:00:30 +00:00

Closed #894 Photo gallery: Florence-2 AI auto-tagging pipeline step (auto-tags + caption, suppressible, full backfill) 2026-07-29 22:33:47 +00:00

Closed #786 [Bug][Prod][Calendar] GET events threw for every pre-#781 event — required non-nullable AffectsAvailability missing from old documents (backfilled) 2026-07-29 16:55:50 +00:00

Closed #824 CI gap: strictTemplates / app-build errors merge to master green (nx build spikersoft not gated) 2026-07-29 15:55:40 +00:00

Closed #805 [Feature][Art Studio] Serve display images as AVIF derivatives (small card + full), keep PNG for download 2026-07-29 15:48:11 +00:00

Closed #807 Art Studio: let owners upload an edited .tif as a non-destructive stack variant 2026-07-29 15:47:51 +00:00

Closed #822 GPU coordinator queue deadlocked after #467 node-routing deploy — Embeddings pinned to disabled SERVER lane wedges all GPU tenants 2026-07-29 15:47:32 +00:00

Closed #540 [Bug][Infra][CI] SpikerSoft.EventHandlers.Scheduler is built nowhere and deployed nowhere — scheduled tasks (GeoIpUpdate incl.) never run 2026-07-29 15:40:11 +00:00

Closed #848 Art Studio UI: show what made an asset, and let a user remake it (#842) 2026-07-29 15:37:39 +00:00

Closed #843 Art Studio: record what actually produced each stage run (#842) 2026-07-29 15:37:22 +00:00

Closed #851 GET api/Profile/images/{id} returns 500 — response compression grows already-compressed images past Content-Length 2026-07-29 15:37:06 +00:00

Closed #888 OpenBao HA is silently degraded by sealed standbys — seal state has no monitoring, turning one node loss into a 2.5h write outage (#885 post-mortem) 2026-07-29 15:37:00 +00:00

Closed #849 Art Studio: name storage keys for what they hold (#842) 2026-07-29 15:36:55 +00:00

Closed #579 [Bug][CI][Infra] gitea-runners arm_v8_2 crash-looping on dreamstream6 since the #539 outage — ARM CI capacity silently down 3→2 2026-07-29 15:36:54 +00:00

Closed #852 PROD: all Art Studio images 404 — #849 rename orphaned the legacy PascalCase artifact key 2026-07-29 15:36:43 +00:00

Closed #853 Drop GridFS naming from Art Studio: rename to objectKey, migrate legacy docs, remove the #852 shim 2026-07-29 15:36:28 +00:00

Closed #831 Sponsor family card: declutter header, consolidate member photos, promote the $ tracker 2026-07-29 15:32:37 +00:00

Closed #850 CI: prune artpipe container pin tags — keep :latest + 3, they accumulate forever 2026-07-29 15:30:14 +00:00

Closed #844 art_pipe: always seed generation, and record what made each image (#842) 2026-07-29 15:29:56 +00:00

Closed #839 ModelEnvImages: triposg venv unbuildable (fvdb needs Python >=3.11, manifest pins 3.10) — aborts the serial loop and silently blocks 4 later images 2026-07-29 15:29:41 +00:00

Closed #875 Fund-management admin page: recurrence/prize-kind enum drift (400s) + domain/action pickers 2026-07-29 15:29:26 +00:00

Closed #873 exposeAgePublicly parental permission + Age on SponsorFamilyMember (consent-boundary design) 2026-07-29 15:29:12 +00:00

Closed #871 TopAwards on SponsorFamilyListItem — public top-4 family prizes/skills aggregation 2026-07-29 15:28:55 +00:00

Closed #870 Family card re-skin to approved mock (header, ringed avatars, image destination tiles, CTA banner) 2026-07-29 15:28:43 +00:00

Closed #869 Destination background images: anonymous /destination-images MediaRoute from MinIO assets bucket 2026-07-29 15:28:29 +00:00

Closed #863 Art Studio: artifacts only appear when the whole asset finishes, and the progress percentages are not honest 2026-07-29 15:28:18 +00:00

Closed #860 hex-tower-defence: loadout effect re-subscribes to the art loader's httpResources, looping until the renderer is killed 2026-07-29 15:28:01 +00:00

Closed #867 Rework /employment into a routed master-detail careers page with a globe 2026-07-29 15:27:49 +00:00

Closed #881 book-upload preview binds bucket-relative coverImage key as <img src> — broken preview for MinIO-served books 2026-07-29 15:27:26 +00:00

Closed #893 Photo gallery: free-form tags — editor, gallery filter/search, EXIF keyword seeding 2026-07-29 15:26:39 +00:00

Closed #892 Photo gallery: poor thumbnail quality — Lanczos3 + edge-aware sharpening + fix ORF 160×120 thumbs 2026-07-29 15:26:21 +00:00

Closed #891 Photo gallery: multi-select upload wrongly groups unrelated photos as a burst 2026-07-29 15:26:02 +00:00

Closed #535 [Enhancement][ArtPipe][Angular] AI QR code generation — SDXL qrcode_monster ControlNet per-model lane + authenticated AI button in the QR tool 2026-07-29 15:15:36 +00:00

Closed #877 [Bug][Infra][CI] ModelEnvImages rebuilds all 10 model images from scratch every push — a provenance LABEL above the expensive layers busts the cache (3h build, hits the runner cap) 2026-07-29 01:30:52 +00:00

Closed #878 Sponsor family card UI/UX: spotlight bio clipped, duplicate family-page link, broken narrow-lane/mobile layout 2026-07-29 01:30:41 +00:00

Closed #880 Offline book downloads don't persist the cover — downloaded books show broken covers once the presigned URL expires 2026-07-29 01:30:34 +00:00

Closed #883 Duplicate System Activity gear FAB on /art-studio 2026-07-29 01:30:26 +00:00

Closed #887 artpipe-model-blender:latest missing from registry — service Reject-loops every ~5s since the 04:11Z artpipe redeploy 2026-07-29 01:30:19 +00:00

Closed #890 Restore QR-art rate limit to 6/hr after the #889 testing window 2026-07-29 01:30:05 +00:00

Closed #889 QR Monster: add SD1.5 Monster v2 'classic' variant + per-variant tuning (gallery-quality blending) 2026-07-28 20:55:54 +00:00

Closed #884 Sponsor family card: hover member tabs (locations/bio/awards) + dashboard sponsor grid layout 2026-07-28 15:23:04 +00:00

Closed #882 CI red: 3 SponsorControllerTests family tests dial real MongoDB — #871 TopAwards reads not mocked 2026-07-28 15:05:35 +00:00

Closed #885 OUTAGE: dreamstream4 down → RabbitMQ backbone unreachable since 12:17Z — consumers can't connect, redis node lost 2026-07-28 14:45:57 +00:00

Closed #832 Art Studio: make the Hunyuan3D texturing lane actually run in production (never textured a single asset) 2026-07-25 03:25:01 +00:00

Closed #837 Pixal3D PR-4: bake the pixal3d env image in CI 2026-07-25 01:12:54 +00:00

Closed #836 Pixal3D PR-3: decouple model-queue binding from resident mode + per-model routing allow-list 2026-07-25 00:59:07 +00:00

Closed #829 JWT tool: in-flight signature computation writes stale signature over cleared state (also reddens the full-suite SonarQube scan on master) 2026-07-24 20:45:53 +00:00

Closed #814 QrCodeComponent: WiFi field escaping only escapes the first special char (regex missing /g) 2026-07-24 20:34:37 +00:00

Closed #813 PhpInterpreterService: capabilities.canRun not reactive to setWorkspace (non-signal hasBlocks) 2026-07-24 20:34:37 +00:00

Closed #815 CI red on master: deployment guard tests point at pre-reusable-pipeline workflow locations 2026-07-24 20:17:38 +00:00

Closed #816 Angular CI: WASM bundle download flakes on HTTP/2 stream reset (curl exit 92) 2026-07-24 20:17:38 +00:00

Closed #826 space-game KeybindingManager ctor wipes saved localStorage keybindings on every boot (custom binds lost on reload) 2026-07-24 19:58:38 +00:00

Closed #827 Epic: Sponsor page — unified card grid, declutter donate buttons, and family shared-trip funds 2026-07-24 19:24:14 +00:00

Closed #828 Angular master e2e-anonymous RED since #827 PR #564: /sponsor/donate-family/:familyKey unclassified in route-manifest → publish skipped, frontend not deploying 2026-07-24 19:23:49 +00:00

Closed #823 master production app build is RED: photo-lightbox humanizeDuration(number|null) strictTemplates error 2026-07-24 18:59:24 +00:00

Closed #817 Angular master CI red: Stylelint declaration-empty-line-before in sponsor-family.component.scss 2026-07-24 18:59:24 +00:00

Closed #818 Angular lint: COVERAGE-LOOP.md trips prettier -c . on master 2026-07-24 18:59:24 +00:00

Closed #819 e2e route-coverage red on master: location-fund routes unclassified + ratchet dip (regression from #552) 2026-07-23 19:40:30 +00:00

Closed #806 Art Studio: serve AVIF renditions of PhotoStack stacks instead of the raw ~117MB .tif 2026-07-23 04:10:57 +00:00

Closed #803 [Feature][Calendar] Subscription feeds — periodic .ics refresh via scheduler worker 2026-07-22 23:34:20 +00:00

Closed #802 [Feature][Calendar] Import .ics calendars — one-shot file upload (Microsoft / Google / Apple) 2026-07-22 23:34:14 +00:00

Closed #801 Gitea LFS storage → MinIO (keep 751MB of large assets off laptop-server host disk) 2026-07-22 21:06:54 +00:00

Closed #800 spikersoft-angular: purge big binaries from git history (repo-size tier 3 — coordinated rewrite) 2026-07-22 18:56:56 +00:00

Closed #791 KeycloakCacheService.refreshUserCache over-evicts users sharing an id prefix 2026-07-22 07:00:24 +00:00

Closed #788 [Feature][Calendar] Family calendar overlay — parents see + manage children's events with per-child toggles (epic #781 adjacent) 2026-07-22 05:45:22 +00:00

Closed #789 Library tsconfig.spec rootDir: "src" blocks cross-library-importing unit tests (38 libs) 2026-07-22 05:45:04 +00:00

Closed #784 [Perf][ArtStudio] Serve artifact images via short-TTL presigned MinIO URLs + HTTP caching — stop streaming every image through the API (follow-up to #783, epic #413) 2026-07-22 04:10:47 +00:00

Closed #556 [Bug][Backend][Infra] tiles.spikersoft.com has no backing service — API status/health canary fetches a terrain tile every few minutes and 404s 100% of the time 2026-07-22 02:57:52 +00:00

Closed #551 [Bug][Infra][Jaeger] jaeger_elasticsearch crash-loops (0/1) — ES 7.17.0 image started against a data volume written by ES 8.11.0, restarting every ~30s 2026-07-22 02:57:52 +00:00

Closed #518 [ArtPipe] Baked images Phase 2: stood-down residents blender/sdxl/triposr, hunyuan deferred (epic #515) 2026-07-22 02:57:52 +00:00

Closed #517 [ArtPipe] Baked images Phase 1: SafetyCheck pilot image + cutover, incl. #486 fault isolation (epic #515) 2026-07-22 02:57:51 +00:00

Closed #513 [Bug][Infra][Deploy] docker-monitor: new correctly-named stack exits 0 on startup (stuck 0/1) + duplicate misspelled 'spiekersoft-docker-monitor' stack running in parallel 2026-07-22 02:57:51 +00:00

Closed #481 [Bug][Infra] jaeger_elasticsearch down ~24h on SERVER (exit 1) — MaxAttempts exhausted, tracing backend offline 2026-07-22 02:57:51 +00:00

Closed #486 [Bug][Prod] SafetyCheck art-pipe resident worker missing 'torch' → ArtPipeProcessor host crash-loops (24x) 2026-07-22 02:57:51 +00:00

Closed #534 [CI][ArtPipe] Route baked model-image builds (ModelEnvImages + tier-3 finals) to the 4090 runner, off laptop-server 2026-07-22 02:57:50 +00:00

Closed #516 [ArtPipe] Baked images Phase 0: build scaffolding (Dockerfiles, CI, setup flags) + disk/limits go-no-go gates (epic #515) 2026-07-22 02:57:50 +00:00

Closed #479 [Bug][Infra] sonarqube_backups stuck in reject-loop — no Sonar backups running (missing placement constraint) 2026-07-22 02:57:50 +00:00

Closed #560 [Bug][Infra][GPU] gpu-coordinator arbitrates by declared bookings, not measured VRAM — over-budget tenants invisibly starve grantees (split from closed #553) 2026-07-22 02:57:50 +00:00

Closed #419 [lint coverage] ~75 library projects are unlinted by CI + their eslint configs reference uninstalled plugins 2026-07-22 02:57:49 +00:00

Closed #425 ProArt Art Studio: full local pipeline on Windows dev machines 2026-07-22 02:57:49 +00:00

Closed #47 [Enhancement] Legacy Systems (v86): self-host OS/disk catalogue parity with copy.sh/v86 — remove third‑party CDN dependency 2026-07-22 02:55:14 +00:00

Closed #348 [ArtStudio P2] ProArt GPU worker — RabbitMQ stage consumer wrapping art_pipe's worker protocol (modeling stage first) 2026-07-22 02:55:13 +00:00

Closed #322 Decompose project knowledge into Cursor rules, skills, and AGENTS.md guardrails 2026-07-22 02:55:13 +00:00

Closed #314 [E2E P1] Anonymous walk — every public route + primary actions 2026-07-22 02:55:13 +00:00

Closed #278 # [Enhancement] Add dynamic State/Province selection or autocomplete in Profile configuration 2026-07-22 02:55:13 +00:00

Closed #131 enhancement: One-shot bootstrap container for startup seeders (move out of API cold path) 2026-07-22 02:55:12 +00:00

Closed #296 [Epic][Bug] Localize lesson code-template comments (Spanish) across all playgrounds 2026-07-22 02:55:12 +00:00

Closed #706 [Bug][Blog][Angular] Media delete is broken end-to-end — placeholder handler AND a confirm button with no click binding (epic #705) 2026-07-22 02:51:32 +00:00

Closed #707 [Bug][Blog][Angular] Comment identity is hardcoded — every comment posts as "Current User"/"current-user-id" (epic #705) 2026-07-22 02:50:20 +00:00

Closed #699 [Bug][ArtStudio] Concept stage fails for every asset offline — SDXL loader completeness check + un-baked Lightning LoRA (fix: artpipe PR #25) 2026-07-22 02:48:01 +00:00

Closed #686 [Angular][Tech-debt] Migrate off deprecated @angular/animations DSL + animations modules (Angular 22 — SonarQube S1874 ×85) 2026-07-22 02:46:05 +00:00

Closed #614 [Bug][Prod][GPU] image-description fails every page — idle-unload races in-flight inference, batch_decode on a None processor 2026-07-22 02:46:03 +00:00

Closed #716 [Security][Blog][Record] Create endpoints accepted spoofable client-supplied AuthorId — fixed by backend #423 (epic #705) 2026-07-22 02:45:00 +00:00

Closed #723 platform-clang-runtime: 2 curriculum-pane specs fail on master (localStorage.getItem is not a function) 2026-07-22 02:43:23 +00:00

Closed #729 Reading journey: let parents share their uploaded books with their children 2026-07-22 02:43:23 +00:00

Closed #733 E4 regression: activity-manifest resource() blocks whenStable() — fundraiser + calendar suites hook-timeout on master 2026-07-22 02:43:23 +00:00

Closed #727 Parent approval map never shows a domestic child's requested states (wishlistRegions unbound; orange 'requested' style gated to minor mode; no region approval store) 2026-07-22 02:43:23 +00:00

Closed #658 [Reader][Offline] Read downloaded EPUBs offline + blob-URL resource rewriter 2026-07-22 02:43:22 +00:00

Closed #655 [Reader][Offline] Read downloaded PDFs offline + auth.guard offline entry 2026-07-22 02:43:22 +00:00

Closed #680 refactor(3dmodel): consolidate duplicated auth checks into TryGetUserId helper (S1192) 2026-07-22 02:43:22 +00:00

Closed #654 [Reader][Offline] Profile "Offline books" section — list, remove, storage bar 2026-07-22 02:43:21 +00:00

Closed #653 [Reader][Offline] Download-for-offline button on book cards 2026-07-22 02:43:21 +00:00

Closed #718 [Epic][Photography] Photograph Upload · Photo Gallery · Photo Stack — photography as a first-class interest 2026-07-22 02:37:25 +00:00

Closed #779 [Feature][Photography] Stack-aware gallery: EXIF burst auto-grouping, collapse to finished products, stack provenance + transparency panel (epic #718) 2026-07-22 02:37:24 +00:00

Closed #755 note(art-studio): Stacked/Touchup saves are canvas exports — camera EXIF lost, photo-info panel sparse 2026-07-22 02:37:24 +00:00

Closed #780 [UX][ArtStudio] Touch-Up: prominent selected-frame indicator + draggable compare divider (stacked vs selected frame) (epic #718) 2026-07-22 02:37:24 +00:00

Closed #782 E2E parent/child account matrix + persona hydration tooling 2026-07-22 02:32:40 +00:00

Closed #778 [Infra][MinIO] Final GridFS slices: vault-files + photograph-previews → MinIO sole store (completes epic #413's GridFS retirement) 2026-07-22 01:49:51 +00:00

Closed #732 Epic: Accessibility hardening (SonarQube a11y backlog — alt text, keyboard equivalents, ARIA) 2026-07-21 20:02:25 +00:00

Closed #776 test(backend): flaky BookPageImage ObjectId CreationTime tolerance (CI run 11622) 2026-07-21 19:38:56 +00:00

Closed #720 [Infra][Data-integrity] Corrupt blob in MinIO-backed container registry — 17GB env-image layer unreadable at one part, blocked the #702 fix chain all night 2026-07-21 19:38:43 +00:00

Closed #731 Bug: duplicate min-height in x86-playground SCSS (css:S4656) 2026-07-21 19:38:42 +00:00

Closed #730 Sonar: exclude vendored interpreter.js (JS-Interpreter) from analysis 2026-07-21 19:38:42 +00:00

Closed #758 [Bug][Backend][Profile] GET /api/Profile/images/6a5d78cacf3094d34c21faba 500s: stored image larger than advertised Content-Length; GlobalExceptionHandlerMiddleware then crashes writing after response start 2026-07-21 19:38:42 +00:00

Closed #773 [Infra][MinIO] Sensitive documents (passports/travel docs): GridFS → MinIO sole store (slice of epic #413) 2026-07-21 19:34:44 +00:00

Closed #771 [Infra][MinIO] Profile/team/sponsor images: GridFS → MinIO sole store (profile-images slice of epic #413) 2026-07-21 18:46:33 +00:00

Closed #767 Direct messages: role/family-scoped 1:1 messaging with presence (FAB + drawer) 2026-07-21 18:41:30 +00:00

Closed #772 a11y phase 1: axe-core e2e gate + vendored-asset exclusion + dev-tools/admin batch (epic #732) 2026-07-21 18:41:30 +00:00

Closed #770 [Bug] DM roster: admin-parents don't see their children (exclusive role branches) + avatars generic for ProfileImageId users (#767 follow-up) 2026-07-21 18:41:30 +00:00

Closed #769 [Bug] DM unread badge invisible on chat FAB (glass mixin overflow:hidden clips matBadge) + no audible cue on incoming message (#767 follow-up) 2026-07-21 18:41:30 +00:00

Closed #768 [Bug][Infra] Corrupt 17GB registry blob in MinIO gitea-packages blocks all artpipe prodstages CI builds (unexpected EOF at fixed offset) 2026-07-21 14:42:29 +00:00

Closed #766 Geography explorer: state map only renders after picking a trail-activating interest 2026-07-21 04:11:29 +00:00

Closed #765 Dream globe: chip click flies globe to destination; polygon click offers "Explore in Geography" 2026-07-21 04:11:28 +00:00

Closed #764 Dream globe: choropleth invisible while hovering and past a zoom threshold (small polygons) 2026-07-21 04:11:27 +00:00

Closed #763 Dream globe: context countries nearly invisible; show grey state boundaries for supported countries 2026-07-21 04:11:26 +00:00

Closed #759 ProfileMapper.ToDto omits 5 permission fields — child's own blogPosting etc. always read as defaults 2026-07-21 03:00:41 +00:00

Closed #753 bug(blog): camera icon missing on pre-#746 gallery-sourced blog photos — backfill provenance + gallery picker in Add-more-media 2026-07-21 01:33:50 +00:00

Closed #754 feature(photography): accept Canon/Nikon/Sony/Fuji/DNG raws on upload — widen allowlist + Raw-kind heuristic (no LibRaw needed on ingest) 2026-07-21 01:33:50 +00:00

Closed #752 feature(sponsor): family card member spotlight + globe.gl choropleth dream globe on the family page 2026-07-21 00:00:13 +00:00

Closed #751 [E6/emulators] alpine-linux + mac-plus emulator components are dead since the v86 catalogue (2025-11-22) — and orphan 158 MB of assets/emulators ROMs shipped in every image 2026-07-20 23:42:52 +00:00

Closed #749 feature(sponsor): 'Sponsor a Journey' — family cards with shared destinations, destination chips, family detail page 2026-07-20 22:41:07 +00:00

Closed #719 [Reading Journey][UX] Covers-only uniform shelf + responsive AVIF cover variants + book quick-view + blog-about-this-book (parent-gated) 2026-07-20 20:14:40 +00:00

Closed #747 bug(blog): media removal is a placeholder — no backend endpoint, viewer button does nothing 2026-07-20 20:11:46 +00:00

Closed #748 bug(blog): comment endpoints are anonymous and comment author identity is client-spoofable 2026-07-20 20:11:46 +00:00

Closed #746 feature(blog): photography-info icon on blog photos sourced from the Photography gallery 2026-07-20 19:50:07 +00:00

Closed #745 bug(blog): media 'Confirm Removal' button shown to all viewers + blog update/add-media endpoints missing authorization 2026-07-20 19:50:06 +00:00

Closed #743 [Nx graph] spikersoft-environment consumer audit: all 18 lib consumers are URL-only (100 call sites); only the app needs full environment — migration report, not yet migrating 2026-07-20 19:09:58 +00:00

Closed #740 [Nx graph] Split platform-activity-tracking into api (facade, 24 dependents) + impl (pipeline, app-registered) so impl churn stops invalidating a third of the graph 2026-07-20 19:09:57 +00:00

Closed #744 Dungeon-crawler background music keeps playing after navigating to another game 2026-07-20 18:55:20 +00:00

Closed #739 [Nx graph] Delete dead libs feature-dev-tools-voronoi + shared-utils-file-hash (zero consumers since May); keep feature-trellis-3d-generator (parked pending #412) 2026-07-20 18:47:48 +00:00

Closed #741 feat(chemistry): periodic-table sizing fix + camera reset/axis views + in-scene element zoom 2026-07-20 18:41:44 +00:00

Closed #738 feat(chemistry): Learn → Chemistry periodic-table landing (three.js CSS3D) — Phase 1 2026-07-20 18:28:32 +00:00

Closed #736 Child's own profile drops 5 granted permissions — ProfileMapper.ToDto maps only 8 of 13 FeaturePermissions fields (child sees "Blog posting isn't turned on" despite parent grant) 2026-07-20 18:08:07 +00:00

Closed #737 Registration e2e step-1 specs broken by E5 Signal Forms migration — [formcontrolname] locators no longer match (CI e2e-anonymous red on master) 2026-07-20 18:08:07 +00:00

Closed #735 Child map never shows parent approval of a wishlisted state — minor-mode wishlist branch masks the approved style (profile → travel → map) 2026-07-20 17:11:08 +00:00

Closed #734 Child book read-context never built on real tokens: bare FindFirst("sub") nulled by JWT inbound claim mapping (breaks #729 household grants; #618 child gate fail-opens) 2026-07-20 15:54:38 +00:00

Closed #510 [Exploration][Infra] Resilience to SERVER node flaps — restart-policy windows, auto-reconcile sweep, de-SPOF the SERVER-pinned stateful tier 2026-07-20 04:36:51 +00:00

Closed #414 [Infra][Architecture] Production deployment & secrets model for real hardware 2026-07-20 04:36:31 +00:00

Closed #664 spikersoft-angular: root pnpm typecheck (tsc --noEmit) has ~9,200 pre-existing errors — unusable as a gate 2026-07-20 04:32:48 +00:00

Closed #724 chore(calendar): upgrade FullCalendar v6 → v7 (@fullcalendar/angular 7.0.1) — new theme system, package restructure, API renames 2026-07-20 04:29:26 +00:00

Closed #725 chore(a22): retire deprecated Angular packages — build-angular executor, @angular/animations, platform-browser-dynamic 2026-07-20 02:24:45 +00:00

Closed #721 [ArtPipe][Bug] Export stage dead on first prod asset — Blender's glTF exporter missing numpy (--no-install-recommends dropped it) + probe chain masked the real error 2026-07-19 13:48:33 +00:00

Closed #703 [Backend][Bug] Embeddings (and latent: quiz-generation) model self-provision fails — named cache volume root-owned, worker runs as app (#527 fallout) 2026-07-18 22:51:05 +00:00

Closed #702 [ArtPipe][Bug] Modeling stage fails offline — TripoSR's DINO image encoder (facebook/dino-vitb16) never baked (same class as #699) 2026-07-18 20:36:55 +00:00

Closed #701 Move My Journey into the playground curriculum pane as a Progress tab 2026-07-18 19:45:55 +00:00

Closed #620 EPUB sidebar chapter nav is off by one (loads the page before the chapter) 2026-07-18 18:46:20 +00:00

Closed #624 [Infra][CI] lesson-video-processor never deploys: swarm service name 67 chars exceeds 63-char limit (stack+service name doubled) 2026-07-18 18:40:08 +00:00

Closed #690 [Security][Hardening] JWT validation deviates from secure defaults: RequireHttpsMetadata=false, ValidateIssuer=false 2026-07-18 18:37:27 +00:00

Closed #672 PROD: sponsor/profiles + geography/travel-stats 500 — UserProfile.Social required-owned-nav throws on pre-#631 documents (schema drift) 2026-07-18 18:21:43 +00:00

Closed #660 [Backend] KnowledgeDomainRegistry.ActionIdsByKey is write-only — dead code, or a missing action key→id accessor? 2026-07-18 18:17:20 +00:00

Closed #644 [Security][Chat] CrossOrganization channels are accessible to EVERYONE — CanAccessChannel returns true unconditionally ('Simplified for now') 2026-07-18 18:08:52 +00:00

Closed #652 [Backend] RedisClusterState derived projections re-filter+re-allocate on every access (SonarQube S2365 x3) 2026-07-18 18:03:43 +00:00

Closed #678 CleanupOrphanData loads allUploadIds but never uses it — possible missing orphan-scan case (S1481) 2026-07-18 18:02:08 +00:00

Closed #528 [Backend][MinIO] Replace API static-file media serving with S3-backed delivery (epic #413) 2026-07-18 18:00:33 +00:00

Closed #526 [Infra][MinIO] Migrate quarantine dir to S3 (quarantine bucket, epic #413) 2026-07-18 18:00:15 +00:00

Closed #525 [Infra][MinIO] Migrate /app/assets (ThreeDModel) to S3 (assets bucket, epic #413) 2026-07-18 17:59:50 +00:00

Closed #524 [Infra][MinIO] Migrate dlls dir to S3 (dlls bucket, epic #413) 2026-07-18 17:59:35 +00:00

Closed #523 [Infra][MinIO] Migrate lesson-videos + LessonVideoProcessor to S3 (lesson-videos bucket, epic #413) 2026-07-18 17:59:24 +00:00

Closed #522 [Infra][MinIO] Migrate blogs dir + BlogMediaProcessor to S3 (blogs bucket, epic #413) 2026-07-18 17:59:08 +00:00

Closed #493 [Infra][MinIO] Pilot: deploy MinIO + migrate security-scanner off /mnt/fusionio to S3 (proves the pattern for #413) 2026-07-18 17:58:55 +00:00

Closed #656 [Backend][Bug] UpdateUserCommandHandler silently swallows all Keycloak failures — failed user updates report success 2026-07-18 17:57:52 +00:00

Closed #657 [Backend][Bug] UTC timestamps parsed without RoundtripKind — TZ-dependent shift breaks phone-code expiry + ship/character DeletedAt (SonarQube S6580) 2026-07-18 17:48:06 +00:00

Closed #697 [Maintainability] Fix CS8619 nullability mismatch on RabbitMQ message Headers (4 sites) 2026-07-18 03:21:15 +00:00

Closed #695 [Robustness] Fundraiser RecordSale QuantitySold has no upper bound — absurd values can overflow accumulated totals 2026-07-18 00:02:55 +00:00

Closed #694 [Security] GeneratorBrands write endpoints allow any authenticated user to modify CRM reference data (#689 follow-up) 2026-07-17 23:29:30 +00:00

Closed #692 [Security] Phone verification codes (OTP) written to logs at Information level 2026-07-17 23:15:17 +00:00

Closed #693 [Security] TwilioController outbound endpoints are unauthenticated — SMS/call/lookup abuse & cost 2026-07-17 23:14:10 +00:00

Closed #691 [Security] Pre-registration email verification code is brute-forceable — attempts counted but never enforced 2026-07-17 23:09:50 +00:00

Closed #689 [Security] Gate the remaining Mark Wilson CRM controllers to staff/admin (#688 follow-up) 2026-07-17 23:09:50 +00:00

Closed #688 [Security] Broken access control: Mark Wilson customer-PII CRM is authenticated-only (no staff/admin role gate) 2026-07-17 22:40:03 +00:00

Closed #685 [Security] SSRF in InfoVault URL caching — user-supplied vault URL fetched server-side with no internal-address guard 2026-07-17 22:39:31 +00:00

Closed #676 Background-check + Keycloak base URLs hardcoded to production (no sandbox config) — S1075 2026-07-17 22:03:33 +00:00

Closed #684 MediatR pipeline behaviors don't forward CancellationToken to next() (v11-style call on MediatR 14) 2026-07-17 21:52:07 +00:00

Closed #683 Api: remove stale IsAotCompatible flag (abandoned AOT experiment emitting 115 IL2026/IL3050 warnings) 2026-07-17 20:58:03 +00:00

Closed #682 perf(mcp): cache CalendarTools JsonSerializerOptions instead of per-call allocation (CA1869) 2026-07-17 20:10:54 +00:00

Closed #681 perf(keycloak): cache JsonSerializerOptions instead of per-call allocation (CA1869) 2026-07-17 20:05:28 +00:00

Closed #677 refactor(artstudio): consolidate 27 duplicated token-user-id auth checks into a helper (S1192) 2026-07-17 19:52:08 +00:00

Closed #679 chore: remove dead SpaceZone methods (CreateTestSpacecraft, GetDockedChainExcluding) (S1144) 2026-07-17 19:52:08 +00:00

Closed #675 chore: remove dead SpaceZone combat-damage duplicates (superseded by SpaceCombatSystem, S1144) 2026-07-17 18:57:27 +00:00

Closed #674 Security: blog body sanitization uses bypassable regex (stored XSS) — replace with HtmlSanitizer 2026-07-17 18:39:55 +00:00

Closed #673 CurriculumPythonInterpreter throws ArgumentNullException on unparseable Python version (CS8604) 2026-07-17 18:39:54 +00:00

Closed #662 Adopt Angular 22 / Nx 23.1 optimizations: OnPush burn-down, strictTemplates, migration-artifact cleanup 2026-07-17 18:16:27 +00:00

Closed #671 RPC consumers NRE on null handler response (payload.GetType() in PublishReplyAsync) — CS8604 2026-07-17 18:12:49 +00:00

Closed #670 fix(calendar-reminders): null BasicProperties.Headers NREs the reminder publish when tracing is inactive (CS8602) 2026-07-17 18:06:15 +00:00

Closed #667 chore: remove abandoned commented-out code blocks (S125) 2026-07-17 18:03:41 +00:00

Closed #669 fix(notifications): null Twilio VerificationCheck.Status causes NRE + dropped audit in 2FA verify (CS8602) 2026-07-17 18:03:17 +00:00

Closed #668 test: convert BroadcastToPlayersInRange tests to async/await (xUnit1031) 2026-07-17 17:34:04 +00:00

Closed #666 fix(data): cast null to nullable JsonSerializerOptions in EF value converters (CS8600, 66 findings) 2026-07-17 16:44:35 +00:00

Closed #665 fix(api): DecompileController drops request CancellationToken into MediatR (CA2016) 2026-07-17 16:40:24 +00:00

Closed #661 perf(api): cache BookController JsonSerializerOptions instead of per-request allocation (CA1869) 2026-07-17 16:35:14 +00:00

Closed #651 [Reader][Offline] IndexedDB offline book store (schema + CRUD foundation) 2026-07-17 14:15:16 +00:00

Closed #650 [Reader][Perf] EPUB page prefetch/LRU + fix dead ngsw api-books cache group 2026-07-17 14:15:15 +00:00

Closed #649 [Reader][Social] Community badge opens the sidebar on Chapters, not the Community tab 2026-07-17 14:14:55 +00:00

Closed #648 [Backend] Final dead-code slice + AVIF failure diagnostics + Reader S927 renames (SonarQube S1144/S1481/S927 residue) 2026-07-17 08:46:16 +00:00

Closed #647 [Backend] Remove 12 genuinely dead private parameters (SonarQube S1172) — the residue after the family's triage 2026-07-17 08:00:10 +00:00

Closed #646 [GameServer][Bug] Hierarchical A* never worked: region identity collapsed to (0,0,0) via a placeholder IntToRegion — long-range pathfinding fell back to straight lines through obstacles 2026-07-17 07:47:56 +00:00

Closed #639 [Backend] Telemetry-fidelity log-call family: S6667 (83) + S2139 (187) need per-site triage with a rubric, not bulk treatment 2026-07-17 07:39:04 +00:00

Closed #641 [Backend] S1172 unused-parameter family (74, incl. 28 unused CancellationTokens): rubric batch after the #632 baseline lands 2026-07-17 07:38:20 +00:00

Closed #640 [GameServer][Bug] Four command types were never ClientTick/Sequence-stamped on deserialization — the per-type stamp switch silently skipped them (found via SonarQube S1871) 2026-07-17 06:52:49 +00:00

Closed #638 [Backend] Detector/rule-engine override parameters renamed to match their base declarations (SonarQube S927 x14) + proposal: drop CA1873/CA1861 imports from sonar (56% of all open issues) 2026-07-17 06:52:48 +00:00

Closed #632 [CI][Backend] sonar-scan has uploaded nothing since 2026-07-14 — scanner gets a wrong SonarQube host and continue-on-error hides the failure 2026-07-17 06:32:47 +00:00

Closed #637 [Backend] Minor-bug batch from SonarQube triage: freeze the remediation allowlist + spell registry, constrain generic event handlers, dead null-coalesce, poll-loop default cases 2026-07-17 05:23:13 +00:00

Closed #636 [Backend][Tests] Five strict-mock tests carry no explicit assertion (SonarQube S2699 BLOCKER x6 — 5 fixed, 1 false-positived) 2026-07-17 05:23:13 +00:00

Closed #635 [Backend] Duplicate placeholder names in structured-log templates render unbound holes and collide in Seq (SonarQube S6677 x3) 2026-07-17 05:23:13 +00:00

Closed #631 [Reader][Social] Backend: shared bookmarks, upvotes, and reading lists (opt-in, child-safe) 2026-07-17 05:17:42 +00:00

Closed #634 [Reader][Social] Frontend: profile Social tab, reader Community tab, upvotes, reading-list dialog 2026-07-17 05:17:42 +00:00

Closed #566 [Backend][Refactor] Finish the SpikerSoft.Business decomposition — physically move the 13 linked source files into their slice projects, and adopt 'new code goes in the slice directory' 2026-07-17 04:16:00 +00:00

Closed #630 [Reader][UX] Reading-journey landing: drop the hero + tabs, add a guided tour and per-book quiz icons 2026-07-17 04:01:04 +00:00

Closed #629 [Bug][Reader][UI] Reader slides under the fixed app menu-bar — its toolbar/close button is obscured 2026-07-17 04:01:03 +00:00

Closed #627 [Bug][Prod][Reader] PDF worker fails to load — nginx serves .mjs as application/octet-stream (strict MIME blocks the module script) 2026-07-17 04:01:02 +00:00

Closed #596 [Bug][CI][Registry] #548 was closed but its fix NEVER LANDED — all 23 of 23 multi-arch workflows still --amend mutable :amd64/:arm64v8 tags, and the cancelled-run window from #590 makes mixed-commit :latest reachable today 2026-07-17 03:55:16 +00:00

Closed #616 Activity-coverage page: content hidden under fixed menu bar; user scope requires raw KeycloakUserId 2026-07-17 03:53:06 +00:00

Closed #580 [Bug][CI] arm64v8 image builds intermittently fail pulling mcr.microsoft.com base image over IPv6 — 'network is unreachable', ~1 in 6 arm jobs 2026-07-17 03:52:39 +00:00

Closed #303 [Perf/i18n] Split Transloco into scoped, lazily-loaded translation files 2026-07-17 03:49:17 +00:00

Closed #501 [Bug][Infra][GPU] artpipe lane down on 4090 — workers Rejected on missing /mnt/fusionio/spikersoft/art_pipe bind after artpipe-gpu label move (collateral of #500) 2026-07-17 03:14:57 +00:00

Closed #587 [Bug][Prod][Registry] 14 images have no :latest manifest (manifest unknown / 404) — any reschedule onto a fresh node will fail to start 2026-07-17 03:14:36 +00:00

Closed #626 [Bug][Prod][Reader] PDFs never open in the reader — pdf.js fetches /api/book/{id}/file tokenless (401); EPUBs unaffected 2026-07-17 03:00:52 +00:00

Closed #623 [CI][Backend] Unit Tests red since Batch S (dcproj NU1105 via Directory.Build.props pins) + ArtPipe per-model images broken since CPM (Dockerfile.model missing Packages.props) 2026-07-17 02:08:45 +00:00

Closed #344 [CI] SonarQube Scan workflow red on every spikersoft-angular run — CE task fails server-side during report processing 2026-07-17 02:08:16 +00:00

Closed #527 [Infra][MinIO] Migrate /mnt/fusionio/spikersoft/ai → ai-models bucket for embeddings + quiz-generation (epic #413) 2026-07-17 02:07:00 +00:00

Closed #592 [Bug][Prod][GPU] quiz-generation is green, consuming, and CANNOT generate a quiz — deployed with an empty Storage__SecretKey and no model bind (follow-on to #553 / infra #81) 2026-07-17 02:07:00 +00:00

Closed #625 [Infra][CI] every deploy job's /mnt/infrastructure git pull fails under sudo (no credentials) — #584 stale-checkout guard is decorative 2026-07-17 01:59:35 +00:00

Closed #219 chore: upgrade to Angular v22 + latest Nx 2026-07-17 01:59:16 +00:00

Closed #617 [Bug][Prod][Reader] Every bookmark operation 500s — UserBookmark.UserId is ObjectId but requests are keyed by Keycloak username 2026-07-17 01:59:15 +00:00

Closed #618 [Security][Backend][Books] Private books are listable and downloadable by any authenticated user — /api/book/all and /api/book/{id}/file have no visibility/ownership check 2026-07-17 00:28:58 +00:00

Closed #622 Blueprint diagram: connection wires broken on Angular 22 — rete-angular-plugin injects removed ComponentFactoryResolver (flaky e2e tools-walk failure) 2026-07-16 23:51:28 +00:00

Closed #612 [Bug][Prod][Uploads] Large book/video uploads quarantined as "Virus detected" — ClamAV 25 MiB scan cap < the app's 100 MB upload limit 2026-07-16 07:28:44 +00:00

Closed #611 [Bug][Frontend] es→en language toggle leaves server-localized content in Spanish (lesson names et al.) — fetch-once surfaces never re-pull on locale change 2026-07-16 06:23:26 +00:00

Closed #599 [Bug][Angular][Backend] Lesson-video and geography-media URLs are root-relative, so the browser asks nginx (learn.spikersoft.com) — which serves index.html with a 200 into the <video> element, never the media 2026-07-16 05:14:19 +00:00

Closed #609 [Bug][Frontend] NG0951 console spam on C# playground load — viewChild.required(LanguageRunner) read during CD before the child mounts 2026-07-16 05:07:35 +00:00

Closed #608 [Bug][Frontend][Backend] C# playground lessons don't switch to Spanish on language toggle — In-Browser (WASM) path is English-only by construction 2026-07-16 04:43:54 +00:00

Closed #607 SpikerSoft.Secrets: add bounded retry to OpenBao AppRole login + KV read 2026-07-16 03:58:58 +00:00

Closed #606 [Bug][Backend][Quiz] GET /api/Quiz 500s — Quiz.DegradedPageNumbers (#559) & UnvalidatedQuestionDropCount (#564) are required non-nullable, so pre-deploy quizzes fail to materialize 2026-07-16 03:58:58 +00:00

Closed #544 [Security][Infra] OpenBao Phase 0: swarm stack + init/unseal runbook + Keycloak OIDC (epic #543) 2026-07-15 20:22:28 +00:00

Closed #545 [Security][CI] OpenBao Phase 1: Gitea Actions secrets → AppRole fetch; rotate the committed runner token (epic #543) 2026-07-15 20:22:28 +00:00

Closed #604 [Bug][Backend][CodeExecution] GitService stages files by absolute path — 2 unit tests fail on macOS (/var→/private/var symlink), and prod breaks if Git:RepositoryPath is ever a symlinked path 2026-07-15 20:22:06 +00:00

Closed #381 [NodeAgent/SystemRemediation] Host disk-space probe — detect/alert on low disk before it stalls services 2026-07-15 18:23:18 +00:00

Closed #594 [Bug][Backend][Observability] Serilog MinimumLevel is hardcoded to Debug in EventHandlerHostBuilder — EVERY appsettings log-level setting is dead config, and ~2.9M Debug events/day are shipped to Seq 2026-07-15 18:19:18 +00:00

Closed #590 [Bug][CI][Deploy] cancel-in-progress on master kills DEPLOY jobs — back-to-back merges cancel each other and fixes silently never ship 2026-07-15 18:08:34 +00:00

Closed #581 [Bug][CI][Deploy] lesson-video-processor has NEVER deployed — the VIDEOS_S3_SECRET_KEY Actions secret was never created, so its own deploy guard rejects every run 2026-07-15 18:02:09 +00:00

Closed #585 [Bug][Prod][AI] Book embeddings are WRITE-ONLY — nothing in production ever reads them; RedisVectorSearchService is registered nowhere 2026-07-14 22:48:54 +00:00

Closed #549 [CI][Angular] Frontend pipeline does 4x duplicate Angular builds + an unnecessary arm-runner build leg — dedupe via build-once/artifact + buildx multi-arch (PR incoming) 2026-07-14 22:48:36 +00:00

Closed #557 [Bug][Backend] BookAnalysisService (ExtractChapters / AnalyzeBookWithLLM) silently ships degraded book data on GPU/model-load failure — same class as quiz-gen #553, different pipeline 2026-07-14 22:48:36 +00:00

Closed #541 [Bug][Backend][DockerMonitor] All swarm node events published as 'docker.node.unknown' with empty hostname — ~21 junk RabbitMQ msgs/min for healthy nodes 2026-07-14 22:48:35 +00:00

Closed #598 [Bug][Backend][MinIO] Cutover blocker: UploadOrchestrator reads BookPageImage.AbsoluteImagePath with raw File.Exists — dropping the /app/ebooks bind silently kills book image descriptions (epic #413, blocks #528/#529) 2026-07-14 22:40:11 +00:00

Closed #597 [Bug][Backend][Observability] #575 was fixed in ONE publisher — BookController (5 publish sites) and 3 others still ship RabbitMQ messages with no traceparent, so user-initiated flows appear in Jaeger as disconnected orphan traces 2026-07-14 22:36:42 +00:00

Closed #577 [Backend][Metrics] SpikerSoft.Business.Metrics is inert — IInfluxMetricsService has no consumer, metric models are duplicated, namespace doesn't match the project, and InfluxDashboard re-implements the aggregation 2026-07-14 22:28:19 +00:00

Closed #571 [Bug][Backend][InfluxDashboard] dreamstream7 is invisible to the metrics dashboard — Hostnames config lists DreamStream1-6 while the swarm runs 7 jetson reporters 2026-07-14 22:12:56 +00:00

Closed #568 [Backend][Search] API book search is a permanent no-op — implement SearchBooksRemoteQuery RPC to the embeddings worker so the live Redis vector index is reachable from the edge 2026-07-14 21:55:39 +00:00

Closed #583 [Bug][CI] 28 of 30 path-filtered workflows still don't re-run when their own workflow file changes — #538 fixed only artpipe 2026-07-14 21:48:32 +00:00

Closed #584 [Bug][CI][Deploy] 28 of 29 deploy jobs never 'git pull' /mnt/infrastructure — they deploy STALE stack files and report success 2026-07-14 21:48:20 +00:00

Closed #569 [Bug][Backend][KeycloakEvents] Queue binds routing key '#' on amq.topic — subscribes to EVERY message on the exchange; a landmine for any future amq.topic publisher 2026-07-14 21:28:37 +00:00

Closed #559 [Bug][Backend][Quality] Quiz pages whose LLM output fails JSON parsing silently contribute 0 questions (WRN only) — quizzes ship smaller than requested 2026-07-14 21:11:14 +00:00

Closed #591 [Bug][Tests][Curriculum] CurriculumSmokeTests picks whatever python3 is first on PATH — macOS system Python 3.9 fails the match-statement lessons (21300/21301) with a raw SyntaxError 2026-07-14 21:09:14 +00:00

Closed #574 [Bug][Backend][API] UploadBookCommandHandler.Lean reads its own RabbitMQ:* config with hardcoded 'dockerUser/dockerPassword' defaults — bypasses the shared messaging config path 2026-07-14 21:09:02 +00:00

Closed #588 [Bug][Telemetry] Every service reports service.namespace='1.0.0' — AddService()'s 2nd positional arg is serviceNamespace, not serviceVersion. Spans also carry no node identity 2026-07-14 21:08:39 +00:00

Closed #586 [Bug][Tests][QuizGeneration] ValidRequest_IsConsumedAcked_QuizCompletesWithFakedQuestions_AndNotifies fails on master — quiz contains questions from pages other than the expected page 4 2026-07-14 20:48:16 +00:00

Closed #575 [Bug][Backend][Scheduler] ScheduledTaskPublisher does not propagate W3C trace context on publish — violates AGENTS.md non-negotiable #1; scheduled-task work is untraceable end-to-end 2026-07-14 20:48:02 +00:00

Closed #564 [Bug][Backend][Quality] QuizGenerationService validation is fail-open — if the validation LLM call throws, the unvalidated question ships in the quiz 2026-07-14 20:24:27 +00:00

Closed #573 [Bug][Backend][API] CodeExecutionResultConsumer uses autoAck:true — a student's execution result is silently lost if the API dies mid-handle 2026-07-14 20:24:20 +00:00

Closed #565 [Bug][Backend] RedisVectorSearchService in-memory fallback caps the candidate pool at TopK keys BEFORE scoring — fallback returns arbitrary chunks, not the most similar ones 2026-07-14 20:03:41 +00:00

Closed #552 [Bug][Infra][Node] dreamstream4 (manager) Down/Unreachable — keycloak postgres forced failover: 'No such image' reject-loop on ds6 (#511 signature), stale 2/1 task, DB changed nodes 2026-07-14 06:32:27 +00:00

Closed #484 [Bug][Infra] API /healthz returns 503 — TileServerGL check failing (tiles.spikersoft.com 404s, no tile-server deployed) 2026-07-14 06:23:15 +00:00

Closed #539 [Infra][Node] dreamstream6 (aarch64) down since ~16:30Z 2026-07-13 — heartbeat failure, host unreachable 2026-07-14 06:19:38 +00:00

Closed #553 [Bug][Prod][GPU] quiz-generation silently degrades ALL quizzes — Mistral-7B load fails (CUDA alloc), image-description holds 18.2GiB > its 16GB lease on SERVER's 4090 2026-07-14 06:18:41 +00:00

Closed #558 [Bug][Infra] SERVER root filesystem at 94% and climbing — remediation alerting every ~2min (occurrences 46+), alert-only with no cleanup path 2026-07-14 06:13:01 +00:00

Closed #548 [CI][Backend] Multi-arch create_manifest amends MUTABLE :amd64/:arm64v8 tags — out-of-order arch pushes can stitch a mixed-commit :latest (all backend multi-arch workflows) 2026-07-14 03:04:14 +00:00

Closed #536 [CI][ArtPipe] ModelEnvImages has no concurrency guard — concurrent runs race the same :latest tags (observed live) 2026-07-14 03:04:14 +00:00

Closed #550 [Lint][Angular] testing/transloco-test-setup.ts violates @nx/enforce-module-boundaries x3 — surfaced by first-ever root-project lint 2026-07-14 02:59:09 +00:00

Closed #537 [ArtPipe][CI] Phase 2 blocked: sdxllightning env image is 98 GB — unfiltered snapshot_download bakes the entire SDXL repo; push dies 2026-07-14 02:07:53 +00:00

Closed #542 [Security][Prod] nginx root bind publicly serves quarantine, raw uploads, dlls — /spikersoft/<private-tree> downloadable 2026-07-14 00:01:59 +00:00

Closed #533 [Backend][Refactor] Shared IObjectStore/S3 registration — dedupe per-service AmazonS3Client blocks (epic #413) 2026-07-13 20:32:39 +00:00

Closed #22 [Enhancement] app-lesson-sidebar: contain long lesson list (100vh / internal scroll vs virtual scroll) 2026-07-12 23:26:23 +00:00

Closed #480 [Bug][Infra] spikersoft-node-agent running on 1/10 nodes — rejected on missing /var/log/journal and /etc/timezone binds 2026-07-12 20:55:31 +00:00

Closed #345 [Bug] Authenticated app bootstrap crashes with NG0200 (circular DI) — blank shell for logged-in users 2026-07-12 20:12:00 +00:00

Closed #403 [infra drift] image-description & trellis3d deploy to /mnt/infrastructure folders that don't exist 2026-07-12 19:43:32 +00:00

Closed #512 [Bug][Frontend] Author's own staff-removed blog posts show on the dashboard with no moderation indicator 2026-07-12 19:23:08 +00:00

Closed #505 [Bug][Infra] MinIO single drive faulted under first sustained concurrent write load — writers aborted mid-stream, task left LB 2026-07-12 19:23:07 +00:00

Closed #511 [Bug][Infra][Deploy] quiz-generation rolling update races the image push — 'No such image' reject loops + UpdateStatus=paused 2026-07-12 19:23:07 +00:00

Closed #504 [Bug][Infra] MinIO doesn't recover after a transient /mnt/fusionio drive blip — stuck '0 drives provided', 'mc ready local' healthcheck misses it, needs manual restart 2026-07-12 18:48:12 +00:00

Closed #509 [Bug][Backend][Data] BookPages inflation — quiz saw 6 pages on a 3-page book; one book linked 570 pages (staleness-retry double-processing suspected) 2026-07-12 18:48:11 +00:00

Closed #507 [Bug][Backend] Zero-question quizzes are marked Completed and takeable — starting one insta-expires at 0/0 2026-07-12 18:48:11 +00:00

Closed #497 [Bug][Prod] /mnt/fusionio/spikersoft/ai missing embedding model — book pipeline dies at embeddings (nomic-embed-text-v2-moe.f16.gguf not found) 2026-07-12 18:22:56 +00:00

Closed #502 [Bug][Prod][GPU] image-description crash-loops on gated HuggingFace model — no HF token for Qwen3-VL-8B (401 GatedRepoError) 2026-07-12 18:22:55 +00:00

Closed #500 [Bug][Infra][GPU] image-description lease starves — gpu-coordinator single-lane budget still on SERVER (8192MB) vs 16000MB needed; enable 4090 lane 2026-07-12 18:22:54 +00:00

Closed #508 [Bug][Prod][GPU][CRITICAL] image-description crash-loops (0/1) — ModuleNotFoundError: 'message_failure' — phantom deploy of the #506 fix, Dockerfile missing COPY 2026-07-12 18:01:33 +00:00

Closed #506 [Bug][Prod][GPU] image-description permanently dead-letters captions on null gpu_client — AttributeError misclassified as permanent (data loss) 2026-07-12 17:53:09 +00:00

Closed #498 [Infra][MinIO] Move Gitea package/container-registry storage to the gitea-packages bucket 2026-07-12 06:30:39 +00:00

Closed #499 [Bug][Backend] Book deletion leaves all artifacts behind — on disk AND in the MinIO ebooks bucket (no purge path exists) 2026-07-12 06:30:38 +00:00

Closed #496 [Bug][Prod][Infra] DLL decompiler service is built but never deployed — uploads RPC-timeout (no consumer on decompile.dll.upload.requested) 2026-07-12 03:52:00 +00:00

Closed #488 [Bug][Backend][Security] Data Protection keys are ephemeral + unencrypted (container-local) — redeploy logs users out, replicas can't share keys 2026-07-12 03:14:51 +00:00

Closed #495 [Bug][Prod] ArtPipeProcessor image: /home/app not writable + no HF_HOME → HuggingFace cache PermissionError blocks model weight downloads 2026-07-12 02:35:03 +00:00

Closed #494 [Bug] Dungeon Crawler: final 'Create Character' button unclickable — HUD hit-testing offset by the fixed app toolbar (same class as #492) 2026-07-12 02:09:01 +00:00

Closed #492 [Bug] Space Game: "Select Your Ship" modal buttons unclickable — HUD hit-testing offset by the fixed app toolbar 2026-07-12 01:17:10 +00:00

Closed #237 chore(deps): unpin ovenplayer (0.10.51 media-captions crashes under vitest/SSR) 2026-07-12 01:17:01 +00:00

Closed #491 [Bug][Prod] GameServer rejects ALL player JWTs — audience config 'spikersoft-api' vs Keycloak's actual 'account' (regression from #407 hardening) 2026-07-12 01:07:35 +00:00

Closed #490 [Bug][Backend] InfluxDB health check throws ArgumentException (duplicate 'write_successful' key) on query failure — masks real error 2026-07-12 00:45:54 +00:00

Closed #487 [Bug][Backend] MediatR (Lucky Penny) commercial license expired — Error logged on every startup, renew before hard enforcement 2026-07-12 00:44:40 +00:00

Closed #485 [Observability][Backend] Client-abort exceptions (OperationCanceled / 'client reset request stream') logged as Error + 500 — noise in Seq/traces 2026-07-12 00:28:20 +00:00

Closed #235 chore(deps): pnpm 11.1.2 → 11.7.0 + config migration (deferred from #229) 2026-07-12 00:08:31 +00:00

Closed #234 chore(deps): Node dev-tooling majors — concurrently 10, lint-staged 17, @babel/preset-typescript 8 2026-07-11 23:55:25 +00:00

Closed #201 ## [Bug] Missing or Incomplete Translations in x86 Playground Interface 2026-07-11 23:52:19 +00:00

Closed #371 [Infra][Incident] Redis cluster amputation 2026-07-05 — nodes .106/.107/.108 restarted with fresh identities; add persistent volumes for nodes.conf/data 2026-07-11 23:47:46 +00:00

Closed #421 [dev-ex/Mac] No turnkey local full-app browse — frontend dev expects API :33333, Mac-native API binds :5290/5291 2026-07-11 23:34:06 +00:00

Closed #467 [infra] Bump Keycloak 26.6 → 26.7 (keycloak/docker-stack.yml) 2026-07-11 23:32:26 +00:00

Closed #382 [Epic][Art Studio UI] Port the ArtPipe experience into SpikerSoft's native Art Studio 2026-07-11 23:26:31 +00:00

Closed #377 [API/Angular] School-operator status surface — capability-level rollup (api/status + read-only panel), separate from the #297 admin console 2026-07-11 23:26:31 +00:00

Closed #395 [Art Studio UI] Playwright e2e coverage (compose→monitor→inspect→curate→download) 2026-07-11 23:26:30 +00:00

Closed #458 [Art Studio] Observability follow-ups (C#/infra): register dropped ActivitySources + per-stack Deployment name 2026-07-11 23:26:30 +00:00

Closed #466 [Backend][Prod] GetPlatformAdoption crashes: FormatException 'Cannot deserialize a String from BsonType Array' on user-submitted-code 2026-07-11 23:26:29 +00:00

Closed #462 infra: pin redis/redis-stack-server to a digest; plan migration to redis:8 2026-07-11 23:26:29 +00:00

Closed #464 [Mac local stack] Full site flow on the M5 — quiz generation + embeddings + book upload pipeline in mac-dev-up.sh 2026-07-11 23:26:29 +00:00

Closed #468 System Activity overlay opens on global 'S' keypress, interfering with typing 2026-07-11 23:26:28 +00:00

Closed #469 infra(traefik): bump Traefik v3.7.0 → v3.7.7 (latest) 2026-07-11 23:26:28 +00:00

Closed #472 docs(artpipe runbook): §2 bootstrap shell command launches the .NET worker instead of bash 2026-07-11 23:26:27 +00:00

Closed #471 ci(artpipe): image push only redeploys the modeling stack — five resident model stacks go stale; PR builds overwrite prod :latest 2026-07-11 23:26:27 +00:00

Closed #470 infra(jaeger): bump Jaeger 2.17.0 → 2.19.0 (latest) 2026-07-11 23:26:27 +00:00

Closed #476 Auditable blog post hide/remove for staff (two-tier moderation + immutable audit trail) 2026-07-11 23:26:26 +00:00

Closed #473 Serve blog media via nginx static path instead of the API + prod config fixes 2026-07-11 23:26:26 +00:00

Closed #418 [CI drift] lesson-video-processor is deployed but has NO build workflow → orphaned image 2026-07-11 23:25:52 +00:00

Closed #478 Decompose SpikerSoft.Tests.Unit into live-along per-project test projects 2026-07-11 14:53:46 +00:00

Closed #477 chore: update NuGet packages across the backend solution (July 2026) 2026-07-11 13:55:43 +00:00

Closed #475 Blog posts stay publicly live when their media fails the security scan 2026-07-11 06:23:39 +00:00

Closed #474 Traefik swarm cleanup: global HTTPS redirect, API compression, zero-downtime API deploys, security headers 2026-07-11 05:45:42 +00:00

Closed #150 ## [Bug] Invalid or Non-Functional Social Media and External Links on Contact Page 2026-07-09 06:24:06 +00:00

Closed #276 # [Bug] Broken external link: UnrealEngine Repository (GitHub) 2026-07-09 06:24:06 +00:00

Closed #465 backend: expand integration coverage — art pipe messaging, safety RPC, GPU leases, quiz path 2026-07-09 02:27:55 +00:00

Closed #454 [Art Studio] ArtPipe Generate-drawer composer parity — remaining deltas vs Eric's original (#446) 2026-07-08 22:58:29 +00:00

Closed #456 [Art Studio] No text→3D capability — add Shap-E / Hunyuan3D text_to_3d modeling path (#378/#446) 2026-07-08 22:48:42 +00:00

Closed #444 backend: bring SpikerSoft.Tests.Integration back online — prod-parity Redis fixtures, rot fixes, G7 RESP3/AllowAdmin coverage 2026-07-08 22:11:10 +00:00

Closed #459 art_pipe observability activation: propagate JAEGER_ENDPOINT/SEQ_URL into the worker subprocess (#428) 2026-07-08 04:27:55 +00:00

Closed #431 art_pipe observability #3 (Python): ship worker logs to Seq + stamp trace_id for log↔trace correlation 2026-07-08 04:12:00 +00:00

Closed #430 art_pipe observability #2 (Python): OpenTelemetry spans with parent-context extraction from the job spec 2026-07-08 04:11:59 +00:00

Closed #445 Art Studio: restart-from-stage 400 "Sequence contains no elements" (Mongo MaxAsync on empty) 2026-07-08 02:01:39 +00:00

Closed #457 [Art Studio] End-to-end observability for the new ArtPipe worker stage actions (Jaeger spans + correlated Seq logs) 2026-07-08 01:59:33 +00:00

Closed #363 [Bug][E2E flake] /geography/:countryCode click-through — Leaflet "Cannot read properties of undefined (reading 'appendChild')" pageerror on CI only 2026-07-07 20:34:16 +00:00

Closed #450 SpikerSoft.Tests.Integration: test-host teardown flake — non-zero exit despite all tests passing when 3+ Lessons test classes share the TestContainers collection 2026-07-07 18:01:44 +00:00

Closed #453 Bug: free-play C/C++ code execution never dispatches to the Clang executor 2026-07-07 17:02:32 +00:00

Closed #452 Integration tests: Phase 5 multi-language grading (Python/Node/C/C++) delivered 2026-07-07 16:21:59 +00:00

Closed #451 Lessons integration coverage: Phase 4 (tutorial completion, idempotent no-op, anti-spoof attempt-token enforcement) shipped 2026-07-07 16:21:57 +00:00

Closed #449 Lessons integration coverage: Phase 3 (authenticated grading loop, skill auto-award, SignalR delivery) shipped 2026-07-07 16:21:56 +00:00

Closed #448 Lessons integration coverage: Phase 0-2 (fixture infra, catalog/attempt, anonymous journey) shipped 2026-07-07 16:21:55 +00:00

Closed #447 # [Bug] Misaligned Navbar Elements and Hover Text in Spanish Interface 2026-07-07 15:21:05 +00:00

Closed #443 [Bug][Prod] GameServer crashes on startup under NativeAOT — MongoPlaySessionRepository index creation reflectively builds DowncastingSerializer 2026-07-06 21:08:49 +00:00

Closed #442 [Security][Decision] Should HttpCallback scheduled-task creation be admin-only (vs admin,staff)? 2026-07-06 18:20:02 +00:00

Closed #408 [Safety][Compliance][Go-live] Make fail-open safety gates fail closed (SMS/TCPA, ClamAV, passport PII) 2026-07-06 18:03:59 +00:00

Closed #406 [Security][Go-live] Replace Assembly.Load of uploaded DLLs with metadata-only inspection 2026-07-06 16:56:02 +00:00

Closed #401 [Security][CRITICAL] SignalR hubs missing class-level [Authorize] — CodeExecutionHub / DashboardHub / ClusterHub open to anonymous connections 2026-07-06 15:37:40 +00:00

Closed #438 [Security][Decision] SSRF: HttpCallback scheduled task fetches an unrestricted payload-supplied URL (admin/staff-gated) 2026-07-06 15:29:00 +00:00

Closed #410 [Reliability][Go-live] Fix silent data loss — count-only ValueComparer & missing publisher confirms 2026-07-06 15:28:59 +00:00

Closed #441 [Security][low] Bearer confirmation token logged in plaintext (OrganizationsController:118) — only such site 2026-07-06 14:32:37 +00:00

Closed #440 [Security][Go-live] Pre-registration email verification codes generated with System.Random (predictable) 2026-07-06 14:13:35 +00:00

Closed #439 [Security][Go-live] CORS fails OPEN when Origins unconfigured — reflects any origin with credentials 2026-07-06 14:13:34 +00:00

Closed #437 [Security][Hardening] Contain path traversal: identity/upload-derived path segments in blog-media move 2026-07-06 14:13:33 +00:00

Closed #436 [Security][Go-live] Unescaped user input used as Mongo regex → ReDoS / regex-injection (incl. anonymous lesson search) 2026-07-06 14:13:31 +00:00

Closed #420 [i18n] 94 devTools keys missing Spanish (commonCommandsHelper command catalog) 2026-07-06 06:16:30 +00:00

Closed #433 [Reliability] MongoDB_HealthCheck constructs a new MongoClient on every invocation (connection-pool leak) 2026-07-06 04:51:18 +00:00

Closed #424 [i18n tooling] i18n:scan always exits 1 on a honeypot false-positive → tool can't surface new hardcoded strings 2026-07-06 03:51:44 +00:00

Closed #435 [Reliability] KeycloakAdminService.GetRoleMembersAsync news a per-call HttpClient (leak + inconsistent with the rest of the class) 2026-07-06 03:27:34 +00:00

Closed #434 [Reliability] Scheduler TaskRunners create a new HttpClient per execution (socket exhaustion — use IHttpClientFactory) 2026-07-06 03:27:30 +00:00

Closed #416 [Security] Remove anonymous access to Trails mutating endpoints (DELETE /{id}, DELETE /purge) 2026-07-06 03:04:22 +00:00

Closed #429 art_pipe observability #1 (.NET): propagate W3C traceparent into the worker + per-stage child span 2026-07-06 02:37:56 +00:00

Closed #427 Anonymous E2E walk fails on /cpu-dashboard: public route opens staff-gated DashboardHub 2026-07-06 02:37:55 +00:00

Closed #423 [uploads] FileProcessingService ctor does filesystem I/O → 500s blog-upload endpoints on unwritable path 2026-07-05 22:38:07 +00:00

Closed #422 [health-checks] HTTP probes have no timeout → a down dependency hangs /health up to ~75s 2026-07-05 22:34:21 +00:00

Closed #399 # [Bug] Hover Misalignment on Close Button in Dictionary Sidebar/Panel 2026-07-05 19:53:51 +00:00

Closed #400 # [Bug] Incorrect Literal Translation of Programming Syntax in Spanish Language Mode 2026-07-05 19:50:00 +00:00

Closed #394 [Art Studio UI] Pipeline Builder node-graph (stretch) 2026-07-05 19:34:39 +00:00

Closed #393 [Art Studio UI] Game-ready export & handoff ("Load into game") 2026-07-05 19:34:37 +00:00

Closed #392 [Art Studio UI] Curation & review visual alignment 2026-07-05 19:34:37 +00:00

Closed #391 [Art Studio UI] Metrics dashboard screen 2026-07-05 19:34:35 +00:00

Closed #386 [Art Studio UI] Stage timeline + live-progress visual (git-rail, SignalR) 2026-07-05 19:34:34 +00:00

Closed #388 [Art Studio UI] Asset detail depth — PBR channels, history graph, live console 2026-07-05 19:34:34 +00:00

Closed #390 [Art Studio UI] System Activity panel (queue, HW, now-running, console) 2026-07-05 19:34:34 +00:00

Closed #387 [Art Studio UI] Asset library grid parity + URL-synced filter bar 2026-07-05 19:34:34 +00:00

Closed #385 [Art Studio UI] Generate composer parity — git-rail stage editor + batch/continuous/coverage 2026-07-05 19:34:29 +00:00

Closed #384 [Art Studio UI] Studio theme layer & density tokens (light + dark) 2026-07-05 19:34:28 +00:00

Closed #383 [Art Studio UI] First-class "Art Studio" menu category 2026-07-05 19:34:27 +00:00

Closed #398 [Art Studio][Backend] Artifact bundle/zip download endpoint (enables detail-screen "Download Zip") 2026-07-05 19:11:41 +00:00

Closed #397 [Art Studio][Backend] Wire api/artstudio/submit to apply stageMethodSelections, presetId & per-stage skip (composer selections currently dropped) 2026-07-05 19:11:40 +00:00

Closed #396 [Art Studio][Backend] Emit quality-rating & curation-decision events so the #389 read-model can populate avg-quality + true accept-rate 2026-07-05 19:11:40 +00:00

Closed #389 [Art Studio][Backend] Metrics & activity read-model (event-handler projection) 2026-07-05 19:11:38 +00:00

Closed #286 [Enhancement] Remove deprecated /api/CSharpCodeRunner alias route (follow-up to #285) 2026-07-05 11:45:27 +00:00

Closed #380 [ArtStudio][Bug] Safety gate uses the resident stage executor in resident mode → throws on every image (blocks #368 cutover) 2026-07-05 11:14:27 +00:00

Closed #379 Code-execution Python probe should assert a minimum interpreter version (curriculum uses 3.10+ match) 2026-07-05 08:31:43 +00:00

Closed #375 [NodeAgent] Restore real host access — journalctl in-image reading the mounted journal (de-privileged) vs per-node compose deployment 2026-07-05 07:10:35 +00:00

Closed #372 [Bug] Redis Cluster healthcheck says "5 healthy, 0 unhealthy node(s)" while cluster_state is fail with 3 disconnected gossip nodes 2026-07-05 06:46:13 +00:00

Closed #373 [Infra] redis-cluster: make persistence real — add --dir /data (volumes are currently decoys) + initiator/coverage hygiene 2026-07-05 06:33:31 +00:00

Closed #365 [ArtStudio] Curriculum tie-in — "How game studios build a character" lesson using the student's own asset 2026-07-05 06:33:25 +00:00

Closed #374 [NodeAgent] Journal-tail Seq flood: no backoff, swallowed stderr — and the host-access probe is tautological 2026-07-05 06:29:37 +00:00

Closed #359 [ArtStudio M4] Entire stack on the MacBook — native ArtPipeProcessor (no GPU in Docker on macOS), compose.mac, dev-mode GpuCoordinator 2026-07-05 02:46:53 +00:00

Closed #369 [Bug] GET /api/artstudio 500s for any user with pre-#353 asset documents — "Document element is missing for required non-nullable property 'GalleryStatus'" 2026-07-05 00:49:28 +00:00

Closed #370 [Bug] Art Studio 3D viewer never rendered anything — static ViewChild inside *transloco never resolves; plus: no student-visible nav entry to Art Studio 2026-07-05 00:44:46 +00:00

Closed #357 [ArtStudio M2] Mac-native pipeline profile — full Tier-A stage chain on MPS (concept → model → texture → rig → animate → export) 2026-07-04 23:31:02 +00:00

Closed #356 [ArtStudio M1] Device abstraction in art_pipe core — cuda/mps/cpu seam (upstream to ProArt) 2026-07-04 23:31:01 +00:00

Closed #366 [ArtStudio] Honest GPU queue position — GpuCoordinator lease-queue emit → worker → SignalR → timeline 2026-07-04 23:12:04 +00:00

Closed #364 [ArtStudio] Studio UI polish follow-ups — queue position (needs GpuCoordinator emit), card thumbnails, delete confirm 2026-07-04 22:38:11 +00:00

Closed #353 [ArtStudio P7] Class gallery + staff moderation + use-your-asset-in-games handoff, curriculum tie-in 2026-07-04 22:23:49 +00:00

Closed #352 [ArtStudio P6] Safety, quotas & fairness — prompt moderation, NSFW gating policy, per-student GPU-minute quotas, queue fairness 2026-07-04 21:14:44 +00:00

Closed #351 [ArtStudio P5] Frontend Art Studio — pipeline wizard, three.js viewer, SignalR progress + queue position, my-assets library 2026-07-04 20:12:58 +00:00

Closed #355 [ArtStudio Spike] Apple Silicon dev path — can trellis-mac (MPS port) back the modeling stage for local development? 2026-07-04 20:12:25 +00:00

Closed #349 [ArtStudio P3] Concept + texturing stages — SDXL concept image with safety checker, PBR texturing, stage chaining 2026-07-04 20:12:20 +00:00

Closed #350 [ArtStudio P4] Rigging + animation stages — bone fallback chain, canonical humanoid schema, animation presets + previews 2026-07-04 19:38:15 +00:00

Closed #362 [ArtStudio] Safety gate false-positives on texture atlases — Character plan fails at texturing at threshold 0.3 2026-07-04 19:38:04 +00:00

Closed #361 [ArtStudio] ArtifactKinds derives kind from stage only — OBJ stored as kind "mesh-glb" 2026-07-04 16:22:32 +00:00

Closed #360 [ArtStudio] Stage requests for unconsumed stages are silently dropped — asset hangs InProgress forever 2026-07-04 16:22:31 +00:00

Closed #347 [ArtStudio P1] Backend foundation — ArtAsset domain, stage workflow docs, CQRS slice + endpoints 2026-07-04 06:09:39 +00:00

563 Issues created by 1 user

Opened #345 [Bug] Authenticated app bootstrap crashes with NG0200 (circular DI) — blank shell for logged-in users 2026-07-04 01:56:23 +00:00

Opened #346 [Epic] ProArt 3D Art Studio — student asset pipeline (concept → model → texture → rig → animate → game-ready GLB) 2026-07-04 05:09:57 +00:00

Opened #347 [ArtStudio P1] Backend foundation — ArtAsset domain, stage workflow docs, CQRS slice + endpoints 2026-07-04 05:10:18 +00:00

Opened #348 [ArtStudio P2] ProArt GPU worker — RabbitMQ stage consumer wrapping art_pipe's worker protocol (modeling stage first) 2026-07-04 05:10:37 +00:00

Opened #349 [ArtStudio P3] Concept + texturing stages — SDXL concept image with safety checker, PBR texturing, stage chaining 2026-07-04 05:10:54 +00:00

Opened #350 [ArtStudio P4] Rigging + animation stages — bone fallback chain, canonical humanoid schema, animation presets + previews 2026-07-04 05:11:11 +00:00

Opened #351 [ArtStudio P5] Frontend Art Studio — pipeline wizard, three.js viewer, SignalR progress + queue position, my-assets library 2026-07-04 05:11:28 +00:00

Opened #352 [ArtStudio P6] Safety, quotas & fairness — prompt moderation, NSFW gating policy, per-student GPU-minute quotas, queue fairness 2026-07-04 05:11:46 +00:00

Opened #353 [ArtStudio P7] Class gallery + staff moderation + use-your-asset-in-games handoff, curriculum tie-in 2026-07-04 05:12:03 +00:00

Opened #354 [ArtStudio Spike] Model × VRAM fit matrix on the 24 GB host — which ProArt backends we enable per stage 2026-07-04 05:12:17 +00:00

Opened #355 [ArtStudio Spike] Apple Silicon dev path — can trellis-mac (MPS port) back the modeling stage for local development? 2026-07-04 05:12:32 +00:00

Opened #356 [ArtStudio M1] Device abstraction in art_pipe core — cuda/mps/cpu seam (upstream to ProArt) 2026-07-04 05:27:27 +00:00

Opened #357 [ArtStudio M2] Mac-native pipeline profile — full Tier-A stage chain on MPS (concept → model → texture → rig → animate → export) 2026-07-04 05:27:47 +00:00

Opened #358 [ArtStudio M3] Metal extension reuse — TRELLIS via trellis-mac, then mtldiffrast/mtlgemm for InstantMesh, Hunyuan paint, UniRig 2026-07-04 05:28:07 +00:00

Opened #359 [ArtStudio M4] Entire stack on the MacBook — native ArtPipeProcessor (no GPU in Docker on macOS), compose.mac, dev-mode GpuCoordinator 2026-07-04 05:28:28 +00:00

Opened #360 [ArtStudio] Stage requests for unconsumed stages are silently dropped — asset hangs InProgress forever 2026-07-04 12:53:07 +00:00

Opened #361 [ArtStudio] ArtifactKinds derives kind from stage only — OBJ stored as kind "mesh-glb" 2026-07-04 12:53:12 +00:00

Opened #362 [ArtStudio] Safety gate false-positives on texture atlases — Character plan fails at texturing at threshold 0.3 2026-07-04 18:44:04 +00:00

Opened #363 [Bug][E2E flake] /geography/:countryCode click-through — Leaflet "Cannot read properties of undefined (reading 'appendChild')" pageerror on CI only 2026-07-04 20:08:48 +00:00

Opened #364 [ArtStudio] Studio UI polish follow-ups — queue position (needs GpuCoordinator emit), card thumbnails, delete confirm 2026-07-04 20:12:44 +00:00

Opened #365 [ArtStudio] Curriculum tie-in — "How game studios build a character" lesson using the student's own asset 2026-07-04 22:23:34 +00:00

Opened #366 [ArtStudio] Honest GPU queue position — GpuCoordinator lease-queue emit → worker → SignalR → timeline 2026-07-04 22:37:57 +00:00

Opened #367 [ArtStudio/Infra] Unified elastic GPU capacity — one coordinator model that scales from a single 24 GB card to multi-node, and runs identically on the M5 dev Mac 2026-07-04 22:45:09 +00:00

Opened #368 [ArtStudio] Model-resident workers — one always-loaded model per service instance, task queues per model, coordinator-arbitrated, scale by replicas 2026-07-04 23:48:25 +00:00

Opened #369 [Bug] GET /api/artstudio 500s for any user with pre-#353 asset documents — "Document element is missing for required non-nullable property 'GalleryStatus'" 2026-07-05 00:10:44 +00:00

Opened #370 [Bug] Art Studio 3D viewer never rendered anything — static ViewChild inside *transloco never resolves; plus: no student-visible nav entry to Art Studio 2026-07-05 00:10:59 +00:00

Opened #371 [Infra][Incident] Redis cluster amputation 2026-07-05 — nodes .106/.107/.108 restarted with fresh identities; add persistent volumes for nodes.conf/data 2026-07-05 02:59:34 +00:00

Opened #372 [Bug] Redis Cluster healthcheck says "5 healthy, 0 unhealthy node(s)" while cluster_state is fail with 3 disconnected gossip nodes 2026-07-05 02:59:40 +00:00

Opened #373 [Infra] redis-cluster: make persistence real — add --dir /data (volumes are currently decoys) + initiator/coverage hygiene 2026-07-05 03:14:56 +00:00

Opened #374 [NodeAgent] Journal-tail Seq flood: no backoff, swallowed stderr — and the host-access probe is tautological 2026-07-05 03:15:19 +00:00

Opened #375 [NodeAgent] Restore real host access — journalctl in-image reading the mounted journal (de-privileged) vs per-node compose deployment 2026-07-05 03:15:39 +00:00

Opened #376 [SystemRemediation] Redis cluster auto-remediation — InfrastructureProbe detection + signature-gated ghost-heal runbook (dry-run first) 2026-07-05 03:16:00 +00:00

Opened #377 [API/Angular] School-operator status surface — capability-level rollup (api/status + read-only panel), separate from the #297 admin console 2026-07-05 03:16:16 +00:00

Opened #378 [ArtStudio] ProArt capability parity — user/predefined workflows, multi-method stages, full PBR map sets, rig-method chain, curation (epic #346 phase 2) 2026-07-05 03:17:05 +00:00

Opened #379 Code-execution Python probe should assert a minimum interpreter version (curriculum uses 3.10+ match) 2026-07-05 08:27:26 +00:00

Opened #380 [ArtStudio][Bug] Safety gate uses the resident stage executor in resident mode → throws on every image (blocks #368 cutover) 2026-07-05 11:12:47 +00:00

Opened #381 [NodeAgent/SystemRemediation] Host disk-space probe — detect/alert on low disk before it stalls services 2026-07-05 11:24:34 +00:00

Opened #382 [Epic][Art Studio UI] Port the ArtPipe experience into SpikerSoft's native Art Studio 2026-07-05 12:10:42 +00:00

Opened #383 [Art Studio UI] First-class "Art Studio" menu category 2026-07-05 12:11:04 +00:00

Opened #384 [Art Studio UI] Studio theme layer & density tokens (light + dark) 2026-07-05 12:11:10 +00:00

Opened #385 [Art Studio UI] Generate composer parity — git-rail stage editor + batch/continuous/coverage 2026-07-05 12:11:20 +00:00

Opened #386 [Art Studio UI] Stage timeline + live-progress visual (git-rail, SignalR) 2026-07-05 12:11:21 +00:00

Opened #387 [Art Studio UI] Asset library grid parity + URL-synced filter bar 2026-07-05 12:12:00 +00:00

Opened #388 [Art Studio UI] Asset detail depth — PBR channels, history graph, live console 2026-07-05 12:12:06 +00:00

Opened #389 [Art Studio][Backend] Metrics & activity read-model (event-handler projection) 2026-07-05 12:12:14 +00:00

Opened #390 [Art Studio UI] System Activity panel (queue, HW, now-running, console) 2026-07-05 12:12:20 +00:00

Opened #391 [Art Studio UI] Metrics dashboard screen 2026-07-05 12:12:24 +00:00

Opened #392 [Art Studio UI] Curation & review visual alignment 2026-07-05 12:12:29 +00:00

Opened #393 [Art Studio UI] Game-ready export & handoff ("Load into game") 2026-07-05 12:12:33 +00:00

Opened #394 [Art Studio UI] Pipeline Builder node-graph (stretch) 2026-07-05 12:12:38 +00:00

Opened #395 [Art Studio UI] Playwright e2e coverage (compose→monitor→inspect→curate→download) 2026-07-05 12:12:43 +00:00

Opened #396 [Art Studio][Backend] Emit quality-rating & curation-decision events so the #389 read-model can populate avg-quality + true accept-rate 2026-07-05 12:58:14 +00:00

Opened #397 [Art Studio][Backend] Wire api/artstudio/submit to apply stageMethodSelections, presetId & per-stage skip (composer selections currently dropped) 2026-07-05 13:27:37 +00:00

Opened #398 [Art Studio][Backend] Artifact bundle/zip download endpoint (enables detail-screen "Download Zip") 2026-07-05 15:38:26 +00:00

Opened #399 # [Bug] Hover Misalignment on Close Button in Dictionary Sidebar/Panel 2026-07-05 16:15:08 +00:00

Opened #400 # [Bug] Incorrect Literal Translation of Programming Syntax in Spanish Language Mode 2026-07-05 16:24:47 +00:00

Opened #401 [Security][CRITICAL] SignalR hubs missing class-level [Authorize] — CodeExecutionHub / DashboardHub / ClusterHub open to anonymous connections 2026-07-05 18:47:00 +00:00

Opened #402 [Safety][Compliance] Add CSAM hash-detection + NCMEC reporting on user-uploaded images (the one residual beyond existing NSFW/malware/moderation controls) 2026-07-05 18:51:12 +00:00

Opened #403 [infra drift] image-description & trellis3d deploy to /mnt/infrastructure folders that don't exist 2026-07-05 20:18:44 +00:00

Opened #404 [Security][Go-live] Move all secrets out of source control & establish secret injection 2026-07-05 20:23:42 +00:00

Opened #405 [Security][Go-live] Sandbox untrusted student code execution (C#/Python/JS) 2026-07-05 20:24:35 +00:00

Opened #407 [Security][Go-live] Remove unauthenticated infra control planes (Docker 2375, GameServer JWT, MCP) 2026-07-05 20:24:36 +00:00

Opened #406 [Security][Go-live] Replace Assembly.Load of uploaded DLLs with metadata-only inspection 2026-07-05 20:24:36 +00:00

Opened #408 [Safety][Compliance][Go-live] Make fail-open safety gates fail closed (SMS/TCPA, ClamAV, passport PII) 2026-07-05 20:24:37 +00:00

Opened #409 [Security][Frontend][Go-live] Remove EPUB sanitizer bypass & harden client-side XSS sinks 2026-07-05 20:24:38 +00:00

Opened #410 [Reliability][Go-live] Fix silent data loss — count-only ValueComparer & missing publisher confirms 2026-07-05 20:24:38 +00:00

Opened #411 [Reliability][Go-live] Eliminate availability bombs — Redis scans/flush, MongoClient-per-message, GPU ledger, poison requeue 2026-07-05 20:24:39 +00:00

Opened #413 [Infra][Architecture] Provider-agnostic object storage (MinIO -> S3/Azure Blob) to replace GlusterFS/host-path model 2026-07-05 20:24:40 +00:00

Opened #412 [Correctness][Go-live] Repair or gate non-functional features (Trellis 3D, decompiler, phone lookup) 2026-07-05 20:24:40 +00:00

Opened #414 [Infra][Architecture] Production deployment & secrets model for real hardware 2026-07-05 20:24:41 +00:00

Opened #415 [Security][Go-live] Add authorization FallbackPolicy; lock down anonymous-by-omission API endpoints 2026-07-05 20:24:42 +00:00

Opened #416 [Security] Remove anonymous access to Trails mutating endpoints (DELETE /{id}, DELETE /purge) 2026-07-05 20:24:43 +00:00

Opened #417 [Epic][Architecture] Anonymous-vs-authenticated surface — explicit public/protected split 2026-07-05 20:24:45 +00:00

Opened #418 [CI drift] lesson-video-processor is deployed but has NO build workflow → orphaned image 2026-07-05 20:25:38 +00:00

Opened #419 [lint coverage] ~75 library projects are unlinted by CI + their eslint configs reference uninstalled plugins 2026-07-05 21:33:02 +00:00

Opened #420 [i18n] 94 devTools keys missing Spanish (commonCommandsHelper command catalog) 2026-07-05 21:37:12 +00:00

Opened #421 [dev-ex/Mac] No turnkey local full-app browse — frontend dev expects API :33333, Mac-native API binds :5290/5291 2026-07-05 22:01:12 +00:00

Opened #422 [health-checks] HTTP probes have no timeout → a down dependency hangs /health up to ~75s 2026-07-05 22:33:24 +00:00

Opened #423 [uploads] FileProcessingService ctor does filesystem I/O → 500s blog-upload endpoints on unwritable path 2026-07-05 22:37:10 +00:00

Opened #424 [i18n tooling] i18n:scan always exits 1 on a honeypot false-positive → tool can't surface new hardcoded strings 2026-07-05 22:59:13 +00:00

Opened #425 ProArt Art Studio: full local pipeline on Windows dev machines 2026-07-05 23:16:11 +00:00

Opened #426 art_pipe local dev: migrate to a CUDA 13 driver so default torch builds work 2026-07-05 23:25:44 +00:00

Opened #427 Anonymous E2E walk fails on /cpu-dashboard: public route opens staff-gated DashboardHub 2026-07-06 02:00:41 +00:00

Opened #428 Epic: End-to-end trace + log correlation for the art_pipe native-microservice integration (Jaeger + Seq) 2026-07-06 02:25:34 +00:00

Opened #429 art_pipe observability #1 (.NET): propagate W3C traceparent into the worker + per-stage child span 2026-07-06 02:25:54 +00:00

Opened #430 art_pipe observability #2 (Python): OpenTelemetry spans with parent-context extraction from the job spec 2026-07-06 02:26:09 +00:00

Opened #431 art_pipe observability #3 (Python): ship worker logs to Seq + stamp trace_id for log↔trace correlation 2026-07-06 02:26:16 +00:00

Opened #432 art_pipe: repo-vendoring model venvs miss cloned-repo requirements + need Python 3.10 2026-07-06 02:32:49 +00:00

Opened #433 [Reliability] MongoDB_HealthCheck constructs a new MongoClient on every invocation (connection-pool leak) 2026-07-06 03:05:46 +00:00

Opened #434 [Reliability] Scheduler TaskRunners create a new HttpClient per execution (socket exhaustion — use IHttpClientFactory) 2026-07-06 03:11:07 +00:00

Opened #435 [Reliability] KeycloakAdminService.GetRoleMembersAsync news a per-call HttpClient (leak + inconsistent with the rest of the class) 2026-07-06 03:18:28 +00:00

Opened #436 [Security][Go-live] Unescaped user input used as Mongo regex → ReDoS / regex-injection (incl. anonymous lesson search) 2026-07-06 06:34:07 +00:00

Opened #437 [Security][Hardening] Contain path traversal: identity/upload-derived path segments in blog-media move 2026-07-06 06:41:19 +00:00

Opened #438 [Security][Decision] SSRF: HttpCallback scheduled task fetches an unrestricted payload-supplied URL (admin/staff-gated) 2026-07-06 06:46:02 +00:00

Opened #439 [Security][Go-live] CORS fails OPEN when Origins unconfigured — reflects any origin with credentials 2026-07-06 07:06:57 +00:00

Opened #440 [Security][Go-live] Pre-registration email verification codes generated with System.Random (predictable) 2026-07-06 07:11:26 +00:00

Opened #441 [Security][low] Bearer confirmation token logged in plaintext (OrganizationsController:118) — only such site 2026-07-06 07:22:08 +00:00

Opened #442 [Security][Decision] Should HttpCallback scheduled-task creation be admin-only (vs admin,staff)? 2026-07-06 15:29:08 +00:00

Opened #443 [Bug][Prod] GameServer crashes on startup under NativeAOT — MongoPlaySessionRepository index creation reflectively builds DowncastingSerializer 2026-07-06 21:01:13 +00:00

Opened #444 backend: bring SpikerSoft.Tests.Integration back online — prod-parity Redis fixtures, rot fixes, G7 RESP3/AllowAdmin coverage 2026-07-07 02:35:27 +00:00

Opened #445 Art Studio: restart-from-stage 400 "Sequence contains no elements" (Mongo MaxAsync on empty) 2026-07-07 05:11:17 +00:00

Opened #446 Epic: Art Studio → faithful ArtPipe (ProArt) UI/UX — land on Pipeline, adopt Eric's 4-view GitHub-dark shell 2026-07-07 05:49:43 +00:00

Opened #447 # [Bug] Misaligned Navbar Elements and Hover Text in Spanish Interface 2026-07-07 14:49:36 +00:00

Opened #448 Lessons integration coverage: Phase 0-2 (fixture infra, catalog/attempt, anonymous journey) shipped 2026-07-07 14:54:22 +00:00

Opened #449 Lessons integration coverage: Phase 3 (authenticated grading loop, skill auto-award, SignalR delivery) shipped 2026-07-07 15:33:29 +00:00

Opened #450 SpikerSoft.Tests.Integration: test-host teardown flake — non-zero exit despite all tests passing when 3+ Lessons test classes share the TestContainers collection 2026-07-07 15:49:57 +00:00

Opened #451 Lessons integration coverage: Phase 4 (tutorial completion, idempotent no-op, anti-spoof attempt-token enforcement) shipped 2026-07-07 15:50:28 +00:00

Opened #452 Integration tests: Phase 5 multi-language grading (Python/Node/C/C++) delivered 2026-07-07 16:15:28 +00:00

Opened #453 Bug: free-play C/C++ code execution never dispatches to the Clang executor 2026-07-07 16:15:46 +00:00

Opened #454 [Art Studio] ArtPipe Generate-drawer composer parity — remaining deltas vs Eric's original (#446) 2026-07-07 21:48:36 +00:00

Opened #455 [Bug][Prod] Art Studio 'modeling' stage fails — TripoSG model manifest missing on prod host 2026-07-07 22:10:24 +00:00

Opened #456 [Art Studio] No text→3D capability — add Shap-E / Hunyuan3D text_to_3d modeling path (#378/#446) 2026-07-07 23:09:03 +00:00

Opened #457 [Art Studio] End-to-end observability for the new ArtPipe worker stage actions (Jaeger spans + correlated Seq logs) 2026-07-08 01:55:44 +00:00

Opened #458 [Art Studio] Observability follow-ups (C#/infra): register dropped ActivitySources + per-stack Deployment name 2026-07-08 01:59:19 +00:00

Opened #459 art_pipe observability activation: propagate JAEGER_ENDPOINT/SEQ_URL into the worker subprocess (#428) 2026-07-08 04:15:03 +00:00

Opened #460 art_pipe observability: install OpenTelemetry into model venvs so worker spans (#430) actually export (#428) 2026-07-08 04:18:44 +00:00

Opened #461 ci: re-activate the integration-tests job when new CI hardware arrives 2026-07-08 21:28:31 +00:00

Opened #462 infra: pin redis/redis-stack-server to a digest; plan migration to redis:8 2026-07-08 21:28:50 +00:00

Opened #463 [ArtStudio][Epic] Equipment asset type — bespoke attachable-equipment pipeline (stage plan, sockets/grips, art_pipe capabilities) 2026-07-08 22:58:12 +00:00

Opened #464 [Mac local stack] Full site flow on the M5 — quiz generation + embeddings + book upload pipeline in mac-dev-up.sh 2026-07-08 23:43:09 +00:00

Opened #465 backend: expand integration coverage — art pipe messaging, safety RPC, GPU leases, quiz path 2026-07-09 00:08:57 +00:00

Opened #466 [Backend][Prod] GetPlatformAdoption crashes: FormatException 'Cannot deserialize a String from BsonType Array' on user-submitted-code 2026-07-11 02:05:18 +00:00

Opened #467 [infra] Bump Keycloak 26.6 → 26.7 (keycloak/docker-stack.yml) 2026-07-11 02:13:45 +00:00

Opened #468 System Activity overlay opens on global 'S' keypress, interfering with typing 2026-07-11 03:40:09 +00:00

Opened #469 infra(traefik): bump Traefik v3.7.0 → v3.7.7 (latest) 2026-07-11 04:02:09 +00:00

Opened #470 infra(jaeger): bump Jaeger 2.17.0 → 2.19.0 (latest) 2026-07-11 04:12:21 +00:00

Opened #471 ci(artpipe): image push only redeploys the modeling stack — five resident model stacks go stale; PR builds overwrite prod :latest 2026-07-11 04:35:51 +00:00

Opened #472 docs(artpipe runbook): §2 bootstrap shell command launches the .NET worker instead of bash 2026-07-11 04:48:34 +00:00

Opened #473 Serve blog media via nginx static path instead of the API + prod config fixes 2026-07-11 05:12:55 +00:00

Opened #474 Traefik swarm cleanup: global HTTPS redirect, API compression, zero-downtime API deploys, security headers 2026-07-11 05:30:29 +00:00

Opened #475 Blog posts stay publicly live when their media fails the security scan 2026-07-11 06:19:49 +00:00

Opened #476 Auditable blog post hide/remove for staff (two-tier moderation + immutable audit trail) 2026-07-11 07:01:46 +00:00

Opened #477 chore: update NuGet packages across the backend solution (July 2026) 2026-07-11 13:54:58 +00:00

Opened #478 Decompose SpikerSoft.Tests.Unit into live-along per-project test projects 2026-07-11 14:51:10 +00:00

Opened #479 [Bug][Infra] sonarqube_backups stuck in reject-loop — no Sonar backups running (missing placement constraint) 2026-07-12 00:00:59 +00:00

Opened #480 [Bug][Infra] spikersoft-node-agent running on 1/10 nodes — rejected on missing /var/log/journal and /etc/timezone binds 2026-07-12 00:00:59 +00:00

Opened #481 [Bug][Infra] jaeger_elasticsearch down ~24h on SERVER (exit 1) — MaxAttempts exhausted, tracing backend offline 2026-07-12 00:00:59 +00:00

Opened #483 [Bug][Infra] InfluxDB rejecting a client every ~10s ("authorization not found") — stale/missing token on a poller 2026-07-12 00:04:27 +00:00

Opened #482 [Bug][Infra] Keycloak Postgres TOAST corruption (pg_toast_2619 / pg_statistic) — ClearExpiredEvents failing, events not purged 2026-07-12 00:04:27 +00:00

Opened #484 [Bug][Infra] API /healthz returns 503 — TileServerGL check failing (tiles.spikersoft.com 404s, no tile-server deployed) 2026-07-12 00:12:21 +00:00

Opened #485 [Observability][Backend] Client-abort exceptions (OperationCanceled / 'client reset request stream') logged as Error + 500 — noise in Seq/traces 2026-07-12 00:23:02 +00:00

Opened #486 [Bug][Prod] SafetyCheck art-pipe resident worker missing 'torch' → ArtPipeProcessor host crash-loops (24x) 2026-07-12 00:26:57 +00:00

Opened #487 [Bug][Backend] MediatR (Lucky Penny) commercial license expired — Error logged on every startup, renew before hard enforcement 2026-07-12 00:26:57 +00:00

Opened #488 [Bug][Backend][Security] Data Protection keys are ephemeral + unencrypted (container-local) — redeploy logs users out, replicas can't share keys 2026-07-12 00:32:20 +00:00

Opened #489 [Bug][Backend] Missing reference data on prod — GeoLite2-City.mmdb + postal-code dataset absent, features degraded 2026-07-12 00:32:20 +00:00

Opened #490 [Bug][Backend] InfluxDB health check throws ArgumentException (duplicate 'write_successful' key) on query failure — masks real error 2026-07-12 00:34:49 +00:00

Opened #491 [Bug][Prod] GameServer rejects ALL player JWTs — audience config 'spikersoft-api' vs Keycloak's actual 'account' (regression from #407 hardening) 2026-07-12 01:01:31 +00:00

Opened #492 [Bug] Space Game: "Select Your Ship" modal buttons unclickable — HUD hit-testing offset by the fixed app toolbar 2026-07-12 01:08:22 +00:00

Opened #493 [Infra][MinIO] Pilot: deploy MinIO + migrate security-scanner off /mnt/fusionio to S3 (proves the pattern for #413) 2026-07-12 01:32:51 +00:00

Opened #494 [Bug] Dungeon Crawler: final 'Create Character' button unclickable — HUD hit-testing offset by the fixed app toolbar (same class as #492) 2026-07-12 02:02:19 +00:00

Opened #495 [Bug][Prod] ArtPipeProcessor image: /home/app not writable + no HF_HOME → HuggingFace cache PermissionError blocks model weight downloads 2026-07-12 02:22:04 +00:00

Opened #496 [Bug][Prod][Infra] DLL decompiler service is built but never deployed — uploads RPC-timeout (no consumer on decompile.dll.upload.requested) 2026-07-12 03:31:13 +00:00

Opened #497 [Bug][Prod] /mnt/fusionio/spikersoft/ai missing embedding model — book pipeline dies at embeddings (nomic-embed-text-v2-moe.f16.gguf not found) 2026-07-12 04:24:46 +00:00

Opened #498 [Infra][MinIO] Move Gitea package/container-registry storage to the gitea-packages bucket 2026-07-12 05:09:38 +00:00

Opened #499 [Bug][Backend] Book deletion leaves all artifacts behind — on disk AND in the MinIO ebooks bucket (no purge path exists) 2026-07-12 06:08:29 +00:00

Opened #500 [Bug][Infra][GPU] image-description lease starves — gpu-coordinator single-lane budget still on SERVER (8192MB) vs 16000MB needed; enable 4090 lane 2026-07-12 07:00:00 +00:00

Opened #501 [Bug][Infra][GPU] artpipe lane down on 4090 — workers Rejected on missing /mnt/fusionio/spikersoft/art_pipe bind after artpipe-gpu label move (collateral of #500) 2026-07-12 07:05:39 +00:00

Opened #502 [Bug][Prod][GPU] image-description crash-loops on gated HuggingFace model — no HF token for Qwen3-VL-8B (401 GatedRepoError) 2026-07-12 07:19:24 +00:00

Opened #503 [Bug][Infra][CRITICAL] SERVER node crash-looping — kernel 'BUG: Bad page state in process dockerd' (memory corruption / likely bad RAM); flaps all SERVER-pinned services 2026-07-12 07:45:34 +00:00

Opened #504 [Bug][Infra] MinIO doesn't recover after a transient /mnt/fusionio drive blip — stuck '0 drives provided', 'mc ready local' healthcheck misses it, needs manual restart 2026-07-12 08:09:32 +00:00

Opened #505 [Bug][Infra] MinIO single drive faulted under first sustained concurrent write load — writers aborted mid-stream, task left LB 2026-07-12 12:33:39 +00:00

Opened #506 [Bug][Prod][GPU] image-description permanently dead-letters captions on null gpu_client — AttributeError misclassified as permanent (data loss) 2026-07-12 17:35:43 +00:00

Opened #507 [Bug][Backend] Zero-question quizzes are marked Completed and takeable — starting one insta-expires at 0/0 2026-07-12 17:36:13 +00:00

Opened #508 [Bug][Prod][GPU][CRITICAL] image-description crash-loops (0/1) — ModuleNotFoundError: 'message_failure' — phantom deploy of the #506 fix, Dockerfile missing COPY 2026-07-12 17:42:46 +00:00

Opened #509 [Bug][Backend][Data] BookPages inflation — quiz saw 6 pages on a 3-page book; one book linked 570 pages (staleness-retry double-processing suspected) 2026-07-12 18:13:05 +00:00

Opened #510 [Exploration][Infra] Resilience to SERVER node flaps — restart-policy windows, auto-reconcile sweep, de-SPOF the SERVER-pinned stateful tier 2026-07-12 18:29:39 +00:00

Opened #511 [Bug][Infra][Deploy] quiz-generation rolling update races the image push — 'No such image' reject loops + UpdateStatus=paused 2026-07-12 18:32:28 +00:00

Opened #512 [Bug][Frontend] Author's own staff-removed blog posts show on the dashboard with no moderation indicator 2026-07-12 18:55:21 +00:00

Opened #513 [Bug][Infra][Deploy] docker-monitor: new correctly-named stack exits 0 on startup (stuck 0/1) + duplicate misspelled 'spiekersoft-docker-monitor' stack running in parallel 2026-07-12 19:33:27 +00:00

Opened #514 [Infra][CI] Gitea Actions leaves GITEA-ACTION* volumes behind → build nodes recurrently fill up (need runner auto-cleanup / scheduled prune) 2026-07-12 19:58:40 +00:00

Opened #515 [Epic][ArtPipe][Infra] Per-model baked Docker images — venvs + weights built at image build time, no /opt/art_pipe bind 2026-07-13 00:40:01 +00:00

Opened #516 [ArtPipe] Baked images Phase 0: build scaffolding (Dockerfiles, CI, setup flags) + disk/limits go-no-go gates (epic #515) 2026-07-13 00:40:18 +00:00

Opened #517 [ArtPipe] Baked images Phase 1: SafetyCheck pilot image + cutover, incl. #486 fault isolation (epic #515) 2026-07-13 00:40:19 +00:00

Opened #518 [ArtPipe] Baked images Phase 2: stood-down residents blender/sdxl/triposr, hunyuan deferred (epic #515) 2026-07-13 00:40:19 +00:00

Opened #519 [ArtPipe] Baked images Phase 3: prodstages image + live modeling-lane cutover (epic #515) 2026-07-13 00:40:19 +00:00

Opened #521 [Infra][Registry] Gitea upstream-image mirror (skopeo → mirror/* org) + incremental stack repointing 2026-07-13 00:40:20 +00:00

Opened #520 [ArtPipe] Baked images Phase 4: cleanup — retire legacy image/bind, runbook + docs, acid test (epic #515) 2026-07-13 00:40:20 +00:00

Opened #522 [Infra][MinIO] Migrate blogs dir + BlogMediaProcessor to S3 (blogs bucket, epic #413) 2026-07-13 00:40:39 +00:00

Opened #523 [Infra][MinIO] Migrate lesson-videos + LessonVideoProcessor to S3 (lesson-videos bucket, epic #413) 2026-07-13 00:40:39 +00:00

Opened #525 [Infra][MinIO] Migrate /app/assets (ThreeDModel) to S3 (assets bucket, epic #413) 2026-07-13 00:40:40 +00:00

Opened #524 [Infra][MinIO] Migrate dlls dir to S3 (dlls bucket, epic #413) 2026-07-13 00:40:40 +00:00

Opened #526 [Infra][MinIO] Migrate quarantine dir to S3 (quarantine bucket, epic #413) 2026-07-13 00:40:40 +00:00

Opened #528 [Backend][MinIO] Replace API static-file media serving with S3-backed delivery (epic #413) 2026-07-13 00:40:41 +00:00

Opened #527 [Infra][MinIO] Migrate /mnt/fusionio/spikersoft/ai → ai-models bucket for embeddings + quiz-generation (epic #413) 2026-07-13 00:40:41 +00:00

Opened #529 [Infra][MinIO] Uploads-tree coordinated batch cutover — 7 services off /mnt/fusionio (epic #413) 2026-07-13 00:40:41 +00:00

Opened #531 [Infra][MinIO] Migrate Angular nginx root bind — presigned/proxy, LAST (epic #413) 2026-07-13 00:40:42 +00:00

Opened #530 [Backend][MinIO] GeoLite2 → reference-data bucket; self-provisioning GeoIP (epic #413, resolves GeoIP half of #489) 2026-07-13 00:40:42 +00:00

Opened #532 [Infra][MinIO] Optional: replace sftp stack with MinIO SFTP mode (epic #413) 2026-07-13 00:40:43 +00:00

Opened #533 [Backend][Refactor] Shared IObjectStore/S3 registration — dedupe per-service AmazonS3Client blocks (epic #413) 2026-07-13 00:40:43 +00:00

Opened #534 [CI][ArtPipe] Route baked model-image builds (ModelEnvImages + tier-3 finals) to the 4090 runner, off laptop-server 2026-07-13 01:14:15 +00:00

Opened #535 [Enhancement][ArtPipe][Angular] AI QR code generation — SDXL qrcode_monster ControlNet per-model lane + authenticated AI button in the QR tool 2026-07-13 01:50:09 +00:00

Opened #536 [CI][ArtPipe] ModelEnvImages has no concurrency guard — concurrent runs race the same :latest tags (observed live) 2026-07-13 02:25:04 +00:00

Opened #537 [ArtPipe][CI] Phase 2 blocked: sdxllightning env image is 98 GB — unfiltered snapshot_download bakes the entire SDXL repo; push dies 2026-07-13 05:21:50 +00:00

Opened #538 [Infra][Network] LAN traffic to *.spikersoft.com NAT-hairpins through the UDM — local DNS records + direct Gitea→MinIO path 2026-07-13 05:27:37 +00:00

Opened #539 [Infra][Node] dreamstream6 (aarch64) down since ~16:30Z 2026-07-13 — heartbeat failure, host unreachable 2026-07-13 18:42:24 +00:00

Opened #540 [Bug][Infra][CI] SpikerSoft.EventHandlers.Scheduler is built nowhere and deployed nowhere — scheduled tasks (GeoIpUpdate incl.) never run 2026-07-13 19:08:49 +00:00

Opened #541 [Bug][Backend][DockerMonitor] All swarm node events published as 'docker.node.unknown' with empty hostname — ~21 junk RabbitMQ msgs/min for healthy nodes 2026-07-13 19:10:03 +00:00

Opened #542 [Security][Prod] nginx root bind publicly serves quarantine, raw uploads, dlls — /spikersoft/<private-tree> downloadable 2026-07-13 20:31:13 +00:00

Opened #543 [Epic][Security][Infra] Central secrets management — OpenBao vault + PKI, retire scattered passwords 2026-07-13 21:07:01 +00:00

Opened #545 [Security][CI] OpenBao Phase 1: Gitea Actions secrets → AppRole fetch; rotate the committed runner token (epic #543) 2026-07-13 21:07:24 +00:00

Opened #544 [Security][Infra] OpenBao Phase 0: swarm stack + init/unseal runbook + Keycloak OIDC (epic #543) 2026-07-13 21:07:24 +00:00

Opened #546 [Security][Backend] OpenBao Phase 2: SpikerSoft.Secrets host-builder seam — service creds from Bao (epic #543) 2026-07-13 21:07:25 +00:00

Opened #547 [Security][Infra] OpenBao Phase 3: PKI — internal CA, replace CI cert generation, mTLS for the stateful tier (epic #543) 2026-07-13 21:07:25 +00:00

Opened #548 [CI][Backend] Multi-arch create_manifest amends MUTABLE :amd64/:arm64v8 tags — out-of-order arch pushes can stitch a mixed-commit :latest (all backend multi-arch workflows) 2026-07-13 21:07:28 +00:00

Opened #549 [CI][Angular] Frontend pipeline does 4x duplicate Angular builds + an unnecessary arm-runner build leg — dedupe via build-once/artifact + buildx multi-arch (PR incoming) 2026-07-13 21:28:15 +00:00

Opened #550 [Lint][Angular] testing/transloco-test-setup.ts violates @nx/enforce-module-boundaries x3 — surfaced by first-ever root-project lint 2026-07-13 23:32:25 +00:00

Opened #551 [Bug][Infra][Jaeger] jaeger_elasticsearch crash-loops (0/1) — ES 7.17.0 image started against a data volume written by ES 8.11.0, restarting every ~30s 2026-07-14 02:23:32 +00:00

Opened #552 [Bug][Infra][Node] dreamstream4 (manager) Down/Unreachable — keycloak postgres forced failover: 'No such image' reject-loop on ds6 (#511 signature), stale 2/1 task, DB changed nodes 2026-07-14 02:23:50 +00:00

Opened #553 [Bug][Prod][GPU] quiz-generation silently degrades ALL quizzes — Mistral-7B load fails (CUDA alloc), image-description holds 18.2GiB > its 16GB lease on SERVER's 4090 2026-07-14 02:31:17 +00:00

Opened #554 [Bug][Infra] jetson-influxdb fleet exit-0 churn — all 7 replicas print banner, hit 'I/O error', exit and restart every ~10s (since the 2026-07-13 17:01Z redeploy) 2026-07-14 02:31:35 +00:00

Opened #555 [Bug][Infra][Alerting] Node outages are invisible to ops alerting — no node-down alerts, kernel alerts arrive after recovery and carry no kernel message, cooldown hides escalation 2026-07-14 02:53:00 +00:00

Opened #556 [Bug][Backend][Infra] tiles.spikersoft.com has no backing service — API status/health canary fetches a terrain tile every few minutes and 404s 100% of the time 2026-07-14 03:17:39 +00:00

Opened #557 [Bug][Backend] BookAnalysisService (ExtractChapters / AnalyzeBookWithLLM) silently ships degraded book data on GPU/model-load failure — same class as quiz-gen #553, different pipeline 2026-07-14 04:09:51 +00:00

Opened #558 [Bug][Infra] SERVER root filesystem at 94% and climbing — remediation alerting every ~2min (occurrences 46+), alert-only with no cleanup path 2026-07-14 04:59:48 +00:00

Opened #559 [Bug][Backend][Quality] Quiz pages whose LLM output fails JSON parsing silently contribute 0 questions (WRN only) — quizzes ship smaller than requested 2026-07-14 05:58:45 +00:00

Opened #560 [Bug][Infra][GPU] gpu-coordinator arbitrates by declared bookings, not measured VRAM — over-budget tenants invisibly starve grantees (split from closed #553) 2026-07-14 06:20:40 +00:00

Opened #561 [Bug][Infra][Data] Keycloak postgres pg_statistic toast corruption persists after #552 closed — ClearExpiredEvents/session purge failing every 15-min cycle since 02:29Z, repair never run 2026-07-14 06:34:47 +00:00

Opened #562 [Bug][Infra][Deploy] Dreamstream nodes reject fresh tasks with 'No such image' for 1-3 minutes after (re)scheduling — 4th distinct service tonight; pulls likely fighting the UDM hairpin 2026-07-14 09:36:43 +00:00

Opened #563 [Backend][MCPServer] Pre-deployment cleanup for SpikerSoft.AI.MCPServer — demo leftovers, unregistered prompts, no observability wiring, no stack/CI 2026-07-14 13:59:53 +00:00

Opened #564 [Bug][Backend][Quality] QuizGenerationService validation is fail-open — if the validation LLM call throws, the unvalidated question ships in the quiz 2026-07-14 14:06:26 +00:00

Opened #565 [Bug][Backend] RedisVectorSearchService in-memory fallback caps the candidate pool at TopK keys BEFORE scoring — fallback returns arbitrary chunks, not the most similar ones 2026-07-14 14:06:34 +00:00

Opened #566 [Backend][Refactor] Finish the SpikerSoft.Business decomposition — physically move the 13 linked source files into their slice projects, and adopt 'new code goes in the slice directory' 2026-07-14 14:22:57 +00:00

Opened #567 [CI][Backend] Scheduled benchmark run for regression detection + fresh baseline — SpikerSoft.Benchmarks is compile-only in CI, baseline is from 2025-12-08 with pre-move namespaces 2026-07-14 14:23:08 +00:00

Opened #568 [Backend][Search] API book search is a permanent no-op — implement SearchBooksRemoteQuery RPC to the embeddings worker so the live Redis vector index is reachable from the edge 2026-07-14 14:28:44 +00:00

Opened #569 [Bug][Backend][KeycloakEvents] Queue binds routing key '#' on amq.topic — subscribes to EVERY message on the exchange; a landmine for any future amq.topic publisher 2026-07-14 14:28:53 +00:00

Opened #570 [QA][Perf] No measured figures exist for the non-GPU pipelines (coderunner, blog media, lesson video, decompile, OCR) — establish a benchmark/measurement pass so the READMEs can carry real numbers 2026-07-14 14:29:10 +00:00

Opened #571 [Bug][Backend][InfluxDashboard] dreamstream7 is invisible to the metrics dashboard — Hostnames config lists DreamStream1-6 while the swarm runs 7 jetson reporters 2026-07-14 14:30:23 +00:00

Opened #572 [Backend][Refactor] Extract the 'Mark Wilson / Marks-Site' client domain (generator-propane service business) out of the SpikerSoft platform codebase 2026-07-14 14:58:46 +00:00

Opened #573 [Bug][Backend][API] CodeExecutionResultConsumer uses autoAck:true — a student's execution result is silently lost if the API dies mid-handle 2026-07-14 14:58:53 +00:00

Opened #574 [Bug][Backend][API] UploadBookCommandHandler.Lean reads its own RabbitMQ:* config with hardcoded 'dockerUser/dockerPassword' defaults — bypasses the shared messaging config path 2026-07-14 14:59:07 +00:00

Opened #575 [Bug][Backend][Scheduler] ScheduledTaskPublisher does not propagate W3C trace context on publish — violates AGENTS.md non-negotiable #1; scheduled-task work is untraceable end-to-end 2026-07-14 14:59:15 +00:00

Opened #576 [Backend][Cleanup] Retire the pre-marker legacy manager classes (HexatileGameManager, ToolsManager, DBManager, CacheManager/ICacheManager) — DI-registered but architecturally superseded 2026-07-14 17:13:13 +00:00

Opened #577 [Backend][Metrics] SpikerSoft.Business.Metrics is inert — IInfluxMetricsService has no consumer, metric models are duplicated, namespace doesn't match the project, and InfluxDashboard re-implements the aggregation 2026-07-14 17:20:10 +00:00

Opened #578 [Backend][Cleanup] Dependency audit — unused NuGet references across projects inflate every service image (ExCSS, Ical.Net, Redis.OM, Newtonsoft.Json, Configuration.* and more) 2026-07-14 17:20:22 +00:00

Opened #579 [Bug][CI][Infra] gitea-runners arm_v8_2 crash-looping on dreamstream6 since the #539 outage — ARM CI capacity silently down 3→2 2026-07-14 17:43:18 +00:00

Opened #580 [Bug][CI] arm64v8 image builds intermittently fail pulling mcr.microsoft.com base image over IPv6 — 'network is unreachable', ~1 in 6 arm jobs 2026-07-14 17:43:50 +00:00

Opened #581 [Bug][CI][Deploy] lesson-video-processor has NEVER deployed — the VIDEOS_S3_SECRET_KEY Actions secret was never created, so its own deploy guard rejects every run 2026-07-14 19:57:14 +00:00

Opened #582 [Bug][Prod][GPU] #553 is CLOSED but the fix never reached production — quiz-generation still on SERVER's 8GB card, 13h and counting 2026-07-14 20:01:01 +00:00

Opened #583 [Bug][CI] 28 of 30 path-filtered workflows still don't re-run when their own workflow file changes — #538 fixed only artpipe 2026-07-14 20:05:57 +00:00

Opened #584 [Bug][CI][Deploy] 28 of 29 deploy jobs never 'git pull' /mnt/infrastructure — they deploy STALE stack files and report success 2026-07-14 20:11:45 +00:00

Opened #585 [Bug][Prod][AI] Book embeddings are WRITE-ONLY — nothing in production ever reads them; RedisVectorSearchService is registered nowhere 2026-07-14 20:16:58 +00:00

Opened #586 [Bug][Tests][QuizGeneration] ValidRequest_IsConsumedAcked_QuizCompletesWithFakedQuestions_AndNotifies fails on master — quiz contains questions from pages other than the expected page 4 2026-07-14 20:17:13 +00:00

Opened #587 [Bug][Prod][Registry] 14 images have no :latest manifest (manifest unknown / 404) — any reschedule onto a fresh node will fail to start 2026-07-14 20:24:06 +00:00

Opened #588 [Bug][Telemetry] Every service reports service.namespace='1.0.0' — AddService()'s 2nd positional arg is serviceNamespace, not serviceVersion. Spans also carry no node identity 2026-07-14 20:30:13 +00:00

Opened #589 [Bug][Prod][Data-loss] 10 messages are permanently dead in DLQs with ZERO consumers — 5 of them are real user quizzes killed by #553, now replayable 2026-07-14 20:34:46 +00:00

Opened #590 [Bug][CI][Deploy] cancel-in-progress on master kills DEPLOY jobs — back-to-back merges cancel each other and fixes silently never ship 2026-07-14 20:38:46 +00:00

Opened #591 [Bug][Tests][Curriculum] CurriculumSmokeTests picks whatever python3 is first on PATH — macOS system Python 3.9 fails the match-statement lessons (21300/21301) with a raw SyntaxError 2026-07-14 20:43:33 +00:00

Opened #592 [Bug][Prod][GPU] quiz-generation is green, consuming, and CANNOT generate a quiz — deployed with an empty Storage__SecretKey and no model bind (follow-on to #553 / infra #81) 2026-07-14 20:48:10 +00:00

Opened #593 [Bug][Backend][Books] Chapter extraction is orphaned end-to-end — nothing ever populates Book.Chapters, and GET /books/{id}/chapters returns [] for every book, always 2026-07-14 21:12:06 +00:00

Opened #594 [Bug][Backend][Observability] Serilog MinimumLevel is hardcoded to Debug in EventHandlerHostBuilder — EVERY appsettings log-level setting is dead config, and ~2.9M Debug events/day are shipped to Seq 2026-07-14 21:12:24 +00:00

Opened #595 [Bug][Prod][ArtPipe] Concept-art is dead because ArtStudio:StageModelMap is EMPTY — API routes to the legacy in-process stage queue whose consumer can't boot, while the 5 resident model containers sit idle on queues nobody publishes to 2026-07-14 21:15:33 +00:00

Opened #596 [Bug][CI][Registry] #548 was closed but its fix NEVER LANDED — all 23 of 23 multi-arch workflows still --amend mutable :amd64/:arm64v8 tags, and the cancelled-run window from #590 makes mixed-commit :latest reachable today 2026-07-14 21:27:28 +00:00

Opened #597 [Bug][Backend][Observability] #575 was fixed in ONE publisher — BookController (5 publish sites) and 3 others still ship RabbitMQ messages with no traceparent, so user-initiated flows appear in Jaeger as disconnected orphan traces 2026-07-14 21:31:22 +00:00

Opened #598 [Bug][Backend][MinIO] Cutover blocker: UploadOrchestrator reads BookPageImage.AbsoluteImagePath with raw File.Exists — dropping the /app/ebooks bind silently kills book image descriptions (epic #413, blocks #528/#529) 2026-07-14 21:56:28 +00:00

Opened #599 [Bug][Angular][Backend] Lesson-video and geography-media URLs are root-relative, so the browser asks nginx (learn.spikersoft.com) — which serves index.html with a 200 into the <video> element, never the media 2026-07-14 21:57:07 +00:00

Opened #600 SECURITY: live InfluxDB token committed in SpikerSoft.Api/appsettings.json — needs rotation, not just deletion 2026-07-14 22:12:30 +00:00

Opened #601 Retire the three orphaned IInfluxMetricsRepository methods (QueryCpuMetricsAsync, QueryMetricsAsync, StreamMetricsAsync) 2026-07-14 22:12:46 +00:00

Opened #602 [Bug][Telemetry][QA] #588 was closed but the fix never reached production — every .NET service STILL reports service.namespace=1.0.0 and no span carries node identity (verified in live Jaeger) 2026-07-14 22:36:22 +00:00

Opened #603 [Bug][Infra][Observability][QA] node-agent shows a green 7/7 while missing on ds1/ds4/ds6 — global-service desired-count hides a 30% monitoring blind spot on exactly the degraded nodes 2026-07-14 22:38:08 +00:00

Opened #604 [Bug][Backend][CodeExecution] GitService stages files by absolute path — 2 unit tests fail on macOS (/var→/private/var symlink), and prod breaks if Git:RepositoryPath is ever a symlinked path 2026-07-14 23:01:09 +00:00

Opened #605 [Test][E2E] Split authenticated e2e into staff + student roles (two identities) 2026-07-15 19:17:30 +00:00

Opened #606 [Bug][Backend][Quiz] GET /api/Quiz 500s — Quiz.DegradedPageNumbers (#559) & UnvalidatedQuestionDropCount (#564) are required non-nullable, so pre-deploy quizzes fail to materialize 2026-07-16 01:37:13 +00:00

Opened #607 SpikerSoft.Secrets: add bounded retry to OpenBao AppRole login + KV read 2026-07-16 03:22:51 +00:00

Opened #608 [Bug][Frontend][Backend] C# playground lessons don't switch to Spanish on language toggle — In-Browser (WASM) path is English-only by construction 2026-07-16 03:25:26 +00:00

Opened #609 [Bug][Frontend] NG0951 console spam on C# playground load — viewChild.required(LanguageRunner) read during CD before the child mounts 2026-07-16 04:32:21 +00:00

Opened #610 [Security][Infra] OpenBao: centralize public Let's Encrypt cert storage/distribution in Bao (Traefik acme.json → KV; mailserver + consumers pull) (epic #543) 2026-07-16 05:26:42 +00:00

Opened #611 [Bug][Frontend] es→en language toggle leaves server-localized content in Spanish (lesson names et al.) — fetch-once surfaces never re-pull on locale change 2026-07-16 06:13:25 +00:00

Opened #612 [Bug][Prod][Uploads] Large book/video uploads quarantined as "Virus detected" — ClamAV 25 MiB scan cap < the app's 100 MB upload limit 2026-07-16 06:20:51 +00:00

Opened #613 [Bug][Infra][MinIO] file-movement's metadata-svc key can't write the quarantine bucket (Access Denied) — blocks #526/#529 cutover (epic #413) 2026-07-16 06:25:36 +00:00

Opened #614 [Bug][Prod][GPU] image-description fails every page — idle-unload races in-flight inference, batch_decode on a None processor 2026-07-16 07:09:06 +00:00

Opened #615 [Bug][CI][Infra] #584 not fixed — deploy job's git pull runs unprivileged on a root-owned /mnt/infrastructure, so every infra deploy silently ships a stale stack 2026-07-16 08:05:35 +00:00

Opened #616 Activity-coverage page: content hidden under fixed menu bar; user scope requires raw KeycloakUserId 2026-07-16 16:43:27 +00:00

Opened #617 [Bug][Prod][Reader] Every bookmark operation 500s — UserBookmark.UserId is ObjectId but requests are keyed by Keycloak username 2026-07-16 18:28:41 +00:00

Opened #618 [Security][Backend][Books] Private books are listable and downloadable by any authenticated user — /api/book/all and /api/book/{id}/file have no visibility/ownership check 2026-07-16 18:32:04 +00:00

Opened #619 [New Feature] Space game: procedural shader-based asteroid scan cutscene (replaces pre-rendered video) 2026-07-16 19:41:01 +00:00

Opened #620 EPUB sidebar chapter nav is off by one (loads the page before the chapter) 2026-07-16 21:57:55 +00:00

Opened #621 Epic: build the full parent-approval book model (upload approval chain, ApprovedBy audit, parent family/staff-uploads view, auto-Public-on-approval) 2026-07-16 23:00:27 +00:00

Opened #622 Blueprint diagram: connection wires broken on Angular 22 — rete-angular-plugin injects removed ComponentFactoryResolver (flaky e2e tools-walk failure) 2026-07-16 23:23:16 +00:00

Opened #623 [CI][Backend] Unit Tests red since Batch S (dcproj NU1105 via Directory.Build.props pins) + ArtPipe per-model images broken since CPM (Dockerfile.model missing Packages.props) 2026-07-17 00:50:13 +00:00

Opened #624 [Infra][CI] lesson-video-processor never deploys: swarm service name 67 chars exceeds 63-char limit (stack+service name doubled) 2026-07-17 00:50:38 +00:00

Opened #625 [Infra][CI] every deploy job's /mnt/infrastructure git pull fails under sudo (no credentials) — #584 stale-checkout guard is decorative 2026-07-17 00:50:38 +00:00

Opened #626 [Bug][Prod][Reader] PDFs never open in the reader — pdf.js fetches /api/book/{id}/file tokenless (401); EPUBs unaffected 2026-07-17 01:48:34 +00:00

Opened #627 [Bug][Prod][Reader] PDF worker fails to load — nginx serves .mjs as application/octet-stream (strict MIME blocks the module script) 2026-07-17 02:58:40 +00:00

Opened #628 [Bug][CI][E2E] e2e.staff credential drift — OpenBao staff_password no longer authenticates against Keycloak (student from same secret works) 2026-07-17 03:10:21 +00:00

Opened #629 [Bug][Reader][UI] Reader slides under the fixed app menu-bar — its toolbar/close button is obscured 2026-07-17 03:37:35 +00:00

Opened #630 [Reader][UX] Reading-journey landing: drop the hero + tabs, add a guided tour and per-book quiz icons 2026-07-17 03:58:04 +00:00

Opened #631 [Reader][Social] Backend: shared bookmarks, upvotes, and reading lists (opt-in, child-safe) 2026-07-17 04:35:55 +00:00

Opened #632 [CI][Backend] sonar-scan has uploaded nothing since 2026-07-14 — scanner gets a wrong SonarQube host and continue-on-error hides the failure 2026-07-17 04:42:41 +00:00

Opened #633 [Go-Live Checklist][Security] Rotate + Bao-migrate the dev-environment secrets before production 2026-07-17 04:42:41 +00:00

Opened #634 [Reader][Social] Frontend: profile Social tab, reader Community tab, upvotes, reading-list dialog 2026-07-17 04:50:03 +00:00

Opened #635 [Backend] Duplicate placeholder names in structured-log templates render unbound holes and collide in Seq (SonarQube S6677 x3) 2026-07-17 04:50:13 +00:00

Opened #636 [Backend][Tests] Five strict-mock tests carry no explicit assertion (SonarQube S2699 BLOCKER x6 — 5 fixed, 1 false-positived) 2026-07-17 04:54:01 +00:00

Opened #637 [Backend] Minor-bug batch from SonarQube triage: freeze the remediation allowlist + spell registry, constrain generic event handlers, dead null-coalesce, poll-loop default cases 2026-07-17 05:05:51 +00:00

Opened #638 [Backend] Detector/rule-engine override parameters renamed to match their base declarations (SonarQube S927 x14) + proposal: drop CA1873/CA1861 imports from sonar (56% of all open issues) 2026-07-17 05:20:02 +00:00

Opened #639 [Backend] Telemetry-fidelity log-call family: S6667 (83) + S2139 (187) need per-site triage with a rubric, not bulk treatment 2026-07-17 05:26:38 +00:00

Opened #640 [GameServer][Bug] Four command types were never ClientTick/Sequence-stamped on deserialization — the per-type stamp switch silently skipped them (found via SonarQube S1871) 2026-07-17 05:38:52 +00:00

Opened #641 [Backend] S1172 unused-parameter family (74, incl. 28 unused CancellationTokens): rubric batch after the #632 baseline lands 2026-07-17 05:41:12 +00:00

Opened #642 [Infra][SonarQube] CE fails extracting LARGE uploaded reports: PGbytea ArrayIndexOutOfBoundsException reading ce_task_input (root cause of the old #344 crash) 2026-07-17 06:32:46 +00:00

Opened #643 [Decision][SonarQube] Rule-level noise policy: CA1873 (3.5k), CA1861 (1.4k), S101 (663), S1192 (404), S1075 (74) — ~70% of open backend findings 2026-07-17 06:52:48 +00:00

Opened #644 [Security][Chat] CrossOrganization channels are accessible to EVERYONE — CanAccessChannel returns true unconditionally ('Simplified for now') 2026-07-17 07:09:34 +00:00

Opened #645 [GameServer][Bug] Projectile hit checks ignore the previous position (tunneling) and spam Warning-level logs per player per tick — CampZone + DungeonZone 2026-07-17 07:09:34 +00:00

Opened #646 [GameServer][Bug] Hierarchical A* never worked: region identity collapsed to (0,0,0) via a placeholder IntToRegion — long-range pathfinding fell back to straight lines through obstacles 2026-07-17 07:21:03 +00:00

Opened #647 [Backend] Remove 12 genuinely dead private parameters (SonarQube S1172) — the residue after the family's triage 2026-07-17 07:25:53 +00:00

Opened #648 [Backend] Final dead-code slice + AVIF failure diagnostics + Reader S927 renames (SonarQube S1144/S1481/S927 residue) 2026-07-17 08:04:32 +00:00

Opened #649 [Reader][Social] Community badge opens the sidebar on Chapters, not the Community tab 2026-07-17 13:46:16 +00:00

Opened #650 [Reader][Perf] EPUB page prefetch/LRU + fix dead ngsw api-books cache group 2026-07-17 13:52:16 +00:00

Opened #651 [Reader][Offline] IndexedDB offline book store (schema + CRUD foundation) 2026-07-17 14:07:11 +00:00

Opened #652 [Backend] RedisClusterState derived projections re-filter+re-allocate on every access (SonarQube S2365 x3) 2026-07-17 14:12:42 +00:00

Opened #653 [Reader][Offline] Download-for-offline button on book cards 2026-07-17 14:19:10 +00:00

Opened #654 [Reader][Offline] Profile "Offline books" section — list, remove, storage bar 2026-07-17 14:24:38 +00:00

Opened #655 [Reader][Offline] Read downloaded PDFs offline + auth.guard offline entry 2026-07-17 14:29:20 +00:00

Opened #656 [Backend][Bug] UpdateUserCommandHandler silently swallows all Keycloak failures — failed user updates report success 2026-07-17 14:33:03 +00:00

Opened #657 [Backend][Bug] UTC timestamps parsed without RoundtripKind — TZ-dependent shift breaks phone-code expiry + ship/character DeletedAt (SonarQube S6580) 2026-07-17 14:58:11 +00:00

Opened #658 [Reader][Offline] Read downloaded EPUBs offline + blob-URL resource rewriter 2026-07-17 15:18:19 +00:00

Opened #659 [Go-Live Checklist][Container] Docker hardening: non-root USER, --no-install-recommends, disable curl/wget redirects (SonarQube hotspots S6471/S6500/S6506) 2026-07-17 15:27:18 +00:00

Opened #660 [Backend] KnowledgeDomainRegistry.ActionIdsByKey is write-only — dead code, or a missing action key→id accessor? 2026-07-17 16:03:30 +00:00

Opened #661 perf(api): cache BookController JsonSerializerOptions instead of per-request allocation (CA1869) 2026-07-17 16:17:43 +00:00

Opened #662 Adopt Angular 22 / Nx 23.1 optimizations: OnPush burn-down, strictTemplates, migration-artifact cleanup 2026-07-17 16:18:50 +00:00

Opened #663 Reading Journey: quiz answer review never shows correct answers/explanations (no backend endpoint ships the answer key) 2026-07-17 16:19:01 +00:00

Opened #664 spikersoft-angular: root pnpm typecheck (tsc --noEmit) has ~9,200 pre-existing errors — unusable as a gate 2026-07-17 16:19:05 +00:00

Opened #665 fix(api): DecompileController drops request CancellationToken into MediatR (CA2016) 2026-07-17 16:23:08 +00:00

Opened #666 fix(data): cast null to nullable JsonSerializerOptions in EF value converters (CS8600, 66 findings) 2026-07-17 16:28:00 +00:00

Opened #667 chore: remove abandoned commented-out code blocks (S125) 2026-07-17 16:51:37 +00:00

Opened #668 test: convert BroadcastToPlayersInRange tests to async/await (xUnit1031) 2026-07-17 17:01:36 +00:00

Opened #669 fix(notifications): null Twilio VerificationCheck.Status causes NRE + dropped audit in 2FA verify (CS8602) 2026-07-17 17:16:35 +00:00

Opened #670 fix(calendar-reminders): null BasicProperties.Headers NREs the reminder publish when tracing is inactive (CS8602) 2026-07-17 17:24:32 +00:00

Opened #671 RPC consumers NRE on null handler response (payload.GetType() in PublishReplyAsync) — CS8604 2026-07-17 17:58:11 +00:00

Opened #672 PROD: sponsor/profiles + geography/travel-stats 500 — UserProfile.Social required-owned-nav throws on pre-#631 documents (schema drift) 2026-07-17 18:16:24 +00:00

Opened #673 CurriculumPythonInterpreter throws ArgumentNullException on unparseable Python version (CS8604) 2026-07-17 18:20:18 +00:00

Opened #674 Security: blog body sanitization uses bypassable regex (stored XSS) — replace with HtmlSanitizer 2026-07-17 18:27:29 +00:00

Opened #675 chore: remove dead SpaceZone combat-damage duplicates (superseded by SpaceCombatSystem, S1144) 2026-07-17 18:50:59 +00:00

Opened #676 Background-check + Keycloak base URLs hardcoded to production (no sandbox config) — S1075 2026-07-17 19:05:54 +00:00

Opened #677 refactor(artstudio): consolidate 27 duplicated token-user-id auth checks into a helper (S1192) 2026-07-17 19:24:48 +00:00

Opened #678 CleanupOrphanData loads allUploadIds but never uses it — possible missing orphan-scan case (S1481) 2026-07-17 19:29:41 +00:00

Opened #679 chore: remove dead SpaceZone methods (CreateTestSpacecraft, GetDockedChainExcluding) (S1144) 2026-07-17 19:36:22 +00:00

Opened #680 refactor(3dmodel): consolidate duplicated auth checks into TryGetUserId helper (S1192) 2026-07-17 19:58:27 +00:00

Opened #681 perf(keycloak): cache JsonSerializerOptions instead of per-call allocation (CA1869) 2026-07-17 20:04:18 +00:00

Opened #682 perf(mcp): cache CalendarTools JsonSerializerOptions instead of per-call allocation (CA1869) 2026-07-17 20:07:27 +00:00

Opened #683 Api: remove stale IsAotCompatible flag (abandoned AOT experiment emitting 115 IL2026/IL3050 warnings) 2026-07-17 20:32:48 +00:00

Opened #684 MediatR pipeline behaviors don't forward CancellationToken to next() (v11-style call on MediatR 14) 2026-07-17 21:23:01 +00:00

Opened #685 [Security] SSRF in InfoVault URL caching — user-supplied vault URL fetched server-side with no internal-address guard 2026-07-17 22:23:12 +00:00

Opened #686 [Angular][Tech-debt] Migrate off deprecated @angular/animations DSL + animations modules (Angular 22 — SonarQube S1874 ×85) 2026-07-17 22:30:39 +00:00

Opened #687 [Angular][Dead-code] Course class has 8 declared-but-never-assigned/read private fields (classes/course.ts) 2026-07-17 22:35:49 +00:00

Opened #688 [Security] Broken access control: Mark Wilson customer-PII CRM is authenticated-only (no staff/admin role gate) 2026-07-17 22:36:15 +00:00

Opened #689 [Security] Gate the remaining Mark Wilson CRM controllers to staff/admin (#688 follow-up) 2026-07-17 22:42:10 +00:00

Opened #690 [Security][Hardening] JWT validation deviates from secure defaults: RequireHttpsMetadata=false, ValidateIssuer=false 2026-07-17 22:54:24 +00:00

Opened #691 [Security] Pre-registration email verification code is brute-forceable — attempts counted but never enforced 2026-07-17 23:00:05 +00:00

Opened #692 [Security] Phone verification codes (OTP) written to logs at Information level 2026-07-17 23:05:04 +00:00

Opened #693 [Security] TwilioController outbound endpoints are unauthenticated — SMS/call/lookup abuse & cost 2026-07-17 23:13:35 +00:00

Opened #694 [Security] GeneratorBrands write endpoints allow any authenticated user to modify CRM reference data (#689 follow-up) 2026-07-17 23:20:49 +00:00

Opened #695 [Robustness] Fundraiser RecordSale QuantitySold has no upper bound — absurd values can overflow accumulated totals 2026-07-17 23:50:58 +00:00

Opened #696 [Infra][MinIO] Cut over book/ebook artifacts to MinIO as sole store (ebooks slice of #413) + fix inline-mirror pipeline stall 2026-07-18 01:16:28 +00:00

Opened #697 [Maintainability] Fix CS8619 nullability mismatch on RabbitMQ message Headers (4 sites) 2026-07-18 02:12:35 +00:00

Opened #698 [Bug][Reliability] Workers pass healthcheck with a DEAD RabbitMQ consumer → pipeline stages silently stall (image.description: 128 msgs/0 consumers) 2026-07-18 03:00:48 +00:00

Opened #699 [Bug][ArtStudio] Concept stage fails for every asset offline — SDXL loader completeness check + un-baked Lightning LoRA (fix: artpipe PR #25) 2026-07-18 06:10:13 +00:00

Opened #700 [Bug][Infra][Gitea/MinIO] Large registry push restarts single-node MinIO → Gitea storage.Init crash-loops → full git+CI 404 outage 2026-07-18 07:08:49 +00:00

Opened #701 Move My Journey into the playground curriculum pane as a Progress tab 2026-07-18 19:44:25 +00:00

Opened #702 [ArtPipe][Bug] Modeling stage fails offline — TripoSR's DINO image encoder (facebook/dino-vitb16) never baked (same class as #699) 2026-07-18 20:34:50 +00:00

Opened #703 [Backend][Bug] Embeddings (and latent: quiz-generation) model self-provision fails — named cache volume root-owned, worker runs as app (#527 fallout) 2026-07-18 22:46:29 +00:00

Opened #704 [GpuCoordinator][Bug] Lease grant races physical VRAM eviction — quiz-generation grant-fail-release cycles to DLQ while ImageDescription yields correctly 2026-07-18 23:56:34 +00:00

Opened #705 [Epic][Blog][UX] Blog management & UX overhaul — findings from the 2026-07-18 full review 2026-07-19 01:14:48 +00:00

Opened #706 [Bug][Blog][Angular] Media delete is broken end-to-end — placeholder handler AND a confirm button with no click binding (epic #705) 2026-07-19 01:15:00 +00:00

Opened #707 [Bug][Blog][Angular] Comment identity is hardcoded — every comment posts as "Current User"/"current-user-id" (epic #705) 2026-07-19 01:15:05 +00:00

Opened #708 [Feature][Blog][Angular] "My posts" management view — surface drafts/pending/rejected in one place (epic #705) 2026-07-19 01:15:10 +00:00

Opened #709 [Feature][Blog][Angular] Author edit UI — updateBlogPost exists server+service side, no surface calls it (epic #705) 2026-07-19 01:15:19 +00:00

Opened #710 [Perf][Blog][Angular] List loads ALL posts and filters client-side — backend pagination discarded, no pagination UI (epic #705) 2026-07-19 01:15:24 +00:00

Opened #711 [UX][Blog][Angular] Media grid hardcodes cols=3 — squashed tiles on mobile (epic #705) 2026-07-19 01:15:29 +00:00

Opened #712 [UX][Blog][Angular] Create flow: setTimeout(1000) navigation + no unsaved-changes guard (epic #705) 2026-07-19 01:15:37 +00:00

Opened #713 [UX][Blog][Angular] Small polish batch: moderation shield tooltip + theme-token colors in blog SCSS (epic #705) 2026-07-19 01:15:41 +00:00

Opened #714 [Test][Blog][E2E] Blog has zero Playwright coverage — add an authenticated blog spec (epic #705) 2026-07-19 01:15:46 +00:00

Opened #715 [TechDebt][Blog][Angular] Two base-URL sources — service uses API_BASE_URL token, media URLs use environment.baseUrl (epic #705) 2026-07-19 01:15:53 +00:00

Opened #716 [Security][Blog][Record] Create endpoints accepted spoofable client-supplied AuthorId — fixed by backend #423 (epic #705) 2026-07-19 01:15:58 +00:00

Opened #717 [CI][Backend] Tier-3 artpipe finals builds keep getting superseded/cancelled before pushing — dino fix (#702) never reached the registry 2026-07-19 01:29:52 +00:00

Opened #718 [Epic][Photography] Photograph Upload · Photo Gallery · Photo Stack — photography as a first-class interest 2026-07-19 02:20:15 +00:00

Opened #719 [Reading Journey][UX] Covers-only uniform shelf + responsive AVIF cover variants + book quick-view + blog-about-this-book (parent-gated) 2026-07-19 03:40:56 +00:00

Opened #720 [Infra][Data-integrity] Corrupt blob in MinIO-backed container registry — 17GB env-image layer unreadable at one part, blocked the #702 fix chain all night 2026-07-19 03:50:03 +00:00

Opened #721 [ArtPipe][Bug] Export stage dead on first prod asset — Blender's glTF exporter missing numpy (--no-install-recommends dropped it) + probe chain masked the real error 2026-07-19 13:38:31 +00:00

Opened #722 EPIC: Angular 22 + Nx 23 full-leverage modernization (signal forms, resource APIs, affected CI, remote cache) 2026-07-19 15:09:32 +00:00

Opened #723 platform-clang-runtime: 2 curriculum-pane specs fail on master (localStorage.getItem is not a function) 2026-07-19 15:34:53 +00:00

Opened #724 chore(calendar): upgrade FullCalendar v6 → v7 (@fullcalendar/angular 7.0.1) — new theme system, package restructure, API renames 2026-07-19 22:56:42 +00:00

Opened #725 chore(a22): retire deprecated Angular packages — build-angular executor, @angular/animations, platform-browser-dynamic 2026-07-20 00:37:33 +00:00

Opened #726 Authenticated E2E walk: rpg-game, dungeon-crawler, duality-game fail with runtime TypeErrors (pre-existing on master) 2026-07-20 01:32:52 +00:00

Opened #727 Parent approval map never shows a domestic child's requested states (wishlistRegions unbound; orange 'requested' style gated to minor mode; no region approval store) 2026-07-20 01:39:13 +00:00

Opened #728 storybook: static build broken on master (addon-actions import, node built-ins, worker tsconfig) 2026-07-20 01:54:33 +00:00

Opened #729 Reading journey: let parents share their uploaded books with their children 2026-07-20 02:58:03 +00:00

Opened #730 Sonar: exclude vendored interpreter.js (JS-Interpreter) from analysis 2026-07-20 03:46:39 +00:00

Opened #731 Bug: duplicate min-height in x86-playground SCSS (css:S4656) 2026-07-20 03:59:45 +00:00

Opened #732 Epic: Accessibility hardening (SonarQube a11y backlog — alt text, keyboard equivalents, ARIA) 2026-07-20 04:05:51 +00:00

Opened #733 E4 regression: activity-manifest resource() blocks whenStable() — fundraiser + calendar suites hook-timeout on master 2026-07-20 14:34:33 +00:00

Opened #734 Child book read-context never built on real tokens: bare FindFirst("sub") nulled by JWT inbound claim mapping (breaks #729 household grants; #618 child gate fail-opens) 2026-07-20 15:26:28 +00:00

Opened #735 Child map never shows parent approval of a wishlisted state — minor-mode wishlist branch masks the approved style (profile → travel → map) 2026-07-20 15:45:45 +00:00

Opened #736 Child's own profile drops 5 granted permissions — ProfileMapper.ToDto maps only 8 of 13 FeaturePermissions fields (child sees "Blog posting isn't turned on" despite parent grant) 2026-07-20 15:51:27 +00:00

Opened #737 Registration e2e step-1 specs broken by E5 Signal Forms migration — [formcontrolname] locators no longer match (CI e2e-anonymous red on master) 2026-07-20 17:07:51 +00:00

Opened #738 feat(chemistry): Learn → Chemistry periodic-table landing (three.js CSS3D) — Phase 1 2026-07-20 17:32:37 +00:00

Opened #739 [Nx graph] Delete dead libs feature-dev-tools-voronoi + shared-utils-file-hash (zero consumers since May); keep feature-trellis-3d-generator (parked pending #412) 2026-07-20 18:17:39 +00:00

Opened #740 [Nx graph] Split platform-activity-tracking into api (facade, 24 dependents) + impl (pipeline, app-registered) so impl churn stops invalidating a third of the graph 2026-07-20 18:24:07 +00:00

Opened #741 feat(chemistry): periodic-table sizing fix + camera reset/axis views + in-scene element zoom 2026-07-20 18:28:51 +00:00

Opened #742 [workspace-plugin] library generator emits "^undefined" peer versions — reads rootPkg.dependencies but framework deps live in devDependencies since E0 2026-07-20 18:31:51 +00:00

Opened #743 [Nx graph] spikersoft-environment consumer audit: all 18 lib consumers are URL-only (100 call sites); only the app needs full environment — migration report, not yet migrating 2026-07-20 18:44:51 +00:00

Opened #744 Dungeon-crawler background music keeps playing after navigating to another game 2026-07-20 18:46:56 +00:00

Opened #745 bug(blog): media 'Confirm Removal' button shown to all viewers + blog update/add-media endpoints missing authorization 2026-07-20 19:19:00 +00:00

Opened #746 feature(blog): photography-info icon on blog photos sourced from the Photography gallery 2026-07-20 19:19:08 +00:00

Opened #747 bug(blog): media removal is a placeholder — no backend endpoint, viewer button does nothing 2026-07-20 19:58:26 +00:00

Opened #748 bug(blog): comment endpoints are anonymous and comment author identity is client-spoofable 2026-07-20 19:58:31 +00:00

Opened #749 feature(sponsor): 'Sponsor a Journey' — family cards with shared destinations, destination chips, family detail page 2026-07-20 21:18:13 +00:00

Opened #750 refactor(sponsor): migrate SponsorController to CQRS handlers 2026-07-20 21:18:18 +00:00

Opened #751 [E6/emulators] alpine-linux + mac-plus emulator components are dead since the v86 catalogue (2025-11-22) — and orphan 158 MB of assets/emulators ROMs shipped in every image 2026-07-20 23:14:09 +00:00

Opened #752 feature(sponsor): family card member spotlight + globe.gl choropleth dream globe on the family page 2026-07-20 23:37:34 +00:00

Opened #755 note(art-studio): Stacked/Touchup saves are canvas exports — camera EXIF lost, photo-info panel sparse 2026-07-21 01:13:17 +00:00

Opened #753 bug(blog): camera icon missing on pre-#746 gallery-sourced blog photos — backfill provenance + gallery picker in Add-more-media 2026-07-21 01:13:17 +00:00

Opened #754 feature(photography): accept Canon/Nikon/Sony/Fuji/DNG raws on upload — widen allowlist + Raw-kind heuristic (no LibRaw needed on ingest) 2026-07-21 01:13:17 +00:00

Opened #756 [Critical][Ops][Notifications] Ops alerting is silently dead — every system-remediation-alert email fails SMTP AUTH 535; critical disk/OOM alerts never delivered 2026-07-21 02:54:05 +00:00

Opened #758 [Bug][Backend][Profile] GET /api/Profile/images/6a5d78cacf3094d34c21faba 500s: stored image larger than advertised Content-Length; GlobalExceptionHandlerMiddleware then crashes writing after response start 2026-07-21 02:54:57 +00:00

Opened #757 [Infra][SERVER] Root disk hit 99% from accumulated stale deploy images — pruned 222.7GB (now 49%); add scheduled prune on service nodes + investigate OOM kills 2026-07-21 02:54:57 +00:00

Opened #759 ProfileMapper.ToDto omits 5 permission fields — child's own blogPosting etc. always read as defaults 2026-07-21 02:59:47 +00:00

Opened #760 marks-address: duplicate @for track keys for unsaved addresses + saveAddresses() is a stub 2026-07-21 02:59:53 +00:00

Opened #761 Hygiene: event-modal debug console.logs ship to prod + 6 templates spam NG8011 projection warnings every build 2026-07-21 03:00:04 +00:00

Opened #762 keycloak-admin user-roles: both role-search boxes are wired to nothing 2026-07-21 03:00:08 +00:00

Opened #763 Dream globe: context countries nearly invisible; show grey state boundaries for supported countries 2026-07-21 03:25:21 +00:00

Opened #764 Dream globe: choropleth invisible while hovering and past a zoom threshold (small polygons) 2026-07-21 03:25:30 +00:00

Opened #765 Dream globe: chip click flies globe to destination; polygon click offers "Explore in Geography" 2026-07-21 03:25:37 +00:00

Opened #766 Geography explorer: state map only renders after picking a trail-activating interest 2026-07-21 03:25:43 +00:00

Opened #767 Direct messages: role/family-scoped 1:1 messaging with presence (FAB + drawer) 2026-07-21 03:57:49 +00:00

Opened #768 [Bug][Infra] Corrupt 17GB registry blob in MinIO gitea-packages blocks all artpipe prodstages CI builds (unexpected EOF at fixed offset) 2026-07-21 05:37:44 +00:00

Opened #769 [Bug] DM unread badge invisible on chat FAB (glass mixin overflow:hidden clips matBadge) + no audible cue on incoming message (#767 follow-up) 2026-07-21 15:01:51 +00:00

Opened #770 [Bug] DM roster: admin-parents don't see their children (exclusive role branches) + avatars generic for ProfileImageId users (#767 follow-up) 2026-07-21 15:55:44 +00:00

Opened #771 [Infra][MinIO] Profile/team/sponsor images: GridFS → MinIO sole store (profile-images slice of epic #413) 2026-07-21 16:40:07 +00:00

Opened #772 a11y phase 1: axe-core e2e gate + vendored-asset exclusion + dev-tools/admin batch (epic #732) 2026-07-21 18:12:11 +00:00

Opened #773 [Infra][MinIO] Sensitive documents (passports/travel docs): GridFS → MinIO sole store (slice of epic #413) 2026-07-21 18:49:53 +00:00

Opened #774 [Bug][Infra][Deploy] backend deploy reports success while swarm rolls back on transient image-pull failure (silent non-deploy, #584 class) 2026-07-21 19:18:26 +00:00

Opened #776 test(backend): flaky BookPageImage ObjectId CreationTime tolerance (CI run 11622) 2026-07-21 19:38:43 +00:00

Opened #775 [Infra][Registry] Blob-integrity hardening: read-verify sweep + Gitea ignores Range on blob GETs + single-node MinIO cannot heal bitrot (consolidates #720/#768) 2026-07-21 19:38:43 +00:00

Opened #777 [Content][Feature] Video captions: 8 media elements lack subtitle/description tracks (S4084, split from a11y epic #732) 2026-07-21 19:52:26 +00:00

Opened #778 [Infra][MinIO] Final GridFS slices: vault-files + photograph-previews → MinIO sole store (completes epic #413's GridFS retirement) 2026-07-21 20:08:16 +00:00

Opened #779 [Feature][Photography] Stack-aware gallery: EXIF burst auto-grouping, collapse to finished products, stack provenance + transparency panel (epic #718) 2026-07-21 20:43:57 +00:00

Opened #780 [UX][ArtStudio] Touch-Up: prominent selected-frame indicator + draggable compare divider (stacked vs selected frame) (epic #718) 2026-07-22 01:10:47 +00:00

Opened #781 Epic: Unified scheduling — recurrence engine + availability (calendar + iCal) 2026-07-22 01:21:47 +00:00

Opened #782 E2E parent/child account matrix + persona hydration tooling 2026-07-22 01:44:56 +00:00

Opened #783 [Infra][MinIO] art-asset-artifacts: the ACTUAL last GridFS bucket → MinIO (ArtStudio stage outputs, ~4.5GB) (epic #413) 2026-07-22 01:49:51 +00:00

Opened #784 [Perf][ArtStudio] Serve artifact images via short-TTL presigned MinIO URLs + HTTP caching — stop streaming every image through the API (follow-up to #783, epic #413) 2026-07-22 03:41:02 +00:00

Opened #785 Schedule tab: boundary months render with only their in-horizon weeks — pad split months with unschedulable placeholders (epic #781) 2026-07-22 03:47:42 +00:00

Opened #786 [Bug][Prod][Calendar] GET events threw for every pre-#781 event — required non-nullable AffectsAvailability missing from old documents (backfilled) 2026-07-22 03:57:08 +00:00

Opened #787 [Bug][Backend] images/{id} intermittent 500: response wrote 163840 bytes against Content-Length 163409 (post-MinIO recurrence of the #758 signature) + Traefik compresses images wastefully 2026-07-22 04:01:24 +00:00

Opened #788 [Feature][Calendar] Family calendar overlay — parents see + manage children's events with per-child toggles (epic #781 adjacent) 2026-07-22 05:22:16 +00:00

Opened #789 Library tsconfig.spec rootDir: "src" blocks cross-library-importing unit tests (38 libs) 2026-07-22 05:35:33 +00:00

Opened #790 [Feature][Calendar] Create-for-child from the parent calendar — owner selector in the event modal (follow-up to #788) 2026-07-22 05:36:22 +00:00

Opened #791 KeycloakCacheService.refreshUserCache over-evicts users sharing an id prefix 2026-07-22 05:49:23 +00:00

Opened #792 ElementRegistry incompatibility lists reference unregistered elements (H→F/Cl, O→Na/K) 2026-07-22 06:24:38 +00:00

Opened #793 EquipItem slot validation off by one — EquipmentSlot↔ItemEquipSlot ordinal cast mismatch 2026-07-22 06:59:52 +00:00

Opened #794 shockwave_fire spell combo can never trigger — un-normalized case in GetComboType 2026-07-22 07:19:26 +00:00

Opened #795 JsonPacketSerializer: EntityMovedEvent serialize throws NotSupportedException (JsonElement leak) 2026-07-22 08:25:38 +00:00

Opened #796 BlogRateLimiter: HashSet counters collapse same-millisecond increments 2026-07-22 08:45:13 +00:00

Opened #797 FileValidationService: outer catch NullRefs when fileData is null 2026-07-22 09:14:58 +00:00

Opened #798 RabbitMQ_HealthCheck: QueueInfo ignores management API snake_case fields 2026-07-22 09:25:37 +00:00

Opened #799 wasm-voxel chat formatter: §o applies bold instead of italic 2026-07-22 11:38:23 +00:00

Opened #800 spikersoft-angular: purge big binaries from git history (repo-size tier 3 — coordinated rewrite) 2026-07-22 17:28:38 +00:00

Opened #801 Gitea LFS storage → MinIO (keep 751MB of large assets off laptop-server host disk) 2026-07-22 19:11:35 +00:00

Opened #802 [Feature][Calendar] Import .ics calendars — one-shot file upload (Microsoft / Google / Apple) 2026-07-22 22:46:51 +00:00

Opened #803 [Feature][Calendar] Subscription feeds — periodic .ics refresh via scheduler worker 2026-07-22 22:47:08 +00:00

Opened #804 [Bug][Art Studio] Display images never cache across visits — backend half of #784 (presigned display URL) was never built 2026-07-22 23:02:21 +00:00

Opened #805 [Feature][Art Studio] Serve display images as AVIF derivatives (small card + full), keep PNG for download 2026-07-22 23:02:51 +00:00

Opened #806 Art Studio: serve AVIF renditions of PhotoStack stacks instead of the raw ~117MB .tif 2026-07-23 02:39:43 +00:00

Opened #807 Art Studio: let owners upload an edited .tif as a non-destructive stack variant 2026-07-23 04:04:48 +00:00

Opened #808 PathManager.GetCachedObstacles always empty — CollectObstaclesInPlace never fills _obstacleArrayBuffer 2026-07-23 04:27:15 +00:00

Opened #809 CourseModule constructor never assigns this.number — every module.number is undefined 2026-07-23 04:33:41 +00:00

Opened #810 Boss.selectBossType() is a broken dead stub — throws on any call (empty bossTypesForFloor) 2026-07-23 04:59:07 +00:00

Opened #811 wasm-voxel AES is broken — round function missing, keystream is input/IV-independent (not real AES) 2026-07-23 05:47:02 +00:00

Opened #812 AutopilotHUD: target-type toggle unclickable — hit-area overlaps 'Go to Position' command button 2026-07-23 09:37:40 +00:00

Opened #813 PhpInterpreterService: capabilities.canRun not reactive to setWorkspace (non-signal hasBlocks) 2026-07-23 11:54:26 +00:00

Opened #814 QrCodeComponent: WiFi field escaping only escapes the first special char (regex missing /g) 2026-07-23 12:50:28 +00:00

Opened #815 CI red on master: deployment guard tests point at pre-reusable-pipeline workflow locations 2026-07-23 15:13:08 +00:00

Opened #816 Angular CI: WASM bundle download flakes on HTTP/2 stream reset (curl exit 92) 2026-07-23 15:19:38 +00:00

Opened #817 Angular master CI red: Stylelint declaration-empty-line-before in sponsor-family.component.scss 2026-07-23 15:29:49 +00:00

Opened #818 Angular lint: COVERAGE-LOOP.md trips prettier -c . on master 2026-07-23 15:55:18 +00:00

Opened #819 e2e route-coverage red on master: location-fund routes unclassified + ratchet dip (regression from #552) 2026-07-23 16:43:24 +00:00

Opened #820 ArtStudio/photo-gallery downloads 404: artpipe workers write GridFS while API reads MinIO (stale pre-#783 deploy) 2026-07-23 17:34:40 +00:00

Opened #821 Registry blob corruption: artpipe-model-env-safetycheck 4.8 GB weights layer truncated in MinIO (unexpected EOF) 2026-07-23 23:52:58 +00:00

Opened #822 GPU coordinator queue deadlocked after #467 node-routing deploy — Embeddings pinned to disabled SERVER lane wedges all GPU tenants 2026-07-24 00:57:51 +00:00

Opened #823 master production app build is RED: photo-lightbox humanizeDuration(number|null) strictTemplates error 2026-07-24 02:56:13 +00:00

Opened #824 CI gap: strictTemplates / app-build errors merge to master green (nx build spikersoft not gated) 2026-07-24 02:56:31 +00:00

Opened #825 Art Studio MinIO migration: reader cutover preceded writer cutover → gap-window artifacts orphaned (500 on download) 2026-07-24 04:50:00 +00:00

Opened #826 space-game KeybindingManager ctor wipes saved localStorage keybindings on every boot (custom binds lost on reload) 2026-07-24 05:34:10 +00:00

Opened #827 Epic: Sponsor page — unified card grid, declutter donate buttons, and family shared-trip funds 2026-07-24 16:46:38 +00:00

Opened #828 Angular master e2e-anonymous RED since #827 PR #564: /sponsor/donate-family/:familyKey unclassified in route-manifest → publish skipped, frontend not deploying 2026-07-24 18:56:45 +00:00

Opened #829 JWT tool: in-flight signature computation writes stale signature over cleared state (also reddens the full-suite SonarQube scan on master) 2026-07-24 19:44:01 +00:00

Opened #830 Flaky under load: keycloak-admin user-list spec settles resources with a fixed hop count (reddens full-suite SonarQube scan); 9 sibling specs share the pattern 2026-07-24 19:44:19 +00:00

Opened #831 Sponsor family card: declutter header, consolidate member photos, promote the $ tracker 2026-07-24 20:57:52 +00:00

Opened #832 Art Studio: make the Hunyuan3D texturing lane actually run in production (never textured a single asset) 2026-07-25 00:44:20 +00:00

Opened #833 EPIC: Pixal3D as an Art Studio modeling backend 2026-07-25 00:53:13 +00:00

Opened #834 Pixal3D PR-1: artpipe manifest + WRAP backend + runner 2026-07-25 00:53:31 +00:00

Opened #835 Pixal3D PR-2: make the artpipe VRAM admission gate tunable 2026-07-25 00:53:37 +00:00

Opened #836 Pixal3D PR-3: decouple model-queue binding from resident mode + per-model routing allow-list 2026-07-25 00:53:48 +00:00

Opened #837 Pixal3D PR-4: bake the pixal3d env image in CI 2026-07-25 00:53:57 +00:00

Opened #838 Pixal3D PR-5: deploy stack, method option, and routing cutover 2026-07-25 00:54:08 +00:00

Opened #839 ModelEnvImages: triposg venv unbuildable (fvdb needs Python >=3.11, manifest pins 3.10) — aborts the serial loop and silently blocks 4 later images 2026-07-25 01:39:55 +00:00

Opened #840 NetworkStatusService uses Inject() instead of inject() — DI is broken 2026-07-25 04:03:02 +00:00

Opened #841 ArtPipeProcessor deploy: /mnt/infrastructure pull fails auth (stale checkout deployed, only a WARNING) + one stack's 'update out of sequence' aborts all later deploys 2026-07-25 08:17:49 +00:00

Opened #842 EPIC: Art Studio — record and replay generation parameters (+ text+image concept) 2026-07-25 20:21:28 +00:00

Opened #844 art_pipe: always seed generation, and record what made each image (#842) 2026-07-25 20:21:54 +00:00

Opened #843 Art Studio: record what actually produced each stage run (#842) 2026-07-25 20:21:54 +00:00

Opened #845 Art Studio: carry generation-parameter overrides to the worker (#842) 2026-07-25 20:21:55 +00:00

Opened #848 Art Studio UI: show what made an asset, and let a user remake it (#842) 2026-07-25 20:22:24 +00:00

Opened #847 Art Studio: reproduce and vary a recorded run (#842) 2026-07-25 20:22:24 +00:00

Opened #846 Art Studio: text+image concept, and fix image-upload submissions (#842) 2026-07-25 20:22:24 +00:00

Opened #849 Art Studio: name storage keys for what they hold (#842) 2026-07-25 20:22:25 +00:00

Opened #850 CI: prune artpipe container pin tags — keep :latest + 3, they accumulate forever 2026-07-25 22:18:44 +00:00

Opened #851 GET api/Profile/images/{id} returns 500 — response compression grows already-compressed images past Content-Length 2026-07-25 22:42:03 +00:00

Opened #852 PROD: all Art Studio images 404 — #849 rename orphaned the legacy PascalCase artifact key 2026-07-26 00:02:13 +00:00

Opened #853 Drop GridFS naming from Art Studio: rename to objectKey, migrate legacy docs, remove the #852 shim 2026-07-26 00:29:26 +00:00

Opened #854 Latent #852 twin: UserProfile.Images uses Newtonsoft [JsonProperty] on a System.Text.Json column 2026-07-26 00:29:42 +00:00

Opened #855 hex-tower-defence tab crash: art_pipe export stage never decimates (137k tris / 109 MB assets) + the game loads every slot concurrently 2026-07-26 04:50:54 +00:00

Opened #856 PROD: GET /api/artstudio 500s — #853 objectKey rename deployed to the reader but not the artpipe writer 2026-07-26 14:06:58 +00:00

Opened #857 SECURITY: container registry serves anonymous pull tokens over the public internet 2026-07-26 19:25:54 +00:00

Opened #858 artpipe env images: two RUN loops produce 17 GB and 16 GB single layers — split per model 2026-07-26 19:26:14 +00:00

Opened #859 artpipe: 33 GB of immutable weights/venvs are baked into every CI build — make them data, not image layers 2026-07-26 19:31:01 +00:00

Opened #860 hex-tower-defence: loadout effect re-subscribes to the art loader's httpResources, looping until the renderer is killed 2026-07-26 22:54:53 +00:00

Opened #861 artpipe: decimation to 6k faces tore 60% of the mesh surface open — relax it, and replace the simplifier 2026-07-26 23:31:22 +00:00

Opened #862 [Bug][Backend][Data] Metadata extraction has no idempotency guard — a single upload inserted 2× full page sets (342 dupes, 2026-07-18); answers #509's open questions 2026-07-26 23:59:41 +00:00

Opened #863 Art Studio: artifacts only appear when the whole asset finishes, and the progress percentages are not honest 2026-07-27 01:57:46 +00:00

Opened #864 spikersoft-artpipe has no PR CI — its whole pytest suite is ungated 2026-07-27 02:36:20 +00:00

Opened #865 Research: Origin Private File System (OPFS) as selective offline pin/outbox beside MinIO 2026-07-27 02:38:32 +00:00

Opened #866 Research: Replace / drop npm libs with built-in browser APIs (2026) to slim spikersoft-angular 2026-07-27 02:46:14 +00:00

Opened #867 Rework /employment into a routed master-detail careers page with a globe 2026-07-27 14:01:29 +00:00

Opened #868 EPIC: Sponsor family card redesign — image-backed destination tiles, achievements strip, parent-gated age 2026-07-27 14:29:11 +00:00

Opened #869 Destination background images: anonymous /destination-images MediaRoute from MinIO assets bucket 2026-07-27 14:29:24 +00:00

Opened #870 Family card re-skin to approved mock (header, ringed avatars, image destination tiles, CTA banner) 2026-07-27 14:29:32 +00:00

Opened #871 TopAwards on SponsorFamilyListItem — public top-4 family prizes/skills aggregation 2026-07-27 14:29:43 +00:00

Opened #872 Family achievements strip on the card (ui-award-chips) + skills.service route fixes 2026-07-27 14:29:47 +00:00

Opened #873 exposeAgePublicly parental permission + Age on SponsorFamilyMember (consent-boundary design) 2026-07-27 14:30:06 +00:00

Opened #874 Skill awards can trigger fund payouts (server skill-awarded activity + earned-skill-count provider) 2026-07-27 14:30:13 +00:00

Opened #875 Fund-management admin page: recurrence/prize-kind enum drift (400s) + domain/action pickers 2026-07-27 14:30:22 +00:00

Opened #876 ApproveParentalLinkCommandHandler silently resets InfoVault (and any unlisted permission) to false 2026-07-27 14:30:27 +00:00

Opened #877 [Bug][Infra][CI] ModelEnvImages rebuilds all 10 model images from scratch every push — a provenance LABEL above the expensive layers busts the cache (3h build, hits the runner cap) 2026-07-27 18:50:42 +00:00

Opened #878 Sponsor family card UI/UX: spotlight bio clipped, duplicate family-page link, broken narrow-lane/mobile layout 2026-07-28 01:49:14 +00:00

Opened #879 SW caches /api/book/* JSON for 7d while presigned cover URLs expire in hours — fallback serves dead cover links 2026-07-28 01:59:25 +00:00

Opened #880 Offline book downloads don't persist the cover — downloaded books show broken covers once the presigned URL expires 2026-07-28 01:59:36 +00:00

Opened #881 book-upload preview binds bucket-relative coverImage key as &lt;img src&gt; — broken preview for MinIO-served books 2026-07-28 01:59:46 +00:00

Opened #882 CI red: 3 SponsorControllerTests family tests dial real MongoDB — #871 TopAwards reads not mocked 2026-07-28 02:43:59 +00:00

Opened #883 Duplicate System Activity gear FAB on /art-studio 2026-07-28 03:22:44 +00:00

Opened #884 Sponsor family card: hover member tabs (locations/bio/awards) + dashboard sponsor grid layout 2026-07-28 05:35:57 +00:00

Opened #885 OUTAGE: dreamstream4 down → RabbitMQ backbone unreachable since 12:17Z — consumers can't connect, redis node lost 2026-07-28 14:24:08 +00:00

Opened #886 ArtPipeProcessor host has no RabbitMQ startup retry/backoff — 7s crash-loop + Seq flood whenever the broker is away 2026-07-28 14:24:31 +00:00

Opened #887 artpipe-model-blender:latest missing from registry — service Reject-loops every ~5s since the 04:11Z artpipe redeploy 2026-07-28 14:24:32 +00:00

Opened #888 OpenBao HA is silently degraded by sealed standbys — seal state has no monitoring, turning one node loss into a 2.5h write outage (#885 post-mortem) 2026-07-28 14:50:45 +00:00

Opened #889 QR Monster: add SD1.5 Monster v2 'classic' variant + per-variant tuning (gallery-quality blending) 2026-07-28 19:12:31 +00:00

Opened #890 Restore QR-art rate limit to 6/hr after the #889 testing window 2026-07-28 20:55:54 +00:00

Opened #891 Photo gallery: multi-select upload wrongly groups unrelated photos as a burst 2026-07-29 05:48:00 +00:00

Opened #892 Photo gallery: poor thumbnail quality — Lanczos3 + edge-aware sharpening + fix ORF 160×120 thumbs 2026-07-29 05:48:12 +00:00

Opened #893 Photo gallery: free-form tags — editor, gallery filter/search, EXIF keyword seeding 2026-07-29 05:48:20 +00:00

Opened #894 Photo gallery: Florence-2 AI auto-tagging pipeline step (auto-tags + caption, suppressible, full backfill) 2026-07-29 05:48:36 +00:00

Opened #895 2026-07-29 power outage: RabbitMQ mnesia corruption took down all consumers (recovered) 2026-07-29 13:40:28 +00:00

Opened #896 /sponsor/family/{key} page renders under the fixed menu bar (hero cut off) 2026-07-29 23:22:19 +00:00

Opened #897 Remove the command-line tool from learn.spikersoft.com 2026-07-30 01:58:54 +00:00

Opened #898 [Bug] You still see (and can call) yourself in the video-call picker — self-filter compares sub against ChatHub's sid 2026-07-30 02:05:40 +00:00

Opened #899 Support pasting images from clipboard in image upload areas 2026-07-30 02:08:19 +00:00

Opened #900 Skill-management active toggle never persists — PUT payload omits isActive and the reload reverts the flip 2026-07-30 04:03:33 +00:00

Opened #901 Decompiler search box and member-type filter chips are inert — getFilteredNamespaces() ignores both 2026-07-30 04:24:23 +00:00

Opened #902 Geography facts admin: editing a fact with no source crashes the edit form (TypeError: this.field(...) is not a function) 2026-07-30 04:36:52 +00:00

Opened #903 Keycloak admin: "create disabled user" confirmation dialog renders COMPLETELY EMPTY and cannot be closed (missing TranslocoDirective import) 2026-07-30 07:28:09 +00:00

Opened #904 Menu bar: declutter top-level nav + drive desktop/mobile menus from one model 2026-07-30 18:13:28 +00:00

Opened #905 Rebrand landing/marketing copy: children-first → family-inclusive 2026-08-03 14:35:43 +00:00

Opened #906 Design: trip planner — day-by-day itinerary with costs, materials, and calendar tie-in 2026-08-03 14:41:09 +00:00

Opened #907 Art Studio admin pages render content under the fixed menu bar 2026-08-03 20:48:59 +00:00

30 Unresolved Conversations

Open #242 [Bug] SonarQube S7059: async operation inside a constructor 2026-07-29 18:34:31 +00:00

Open #236 chore(deps): unpin @types/google.maps (3.65.x DrawingManager typings) (deferred from #230) 2026-07-29 18:31:14 +00:00

Open #35 [Enhancement] Playground toolbar: Format document (Monaco API, shortcuts, per-language formatter hooks) — platform 2026-07-29 16:54:53 +00:00

Open #6 [Future] TypeScript curriculum + in-browser transpile (pnpm typescript, no CDN) 2026-07-29 16:04:07 +00:00

Open #3 [Future] OpenSC2K-style SimCity 2000 learning / creative sandbox (optional game) 2026-07-29 15:56:03 +00:00

Open #38 [Enhancement] C# playground: Roslyn / dotnet formatter for Monaco 2026-07-29 15:29:37 +00:00

Open #41 [Feature] Native Angular port: Regexp People (regex) — logic & inspiration from ManzDev (approved) 2026-07-25 22:30:21 +00:00

Open #33 [Enhancement] C# playground: Monaco debugger toolbar — WASM + PDB (Blazor-class), breakpoints, stepping, vars 2026-07-25 01:12:59 +00:00

Open #4 [Future] PHP in the browser (php-wasm) — learning / playground path 2026-07-23 15:13:08 +00:00

Open #307 [Epic] Full-coverage Playwright E2E walk of the Angular app with live Jaeger + Seq telemetry 2026-07-22 18:52:25 +00:00

Open #250 [Tech debt][Epic] SonarQube: frontend HIGH/BLOCKER maintainability smells (~1,675) 2026-07-22 02:57:50 +00:00

Open #321 [E2E P8] Coverage gate — route-manifest report in CI, ratchet to 100% 2026-07-22 02:55:32 +00:00

Open #125 Minecraft Bug - Water generation creates a visual barrier and some white spots resembling particles. 2026-07-22 02:55:32 +00:00

Open #297 Ops console for host incidents & security alerts (API + Angular page), dev-ops/admin only 2026-07-22 02:55:31 +00:00

Open #298 Specialize keycloak-admin library toward SpikerSoft staff roles & permission delineation 2026-07-22 02:55:31 +00:00

Open #316 [E2E P4] Authenticated core journeys 2026-07-22 02:55:31 +00:00

Open #318 [E2E P3] Registration & verification flow (email code + Twilio SMS hook) 2026-07-22 02:55:31 +00:00

Open #71 [Enhancement] Chess: user-generated piece models via Trellis3D pipeline 2026-07-20 18:17:39 +00:00

Open #319 [E2E P6] Staff/Admin surfaces 2026-07-17 03:10:21 +00:00

Open #317 [E2E P5] Parent & family flows 2026-07-16 05:17:57 +00:00

Open #21 [Enhancement] Playground: show historical graded output when revisiting completed lessons 2026-07-15 20:22:28 +00:00

Open #306 [Spike] Stream code-execution output incrementally over the existing SignalR channel 2026-07-15 18:49:14 +00:00

Open #304 [Perf/i18n] Deliver Concept Reference overlays per active locale (not all-languages-baked) 2026-07-15 18:08:34 +00:00

Open #305 [Spike] Reactive query/cache layer for lesson catalog + progress (evaluate options, incl. TanStack) 2026-07-15 18:08:34 +00:00

Open #281 # [Enhancement] Add visual and audio feedback for game results and moves in Chess module 2026-07-14 20:48:10 +00:00

Open #2 [Future] Apache Guacamole + custom Angular 21 HTML5 remote desktop client 2026-07-13 04:29:59 +00:00

Open #163 ## [Enhancement] Add Interactive / ASMR-Style Video Explanations to Playgrounds 2026-07-12 00:08:31 +00:00

Open #124 Bug: Minecraft - Playing Underwater 2026-07-06 14:13:48 +00:00

Open #112 x86 lessons: add server-side Blink re-execution to close the trust gap in BlinkX86LessonGradingExecutor 2026-07-06 03:15:31 +00:00

Open #108 enhancement: Calendar location field needs autocompletion and suggestions for accessibility 2026-07-06 02:32:49 +00:00