Commit 3ca39f2
committed
fix(opencode): keep Mod+A scoped to chat input contenteditable
Browser default Mod+A on the iframe contenteditable could escape and
select the iframe body, manifesting as focus loss in the chat input.
Add a capture-phase keydown interceptor in the spaProxy bootstrap that
selects only the editor's own contents via Range.selectNodeContents and
stops propagation. Fix lives in the fork-owned bootstrap because the
SPA source under packages/app is vendored and overwritten on every
vendor update.1 parent c1b483d commit 3ca39f2
1 file changed
Lines changed: 38 additions & 0 deletions
Lines changed: 38 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
402 | 402 | | |
403 | 403 | | |
404 | 404 | | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
405 | 443 | | |
406 | 444 | | |
407 | 445 | | |
| |||
0 commit comments