forked from cwtch.im/libcwtch-go
Move profile image launching to ProtocolEngineStart event
This commit is contained in:
parent
e12cb2c965
commit
ff20656e22
2
go.mod
2
go.mod
|
@ -3,7 +3,7 @@ module git.openprivacy.ca/cwtch.im/libcwtch-go
|
||||||
go 1.17
|
go 1.17
|
||||||
|
|
||||||
require (
|
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/cwtch.im/server v1.4.5
|
||||||
git.openprivacy.ca/openprivacy/connectivity v1.8.6
|
git.openprivacy.ca/openprivacy/connectivity v1.8.6
|
||||||
git.openprivacy.ca/openprivacy/log v1.0.3
|
git.openprivacy.ca/openprivacy/log v1.0.3
|
||||||
|
|
2
go.sum
2
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.6/go.mod h1:h8S7EgEM+8pE1k+XLB5jAFdIPlOzwoXEY0GH5mQye5A=
|
||||||
cwtch.im/cwtch v0.18.7 h1:ysE1kjy4oTF+VaQrkNdwdEs6rklWGOe9Dp8rlu9VDKI=
|
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.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-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns=
|
||||||
filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek=
|
filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek=
|
||||||
filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns=
|
filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns=
|
||||||
|
|
|
@ -99,7 +99,6 @@ func (eh *EventHandler) handleAppBusEvent(e *event.Event) string {
|
||||||
}
|
}
|
||||||
if newAcnStatus == 100 {
|
if newAcnStatus == 100 {
|
||||||
if acnStatus != 100 {
|
if acnStatus != 100 {
|
||||||
settings := ReadGlobalSettings()
|
|
||||||
// just came online
|
// just came online
|
||||||
doServers := false
|
doServers := false
|
||||||
if _, err := groups.ExperimentGate(ReadGlobalSettings().Experiments); err == nil {
|
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)
|
autostart, exists := profile.GetScopedZonedAttribute(attr.LocalScope, attr.ProfileZone, constants2.PeerAutostart)
|
||||||
if !exists || autostart == "true" {
|
if !exists || autostart == "true" {
|
||||||
eh.app.ActivatePeerEngine(onion, true, true, doServers)
|
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()
|
eh.api.LaunchServers()
|
||||||
|
@ -141,7 +124,6 @@ func (eh *EventHandler) handleAppBusEvent(e *event.Event) string {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
acnStatus = newAcnStatus
|
acnStatus = newAcnStatus
|
||||||
|
|
||||||
case event.NewPeer:
|
case event.NewPeer:
|
||||||
onion := e.Data[event.Identity]
|
onion := e.Data[event.Identity]
|
||||||
profile := eh.app.GetPeer(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)
|
associatedGroupsJson, _ := json.Marshal(associatedGroups)
|
||||||
ev.Event.Data[event.Data] = string(associatedGroupsJson)
|
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.FileDownloadProgressUpdate, q)
|
||||||
eventBus.Subscribe(event.FileDownloaded, q)
|
eventBus.Subscribe(event.FileDownloaded, q)
|
||||||
eventBus.Subscribe(event.TokenManagerInfo, q)
|
eventBus.Subscribe(event.TokenManagerInfo, q)
|
||||||
|
eventBus.Subscribe(event.ProtocolEngineCreated, q)
|
||||||
go eh.forwardProfileMessages(onion, q)
|
go eh.forwardProfileMessages(onion, q)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue