Skip to content

Release v1.4.0 — manual refresh + automated screenshot generator - #39

Merged
malickyeu merged 5 commits into
mainfrom
release/v1.4.0
Jun 15, 2026
Merged

Release v1.4.0 — manual refresh + automated screenshot generator#39
malickyeu merged 5 commits into
mainfrom
release/v1.4.0

Conversation

@malickyeu

Copy link
Copy Markdown
Contributor

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/src or Go packages, so web/dist and the binary are untouched.

  • Automated screenshot generator (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 into
    docs/images/. Re-run with DC_PASS=… npm run shoot (or ONLY=alerts,…). Ships with a README.
  • Screenshots — regenerated every agenda; added shots for the new agendas (templates, mcp, mcp-admin, audit, users, alerts, registries) plus the detail drawers (network detail, project editor) and topology, all wired into their docs.
  • Docs synced to codecontainers.md (drop kill, not exposed in the UI), users.md (the live stats/logs WebSocket is now section-gated), deploy/commander.conf.example (add DC_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

  • Bug fix
  • New feature
  • Docs only
  • Refactor / chore

Checklist

  • go test -short ./... and go vet ./... pass — N/A (no Go changed)
  • gofmt gate is clean (gofmt -l $(git ls-files '*.go') after staging) — N/A (no Go staged)
  • Frontend type-checks (cd web && npx tsc --noEmit) — N/A (no UI change)
  • Rebuilt and committed web/dist — N/A (nothing under web/src changed)
  • Added/updated tests for the change — N/A (docs only)
  • Updated docs/ and added a CHANGELOG.md entry for user-facing changes

Notes for reviewers

  • The three previously-empty agendas (Alerts / Registries / MCP Access) were captured with throwaway demo data (one alert rule, one registry, one MCP token) created via the API and deleted afterwards — the instance is left clean; only the resulting
    screenshots remain.
  • The screenshot generator is reusable for future releases; selectors for the route-less detail drawers (network detail, project editor) and the Alerts → Rules tab live in scripts/screenshots/generate.mjs if the UI shifts.
  • To publish after merge: git tag v1.4.0 && git push origin v1.4.0 (triggers release.yml).

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.
Copilot AI review requested due to automatic review settings June 15, 2026 11:49
…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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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/ws section-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 thread scripts/screenshots/generate.mjs
Comment thread scripts/screenshots/README.md Outdated
Comment thread scripts/screenshots/package.json
Comment thread CHANGELOG.md
Comment on lines 6 to 8

## [Unreleased]
## [1.4.0] — 2026-06-15

Comment thread CHANGELOG.md
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 thread scripts/screenshots/generate.mjs Outdated
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;
}
malickyeu and others added 3 commits June 15, 2026 13:54
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.
@malickyeu
malickyeu merged commit 30b957a into main Jun 15, 2026
3 checks passed
@malickyeu
malickyeu deleted the release/v1.4.0 branch July 31, 2026 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants