1
0

add-pr-8b-bound-surface.md 1.4 KB

Plan: add PR 8b, bind only what the window needs

Branch: plan-bound-surface → main

What changed

docs/review-fixes-plan.md gets a new PR 8b (bound-surface), between PR 8 and PR 9, part of 0.5.3.

Found while checking PR 5 on main (d66ff0a): //wails:ignore only keeps a method out of the generated bindings. Wails 3.1.0 registers every exported method of the bound Service at runtime by reflection, so the window can still call LoadPath and AssignSamplePath by name with any path.

  • Tasks: move the Go-only methods (LoadPath, AssignSamplePath, Dirty, SetCloser, AudioMiddleware) to an unbound type that main.go uses; add TestBoundMethods, which pins the list of bound methods; add CancelExport() so a declined replace forgets the export target.
  • Done when: the test passes, a scratch build's Call.ByName(".../app.Service.LoadPath", path) is rejected, and the laptop checks pass.
  • The PR table, the order and the release line now include 8b.

No code changes.

Notes

Merge this before the PR 8b agent starts. PR 9 must wait for PR 8b.

Testing

Documentation only. Checked on 2026-11-13: a throwaway build of main (f56cd2d) whose main.ts called Call.ByName("git.monoexp.com/bajdev/mpckit/internal/app.Service.LoadPath", ".../testdata/device/Demo02.xpj") loaded the project (the call returned its state). Nothing from that build was committed.