Skip to content

Commit 1ca165c

Browse files
authored
Add preview and counters for CR system messages #16898 (#3872)
1 parent 52fb1cd commit 1ca165c

File tree

3 files changed

+26
-6
lines changed

3 files changed

+26
-6
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.163.6
1+
0.163.7

protocol/messenger_contacts.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,10 @@ func (m *Messenger) addContact(ctx context.Context, pubKey, ensName, nickname, d
494494
return nil, err
495495
}
496496
response.AddMessage(updateMessage)
497+
err = chat.UpdateFromMessage(updateMessage, m.getTimesource())
498+
if err != nil {
499+
return nil, err
500+
}
497501
response.AddChat(chat)
498502
}
499503

@@ -628,6 +632,10 @@ func (m *Messenger) removeContact(ctx context.Context, response *MessengerRespon
628632
return err
629633
}
630634
response.AddMessage(updateMessage)
635+
err = chat.UpdateFromMessage(updateMessage, m.getTimesource())
636+
if err != nil {
637+
return err
638+
}
631639
response.AddChat(chat)
632640

633641
// Next we retract a contact request

protocol/messenger_handler.go

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -938,6 +938,11 @@ func (m *Messenger) handleAcceptContactRequestMessage(state *ReceivedMessageStat
938938
}
939939
state.Response.AddMessage(updateMessage)
940940

941+
err = chat.UpdateFromMessage(updateMessage, m.getTimesource())
942+
if err != nil {
943+
return err
944+
}
945+
chat.UnviewedMessagesCount++
941946
state.Response.AddChat(chat)
942947
state.AllChats.Store(chat.ID, chat)
943948
}
@@ -974,7 +979,7 @@ func (m *Messenger) HandleAcceptContactRequest(state *ReceivedMessageState, mess
974979
return nil
975980
}
976981

977-
func (m *Messenger) handleRetractContactRequest(response *MessengerResponse, contact *Contact, message protobuf.RetractContactRequest) error {
982+
func (m *Messenger) handleRetractContactRequest(state *ReceivedMessageState, contact *Contact, message protobuf.RetractContactRequest) error {
978983
if contact.ID == m.myHexIdentity() {
979984
m.logger.Debug("retraction coming from us, ignoring")
980985
return nil
@@ -992,6 +997,7 @@ func (m *Messenger) handleRetractContactRequest(response *MessengerResponse, con
992997
if err != nil {
993998
return err
994999
}
1000+
9951001
timestamp := m.getTimesource().GetCurrentTime()
9961002
updateMessage, err := m.prepareMutualStateUpdateMessage(contact.ID, MutualStateUpdateTypeRemoved, clock, timestamp, false)
9971003
if err != nil {
@@ -1003,8 +1009,14 @@ func (m *Messenger) handleRetractContactRequest(response *MessengerResponse, con
10031009
if err != nil {
10041010
return err
10051011
}
1006-
response.AddMessage(updateMessage)
1007-
response.AddChat(chat)
1012+
state.Response.AddMessage(updateMessage)
1013+
1014+
err = chat.UpdateFromMessage(updateMessage, m.getTimesource())
1015+
if err != nil {
1016+
return err
1017+
}
1018+
chat.UnviewedMessagesCount++
1019+
state.Response.AddChat(chat)
10081020

10091021
notification := &ActivityCenterNotification{
10101022
ID: types.FromHex(uuid.New().String()),
@@ -1017,7 +1029,7 @@ func (m *Messenger) handleRetractContactRequest(response *MessengerResponse, con
10171029
UpdatedAt: m.getCurrentTimeInMillis(),
10181030
}
10191031

1020-
err = m.addActivityCenterNotification(response, notification)
1032+
err = m.addActivityCenterNotification(state.Response, notification)
10211033
if err != nil {
10221034
m.logger.Warn("failed to create activity center notification", zap.Error(err))
10231035
return err
@@ -1030,7 +1042,7 @@ func (m *Messenger) handleRetractContactRequest(response *MessengerResponse, con
10301042

10311043
func (m *Messenger) HandleRetractContactRequest(state *ReceivedMessageState, message protobuf.RetractContactRequest) error {
10321044
contact := state.CurrentMessageState.Contact
1033-
err := m.handleRetractContactRequest(state.Response, contact, message)
1045+
err := m.handleRetractContactRequest(state, contact, message)
10341046
if err != nil {
10351047
return err
10361048
}

0 commit comments

Comments
 (0)