Files
geointel/TEST_LOG.md
T
Jens d5ea270329
GeoIntel release gates / Compile, test, contracts and builds (push) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (push) Canceled after 0s
Update GeoIntel project files
2026-07-25 23:43:08 +02:00

53 KiB
Raw Blame History

TEST_LOG.md

Unieke categorie-iconen - 2026-07-22

Check Resultaat
Live inventaris Pass; 16 categorieën bevatten al 16 unieke semantische waarden, waarvan 10 eerder niet door de frontendrenderer werden herkend
Renderer en instellingen Pass; één catalogus levert 19 opties en alle 16 canonieke categorieën resolven naar een afzonderlijke Lucide-component
Nieuwe categorie Pass; kiest automatisch het eerste nog ongebruikte ondersteunde pictogram
Onbekende importwaarde Pass; veilige Layers3-fallback blijft behouden en verschijnt als Aangepast in Instellingen
npm run format:check / lint / typecheck Pass
Unit/integratie / security Pass; 57/57 en 5/5
Playwright Pass; 13 uitgevoerd en 15 project-gededupliceerd op desktop, tablet, mobiel en ultrawide
Build / audit Pass; JS 377,08 kB, CSS 187,64 kB, server 182,0 kB en 0 kwetsbaarheden
React-review Pass; named components, stabiele catalogus, afgeleide icoonkeuze en behouden semantische SVG-presentatie

De release draait live op Tower met image sha256:1cf11fc02e7e…, is healthy en heeft 0 herstarts. De .env en bestaande JPEG-wallpaper van 3.245.835 bytes bleven byte-identiek. Chrome bevestigt in Categorieën 16 opgeslagen icoonwaarden, 16 gerenderde SVG's en 16 unieke SVG-signaturen; het dashboard toont dezelfde semantische pictogrammen en rapporteert 0 browserwaarschuwingen of -fouten. Er was geen databasewijziging nodig: de bestaande unieke waarden worden uitsluitend voortaan correct gerenderd.

Platformbrede wallpaperlaag - 2026-07-22

Check Resultaat
Geometrie Pass; stage start op 72 px, eindigt op de viewportonderrand en is exact viewportbreed vanaf x=0
Presetprioriteit Pass; canvas heeft bij een wallpaper background-image: none en een transparante achtergrond
Compositie Pass; scherp instelbaar beeld plus zachte cover-ambientlaag, met glasoppervlakken voor linkerrail, tegels en rechter widgetdock
Scrollgedrag Pass; fixed stage blijft onder de topbalk staan terwijl de dashboardinhoud onafhankelijk doorloopt
npm run format:check / lint / typecheck Pass
Unit/integratie / security Pass; 54/54 en 5/5
Playwright Pass; 13 uitgevoerd en 15 project-gededupliceerd op desktop, tablet, mobiel en ultrawide; geen horizontale overflow
Build / audit Pass; JS 375,95 kB, CSS 187,64 kB, server 182,0 kB en 0 kwetsbaarheden
React-review Pass; decoratieve ambientbeelden zijn verborgen, de bestaande semantiek en lokale draftstate blijven intact

De live Tower-release draait op image sha256:f5d62a9e30f6…, is healthy en heeft 0 herstarts. De .env en bestaande JPEG-wallpaper van 3.245.835 bytes bleven byte-identiek; Unraid, AppOps en alle zeven livepanelen zijn connected. Chrome bevestigt op 3440×1215 een fixed stage van x=0/y=72 tot de volledige 3425×1143 browsercontentruimte. Na 900 px scroll blijft y=72 behouden, de presetcanvas blijft transparant, beide zijpanelen gebruiken 62% glas en er is geen horizontale overflow of applicatiefout.

Responsieve wallpaperstudio - 2026-07-22

Check Resultaat
Reproductie Pass; cover schaalde tegen een 3077×3015 contentcanvas in plaats van het zichtbare centrale viewport van 3077×1143
Viewportstage Pass; wallpaper schaalt tegen 100svh - 72px, blijft tijdens scrollen in het centrale vlak en verstoort het ultrawide dock niet
Preview en bediening Pass; Passend/Vullend, X-/Y-focus, 80160% zoom, herstel en expliciet toepassen
Persistentie/migratie/export Pass; vier nieuwe gevalideerde voorkeuren, legacydefaults en versie 1 round-trip
npm run format:check / lint / typecheck Pass
Unit/integratie / security Pass; 54/54 en 5/5
Playwright Pass; 13 uitgevoerd en 15 project-gededupliceerd op desktop, tablet, mobiel en ultrawide
Build / audit Pass; JS 375,56 kB, CSS 185,13 kB, server 182,0 kB en 0 kwetsbaarheden
React-review Pass; lokale draftstate, volledige dependencies, semantische controls, toetsenbordbediening en decoratieve alttekst

De live Tower-release draait op image sha256:606051e4f146…, is healthy en heeft 0 herstarts. De .env en bestaande JPEG-wallpaper van 3.245.835 bytes bleven byte-identiek. Chrome bevestigt op 3440×1215 een wallpaperstage van 2381×1143 binnen een 3015 px hoge scrollcanvas: Passend, 50/50-focus en 100% zoom, zonder horizontale overflow of browserfouten. De gecentreerde studio-preview is 1600×686; Vullend wijzigt alleen de draft en Herstellen zet die terug zonder de live voorkeur te overschrijven.

Achtergrond- en wallpaperherstel - 2026-07-22

Check Resultaat
Reproductie live Pass; voorkeur grid en JPEG-wallpaper van 3,2 MB waren opgeslagen, maar de CSS-compositie werd ongeldig verklaard door een ontbrekende semantische token
Achtergrondpresets Pass; Aurora, Blauwdruk en Minimaal leveren drie verschillende berekende canvasachtergronden
Wallpaperflow Pass; upload via Instellingen verschijnt als preview, zet has-wallpaper en wordt als /api/wallpaper in de zichtbare canvas gerenderd
npm run format:check / lint / typecheck Pass
Unit/integratie / security Pass; 54/54 en 5/5
Playwright Pass; 13 uitgevoerd en 15 project-gededupliceerd, inclusief de nieuwe end-to-end achtergrondflow
Build / audit Pass; JS 371,81 kB, CSS 180,35 kB, server 180,6 kB en 0 kwetsbaarheden
Live Unraid-release Pass; image sha256:977791a84355… healthy met 0 herstarts, .env byte-identiek en bestaande JPEG-wallpaper van 3.245.835 bytes behouden
Live Chrome-audit Pass op 3440×1215; alle presets visueel en berekend verschillend, wallpaper in iedere compositie, 0 overflow en 0 browserfouten

De audit heeft via de echte instellingeninterface Aurora, Minimaal en Blauwdruk geactiveerd. De wallpaper bleef tijdens iedere wissel zichtbaar; de canvascomposities gebruikten respectievelijk kleurlichten, een rustige overlay en een raster van 40 px. Blauwdruk is na de controle als actieve gebruikersvoorkeur hersteld.

Premium wallpaper-, weer- en controlpass - 2026-07-22

Check Resultaat
Typecheck en unit/integratie Pass; 54/54 tests inclusief weer-cache en wallpaperformaten
Playwright Pass; 12 uitgevoerd, 12 project-gededupliceerd; desktop/tablet/mobile/3440px, 0 browserfouten
Toggle-geometrie Pass; E2E bevestigt meer dan 18px verplaatsing tussen beide zichtbare posities
Visuele screenshots Pass; weerbadge, compacte Home Assistant-tegel, consistente rails en geen horizontale overflow
React-review Pass; effectcleanup, locatie-afhankelijke revalidatie, semantische switches en server-side datafetch

De finale lint, typecheck, unit/integratie, Playwright, security, build en audit zijn groen. Build: client-JS 371,81 kB (115,70 kB gzip), CSS 178,48 kB (30,05 kB gzip), server 180,6 kB; npm audit meldt 0 kwetsbaarheden. Tower docker compose config en imagebuild zijn groen; image a371cab602ce… draait healthy met 0 restarts en een byte-identieke .env. Live wallpapercyclus: PUT 201, GET 200, DELETE 204. Open-Meteo gaf voor Mol 21,2 °C/bewolkt. Alle zes appwidgets zijn connected; de ultrawide Chrome-audit toont 0 functionele fouten.

Project: DockDeck Laatste gate: 2026-07-22

Autoritatieve inventarisheartbeat en instellingen-UX — 2026-07-22

Check Resultaat
npm run format:check Pass, alle bestanden Prettier-conform
npm run lint Pass, 0 waarschuwingen
npm run typecheck Pass
npm test Pass, 48/48; inclusief connected-only opschoning, degraded behoud, deduplicatie en read-only/case-insensitieve Unraid-iconen
npm run test:security Pass, 5/5
npm run test:e2e Pass, 12 uitgevoerd / 12 project-gededupliceerd op vier viewports; dashboardcategoriefilter en 0 console-/paginafouten
npm run build Pass, JS 364,55 kB / 113,69 kB gzip; CSS 170,68 kB / 28,53 kB gzip; server 167,2 kB
npm audit --audit-level=moderate Pass, 0 kwetsbaarheden
In-app browseraudit Pass op 1440×900: topbars beide left=32/height=72, filter reduceert tot één groep, verticale Integraties, 14px kleine tekst, brede Paneelstudio
React-review Pass: single-flight heartbeat, cleanup van timer/listeners, afgeleide filterstate, semantische knoppen, stabiele ids en lokaal begrensde state

De browseraudit mat geen horizontale overflow en bevatte geen browserwarnings of -errors. De opschoonregel wijzigt uitsluitend DockDecks SQLite-records na een verbonden inventarisrespons; Docker blijft read-only en een degraded heartbeat verwijdert niets.

Live release 5e411d1: Compose-config en imagebuild groen; image sha256:2d320ff25b66eb84e3fdad27f5437ad8c9732e99891ceb14d714e95655c6db2c; container healthy met 0 herstarts en PID 1 als UID 100. De secretvrije pre-sync-export bevat 139 apps, 16 categorieën en 1 favoriet (SHA-256 35d1cf987511177a7246e906afd27f42f87f714f4b621358aaa21ab22b5873ea). Na de verbonden heartbeat: 90 apps, 50 zichtbaar, 16 categorieën, 0 stale/ontbrekende/dubbele namen en 0 statusafwijkingen tegenover AppOps. Alle 5 lokale Unraid-iconen geven HTTP 200 met een afbeelding-MIME-type.

Finale visuele audit — 2026-07-22

Check Resultaat
npm run format:check Pass, alle bestanden Prettier-conform
npm run lint Pass, 0 waarschuwingen
npm run typecheck Pass
npm test Pass, 42/42; inclusief persistente echte ontdekstatus en legacy-migratie
npm run test:security Pass, 5/5
npm run test:e2e Pass, 11 uitgevoerd / 9 project-gededupliceerd op vier viewports; 0 console-/paginafouten
npm run build Pass, JS 361,49 kB / 113,01 kB gzip; CSS 147,26 kB / 25,19 kB gzip; server 164,6 kB
npm audit --audit-level=moderate Pass, 0 kwetsbaarheden
In-app Chrome-audit Pass: dashboard, Quick Launch en alle zeven instellingensecties; 390, 768, 1440 en 3440 px; geen horizontale overflow
React-review Pass: afgeleide catalogusstate, begrensde renders, effect-cleanup, semantische controls, stabiele keys en portalfocus
Secret-/mutatiescan Pass; geen toegevoegde secrets, externe UI-assets of Docker-mutaties
Lokale Docker-validatie Niet beschikbaar: Windows-omgeving heeft geen Docker-CLI; Compose en imagebuild worden op Tower uitgevoerd

De audit heeft de operationele servicepanelen onder een compacte maar zichtbare Live inzicht-rij geplaatst, zonder de Paneelstudio of configuratie te verwijderen. Appbeheer gebruikt maximaal twintig rijen per pagina en een echte isNew-status; Widget Studio toont twaalf mogelijkheden per tranche. Geavanceerde weergavekeuzes en favoriete-editorvelden blijven volledig werkend via expliciete uitklapsecties. De Quick Launch-portal vult op ultrawide het volledige viewport en herstelt de invoerfocus na de portalovergang.

Live release 72879e1

Check Resultaat
Pre-deploybehoud Secretvrije export opgeslagen; .env-SHA-256 vóór/staging/na identiek; named volume dockdeck_dockdeck_data behouden
docker compose config --quiet Pass op huidige en gestagede bron
Klassieke Docker-imagebuild Pass; image sha256:5025a6599410…, bundels identiek aan de lokale build
Compose release Pass; één DockDeck-container, healthy, 0 herstarts op 192.168.10.150:1218
Persistentie/schema Pass; 138 apps, 55 zichtbaar, 1 favoriet, 3 categorieën, 6 appwidgets en dark theme; alle API-records hebben isNew
Read-only integraties Pass; 233 templates, 3 array-/poolgroepen en 89 AppOps-containers connected; NPM bewust disabled
Live Chrome-audit Pass op 3440×1271: favorietenrail, echte iconen, 0 monogrammen, Quick Launch 3440 px met focus, alle zeven instellingensecties en 0 overflow

De vorige bronversie blijft recoverable onder /mnt/user/appdata/dockdeck-prev-20260722-025420; de secretvrije pre-release-export en behoudsmetingen staan afgeschermd onder /mnt/user/appdata/dockdeck-release-backups/72879e1-20260722-025420.

Checks

Check Command / evidence Result
Dependency-installatie npm install Pass
Formatting npm run format:check Pass
Lint npm run lint Pass, 0 warnings
TypeScript npm run typecheck Pass
Unit/integratie/migratie npm test Pass, 42/42; inclusief app-/serverhistoriek, widgetpersistentie, capabilityprofielen en duale Unraid-icooncachehelper
Read-only security npm run test:security Pass, 5/5; inclusief GET-only providergrens, serviceworker zonder API-cache en cachehelper zonder Docker-mutaties
Browserflows npm run test:e2e Pass, 10 uitgevoerd / 18 bewust overgeslagen; vier viewports, advanced widgets, presets, diagnostics en editmodus
Production build npm run build Pass; client 305.49 kB / 91.03 kB gzip, CSS 69.77 kB / 12.85 kB gzip, serverbundle 163.0 kB
Dependency security npm audit --audit-level=moderate Pass, 0 vulnerabilities
Production smoke PORT=3100 npm start + HTTP checks Pass: health ok, HTML 200, 4 mockapps, alle nieuw verborgen
Visuele browseraudit In-app Chromium, echte lokale UI Pass: diepe widgetinstellingen op 375×812 en 2560×1440; mobiele codecontract-overflow hersteld, 0 consolefouten
Secret-/mutatiescan rg plus securitytests Pass; alleen verwachte envnamen en socketmount in de aparte proxy
Unraid Compose-config docker compose config --quiet Pass op Tower/Unraid
Unraid image/build Klassieke Docker-builder Pass; de BuildKit-cache op de host was inconsistent, de klassieke builder bouwde dockdeck:local
Unraid live smoke Compose, health en HTTP API Pass: healthy, 0 restarts, 192.168.10.150:1218, persistent named volume
Live read-only discovery Socketproxy + metadata-mirror Pass: 77 containers, 228 bruikbare templates; 230 templates gesaneerd en geverifieerd tot Name/WebUI/Icon
Responsive live release Unraid Compose + Chromium Pass: 192.168.10.150:1218, healthy, 0 restarts, 77 apps, nieuwe voorkeurvelden en geen browserconsolefouten
Live servicewidget Docker stats + Chromium 2560×1080 Pass: AdGuard gemigreerd, CPU/geheugen/netwerk/uptime gevuld, integraties connected, geen overflow/fouten
Providerwidget release Vitest + in-app Chromium Pass: Unraid-hostwidget en providerfallback op 390×844 en 2560×1440; geen overflow, overlay of consolefouten
React review React best-practices checklist Pass: named configurator, stabiele keys, geen extra effects, semantische buttons/switches en zichtbare focus
Live hostwidget release Unraid Compose + API + Chromium Pass: healthy op 192.168.10.150:1218; Tower, 77 containers, 72 running, 20 cores, 62 GB, geen overflow/fouten
Live tailored widgets API-delta + Chromium desktop/mobile Pass: AdGuard DNS-layout/API-lock, JDownloader down-/uploadsnelheid, correcte links, 0 restarts en geen overflow/fouten
Live credential settings API + in-app Chromium Pass: AdGuard toont alleen ontbrekende username/password, password masking, geen overflow/consolefouten, geen dummywrite
Widget Studio lokaal In-app Chromium + Playwright Pass: catalogus/filter/search op desktop, responsive op vier viewports, gelijke kaarten, geen overflow/consolefouten
Widget Studio live Unraid API + Compose health Pass: 41 capabilities voor 82 apps, 2 bestaande widgets behouden, healthy met 0 restarts; credentialstore niet aangemaakt
Navigatie/beheer lokaal Vitest + Playwright + Chromium Pass: 30 tests, 8 browserchecks; remove-suppressie, rename-search, Tower, Google, sidebarfavorieten en 390px zonder overflow
Navigatie/beheer live Unraid API + in-app Chromium Pass: healthy/0 restarts; Tower-search/link, Tweakers-sidebar, gecorrigeerde AdGuard- en Immich-URL's, geen fouten/overflow
Widgetconfiguratie lokaal Vitest + Playwright + agent-browser Pass: drie formaten, inhoudslagen, import/export, 390/3440 px en geen overflow
Widgetconfiguratie live Tower Compose + API + browser Pass: healthy/0 restarts op :1218; 80 apps, 55 zichtbaar, 5 widgets; juiste AnythingLLM/Immich-attributie
Volledige widgetroadmap Vitest + Playwright + API Pass: onafhankelijke volgorde, metriccompositie, presets, freshness, cadence, warnings, sparklines, PWA en diagnostics
Native Unraid live Read-only mounts + API Pass: array STARTED, parity healthy/0 fouten, 3 opslaggroepen, 57 °C hoogste meting; integratie connected
Finale live responsiviteit Chromium 390×844 en 3440×1440 Pass: 7 live panelen incl. Tower, geen positieve overflow, geen Vite-overlay en PWA-manifest aanwezig
Persoonlijke widgetdiepte API + Vitest + Chromium Pass: 80/80 capabilities, 55 custom GET-profielen, 23 native providers en gescheiden app/worker/database-metrics
Tower poort/configuratie SQLite + live API + Chromium Pass: naam/URL zichtbaar in Settings; voorkeur en hostkaart wijzen naar http://192.168.10.150:5000
Finale Unraid release Compose config/build/up + health Pass: klassieke imagebuild, healthy, 0 restarts, 80 apps/55 zichtbaar/6 appwidgets; named-volumeconfiguratie behouden
Single-container release AppOps + Compose + API + browser Pass: exact één DockDeck, oude proxy verwijderd, 83 live containers, icoon/WebUI correct, data-ID en 55 zichtbare apps behouden
Diepe widgetconfiguratie Vitest + Playwright + browser Pass: statselectie/-limiet/-stijl, elke numerieke waarschuwing, 3 grafiektypes, 60-punt provider- en Towerhistoriek
App-specifieke fallback Capabilityaudit + browser Pass: kaarten behouden eigen metrics zonder endpoint en tonen eerlijke Connect data; alle geaudite generieke profielen weg
Unraid PNG-icoon Asset, HTTP, beide caches en Chrome Pass live: actieve SVG-cache vervangen; Unraid rendert nu de echte 512×512 PNG in DockDecks rij zonder question.png-fallback
Finale capabilityaudit Live API + capabilityvergelijking Pass: 97 opgeslagen apps, 97 capabilityprofielen, nul generieke profielen; BlockPilot en LumaOps expliciet gedekt
Diepe widgetrelease live Compose + API + in-app Chromium Pass: healthy/0 restarts, 74 ontdekt/69 actief, 55 zichtbaar, 6 appwidgets plus Tower, geen overflow of browserconsolefouten

Scenario coverage

  • Deterministische discovery, Unraid XML/WebUI-portvervanging en NPM-hostmatching.
  • Nieuwe containers verborgen; zichtbaarheid, naam, categorie, order en URL-override.
  • Categorieën en favorieten aanmaken/bewerken/verwijderen.
  • Volledige dynamische zoekindex voor zichtbare/verborgen apps, actuele namen, technische namen, categorieën, images, URL's, favorieten en Tower; expliciete Google-fallback in nieuw tabblad.
  • Persistente DockDeck-only appverwijdering met rediscoveryonderdrukking en back-updekking; geen Docker-mutatie.
  • Alle drie thema's, overzicht/categorienavigatie en mobiele navigatie.
  • Persistente accent-, dichtheid-, contentbreedte-, achtergrond-, hero- en statusvoorkeuren.
  • Responsieve grids en navigatie op mobiel, tablet, desktop en ultrawide; lokale fonts zonder externe request.
  • Automatische first-party faviconafleiding met lokale merk-/semantische fallback en handmatige override; lettermonogrammen zijn niet meer nodig.
  • Per-app widgetkeuze, limiet van acht, legacy-migratie en generieke read-only Dockerstats met degraded fallback.
  • Persistente widgetformaten en inhoudslagen voor app- en Unraidpanelen, refreshmomenten en dichte responsieve plaatsing.
  • Standaard Unraid-hostwidget via Docker /info en provider-aware AdGuard/Plex/Immich/Home Assistant/*arr-presentatie met server-only credentials.
  • Gemaskeerde providercredentialinvoer via Settings, allowlist per provider, HTTP(S)-URL-validatie, same-origin write, atomische 0600-environmentpersistentie en directe hertest zonder secret echo.
  • Widget Studio capabilitycatalogus met aanbevolen/alle/actieve filters, acht-panelenlimiet, directe sync en vervangbare connected credentials.
  • Volledige 80/80 capabilitycatalogus met app-specifieke metricdefinities, per-metric zichtbaarheid/volgorde en een begrensd custom GET-only JSON-contract.
  • Persistente Tower-naam/URL met poort 5000 als standaard en dezelfde actuele waarde in kaart en zoekindex.
  • Zero-config Ollama-/Glances-API's, Tautulli-/Paperless-adapters en app-specifieke AI/document/security-Dockerfallbacks.
  • Per-servicetype fallbackpresentatie met berekende live netwerkdelta's; JDownloader gebruikt download-/uploadsnelheid en AdGuard DNS-traffic in plaats van generieke cumulatieve netwerkbytes.
  • Zijpaneel met klok, deck health, favorieten en snelle servicelinks; gebalanceerde tegelbreedtes op 2560 en 3440 pixels.
  • Statuspolling, offline container en integratie-degradatie.
  • SQLite-migratie, restartpersistentie, container-ID-wijziging en export/import versie 1.
  • Geen Docker-mutatie-endpoint of Docker-beheeractie.

Open external checks

  • Live Nginx Proxy Manager: credentials ontbreken; adapter en degradatie zijn wel gemockt/getest.
  • Optionele providercredentials: alleen nodig voor de diepste API-metrics van beveiligde diensten; Dockerfallbacks blijven beschikbaar.

Latest quality gate

De volledige lokale Canon v1-gate is groen: format:check, lint, typecheck, 42/42 unit- en integratietests, 5/5 afzonderlijke securitytests, 7 uitgevoerde en 9 doelbewust project-gededupliceerde Playwright-checks op desktop/tablet/mobile/ultrawide, production build en 0 kwetsbaarheden. De browserflows eindigen met 0 console.error- of ongehanteelde paginafouten. De clientbuild is 312,99 kB JS (93,53 kB gzip) en 94,91 kB CSS (17,51 kB gzip); de serverbundle is 163,9 kB. In-app Chromium verifieerde daarnaast eerste-use, gevuld dashboard, Quick Launch, apps-instellingen, mobiele drawer en dark/light op 390×844 en 1440×900. De vaste testpoortblokkade op 3000 is opgelost met geïsoleerde poorten 3101/5174 en een schone Canon-testdatabase. Docker Compose en imagebuild zijn niet opnieuw uitgevoerd omdat in deze Windows-omgeving geen docker-CLI/runtime beschikbaar is; de eerdere Tower-verificatie blijft ongewijzigd.

Canon v1 gate — 2026-07-21

Check Resultaat
npm run format:check Pass, alle bestanden Prettier-conform
npm run lint Pass, 0 waarschuwingen
npm run typecheck Pass
npm test Pass, 42/42
npm run test:security Pass, 5/5
npm run test:e2e Pass, 7 uitgevoerd / 9 gededupliceerd over vier viewports; 0 console-/paginafouten
npm run build Pass, JS 312,99 kB / 93,53 kB gzip; CSS 94,91 kB / 17,51 kB gzip; server 163,9 kB
npm audit --audit-level=moderate Pass, 0 kwetsbaarheden
In-app browserreview Pass: 390×844 en 1440×900, dark/light, dashboard, Quick Launch, apps, drawer, geen horizontale overflow
Secret-/mutatiescan Pass; geen toegevoegde secrets of Docker-mutaties
docker compose config --quiet / imagebuild Niet uitgevoerd: docker is lokaal niet geïnstalleerd

Directe Stitch-pass — 2026-07-21

Check Resultaat
npm run format:check Pass, alle bestanden Prettier-conform
npm run lint Pass, 0 waarschuwingen
npm run typecheck Pass
npm test Pass, 42/42
npm run test:security Pass, 5/5
npm run test:e2e Pass, 11 uitgevoerd / 9 project-gededupliceerd; 390×844, 768×1024, 1440×900 en 3440×1440; 0 console-/paginafouten
npm run build Pass, JS 312,49 kB / 93,60 kB gzip; CSS 125,83 kB / 22,07 kB gzip; server 163,9 kB
npm audit --audit-level=moderate Pass, 0 kwetsbaarheden
In-app browserreview Pass: gevuld donker dashboard, Quick Launch, App Beheer, editordrawer en Weergave; muis/toetsenbord en focus bevestigd
React-review Pass: afgeleide state, effect-cleanup, semantische links/buttons, stabiele sleutels en toegankelijke switches

De CSS-toename is de expliciete directe Canon-compositielaag. Zij vervangt geen runtime- of backendlogica en bevat geen externe assets. De finale E2E-test schrijft de actuele referentiebeelden naar docs/design/dockdeck-canon-v1/implementation/.

Stitch launcherrail, iconen en widgets — 2026-07-22

Check Resultaat
npm run format:check Pass, alle bestanden Prettier-conform
npm run lint Pass, 0 waarschuwingen
npm run typecheck Pass
npm test Pass, 42/42
npm run test:security Pass, 5/5
npm run test:e2e Pass, 11 uitgevoerd / 9 project-gededupliceerd op 390×844, 768×1024, 1440×900 en 3440×1440; 0 console-/paginafouten
npm run build Pass, JS 353,39 kB / 110,42 kB gzip; CSS 135,18 kB / 23,34 kB gzip; server 163,9 kB
npm audit --audit-level=moderate Pass na transitieve fast-uri-lockfile-update, 0 kwetsbaarheden
In-app browserreview Pass: desktopfavorietenrail, echte Google/YouTube/GitHub/Plex/Immich/Home Assistant-iconen, zichtbare widgets en mobiele volgorde
React-review Pass: zelfstandig railcomponent, effect-cleanup, afgeleide state, semantische links/buttons en getypeerde instellingenroute
Docker Compose/imagebuild Niet uitgevoerd: in de lokale Windows-omgeving is geen docker-CLI/runtime beschikbaar

De browsertest valideert aanvullend dat de desktoprail en servicepanelen zichtbaar zijn, dat appkaarten geen .app-monogram meer renderen en dat de Paneelstudio via de rail rechtstreeks in Instellingen → Algemeen opent. De nieuwe merkiconen zijn lokaal gebundeld; expliciete Unraid-/gebruikersiconen blijven de eerste bron.

Widescreen leesbaarheids- en categorieaudit — 2026-07-22

Check Resultaat
npm run format:check Pass, alle bestanden Prettier-conform
npm run lint Pass, 0 waarschuwingen
npm run typecheck Pass
npm test Pass, 51/51; inclusief categorie-inferentie, behoud van onbekende toewijzingen en de expliciete organisatie-API
npm run test:security Pass, 5/5
npm run test:e2e Pass, 12 uitgevoerd / 12 bewust overgeslagen over desktop, tablet, mobiel en ultrawide; 0 testfouten
npm run build Pass, JS 365,35 kB / 113,90 kB gzip; CSS 173,48 kB / 29,03 kB gzip; server 170,8 kB
npm audit --audit-level=moderate Pass, 0 kwetsbaarheden
React-review Pass: afgeleide categorieanalyse, expliciete semantische actie, stabiele sleutels, geen extra effecten en ongewijzigde cleanup
Chrome audit vóór correctie 3440×1215, 0 horizontale overflow en 0 consolefouten; wel widgetmetadata van 8 px, Paneelstudio tot 6 px en foutieve bulkcategorieën

De pass vergroot de ultrawide widgetdock, maakt widget- en instellingenmicrotypografie leesbaar en begrenst extreem lange beheer-, integratie- en back-uprijen. De categorieactie gebruikt uitsluitend bestaande categorieën en laat onbekende services onaangeroerd.

Live verificatie

Check Resultaat
Secretvrij herstelpunt .codex-input/dockdeck-before-widescreen-audit-20260722-140834.json, 80.809 bytes
.env-behoud SHA-256 voor en na bronvervanging identiek: e41e1b63…
docker compose config Pass vóór en na bronvervanging
Imagebuild en health Pass, image cc3a4b56fdfb…, container healthy, 0 restarts
Read-only heartbeat Pass, exact 90 bestaande containers en 50 zichtbare apps
Slimme categorieorganisatie Pass, 14 gecorrigeerd, 76 behouden, 0 onbekend; 16 bestaande categorieën
Chrome 3440×1215 Pass, dock 540 px, 0 horizontale overflow, 0 kapotte images, geen applicatieconsolefouten
Interacties Pass: Downloads-filter toont exact Deluge/JDownloader2/slskd; instellingenzoeker, categoriebeheer en Quick Launch-favicon werken live

De enige browserlogregel kwam van de WideFrog Chrome-extensie zelf (keyflow timeout op een titelupdate), niet van DockDeck. De live DockDeck-tab is als testdashboard open gebleven.

Volledige instellingen- en releasepass — 2026-07-22

Check Resultaat
npm run format:check Pass, alle bestanden Prettier-conform
npm run lint Pass, 0 waarschuwingen
npm run typecheck Pass
npm test Pass, 42/42; inclusief legacy-migratie en export/import van reducedMotion en pollingIntervalMs
npm run test:security Pass, 5/5
npm run test:e2e Pass, 11 uitgevoerd / 9 project-gededupliceerd op vier viewports; instellingenzoeker en voorkeurpersistentie; 0 browserfouten
npm run build Pass, JS 357,89 kB / 111,86 kB gzip; CSS 139,39 kB / 24,06 kB gzip; server 164,2 kB
npm audit --audit-level=moderate Pass, 0 kwetsbaarheden
In-app browserreview Pass: Apps, Categorieën, Weergave en Back-up; zoekfilter, kaartlayout, dropzone, scrollherstel en 0 horizontale overflow op 1280
React-review Pass: afgeleide zoekstate, correcte hookafhankelijkheden, getypeerde drag-events en semantische buttons/switches

De instellingenmatrix dekt iedere persistente voorkeur, app-/favoriet-/categoriebeheer, widgets, integratiecredentials en back-up/export. Fictieve online- of back-uphistoriek is bewust niet toegevoegd; de UI toont alleen werkelijk beschikbare gegevens.

Live Unraid-release

Check Resultaat
Pre-deploybehoud Secretvrije export gemaakt; .env-SHA-256 voor/na bronkopie identiek; named volume dockdeck_dockdeck_data behouden
docker compose config Pass vóór en na bronvervanging
Klassieke Docker-imagebuild Pass; image 14497e8a384c…, client-/serverbundels identiek aan lokale build
Compose release Pass; commit 3ffd39b, één DockDeck-container, healthy, 0 restarts op 192.168.10.150:1218
Persistentie na migratie Pass; 55 zichtbare apps, 1 favoriet, 3 categorieën, 6 appwidgets en dark/30 s behouden; sync voegde 3 nieuwe records standaard verborgen toe
Read-only integraties Pass; 233 templates, 3 array-/poolgroepen, 90 AppOps-containers GET-only en AdGuard connected; NPM bewust disabled
Live in-app browser Pass; favorietenrail, echte iconen, 7 panelen, instellingenzoeker/controls, scrolltop 0 en geen horizontale overflow

De enige foutregel in de eerste vijf minuten was een door de releasecheck zelf veroorzaakte lege POST zonder JSON-contenttype (verwachte HTTP 415); de onmiddellijk herhaalde geldige synchronisatie gaf HTTP 200 en alle daaropvolgende health-/dashboardchecks zijn groen.

Stitch consistentie- en ultrawidepass - 2026-07-22

Check Resultaat
npm run format:check Pass, alle bestanden Prettier-conform
npm run lint Pass, 0 waarschuwingen
npm run typecheck Pass
npm test Pass, 42/42
npm run test:security Pass, 5/5
npm run test:e2e Pass, 11 uitgevoerd / 9 project-gededupliceerd op desktop/tablet/mobile/ultrawide; 0 browserfouten
npm run build Pass, JS 363,25 kB / 113,46 kB gzip; CSS 155,55 kB / 26,33 kB gzip; server 164,6 kB
npm audit --audit-level=moderate Pass, 0 kwetsbaarheden
React-review Pass: lokale state voor widgetdock, media-query cleanup, afgeleide Quick Launch-snelkoppelingen en semantische linkcontrols
Secret-/mutatiescan Pass; geen toegevoegde secrets, externe UI-assets of Docker-mutaties

Deze pass maakt de platformlayout consistent tussen dashboard en instellingen, vergroot de instellingen-typografie, gebruikt ultrawide-detectie om widgets als rechterdock te tonen, laat Quick Launch-favorieten met echte iconen renderen en vervangt de lege Quick Launch-uitleg door functionele snelkoppelingskaarten. Loopback-iconen uit discovery worden op een LAN-host naar de actuele DockDeck-host herschreven, zodat appiconen zoals Widefrog niet meer naar client-localhost wijzen. De E2E-suite valideert daarnaast dat de ultrawide-widgetdock automatisch open staat en rechts van de dashboardgroepen ligt zonder horizontale overflow.

Edge-anchored Stitch shell en rijkere Dockerkaarten - 2026-07-22

Check Resultaat
npm run format:check Pass, alle bestanden Prettier-conform
npm run lint Pass, 0 waarschuwingen
npm run typecheck Pass
npm test Pass, 42/42
npm run test:security Pass, 5/5
npm run test:e2e Pass, 11 uitgevoerd / 9 project-gededupliceerd op desktop/tablet/mobile/ultrawide
npm run build Pass, JS 363,25 kB / 113,46 kB gzip; CSS 162,12 kB / 27,27 kB gzip; server 164,6 kB
npm audit --audit-level=moderate Pass, 0 kwetsbaarheden
Chrome visuele audit Pass: dashboardrail left=0, settings-sidebar left=0, ultrawide widgetdock right=3440, 0 horizontale overflow op 1920 en 3440 px

Deze pass verwijdert de zwevende dashboard-shell op desktop: de linkerfavorietenrail staat tegen de viewportzijde en gebruikt dezelfde oppervlakte, padding en typografische taal als de instellingenrail. Op ultrawide staat het widgetpaneel als rechterdock tegen de rechter viewportzijde. Docker-snelkoppelingen zijn visueel zwaardere Stitch-servicekaarten met grotere iconen, statuschips, accentrail, arrow affordance, subtiel verloop en diepere hoverrespons.

Live categorie-indeling - 2026-07-22

Voor de live DockDeck-config op http://192.168.10.150:1218 is vooraf een secretvrije export gemaakt naar .codex-input/dockdeck-categories-before-20260722-052942.json. Daarna zijn 139 apps via de DockDeck-config-API over 16 categorieën verdeeld; verificatie: 0 apps zonder categorie. Categorieaantallen: Media 17, Downloads 2, Books & Documents 7, Photos 14, Home & Automation 2, Security & Identity 4, Network & Admin 4, Monitoring 7, Development & Projects 45, AI & ML 3, Databases & Storage 12, Infrastructure 16, Games & Emulation 5, Tools & Productivity 1, Experiments & Archived 0, Favorites 0.

Live codevervanging is daarna alsnog uitgevoerd via de bestaande SSH-alias unraid-widefrog (root, sleutel widefrog_unraid_deploy). De deploymentmap is een uitgepakte source-copy en geen git-worktree; daarom is commit 41942d5 via een checksum-gecontroleerd git archive naar Tower gekopieerd en over de source uitgepakt. .env bleef byte-identiek (e41e1b63... voor en na), docker compose config --quiet slaagde, docker compose up -d --build bouwde image af96b8ac7a04... en de DockDeck-container staat healthy met 0 restarts op 192.168.10.150:1218. Na een geldige read-only sync zijn Unraid templates, Unraid runtime, AppOps inventory en AdGuard Home widget connected; dashboardverificatie: 139 apps, 55 zichtbaar, 16 categorieën, 0 zonder categorie.