06f84e18ae89e2eb821029cf972e3d5d3e244ed2
Shrinking a dashboard's canvas silently clipped whatever now fell past the bottom edge: `maxRows` constrains a drag and nothing else, so a stored placement is corrected against the column count alone. Nothing warned, and nothing offered a way out. The remedy is a notice rather than a reflow, because the canvas height is written on every keystroke — typing 400 passes through 4 and 40, and anything that moved widgets would flatten the arrangement while the number was still being typed. The notice carries the reflow as its one button, and packing is sideways because the grid already compacts vertically: nothing below the canvas has room above it. Dropping a widget also selected it, which opened its panel, which rescaled the canvas under the pointer. The drag handle was simply missing from the selector that already exempts the resize handle — which is why resizing never had this problem. Also: an icon rule's caption could only be set through the API, and the panel rail drew two letters where a dashboard can now carry a lucide icon. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Uq8mtNb97A7praJLyeEYgs
Fluksio App
Fluksio has the goal to build a revolutionary system to tackle any sort of automation challenge.
The core of Fluksio: a node-based, test-driven automation software built to scale. This
repo holds the FastAPI backend, the flow engine, and the dashboard SPA. It is served on
app.${DOMAIN} (SPA) and api.${DOMAIN} (API); the marketing site lives in the sibling
index repo.
Layout
backend/ FastAPI + SQLModel + Alembic + Postgres
app/flow/ the flow engine (nodes, pipeline, state backends, controller)
frontend/ React 19 + TanStack Router + Tailwind 4 + shadcn/ui
docker/ compose.yml → compose.dev.yml → compose.local.yml (+ compose.traefik.yml)
scripts/ generate-client.sh, test.sh
Getting started
Normally driven from the workspace root (make init once, then make dev). Standalone:
make install # uv sync + bun install
make dev-utils # db, adminer, proxy, mailcatcher, prestart only
make dev-backend # FastAPI on :8000, hot reload
make dev-frontend # Vite on :5173
make test # pytest + Playwright (the e2e half needs the stack up)
make lint # ruff + mypy + biome
make generate-client # regenerate the frontend SDK from the OpenAPI schema
make help lists every target.
Documentation
ROADMAP.md— strategy and feature recordNOTEPAD.md— deferred work and findingsDESIGN.md— points at the workspace root'sDESIGN-GUIDELINES.mddocs/architecture/in the siblingdocsrepo — the requirement sources
Languages
Python
54%
TypeScript
42.6%
CSS
1.9%
HTML
0.5%
JavaScript
0.5%
Other
0.3%