fix: gauntlet hardening — alignment regression tests, cleanup, DRY, docker labels

- test: 3 regression tests for textAlign/verticalAlign/containerId REST round-trip
  (Zod was silently stripping these fields before the schema fix)
- fix: pendingTitleTimerRef cleanup on unmount (App.tsx)
- fix: localStorage JSON.parse wrapped in try/catch to prevent crash (App.tsx)
- refactor: extract seedKnownContainers() helper — 4 identical loops → 1 (App.tsx)
- chore: remove unnecessary `as any` cast on subtitle element type (index.ts)
- docs: test counts updated to 446 (README.md, CLAUDE.md)
- chore: fix stale LABEL source URLs in Dockerfile and Dockerfile.canvas

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
newblacc
2026-03-30 21:20:14 +02:00
co-authored by Claude Sonnet 4.6
parent 87e8a8e314
commit 64ebfc6791
7 changed files with 95 additions and 31 deletions
+1 -1
View File
@@ -61,6 +61,6 @@ EXPOSE 3000
CMD ["node", "dist/server.js"]
LABEL org.opencontainers.image.source="https://github.com/sanjibdevnathlabs/mcp-excalidraw-local"
LABEL org.opencontainers.image.source="https://github.com/celstnblacc/excalidraw-mcp-sentinel"
LABEL org.opencontainers.image.description="MCP Excalidraw Canvas Server - Web UI and REST API (with SQLite persistence & multi-tenancy)"
LABEL org.opencontainers.image.licenses="MIT"