From 8277fc0f1dc2e1de71e21356fee7fb6351edddf5 Mon Sep 17 00:00:00 2001 From: Codinget Date: Fri, 17 Apr 2026 19:39:52 +0000 Subject: [PATCH] fix(tsconnect): lowercase name/size in waitingFiles JSON apitype.WaitingFile has no json tags so it serialised as {Name, Size}. Introduce a local jsWaitingFile struct with json:"name" / json:"size" so the JS side receives idiomatic camelCase property names. Co-Authored-By: Claude Sonnet 4.6 --- cmd/tsconnect/wasm/taildrop.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/cmd/tsconnect/wasm/taildrop.go b/cmd/tsconnect/wasm/taildrop.go index 60f2081c7..8115f1723 100644 --- a/cmd/tsconnect/wasm/taildrop.go +++ b/cmd/tsconnect/wasm/taildrop.go @@ -166,10 +166,15 @@ func (i *jsIPN) waitingFiles() js.Value { if err != nil { return nil, err } - if wfs == nil { - wfs = []apitype.WaitingFile{} + type jsWaitingFile struct { + Name string `json:"name"` + Size int64 `json:"size"` } - b, err := json.Marshal(wfs) + out := make([]jsWaitingFile, len(wfs)) + for i, wf := range wfs { + out[i] = jsWaitingFile{Name: wf.Name, Size: wf.Size} + } + b, err := json.Marshal(out) if err != nil { return nil, err }