Merge branch 'trunk' of git.openprivacy.ca:cwtch.im/libcwtch-go into filesharing
continuous-integration/drone/pr Build is pending Details

This commit is contained in:
erinn 2021-09-23 13:50:28 -07:00
commit a770de3aed
3 changed files with 20 additions and 6 deletions

9
lib.go
View File

@ -599,9 +599,12 @@ func GetMessagesByContentHash(profileOnion, handle string, contentHash string) s
profile := application.GetPeer(profileOnion)
ph := utils.NewPeerHelper(profile)
var err error
indexedMessages, err = ph.GetTimeline(handle).GetMessagesByHash(contentHash)
if err != nil {
indexedMessages = []model.LocallyIndexedMessage{}
timeline := ph.GetTimeline(handle)
if timeline != nil {
indexedMessages, err = timeline.GetMessagesByHash(contentHash)
if err != nil {
indexedMessages = []model.LocallyIndexedMessage{}
}
}
}
bytes, _ := json.Marshal(indexedMessages)

View File

@ -36,7 +36,8 @@ func (p *PeerHelper) IsServer(id string) bool {
return ok
}
// GetTimeline returns a pointer to the timeline associated with the conversation handle
// GetTimeline returns a pointer to the timeline associated with the conversation handle or nil if the handle
// does not exist (this can happen if the conversation has been deleted)
func (p *PeerHelper) GetTimeline(handle string) *model.Timeline {
if p.IsServer(handle) {
// This should *never* happen
@ -45,9 +46,17 @@ func (p *PeerHelper) GetTimeline(handle string) *model.Timeline {
}
// We return a pointer to the timeline to avoid copying, accessing Timeline is thread-safe
if p.IsGroup(handle) {
return &p.peer.GetGroup(handle).Timeline
group := p.peer.GetGroup(handle)
if group == nil {
return nil
}
return &group.Timeline
}
return &p.peer.GetContact(handle).Timeline
contact := p.peer.GetContact(handle)
if contact == nil {
return nil
}
return &contact.Timeline
}
/*

View File

@ -31,6 +31,7 @@ type GlobalSettings struct {
ExperimentsEnabled bool
Experiments map[string]bool
BlockUnknownConnections bool
StreamerMode bool
StateRootPane int
FirstTime bool
UIColumnModePortrait string
@ -46,6 +47,7 @@ var DefaultGlobalSettings = GlobalSettings{
StateRootPane: 0,
FirstTime: true,
BlockUnknownConnections: false,
StreamerMode: false,
UIColumnModePortrait: "DualpaneMode.Single",
UIColumnModeLandscape: "DualpaneMode.CopyPortrait",
}