Skip to content

Commit d98a95b

Browse files
committed
vm: use thisWorker because self was breaking xterm.js loader
1 parent 7573ed4 commit d98a95b

File tree

3 files changed

+20
-13
lines changed

3 files changed

+20
-13
lines changed

vm/v86/v86.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,13 @@ func (r *VM) OpenContext(ctx context.Context, name string) (fs.File, error) {
108108
if err := TryPatch(ctx, r.serial, serialFile); err != nil {
109109
log.Println("vm start:", err)
110110
}
111+
// fsys, _, ok := fs.Origin(ctx)
112+
// if ok {
113+
// cachedfs := metacache.New(fsys)
114+
// srv := p9.NewServer(p9kit.Attacher(cachedfs, p9kit.WithMemAttrStore()), p9.WithServerLogger(ulog.Log))
115+
// log.Println("starting 9p server for shmpipe")
116+
// go srv.Handle(shmpipe, shmpipe)
117+
// }
111118
case "update-screen":
112119
if r.screenport.IsUndefined() {
113120
log.Println("vm update-screen: screenport not found")
@@ -148,12 +155,12 @@ func makeVM(id string, options map[string]any, inWorker bool) (js.Value, js.Valu
148155
var src []any
149156
var readyChannel js.Value
150157
if inWorker {
151-
src = []any{string(v86Bundle)}
158+
src = []any{"var thisWorker = self; var process = undefined;", string(v86Bundle)}
152159
} else {
153160
readyChannel = js.Global().Get("MessageChannel").New()
154161
// todo: this is a bit of a hack, but it works
155162
js.Global().Set("vmReadyPort", readyChannel.Get("port2"))
156-
src = []any{"var self = window.vmReadyPort; var process = undefined;", string(v86Bundle)}
163+
src = []any{"var thisWorker = window.vmReadyPort; var process = undefined;", string(v86Bundle)}
157164
}
158165
blob := js.Global().Get("Blob").New(js.ValueOf(src), js.ValueOf(map[string]any{"type": "text/javascript"}))
159166
url := js.Global().Get("URL").Call("createObjectURL", blob)

vm/v86/v86.worker.js

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vm/v86/v86.worker.min.js

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)