diff --git a/go.mod b/go.mod
index c12329ddddeb7b549f773f56734186af5ba3d074..d86ebbca7a520834d183efba61b80c91849626e5 100644
--- a/go.mod
+++ b/go.mod
@@ -11,7 +11,7 @@ require (
 	github.com/spf13/cobra v1.7.0
 	github.com/spf13/jwalterweatherman v1.1.0
 	github.com/stretchr/testify v1.8.2
-	gitlab.com/elixxir/client/v4 v4.6.4-0.20230629162711-75dd1b813844
+	gitlab.com/elixxir/client/v4 v4.6.4-0.20230629182558-519cc3467eae
 	gitlab.com/elixxir/crypto v0.0.7-0.20230614183801-387e0cb8e76f
 	gitlab.com/elixxir/primitives v0.0.3-0.20230613193928-8cf8bdd777ef
 	gitlab.com/elixxir/wasm-utils v0.0.0-20230615222914-185dd3a6fa08
diff --git a/go.sum b/go.sum
index 0f09ac90a92531e763c37d798f4c47b0e85b7611..62dc3b0766e9bbe7df9835c5327df19063f62d33 100644
--- a/go.sum
+++ b/go.sum
@@ -411,8 +411,8 @@ github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo=
 github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4=
 gitlab.com/elixxir/bloomfilter v0.0.0-20230322223210-fa84f6842de8 h1:uAFCyBkXprQoPkcDDfxXtaMyL5x+xSGrAWzR907xROQ=
 gitlab.com/elixxir/bloomfilter v0.0.0-20230322223210-fa84f6842de8/go.mod h1:1X8gRIAPDisS3W6Vtr/ymiUmZMJUIwDV1o5DEOo/pzw=
-gitlab.com/elixxir/client/v4 v4.6.4-0.20230629162711-75dd1b813844 h1:rIhR/CS72RIF/v8enzKWmTL5/jTNfOgcFpx3zF1LvM8=
-gitlab.com/elixxir/client/v4 v4.6.4-0.20230629162711-75dd1b813844/go.mod h1:wSeJ9pk+qqUrKHwhd4qZW1CnNlakK75n+1fOjJ7k1Ns=
+gitlab.com/elixxir/client/v4 v4.6.4-0.20230629182558-519cc3467eae h1:iuBqvgvLcvS6CpE/if4ExzB/X3N+mGHUkiL8vz/VF9M=
+gitlab.com/elixxir/client/v4 v4.6.4-0.20230629182558-519cc3467eae/go.mod h1:wSeJ9pk+qqUrKHwhd4qZW1CnNlakK75n+1fOjJ7k1Ns=
 gitlab.com/elixxir/comms v0.0.4-0.20230613220741-7de1d2ca4a1c h1:0TpLn4AdarrqCwUMvnz4Md+9gLyk9wrQ73J3W9U5zJo=
 gitlab.com/elixxir/comms v0.0.4-0.20230613220741-7de1d2ca4a1c/go.mod h1:z+qW0D9VpY5QKTd7wRlb5SK4kBNqLYsa4DXBcUXue9Q=
 gitlab.com/elixxir/crypto v0.0.7-0.20230614183801-387e0cb8e76f h1:T0Jvhq5nCELiwkVr07Ti/Ew9ICdexviYeCkFV19kk9A=
diff --git a/main.go b/main.go
index a54e4b860f472c6408a3eca8de7ed6487d8a968e..470740cfec9e85dda4eedb5de36b32854b26e27f 100644
--- a/main.go
+++ b/main.go
@@ -127,6 +127,7 @@ func setGlobals() {
 		js.FuncOf(wasm.NewChannelsManagerWithIndexedDbUnsafe))
 	js.Global().Set("DecodePublicURL", js.FuncOf(wasm.DecodePublicURL))
 	js.Global().Set("DecodePrivateURL", js.FuncOf(wasm.DecodePrivateURL))
+	js.Global().Set("DecodeInviteURL", js.FuncOf(wasm.DecodeInviteURL))
 	js.Global().Set("GetChannelJSON", js.FuncOf(wasm.GetChannelJSON))
 	js.Global().Set("GetChannelInfo", js.FuncOf(wasm.GetChannelInfo))
 	js.Global().Set("GetShareUrlType", js.FuncOf(wasm.GetShareUrlType))
diff --git a/wasm/channels.go b/wasm/channels.go
index 6472b9a0e635d254f82d9439d0f4083c798b877a..6b99feb119bffe5c79b4715adab08d14ccb7bd45 100644
--- a/wasm/channels.go
+++ b/wasm/channels.go
@@ -445,8 +445,7 @@ func NewChannelsManagerWithIndexedDbUnsafe(_ js.Value, args []js.Value) any {
 
 func newChannelsManagerWithIndexedDb(cmixID int, wasmJsPath string,
 	privateIdentity, extensionBuilderIDsJSON []byte, notificationsID int,
-	channelsCbs channels.ChannelUICallbacks,
-	cipher *DbCipher) any {
+	channelsCbs bindings.ChannelUICallbacks, cipher *DbCipher) any {
 
 	model := channelsDb.NewWASMEventModelBuilder(
 		wasmJsPath, cipher.api, channelsCbs)
@@ -558,8 +557,8 @@ func LoadChannelsManagerWithIndexedDbUnsafe(_ js.Value, args []js.Value) any {
 }
 
 func loadChannelsManagerWithIndexedDb(cmixID int, wasmJsPath, storageTag string,
-	extensionBuilderIDsJSON []byte, notificationsID int, channelsCbs channels.ChannelUICallbacks,
-	cipher *DbCipher) any {
+	extensionBuilderIDsJSON []byte, notificationsID int,
+	channelsCbs bindings.ChannelUICallbacks, cipher *DbCipher) any {
 
 	model := channelsDb.NewWASMEventModelBuilder(
 		wasmJsPath, cipher.api, channelsCbs)