Release v1.4.0 — manual refresh + automated screenshot generator - #39
Merged
Conversation
Add scripts/screenshots — a Playwright generator (driving the installed Chrome, no browser download) that logs into a running instance and captures one 2560x1440 PNG per agenda into docs/images/, so the manual screenshots are reproducible going forward. - Regenerate every agenda screenshot; add shots for the new agendas (templates, mcp, mcp-admin, audit, users, alerts, registries) and wire them into their docs. - Fix stale docs against the code: containers (kill is not exposed in the UI), users (the live stats/logs WebSocket is now section-gated), and commander.conf.example (+DC_TRUSTED_PROXIES, DC_METRICS_INTERVAL, DC_PPROF, DC_UPDATE_CHECK). Add a Templates entry to the manual index. - Prune NEXT.md items shipped in v1.4 (MCP, section-gated WebSocket, per-host monitoring, the Workloads/Storage sidebar split). - CHANGELOG: cut [Unreleased] to [1.4.0] (2026-06-15) with its release link.
…entions A project skill that loads before any git/release operation and encodes the conventions already in use: PR bodies follow .github/PULL_REQUEST_TEMPLATE.md, Conventional-Commit messages with no Co-Authored-By/Claude trailer, branch before committing, the gofmt-after-staging gate, committing web/dist when web/src changes, the CHANGELOG [Unreleased] -> [x.y.z] + link-def flow, and tag -> release.yml. So these aren't re-derived or skipped each time.
Contributor
There was a problem hiding this comment.
Pull request overview
Prepares the v1.4.0 release documentation by syncing the manual to current behavior/config and introducing a Playwright-based screenshot generator to keep docs/images/ reproducible going forward.
Changes:
- Added
scripts/screenshots/Playwright tool + README to generate one 2560×1440 PNG per agenda. - Refreshed manual pages to include new screenshots and updated behavior notes (e.g.,
/api/wssection-gating; removed “kill” from Containers docs). - Updated release docs/metadata (
CHANGELOG.md,NEXT.md, sample config, docs index).
Reviewed changes
Copilot reviewed 15 out of 38 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/screenshots/README.md | Documents how to run the new screenshot generator and its environment variables. |
| scripts/screenshots/package.json | Defines the screenshot generator’s npm package and Playwright dependency. |
| scripts/screenshots/generate.mjs | Implements the Playwright flow: API login + per-route screenshot capture. |
| .gitignore | Ignores screenshot generator’s local install artifacts. |
| docs/README.md | Adds Templates to the manual index. |
| docs/containers.md | Updates container list actions to match UI (removes “kill”). |
| docs/users.md | Updates WebSocket/live stream docs and adds Users screenshot. |
| docs/registries.md | Adds Registries screenshot. |
| docs/projects.md | Adds Templates screenshot in the templates section. |
| docs/mcp.md | Adds MCP Access/Admin screenshots. |
| docs/audit.md | Adds Audit screenshot. |
| docs/alerts.md | Adds Alerts screenshot. |
| deploy/commander.conf.example | Documents new config env vars (trusted proxies, metrics interval, pprof, update check). |
| NEXT.md | Prunes shipped items / updates roadmap notes for v1.4. |
| CHANGELOG.md | Cuts the v1.4.0 release entry and adds the release link. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
6
to
8
|
|
||
| ## [Unreleased] | ||
| ## [1.4.0] — 2026-06-15 | ||
|
|
Comment on lines
+315
to
316
| [1.4.0]: https://github.com/koduj-dev/docker-commander/releases/tag/v1.4.0 | ||
| [1.3.0]: https://github.com/koduj-dev/docker-commander/releases/tag/v1.3.0 |
Comment on lines
+115
to
+139
| for (const want of prefer) { | ||
| const el = page.getByText(want, { exact: false }).first(); | ||
| if (await el.count().catch(() => 0)) { | ||
| await el.click().catch(() => {}); | ||
| await page.waitForTimeout(900); | ||
| return true; | ||
| } | ||
| } | ||
| const candidates = [ | ||
| 'table tbody tr', | ||
| '[role="row"]', | ||
| 'li button', | ||
| 'button[aria-label]', | ||
| '.cursor-pointer', | ||
| ]; | ||
| for (const sel of candidates) { | ||
| const el = page.locator(sel).first(); | ||
| if (await el.count().catch(() => 0)) { | ||
| await el.click().catch(() => {}); | ||
| await page.waitForTimeout(900); | ||
| return true; | ||
| } | ||
| } | ||
| return false; | ||
| } |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…penFirstRow - README: DC_USER default documented as `admin` to match the script default (the example already used `admin`); the prior `filip` was stale. - openFirstRow now returns true only after a click actually succeeds, and skips non-interactive/detached candidates instead of swallowing the failure and reporting success — avoids a silently wrong screenshot.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Release prep for v1.4.0 — refreshes the whole user manual to the current state and adds a reproducible way to keep it that way. Docs-only: no changes under
web/srcor Go packages, soweb/distand the binary are untouched.scripts/screenshots/) — a Playwright tool that drives a running instance with the installed Google Chrome (no Playwright browser download), logs in via the API, and captures one 2560×1440 PNG per agenda intodocs/images/. Re-run withDC_PASS=… npm run shoot(orONLY=alerts,…). Ships with a README.containers.md(drop kill, not exposed in the UI),users.md(the live stats/logs WebSocket is now section-gated),deploy/commander.conf.example(addDC_TRUSTED_PROXIES,DC_METRICS_INTERVAL,DC_PPROF,DC_UPDATE_CHECK), manual index gains a Templates entry.NEXT.md— prune items shipped in v1.4 (MCP, section-gated WebSocket, per-host monitoring, the Workloads/Storage sidebar split).CHANGELOG.md— cut[Unreleased]→[1.4.0]— 2026-06-15 with its release link.Type of change
Checklist
go test -short ./...andgo vet ./...pass — N/A (no Go changed)gofmtgate is clean (gofmt -l $(git ls-files '*.go')after staging) — N/A (no Go staged)cd web && npx tsc --noEmit) — N/A (no UI change)web/dist— N/A (nothing underweb/srcchanged)docs/and added aCHANGELOG.mdentry for user-facing changesNotes for reviewers
screenshots remain.
scripts/screenshots/generate.mjsif the UI shifts.git tag v1.4.0 && git push origin v1.4.0(triggersrelease.yml).