Adds a download button to the bottom-left React Flow controls that
exports the current canvas view as a PNG with the dot grid preserved.
- New util src/client/utils/exportPng.ts: html-to-image capture +
manual canvas composition (solid bg + dot grid + captured layer).
Works around html-to-image's SVG <pattern> limitations and produces
a deterministic 3x retina PNG.
- During capture, temporary CSS disables ring-shadow halos and forces
service node bodies to a solid dark fill so the dot grid doesn't
bleed through. State is still indicated by border colors and the
inner state dot. Group node headers are excluded so their outlines
stay intact.
- New component src/client/components/ExportPngButton.tsx integrated
as a custom ControlButton inside <Controls> (bottom-left).
- App.tsx: id="dashboard-canvas" + data-no-export on project filter.
- i18n: 4 keys (EN + ES) for the button and 3 error states.
- New dependency: html-to-image@1.11.13
Adds a GitHub Actions workflow that builds and pushes the Docker image
to ghcr.io/rgjorge/containerflow on every tag push, so end users can run
ContainerFlow without cloning the repo or building locally.
- New workflow: .github/workflows/docker-release.yml
- docker-compose.yml: uses the prebuilt image from GHCR by default
- New docker-compose.local.yml: override for building from source (devs)
- .env.example: simplified + adds COMPOSE_FILE toggle for local build
- README EN + ES: quick-start updated to no-clone flow
- .gitignore: ignore task/ planning notes dir
Addresses feedback from multiple reviewers on the launch thread asking
for non-Spanish primary documentation. Also adds a framing quote from
community feedback (u/dashingsauce on Reddit) that captures the project
positioning better than prior phrasing.
- README.md now in English with language switcher to Spanish version
- README.es.md preserves the original Spanish content with switcher to English
- Added missing references in structure section (i18n.tsx, watcher.test.ts, events-db.ts)
- Added Discussions link to community section
Closes#1
- ServiceNode: cap card width at 240px, native tooltip on name and image
- App: project filter dropdown capped at 280px with scroll, names truncate
- DetailPanel header: proper flex layout (min-w-0 flex-1 + shrink-0),
Tooltip with (?) shows full name on hover; same fix for logs modal header
- Re-enable CI workflow (was paused for GitHub billing)