Skip to content

fix(markdown): secure browser document bindings - #2969

Draft
George Ng (GeorgeNgMsft) wants to merge 2 commits into
georgengmsft-markdown-durable-updatesfrom
georgengmsft-markdown-browser-server
Draft

fix(markdown): secure browser document bindings#2969
George Ng (GeorgeNgMsft) wants to merge 2 commits into
georgengmsft-markdown-durable-updatesfrom
georgengmsft-markdown-browser-server

Conversation

@GeorgeNgMsft

@GeorgeNgMsft George Ng (GeorgeNgMsft) commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Summary

Layer 4 of the replacement stack for #2940.

  • validate browser and IPC writes against the active binding token, workspace identity, and content revision
  • preserve nested relative paths and isolate same-basename documents with binding-scoped collaboration rooms
  • bootstrap browser bindings, correlate live Markdown reads, publish committed snapshots, and evict rotated idle rooms
  • keep the Markdown HTTP/WebSocket service on IPv4 loopback and advertise its bound loopback port
  • preserve layer 3's headless durable, exactly-once persistence path

Validation

Historical validation before the in-place rebase:

  • pnpm run build markdown
  • pnpm test in packages/agents/markdown (54 tests)
  • focused viewService, urlPath, and markdownUpdatePersistence specs
  • Prettier check
  • lint, complexity, circular dependency, and debt ratchets against origin/georgengmsft-markdown-durable-updates
  • git diff --check

In-place sync on 2026-09-05 onto #2968 at ab068c61a3275cad6762f82d0a10de6338e37931:

  • Both layer commits replayed without conflicts; git range-diff reports unchanged patches.
  • All six layer files are byte-identical to the prior head; the parent's action handler, operation engine, path policy, and durable persistence implementation remain unchanged.
  • Scoped diff: 6 files changed, 1109 insertions, 304 deletions. git diff --check passed.
  • Build, tests, formatting, and ratchets were not rerun: this worktree has no ts/.npmrc, dependencies, or compiled test output. No broad dependency provisioning was performed for the sync.

Stack

Base: georgengmsft-markdown-durable-updates (#2968)

The final browser-client serializer/autosave, revision adoption/reconciliation UI, toolbar, and browserPersistence.spec.ts changes remain deferred to layer 5. No src/view/site/** or aiclient changes are included.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@GeorgeNgMsft
George Ng (GeorgeNgMsft) force-pushed the georgengmsft-markdown-browser-server branch from 876bdb5 to 3f3cd47 Compare September 5, 2026 05:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant