Commit c6f8359
committed
Give each FletApp a unique backend-channel address
Embedded FletApps (Preview's inner Pyodide app) all default to an
empty `url`, so their backend channel address collapses to "" and
multiple instances collide in the JS-side `_apps` registry used by
jsConnect/jsSend/jsDisconnect. When one FletApp disposed, jsDisconnect
would terminate whichever worker was last registered under "" —
which is a *different* FletApp's worker.
Synthesize a stable per-instance address from the control id when
`url` is empty. The factory still picks the Pyodide/JavaScript channel
under forcePyodide, so there's no routing impact.1 parent 30b54a6 commit c6f8359
1 file changed
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
28 | 35 | | |
29 | 36 | | |
30 | 37 | | |
| |||
0 commit comments