molecule-core/canvas
Molecule AI Fullstack Engineer dee01af2c2
All checks were successful
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 12s
sop-tier-check / tier-check (pull_request) Successful in 12s
audit-force-merge / audit (pull_request) Has been skipped
fix(canvas): sortParentsBeforeChildren — root-before-orphan ordering
Algorithm did a single DFS pass over all nodes in input order, which
placed orphan nodes (parentId → missing node) before roots when the
orphan appeared earlier in the input array.  Tests: sortParentsBeforeChildren
"does not crash when parentId references a missing node" was failing.

Fix: two-pass approach — visit all root nodes first, then remaining
unvisited nodes (orphans).  Preserves existing correct behaviour for
valid parent→child chains.

Also:
- canvas/vitest.config.ts: add clarifying comment that Node environment
  is intentional (socket.url.test.ts runs in Node, DOM tests use the
  per-file // @vitest-environment jsdom directive).
- canvas/src/store/__tests__/socket.url.test.ts: simplify — drop the
  importWsUrl helper (no longer needed since env handling is direct and
  Node's lack of window.globalThis correctly triggers the localhost:8080
  fallback in deriveWsBaseUrl).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 03:18:35 +00:00
..
e2e canvas/e2e: surface admin-orgs row + workspace body on failure 2026-05-03 14:01:50 -07:00
public chore: replace brand icon and add HANDOFF.md 2026-04-13 13:03:40 -07:00
src fix(canvas): sortParentsBeforeChildren — root-before-orphan ordering 2026-05-11 03:18:35 +00:00
.dockerignore feat(local-dev): containerize platform + canvas stack via docker-compose (closes #126) 2026-05-08 10:53:39 -07:00
.env.example fix(canvas): close 4 gaps in WS status indicator (env, toast, tests) 2026-04-14 08:26:38 +00:00
.gitignore feat(canvas): SaaS cross-origin — slug header + cookie credentials (Phase F) 2026-04-14 20:08:39 -07:00
components.json fix(canvas): restore text-white on saturated buttons + close zinc gaps 2026-05-03 02:04:20 -07:00
Dockerfile ci(docker): pin base image digests in all Dockerfiles 2026-05-09 23:56:39 +00:00
next.config.ts fix(canvas): boot-time matched-pair guard for ADMIN_TOKEN env vars (#175) 2026-05-08 19:22:39 -07:00
package-lock.json fix(canvas): regenerate lockfile with cross-platform optional deps 2026-05-03 01:52:42 -07:00
package.json feat(canvas): warm-paper theme + Tailwind v4 migration 2026-05-03 01:43:55 -07:00
playwright.config.ts
playwright.staging.config.ts feat(e2e): canary + canvas Playwright workflows; delegation mechanics 2026-04-21 04:15:10 -07:00
postcss.config.js feat(canvas): warm-paper theme + Tailwind v4 migration 2026-05-03 01:43:55 -07:00
tsconfig.json
vitest.config.ts fix(canvas): sortParentsBeforeChildren — root-before-orphan ordering 2026-05-11 03:18:35 +00:00