From 90dda613aed38ac3c5bd97eb31cd3bf38de2d857 Mon Sep 17 00:00:00 2001
From: Jono Wenger <jono@elixxir.io>
Date: Fri, 7 Apr 2023 12:14:10 -0700
Subject: [PATCH] Fix bug where web worker would not send response when
 creating a new database successfully

---
 indexedDb/impl/channels/callbacks.go | 2 +-
 indexedDb/impl/dm/callbacks.go       | 2 +-
 indexedDb/worker/channels/init.go    | 2 +-
 indexedDb/worker/dm/init.go          | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/indexedDb/impl/channels/callbacks.go b/indexedDb/impl/channels/callbacks.go
index 79fba1cc..b3add64f 100644
--- a/indexedDb/impl/channels/callbacks.go
+++ b/indexedDb/impl/channels/callbacks.go
@@ -77,7 +77,7 @@ func (m *manager) newWASMEventModelCB(data []byte) ([]byte, error) {
 		return []byte(err.Error()), nil
 	}
 
-	return nil, nil
+	return []byte{}, nil
 }
 
 // messageReceivedCallback sends calls to the channels.MessageReceivedCallback
diff --git a/indexedDb/impl/dm/callbacks.go b/indexedDb/impl/dm/callbacks.go
index a2deba17..5fe03874 100644
--- a/indexedDb/impl/dm/callbacks.go
+++ b/indexedDb/impl/dm/callbacks.go
@@ -74,7 +74,7 @@ func (m *manager) newWASMEventModelCB(data []byte) ([]byte, error) {
 		return []byte(err.Error()), nil
 	}
 
-	return nil, nil
+	return []byte{}, nil
 }
 
 // messageReceivedCallback sends calls to the MessageReceivedCallback in the
diff --git a/indexedDb/worker/channels/init.go b/indexedDb/worker/channels/init.go
index 0fa2fd56..2ee630ca 100644
--- a/indexedDb/worker/channels/init.go
+++ b/indexedDb/worker/channels/init.go
@@ -121,7 +121,7 @@ func NewWASMEventModel(path, wasmJsPath string, encryption cryptoChannel.Cipher,
 
 	select {
 	case data := <-dataChan:
-		if data != nil {
+		if len(data) > 0 {
 			return nil, errors.New(string(data))
 		}
 	case <-time.After(worker.ResponseTimeout):
diff --git a/indexedDb/worker/dm/init.go b/indexedDb/worker/dm/init.go
index d8e905be..3fd1cd13 100644
--- a/indexedDb/worker/dm/init.go
+++ b/indexedDb/worker/dm/init.go
@@ -89,7 +89,7 @@ func NewWASMEventModel(path, wasmJsPath string, encryption cryptoChannel.Cipher,
 
 	select {
 	case data := <-dataChan:
-		if data != nil {
+		if len(data) > 0 {
 			return nil, errors.New(string(data))
 		}
 	case <-time.After(worker.ResponseTimeout):
-- 
GitLab