upgrade cwtch
continuous-integration/drone/pr Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
This commit is contained in:
parent
0f5d0389ca
commit
a3e3c221ca
2
go.mod
2
go.mod
|
@ -3,7 +3,7 @@ module git.openprivacy.ca/cwtch.im/libcwtch-go
|
||||||
go 1.15
|
go 1.15
|
||||||
|
|
||||||
require (
|
require (
|
||||||
cwtch.im/cwtch v0.12.0
|
cwtch.im/cwtch v0.12.2
|
||||||
git.openprivacy.ca/openprivacy/connectivity v1.5.0
|
git.openprivacy.ca/openprivacy/connectivity v1.5.0
|
||||||
git.openprivacy.ca/openprivacy/log v1.0.3
|
git.openprivacy.ca/openprivacy/log v1.0.3
|
||||||
golang.org/x/mobile v0.0.0-20210716004757-34ab1303b554 // indirect
|
golang.org/x/mobile v0.0.0-20210716004757-34ab1303b554 // indirect
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -2,6 +2,10 @@ cwtch.im/cwtch v0.11.2 h1:a38zZLSNsKJzLStBDOIoYKKIL56V9ueQvOZfnIEVc5I=
|
||||||
cwtch.im/cwtch v0.11.2/go.mod h1:QpTkQK7MqNt0dQK9/pBk5VpkvFhy6xuoxJIn401B8fM=
|
cwtch.im/cwtch v0.11.2/go.mod h1:QpTkQK7MqNt0dQK9/pBk5VpkvFhy6xuoxJIn401B8fM=
|
||||||
cwtch.im/cwtch v0.12.0 h1:hEMee2/2s4kUwukGCTBpGww/KfrsE84e9tOLnM8lM78=
|
cwtch.im/cwtch v0.12.0 h1:hEMee2/2s4kUwukGCTBpGww/KfrsE84e9tOLnM8lM78=
|
||||||
cwtch.im/cwtch v0.12.0/go.mod h1:QpTkQK7MqNt0dQK9/pBk5VpkvFhy6xuoxJIn401B8fM=
|
cwtch.im/cwtch v0.12.0/go.mod h1:QpTkQK7MqNt0dQK9/pBk5VpkvFhy6xuoxJIn401B8fM=
|
||||||
|
cwtch.im/cwtch v0.12.1 h1:3+OZtzZ9Kg+3Es/ntyPeg7Ku9XzOlSXcvC6rdezmuIM=
|
||||||
|
cwtch.im/cwtch v0.12.1/go.mod h1:QpTkQK7MqNt0dQK9/pBk5VpkvFhy6xuoxJIn401B8fM=
|
||||||
|
cwtch.im/cwtch v0.12.2 h1:I+ndKadCRCITw4SPbd+1cpRv+z/7iHjjTUv8OzRwTrE=
|
||||||
|
cwtch.im/cwtch v0.12.2/go.mod h1:QpTkQK7MqNt0dQK9/pBk5VpkvFhy6xuoxJIn401B8fM=
|
||||||
filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU=
|
filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU=
|
||||||
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=
|
||||||
git.openprivacy.ca/cwtch.im/tapir v0.4.9 h1:LXonlztwvI1F1++0IyomIcDH1/Bxzo+oN8YjGonNvjM=
|
git.openprivacy.ca/cwtch.im/tapir v0.4.9 h1:LXonlztwvI1F1++0IyomIcDH1/Bxzo+oN8YjGonNvjM=
|
||||||
|
|
13
lib.go
13
lib.go
|
@ -866,16 +866,19 @@ func c_SetProfileAttribute(profile_ptr *C.char, profile_len C.int, key_ptr *C.ch
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetProfileAttribute provides a wrapper around profile.SetScopedZonedAttribute
|
// SetProfileAttribute provides a wrapper around profile.SetScopedZonedAttribute
|
||||||
|
// WARNING: Because this function is potentially dangerous all keys and zones must be added
|
||||||
|
// explicitly. If you are attempting to added behaviour to the UI that requires the existence of new keys
|
||||||
|
// you probably want to be building out functionality/subsystem in the UI itself.
|
||||||
// Key must have the format zone.key where Zone is defined in Cwtch. Unknown zones are not permitted.
|
// Key must have the format zone.key where Zone is defined in Cwtch. Unknown zones are not permitted.
|
||||||
func SetProfileAttribute(profileOnion string, key string, value string) {
|
func SetProfileAttribute(profileOnion string, key string, value string) {
|
||||||
profile := application.GetPeer(profileOnion)
|
profile := application.GetPeer(profileOnion)
|
||||||
|
|
||||||
zone, key := attr.ParseZone(key)
|
zone, key := attr.ParseZone(key)
|
||||||
if zone != attr.UnknownZone {
|
|
||||||
// TODO: We only allow Locally scoped attributes to be set here.
|
// TODO We only allow public.profile.zone to be set for now.
|
||||||
// To set a publicly scoped zone you need to write a dedicated handler/functionality
|
// All other scopes and zones need to be added explicitly or handled by Cwtch.
|
||||||
// And this probably belongs in Cwtch
|
if zone == attr.ProfileZone && key == constants.Name {
|
||||||
profile.SetScopedZonedAttribute(attr.LocalScope, zone, key, value)
|
profile.SetScopedZonedAttribute(attr.PublicScope, attr.ProfileZone, constants.Name, value)
|
||||||
} else {
|
} else {
|
||||||
log.Errorf("attempted to set an attribute with an unknown zone: %v", key)
|
log.Errorf("attempted to set an attribute with an unknown zone: %v", key)
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,8 +89,6 @@ func (eh *EventHandler) handleAppBusEvent(e *event.Event) string {
|
||||||
e.Data[constants.Tag] = tag
|
e.Data[constants.Tag] = tag
|
||||||
|
|
||||||
if e.Data[event.Created] == event.True {
|
if e.Data[event.Created] == event.True {
|
||||||
name, _ := profile.GetScopedZonedAttribute(attr.LocalScope, attr.ProfileZone, constants.Name)
|
|
||||||
profile.SetScopedZonedAttribute(attr.PublicScope, attr.ProfileZone, constants.Name, name)
|
|
||||||
profile.SetScopedZonedAttribute(attr.PublicScope, attr.ProfileZone, constants2.Picture, ImageToString(NewImage(RandomProfileImage(onion), TypeImageDistro)))
|
profile.SetScopedZonedAttribute(attr.PublicScope, attr.ProfileZone, constants2.Picture, ImageToString(NewImage(RandomProfileImage(onion), TypeImageDistro)))
|
||||||
}
|
}
|
||||||
if e.Data[event.Status] != event.StorageRunning || e.Data[event.Created] == event.True {
|
if e.Data[event.Status] != event.StorageRunning || e.Data[event.Created] == event.True {
|
||||||
|
@ -115,11 +113,6 @@ func (eh *EventHandler) handleAppBusEvent(e *event.Event) string {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
nick, exists := profile.GetScopedZonedAttribute(attr.LocalScope, attr.ProfileZone, constants.Name)
|
|
||||||
if !exists {
|
|
||||||
nick = onion
|
|
||||||
}
|
|
||||||
|
|
||||||
picVal, ok := profile.GetScopedZonedAttribute(attr.LocalScope, attr.ProfileZone, constants2.Picture)
|
picVal, ok := profile.GetScopedZonedAttribute(attr.LocalScope, attr.ProfileZone, constants2.Picture)
|
||||||
if !ok {
|
if !ok {
|
||||||
picVal = ImageToString(NewImage(RandomProfileImage(onion), TypeImageDistro))
|
picVal = ImageToString(NewImage(RandomProfileImage(onion), TypeImageDistro))
|
||||||
|
@ -131,12 +124,12 @@ func (eh *EventHandler) handleAppBusEvent(e *event.Event) string {
|
||||||
picPath := GetPicturePath(pic)
|
picPath := GetPicturePath(pic)
|
||||||
|
|
||||||
// Set publicly scopes attributes
|
// Set publicly scopes attributes
|
||||||
profile.SetScopedZonedAttribute(attr.PublicScope, attr.ProfileZone, constants.Name, nick)
|
|
||||||
profile.SetScopedZonedAttribute(attr.PublicScope, attr.ProfileZone, constants2.Picture, picPath)
|
profile.SetScopedZonedAttribute(attr.PublicScope, attr.ProfileZone, constants2.Picture, picPath)
|
||||||
|
|
||||||
online, _ := profile.GetScopedZonedAttribute(attr.LocalScope, attr.ProfileZone, constants2.PeerOnline)
|
online, _ := profile.GetScopedZonedAttribute(attr.LocalScope, attr.ProfileZone, constants2.PeerOnline)
|
||||||
|
|
||||||
e.Data[constants.Name] = nick
|
// Name always exists
|
||||||
|
e.Data[constants.Name], _ = profile.GetScopedZonedAttribute(attr.PublicScope, attr.ProfileZone, constants.Name)
|
||||||
e.Data[constants2.Picture] = picPath
|
e.Data[constants2.Picture] = picPath
|
||||||
e.Data["Online"] = online
|
e.Data["Online"] = online
|
||||||
|
|
||||||
|
|
Reference in New Issue