Skip to content
Snippets Groups Projects
Commit 710f0fb4 authored by Jono Wenger's avatar Jono Wenger Committed by Jake Taylor
Browse files

XX-4679 / Fix extension loading for channels

parent d192817b
No related branches found
No related tags found
4 merge requests!119Hotfix/merge conflicts,!118Hotfix/merge conflicts,!117XX-4679 / Fix extension loading for channels,!67fix for latest client release
......@@ -6,9 +6,10 @@ require (
github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2
github.com/hack-pad/go-indexeddb v0.2.0
github.com/pkg/errors v0.9.1
github.com/spf13/cobra v1.7.0
github.com/spf13/jwalterweatherman v1.1.0
gitlab.com/elixxir/client/v4 v4.6.3
gitlab.com/elixxir/crypto v0.0.7-0.20230413162806-a99ec4bfea32
gitlab.com/elixxir/client/v4 v4.6.4-0.20230522171719-e18201456b7f
gitlab.com/elixxir/crypto v0.0.7-0.20230512203519-3aad22b6413b
gitlab.com/elixxir/primitives v0.0.3-0.20230214180039-9a25e2d3969c
gitlab.com/xx_network/crypto v0.0.5-0.20230214003943-8a09396e95dd
gitlab.com/xx_network/primitives v0.0.4-0.20230310205521-c440e68e34c4
......@@ -24,12 +25,10 @@ require (
github.com/cloudflare/circl v1.2.0 // indirect
github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect
github.com/elliotchance/orderedmap v1.4.0 // indirect
github.com/fsnotify/fsnotify v1.5.4 // indirect
github.com/gobwas/ws v1.1.0 // indirect
github.com/golang-collections/collections v0.0.0-20130729185459-604e922904d3 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/gorilla/websocket v1.5.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/improbable-eng/grpc-web v0.15.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jinzhu/inflection v1.0.0 // indirect
......@@ -37,34 +36,24 @@ require (
github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/compress v1.15.9 // indirect
github.com/klauspost/cpuid/v2 v2.1.0 // indirect
github.com/magiconair/properties v1.8.6 // indirect
github.com/mattn/go-isatty v0.0.14 // indirect
github.com/mattn/go-sqlite3 v1.14.15 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 // indirect
github.com/oasisprotocol/curve25519-voi v0.0.0-20221003100820-41fad3beba17 // indirect
github.com/oasisprotocol/deoxysii v0.0.0-20220228165953-2091330c22b7 // indirect
github.com/pelletier/go-toml v1.9.5 // indirect
github.com/pelletier/go-toml/v2 v2.0.2 // indirect
github.com/pkg/profile v1.6.0 // indirect
github.com/rs/cors v1.8.2 // indirect
github.com/sethvargo/go-diceware v0.3.0 // indirect
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e // indirect
github.com/soheilhy/cmux v0.1.5 // indirect
github.com/spf13/afero v1.9.2 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/cobra v1.7.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/spf13/viper v1.12.0 // indirect
github.com/subosito/gotenv v1.4.0 // indirect
github.com/ttacon/builder v0.0.0-20170518171403-c099f663e1c2 // indirect
github.com/ttacon/libphonenumber v1.2.1 // indirect
github.com/tyler-smith/go-bip39 v1.1.0 // indirect
github.com/zeebo/blake3 v0.2.3 // indirect
gitlab.com/elixxir/bloomfilter v0.0.0-20230315224936-a4459418f300 // indirect
gitlab.com/elixxir/comms v0.0.4-0.20230310205528-f06faa0d2f0b // indirect
gitlab.com/elixxir/ekv v0.2.1 // indirect
gitlab.com/elixxir/ekv v0.2.2 // indirect
gitlab.com/xx_network/comms v0.0.4-0.20230214180029-5387fb85736d // indirect
gitlab.com/xx_network/ring v0.0.3-0.20220902183151-a7d3b15bc981 // indirect
gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec // indirect
......@@ -78,9 +67,6 @@ require (
google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc // indirect
google.golang.org/grpc v1.49.0 // indirect
google.golang.org/protobuf v1.28.1 // indirect
gopkg.in/ini.v1 v1.66.6 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
gorm.io/driver/sqlite v1.4.4 // indirect
gorm.io/gorm v1.24.3 // indirect
nhooyr.io/websocket v1.8.7 // indirect
......
This diff is collapsed.
......@@ -256,13 +256,13 @@ func GetPublicChannelIdentityFromPrivate(_ js.Value, args []js.Value) any {
// using [Cmix.GetID].
// - args[1] - Bytes of a private identity ([channel.PrivateIdentity]) that is
// generated by [GenerateChannelIdentity] (Uint8Array).
// - args[2] - JSON of an array of integers of [channels.ExtensionBuilder]
// - args[2] - A function that initialises and returns a Javascript object
// that matches the [bindings.EventModel] interface. The function must match
// the Build function in [bindings.EventModelBuilder].
// - args[3] - JSON of an array of integers of [channels.ExtensionBuilder]
// IDs. The ID can be retrieved from an object with an extension builder
// (e.g., [ChannelsFileTransfer.GetExtensionBuilderID]). Leave empty if not
// using extension builders. Example: `[2,11,5]` (Uint8Array).
// - args[3] - A function that initialises and returns a Javascript object
// that matches the [bindings.EventModel] interface. The function must match
// the Build function in [bindings.EventModelBuilder].
//
// Returns:
// - Javascript representation of the [ChannelsManager] object.
......@@ -270,11 +270,11 @@ func GetPublicChannelIdentityFromPrivate(_ js.Value, args []js.Value) any {
func NewChannelsManager(_ js.Value, args []js.Value) any {
cmixId := args[0].Int()
privateIdentity := utils.CopyBytesToGo(args[1])
extensionBuilderIDsJSON := utils.CopyBytesToGo(args[2])
em := newEventModelBuilder(args[3])
em := newEventModelBuilder(args[2])
extensionBuilderIDsJSON := utils.CopyBytesToGo(args[3])
cm, err := bindings.NewChannelsManager(
cmixId, privateIdentity, extensionBuilderIDsJSON, em)
cmixId, privateIdentity, em, extensionBuilderIDsJSON)
if err != nil {
utils.Throw(utils.TypeError, err)
return nil
......@@ -296,16 +296,24 @@ func NewChannelsManager(_ js.Value, args []js.Value) any {
// using [Cmix.GetID].
// - args[1] - The storage tag associated with the previously created channel
// manager and retrieved with [ChannelsManager.GetStorageTag] (string).
// - args[2] - A function that initialises and returns a Javascript object
// - args[2] - A function that initializes and returns a Javascript object
// that matches the [bindings.EventModel] interface. The function must match
// the Build function in [bindings.EventModelBuilder].
// - args[3] - JSON of an array of integers of [channels.ExtensionBuilder]
// IDs. The ID can be retrieved from an object with an extension builder
// (e.g., [ChannelsFileTransfer.GetExtensionBuilderID]). Leave empty if not
// using extension builders. Example: `[2,11,5]`.
//
// Returns:
// - Javascript representation of the [ChannelsManager] object.
// - Throws a TypeError if loading the manager fails.
func LoadChannelsManager(_ js.Value, args []js.Value) any {
cmixID := args[0].Int()
storageTag := args[1].String()
em := newEventModelBuilder(args[2])
cm, err := bindings.LoadChannelsManager(args[0].Int(), args[1].String(), em)
extensionBuilderIDsJSON := utils.CopyBytesToGo(args[3])
cm, err := bindings.LoadChannelsManager(
cmixID, storageTag, em, extensionBuilderIDsJSON)
if err != nil {
utils.Throw(utils.TypeError, err)
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