diff --git a/go.mod b/go.mod index e1ddd0e..11ca3b8 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module git.openprivacy.ca/cwtch.im/libcwtch-go go 1.17 require ( - cwtch.im/cwtch v0.18.7 + cwtch.im/cwtch v0.18.8 git.openprivacy.ca/cwtch.im/server v1.4.5 git.openprivacy.ca/openprivacy/connectivity v1.8.6 git.openprivacy.ca/openprivacy/log v1.0.3 diff --git a/go.sum b/go.sum index 9452a81..1068809 100644 --- a/go.sum +++ b/go.sum @@ -9,6 +9,8 @@ cwtch.im/cwtch v0.18.6 h1:CRwoZ/H7y1rAp6jrYh6YCIILU+Sw59hJUvHaWqPgBjg= cwtch.im/cwtch v0.18.6/go.mod h1:h8S7EgEM+8pE1k+XLB5jAFdIPlOzwoXEY0GH5mQye5A= cwtch.im/cwtch v0.18.7 h1:ysE1kjy4oTF+VaQrkNdwdEs6rklWGOe9Dp8rlu9VDKI= cwtch.im/cwtch v0.18.7/go.mod h1:h8S7EgEM+8pE1k+XLB5jAFdIPlOzwoXEY0GH5mQye5A= +cwtch.im/cwtch v0.18.8 h1:D5mmsBkmHhE7jhRodZG2DtdaxmfvdvLG0W7CAPBf7eo= +cwtch.im/cwtch v0.18.8/go.mod h1:h8S7EgEM+8pE1k+XLB5jAFdIPlOzwoXEY0GH5mQye5A= filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= diff --git a/utils/eventHandler.go b/utils/eventHandler.go index c1413d9..ff0946b 100644 --- a/utils/eventHandler.go +++ b/utils/eventHandler.go @@ -99,7 +99,6 @@ func (eh *EventHandler) handleAppBusEvent(e *event.Event) string { } if newAcnStatus == 100 { if acnStatus != 100 { - settings := ReadGlobalSettings() // just came online doServers := false if _, err := groups.ExperimentGate(ReadGlobalSettings().Experiments); err == nil { @@ -111,22 +110,6 @@ func (eh *EventHandler) handleAppBusEvent(e *event.Event) string { autostart, exists := profile.GetScopedZonedAttribute(attr.LocalScope, attr.ProfileZone, constants2.PeerAutostart) if !exists || autostart == "true" { eh.app.ActivatePeerEngine(onion, true, true, doServers) - - // Now that the Peer Engine is Activated, Share Files - key, exists := profile.GetScopedZonedAttribute(attr.PublicScope, attr.ProfileZone, constants.CustomProfileImageKey) - if exists { - serializedManifest, _ := profile.GetScopedZonedAttribute(attr.ConversationScope, attr.FilesharingZone, fmt.Sprintf("%s.manifest", key)) - // reset the share timestamp, currently file shares are hardcoded to expire after 30 days... - // we reset the profile image here so that it is always available. - profile.SetScopedZonedAttribute(attr.LocalScope, attr.FilesharingZone, fmt.Sprintf("%s.ts", key), strconv.FormatInt(time.Now().Unix(), 10)) - log.Debugf("Custom Profile Image: %v %s", e.Data[constants2.Picture], key, serializedManifest) - } - // If file sharing is enabled then reshare all active files... - fsf, err := filesharing.FunctionalityGate(settings.Experiments) - if err == nil { - fsf.ReShareFiles(profile) - } - } } eh.api.LaunchServers() @@ -141,7 +124,6 @@ func (eh *EventHandler) handleAppBusEvent(e *event.Event) string { } } acnStatus = newAcnStatus - case event.NewPeer: onion := e.Data[event.Identity] profile := eh.app.GetPeer(e.Data[event.Identity]) @@ -626,6 +608,23 @@ func (eh *EventHandler) handleProfileEvent(ev *EventProfileEnvelope) string { associatedGroupsJson, _ := json.Marshal(associatedGroups) ev.Event.Data[event.Data] = string(associatedGroupsJson) } + case event.ProtocolEngineCreated: + // TODO this code should be moved into Cwtch during the API officialization... + settings := ReadGlobalSettings() + // Now that the Peer Engine is Activated, Share Files + key, exists := profile.GetScopedZonedAttribute(attr.PublicScope, attr.ProfileZone, constants.CustomProfileImageKey) + if exists { + serializedManifest, _ := profile.GetScopedZonedAttribute(attr.ConversationScope, attr.FilesharingZone, fmt.Sprintf("%s.manifest", key)) + // reset the share timestamp, currently file shares are hardcoded to expire after 30 days... + // we reset the profile image here so that it is always available. + profile.SetScopedZonedAttribute(attr.LocalScope, attr.FilesharingZone, fmt.Sprintf("%s.ts", key), strconv.FormatInt(time.Now().Unix(), 10)) + log.Debugf("Custom Profile Image: %v %s", key, serializedManifest) + } + // If file sharing is enabled then reshare all active files... + fsf, err := filesharing.FunctionalityGate(settings.Experiments) + if err == nil { + fsf.ReShareFiles(profile) + } } } @@ -667,7 +666,7 @@ func (eh *EventHandler) startHandlingPeer(onion string) { eventBus.Subscribe(event.FileDownloadProgressUpdate, q) eventBus.Subscribe(event.FileDownloaded, q) eventBus.Subscribe(event.TokenManagerInfo, q) - + eventBus.Subscribe(event.ProtocolEngineCreated, q) go eh.forwardProfileMessages(onion, q) }