pcbjam/features/yjs-bridge
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Gergő Törcsvári b577c05fae
fix(eeschema): wasm dialog positioning (web .window CSS) + collab SCH_SHAPE add via coroutine fiber stack
Thrust A — dialogs render top-left with OK clipped in the WEB app (not the
test harness): root cause was the React shell missing the .window /
.window-canvas CSS that wx.js relies on (it positions each dialog div via
inline left/top, which need position:absolute). Added the rules to
web/apps/frontend/src/index.css. Native draw-text now works end-to-end;
symbol/power choosers render (placing still blocked by absent libraries).

Thrust B — collab apply of a newly-added SCH_SHAPE trapped in KiCad core
(SCH_COMMIT::Push CHT_ADD -> GAL view->Add, an asyncify invoke_* mis-dispatch)
because doApply ran off a fiber stack. doApply now runs inside a COROUTINE so
it executes on a libcontext fiber, the same context native draws use; the add
dispatches correctly. Re-enabled the SCH_SHAPE converter (rect/circle). Added
thirdparty/libcontext to the embind include path (tool/coroutine.h needs it).
Verified two-tab: rectangle + circle drawn in tab A sync + render in tab B.
Extended eeschema-collab.spec.ts apply test with a SCH_SHAPE add.

All changes root-repo only; kicad and wxwidgets forks untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 13:56:43 +02:00
..
0001-general-bridge-design.md docs(yjs-bridge): add collaborative Yjs bridge design 2026-06-05 13:56:41 +02:00
0002-pl-editor-bridge.md docs(yjs-bridge): record commit-2 as built (bridge in wasm layer) 2026-06-05 13:56:41 +02:00
0003-eeschema-bridge.md docs(yjs-bridge): add collaborative Yjs bridge design 2026-06-05 13:56:41 +02:00
0004-pcbnew-bridge.md docs(yjs-bridge): add collaborative Yjs bridge design 2026-06-05 13:56:41 +02:00
0005-eeschema-apply-bugfix-prompt.md docs(yjs-bridge): next-session init prompt for eeschema apply bugfixes 2026-06-05 13:56:42 +02:00
0006-eeschema-apply-findings.md feat(eeschema): collab SCH_SHAPE emit + defensive text; defer shape/symbol add (asyncify trap); un-skip apply e2e 2026-06-05 13:56:42 +02:00
0007-eeschema-essential-ops-findings.md fix(eeschema): wasm dialog positioning (web .window CSS) + collab SCH_SHAPE add via coroutine fiber stack 2026-06-05 13:56:43 +02:00
0007-eeschema-essential-ops-prompt.md fix(eeschema): wasm dialog positioning (web .window CSS) + collab SCH_SHAPE add via coroutine fiber stack 2026-06-05 13:56:43 +02:00