3.8 KiB
status, phase, source, started, updated
| status | phase | source | started | updated | |
|---|---|---|---|---|---|
| testing | 10.1-runtime-admin-extension-point |
|
2026-09-29T01:37:38Z | 2026-09-29T01:37:38Z |
Current Test
number: 1
name: Real browser, CSP and custom elements: run summer serve in fonoteka.go and open /plytadmin > Albumy (pl). Open an album's form and the create form. Watch the console.
expected: |
No CSP violation. /plytadmin/assets/golem15/fonoteka/js/discogs-lookup.js?v=… loads as a module script. The golem15-fonoteka-discogs-lookup element upgrades and shows the localized 'Load from Discogs' button on create and update. Clicking it shows the busy label, then fills Release year 1977 and Format LP into the unsaved form with a success toast. Save persists both, and they survive a reload.
awaiting: user response
Tests
1. Real browser, CSP and custom elements: run summer serve in fonoteka.go and open /plytadmin > Albumy (pl). Open an album's form and the create form. Watch the console.
expected: No CSP violation. /plytadmin/assets/golem15/fonoteka/js/discogs-lookup.js?v=… loads as a module script. The golem15-fonoteka-discogs-lookup element upgrades and shows the localized 'Load from Discogs' button on create and update. Clicking it shows the busy label, then fills Release year 1977 and Format LP into the unsaved form with a success toast. Save persists both, and they survive a reload. result: [pending]
2. 768px layout with the pl copy: narrow the window to 768px on Albumy.
expected: The stats strip items wrap inside one card with no horizontal scroll and no truncated labels. The widget button grows past its 160px min-width. The toolbar cluster (Create, Delete, Sync with Discogs) wraps and the labels do not truncate. Sync with Discogs shows the test-mode toast and refetches the strip. result: [pending]
3. Vite dev proxy: run the admin dev server (npm --prefix admin run dev) against a running fonoteka backend and open Albumy.
expected: Plugin JS and CSS load through the Vite {prefix}/assets proxy and the widget mounts. result: [pending]
4. Plugin CSS isolation: open Albumy, then Gatunki (Genres), then Settings. Also try fast navigation: open Albumy and immediately click Gatunki before the Albums schema returns (throttle the network in devtools).
expected: The albums.css link is disabled on Gatunki. Open decision: the code keeps it enabled on Settings/non-controller views (review WR-02), and a late Albums schema response can re-enable albums.css over Gatunki (review WR-01). Decide whether to fix both now or accept them as low-severity (T-10.1-16 is rated low). result: [pending]
5. Decide the open code-review findings (10.1-REVIEW-DISPOSITION.md still records all 14 as open). CR-01: typing 1977.5 (or 1e21) into the new Albums Release year field and saving gives a generic server-error toast (HTTP 500) instead of a 422 field message. WR-03: the partial view-model guard only checks the top-level type. WR-04: isJSONScalar trusts reflect.Kind. WR-05: widgets are shown to admins who lack the action permission. WR-06: the widget route ignores the field's context.
expected: Each finding is set to fixed, deferred (with a reason and target phase) or skipped before the phase is closed. Recommendation: fix CR-01 now. It is a user-facing error on a field this phase added, and no later phase covers it. result: [pending]
6. Review the 14 judgment-tier prohibitions in the four plans (table 'Prohibitions' in this report).
expected: Confirm the non-authoritative verdict: all 14 hold in the shipped code. One (10.1-01 'no template receives a GORM model … or a raw HTML string marked safe') holds only because the Albums and fixture view models are curated structs. The framework guard that should enforce it is shallow (WR-03). result: [pending]
Summary
total: 6 passed: 0 issues: 0 pending: 6 skipped: 0 blocked: 0