Skip to content
Snippets Groups Projects
Commit 79b49116 authored by Jono Wenger's avatar Jono Wenger
Browse files

General fixes

parent b6c2c994
No related branches found
No related tags found
3 merge requests!116XX-4684 / Use new wasm-utils repo,!112General fixes,!67fix for latest client release
...@@ -414,7 +414,7 @@ func (w *wasmModel) upsertMessage(msg *Message) (uint64, error) { ...@@ -414,7 +414,7 @@ func (w *wasmModel) upsertMessage(msg *Message) (uint64, error) {
// Store message to database // Store message to database
msgIdObj, err := impl.Put(w.db, messageStoreName, messageObj) msgIdObj, err := impl.Put(w.db, messageStoreName, messageObj)
if err != nil || msgIdObj.Equal(js.Undefined()) { if err != nil {
return 0, errors.Errorf("Unable to put Message: %+v\n%s", return 0, errors.Errorf("Unable to put Message: %+v\n%s",
err, newMessageJson) err, newMessageJson)
} }
......
...@@ -317,7 +317,7 @@ func (w *wasmModel) upsertMessage(msg *Message) (uint64, error) { ...@@ -317,7 +317,7 @@ func (w *wasmModel) upsertMessage(msg *Message) (uint64, error) {
// Store message to database // Store message to database
msgIdObj, err := impl.Put(w.db, messageStoreName, messageObj) msgIdObj, err := impl.Put(w.db, messageStoreName, messageObj)
if err != nil || msgIdObj.Equal(js.Undefined()) { if err != nil {
return 0, errors.Errorf("Unable to put Message: %+v\n%s", return 0, errors.Errorf("Unable to put Message: %+v\n%s",
err, newMessageJson) err, newMessageJson)
} }
......
...@@ -76,6 +76,8 @@ func Get(db *idb.Database, objectStoreName string, key js.Value) (js.Value, erro ...@@ -76,6 +76,8 @@ func Get(db *idb.Database, objectStoreName string, key js.Value) (js.Value, erro
if err != nil { if err != nil {
return js.Undefined(), errors.WithMessagef(parentErr, return js.Undefined(), errors.WithMessagef(parentErr,
"Unable to get from ObjectStore: %+v", err) "Unable to get from ObjectStore: %+v", err)
} else if err = ctx.Err(); errors.Is(err, context.DeadlineExceeded) {
return js.Null(), errors.Wrapf(err, "timed out after %s", dbTimeout)
} else if resultObj.IsUndefined() { } else if resultObj.IsUndefined() {
return js.Undefined(), errors.WithMessagef(parentErr, return js.Undefined(), errors.WithMessagef(parentErr,
"Unable to get from ObjectStore: %s", ErrDoesNotExist) "Unable to get from ObjectStore: %s", ErrDoesNotExist)
...@@ -164,6 +166,8 @@ func GetIndex(db *idb.Database, objectStoreName, ...@@ -164,6 +166,8 @@ func GetIndex(db *idb.Database, objectStoreName,
if err != nil { if err != nil {
return js.Undefined(), errors.WithMessagef(parentErr, return js.Undefined(), errors.WithMessagef(parentErr,
"Unable to get from ObjectStore: %+v", err) "Unable to get from ObjectStore: %+v", err)
} else if err = ctx.Err(); errors.Is(err, context.DeadlineExceeded) {
return js.Null(), errors.Wrapf(err, "timed out after %s", dbTimeout)
} else if resultObj.IsUndefined() { } else if resultObj.IsUndefined() {
return js.Undefined(), errors.WithMessagef(parentErr, return js.Undefined(), errors.WithMessagef(parentErr,
"Unable to get from ObjectStore: %s", ErrDoesNotExist) "Unable to get from ObjectStore: %s", ErrDoesNotExist)
...@@ -202,6 +206,8 @@ func Put(db *idb.Database, objectStoreName string, value js.Value) (js.Value, er ...@@ -202,6 +206,8 @@ func Put(db *idb.Database, objectStoreName string, value js.Value) (js.Value, er
if err != nil { if err != nil {
return js.Undefined(), errors.Errorf("Putting value failed: %+v\n%s", return js.Undefined(), errors.Errorf("Putting value failed: %+v\n%s",
err, utils.JsToJson(value)) err, utils.JsToJson(value))
} else if err = ctx.Err(); errors.Is(err, context.DeadlineExceeded) {
return js.Null(), errors.Wrapf(err, "timed out after %s", dbTimeout)
} }
jww.DEBUG.Printf("Successfully put value in %s: %s", jww.DEBUG.Printf("Successfully put value in %s: %s",
objectStoreName, utils.JsToJson(value)) objectStoreName, utils.JsToJson(value))
...@@ -239,6 +245,8 @@ func Delete(db *idb.Database, objectStoreName string, key js.Value) error { ...@@ -239,6 +245,8 @@ func Delete(db *idb.Database, objectStoreName string, key js.Value) error {
if err != nil { if err != nil {
return errors.WithMessagef(parentErr, return errors.WithMessagef(parentErr,
"Unable to Delete from ObjectStore: %+v", err) "Unable to Delete from ObjectStore: %+v", err)
} else if err = ctx.Err(); errors.Is(err, context.DeadlineExceeded) {
return errors.Wrapf(err, "timed out after %s", dbTimeout)
} }
jww.DEBUG.Printf("Successfully deleted value at %s/%s", jww.DEBUG.Printf("Successfully deleted value at %s/%s",
objectStoreName, utils.JsToJson(key)) objectStoreName, utils.JsToJson(key))
......
...@@ -61,10 +61,12 @@ type PromiseFn func(resolve, reject func(args ...any) js.Value) ...@@ -61,10 +61,12 @@ type PromiseFn func(resolve, reject func(args ...any) js.Value)
// Go function to Javascript. // Go function to Javascript.
func CreatePromise(f PromiseFn) any { func CreatePromise(f PromiseFn) any {
// Create handler for promise (this will be a Javascript function) // Create handler for promise (this will be a Javascript function)
handler := js.FuncOf(func(this js.Value, args []js.Value) any { var handler js.Func
handler = js.FuncOf(func(this js.Value, args []js.Value) any {
// Spawn a new go routine to perform the blocking function // Spawn a new go routine to perform the blocking function
go func(resolve, reject js.Value) { go func(resolve, reject js.Value) {
f(resolve.Invoke, reject.Invoke) f(resolve.Invoke, reject.Invoke)
go func() { handler.Release() }()
}(args[0], args[1]) }(args[0], args[1])
return nil return nil
......
...@@ -325,8 +325,8 @@ func (m *Manager) addEventListeners() { ...@@ -325,8 +325,8 @@ func (m *Manager) addEventListeners() {
// Doc: https://developer.mozilla.org/en-US/docs/Web/API/Worker/error_event // Doc: https://developer.mozilla.org/en-US/docs/Web/API/Worker/error_event
errorEvent := js.FuncOf(func(_ js.Value, args []js.Value) any { errorEvent := js.FuncOf(func(_ js.Value, args []js.Value) any {
event := args[0] event := args[0]
jww.ERROR.Printf("[WW] [%s] Main received error event: %s", jww.FATAL.Panicf("[WW] [%s] Main received error event: %+v",
m.name, utils.JsErrorToJson(event)) m.name, js.Error{Value: event})
return nil return nil
}) })
...@@ -335,8 +335,8 @@ func (m *Manager) addEventListeners() { ...@@ -335,8 +335,8 @@ func (m *Manager) addEventListeners() {
// Doc: https://developer.mozilla.org/en-US/docs/Web/API/Worker/messageerror_event // Doc: https://developer.mozilla.org/en-US/docs/Web/API/Worker/messageerror_event
messageerrorEvent := js.FuncOf(func(_ js.Value, args []js.Value) any { messageerrorEvent := js.FuncOf(func(_ js.Value, args []js.Value) any {
event := args[0] event := args[0]
jww.ERROR.Printf("[WW] [%s] Main received message error event: %s", jww.ERROR.Printf("[WW] [%s] Main received message error event: %+v",
m.name, utils.JsErrorToJson(event)) m.name, js.Error{Value: event})
return nil return nil
}) })
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment