Skip to content

fix(presentation): prevent input blocking in multi-instance scenarios#3693

Open
palmer-cl wants to merge 3 commits into
mainfrom
colep/sd-3249-bug-fix-multi-instance-input-blocking-in
Open

fix(presentation): prevent input blocking in multi-instance scenarios#3693
palmer-cl wants to merge 3 commits into
mainfrom
colep/sd-3249-bug-fix-multi-instance-input-blocking-in

Conversation

@palmer-cl

Copy link
Copy Markdown
Collaborator
  • Fixes a bug where mounting two SuperDoc instances on the same page blocked typing and could throw RangeError: Maximum call stack size exceeded
  • Each PresentationEditor registers window-level capture listeners via PresentationInputBridge to reroute input from stale hidden ProseMirror editors
  • With multiple instances, each bridge treated the other's editor as "stale," suppressed the real keystroke, and re-dispatched a synthetic event that the other bridge intercepted in turn — causing infinite recursion and blocked input
  • Adds an instance-ownership check so stale rerouting only runs when the event originated from a hidden editor owned by the same SuperDoc instance
  • Story-session editors (footnotes, headers/footers) within one instance still reroute correctly

@palmer-cl palmer-cl requested a review from a team as a code owner June 9, 2026 20:27
@linear-code

linear-code Bot commented Jun 9, 2026

Copy link
Copy Markdown

SD-3249

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

palmer-cl added 2 commits June 9, 2026 13:59
…-3249-bug-fix-multi-instance-input-blocking-in
…-3249-bug-fix-multi-instance-input-blocking-in
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants