diff --git a/frontend/wave.ts b/frontend/wave.ts index 8ea68474..d788576b 100644 --- a/frontend/wave.ts +++ b/frontend/wave.ts @@ -20,7 +20,7 @@ console.log("Wave Starting"); document.addEventListener("DOMContentLoaded", async () => { console.log("DOMContentLoaded"); - // ensures client/window are loaded into the cache before rendering + // ensures client/window/workspace are loaded into the cache before rendering await WOS.loadAndPinWaveObject(WOS.makeORef("client", clientId)); const waveWindow = await WOS.loadAndPinWaveObject(WOS.makeORef("window", windowId)); await WOS.loadAndPinWaveObject(WOS.makeORef("workspace", waveWindow.workspaceid)); diff --git a/pkg/waveobj/waveobj.go b/pkg/waveobj/waveobj.go index da3c5971..fac10a89 100644 --- a/pkg/waveobj/waveobj.go +++ b/pkg/waveobj/waveobj.go @@ -156,6 +156,9 @@ func SetMeta(waveObj WaveObj, meta map[string]any) { } func ToJsonMap(w WaveObj) (map[string]any, error) { + if w == nil { + return nil, nil + } m := make(map[string]any) dconfig := &mapstructure.DecoderConfig{ Result: &m, diff --git a/pkg/wstore/wstore_dbops.go b/pkg/wstore/wstore_dbops.go index 5a33ce80..9536fdcd 100644 --- a/pkg/wstore/wstore_dbops.go +++ b/pkg/wstore/wstore_dbops.go @@ -103,7 +103,10 @@ func DBGetORef(ctx context.Context, oref waveobj.ORef) (waveobj.WaveObj, error) table := tableNameFromOType(oref.OType) query := fmt.Sprintf("SELECT oid, version, data FROM %s WHERE oid = ?", table) var row idDataType - tx.Get(&row, query, oref.OID) + found := tx.Get(&row, query, oref.OID) + if !found { + return nil, nil + } rtn, err := waveobj.FromJson(row.Data) if err != nil { return rtn, err