From 9a764b5b359f9599c046ca3e8da5c80ff46e3031 Mon Sep 17 00:00:00 2001 From: Sarah Jamie Lewis Date: Thu, 17 Jun 2021 13:48:59 -0700 Subject: [PATCH] Fix import bundle for groups to auto accept --- features/groups/group_functionality.go | 10 +++++++--- lib.go | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/features/groups/group_functionality.go b/features/groups/group_functionality.go index d62a361..9a33418 100644 --- a/features/groups/group_functionality.go +++ b/features/groups/group_functionality.go @@ -91,7 +91,6 @@ func (gf *GroupFunctionality) GetServerInfo(serverOnion string, profile peer.Rea // HandleImportString handles import strings for groups and servers func (gf *GroupFunctionality) HandleImportString(peer peer.CwtchPeer, importString string) error { - if strings.HasPrefix(importString, tofuBundlePrefix) { bundle := strings.Split(importString, "||") if len(bundle) == 2 { @@ -114,10 +113,15 @@ func (gf *GroupFunctionality) HandleImportString(peer peer.CwtchPeer, importStri return features.ConstructResponse(importBundlePrefix, err.Error()) } else if strings.HasPrefix(importString, groupPrefix) { //eg: torv3JFDWkXExBsZLkjvfkkuAxHsiLGZBk0bvoeJID9ItYnU=EsEBCiBhOWJhZDU1OTQ0NWI3YmM2N2YxYTM5YjkzMTNmNTczNRIgpHeNaG+6jy750eDhwLO39UX4f2xs0irK/M3P6mDSYQIaOTJjM2ttb29ibnlnaGoyenc2cHd2N2Q1N3l6bGQ3NTNhdW8zdWdhdWV6enB2ZmFrM2FoYzRiZHlkCiJAdVSSVgsksceIfHe41OJu9ZFHO8Kwv3G6F5OK3Hw4qZ6hn6SiZjtmJlJezoBH0voZlCahOU7jCOg+dsENndZxAA== - if _, err := peer.ImportGroup(importString); err != nil { + if gid, err := peer.ImportGroup(importString); err != nil { return features.ConstructResponse(importBundlePrefix, err.Error()) + } else { + // Auto accept the group here. + if peer.AcceptInvite(gid) != nil { + log.Errorf("Error accepting invite: %v", err) + } + return features.ConstructResponse(importBundlePrefix, "success") } - return features.ConstructResponse(importBundlePrefix, "success") } return features.ConstructResponse(importBundlePrefix, "invalid_group_invite_prefix") } diff --git a/lib.go b/lib.go index c2b5952..0e6c35d 100644 --- a/lib.go +++ b/lib.go @@ -694,7 +694,7 @@ func ImportBundle(profileOnion string, bundle string) { serverListForOnion := groupHandler.GetServerInfoList(profile) serversListBytes, _ := json.Marshal(serverListForOnion) eventHandler.Push(event.NewEvent(groups.UpdateServerInfo, map[event.Field]string{"ProfileOnion": profileOnion, groups.ServerList: string(serversListBytes)})) - + return } } eventHandler.Push(event.NewEvent(event.AppError, map[event.Field]string{event.Data: response.Error()})) -- 2.25.1