address feedback
This commit is contained in:
parent
9807c285e5
commit
29deacc2df
12
go.sum
12
go.sum
|
@ -1021,8 +1021,6 @@ golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCc
|
|||
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
|
||||
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
|
||||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
||||
golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd h1:ePuNC7PZ6O5BzgPn9bZayERXBdfZjUYoXEf5BTfDfh8=
|
||||
golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
|
@ -1060,8 +1058,9 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ
|
|||
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o=
|
||||
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
|
@ -1136,14 +1135,13 @@ golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtn
|
|||
golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191109212701-97ad0ed33101/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191216052735-49a3e744a425 h1:VvQyQJN0tSuecqgcIxMWnnfG5kSmgy9KZR9sW3W5QeA=
|
||||
golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
golang.org/x/tools v0.0.0-20200211045251-2de505fc5306 h1:5gd/+xxg4X7hx+44aG6Sdh17vBwwRFacMaSfqF4wkWk=
|
||||
golang.org/x/tools v0.0.0-20200211045251-2de505fc5306/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
|
||||
google.golang.org/api v0.3.2/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
|
||||
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
||||
|
|
|
@ -13,7 +13,8 @@ import (
|
|||
type EditMessage struct {
|
||||
protobuf.EditMessage
|
||||
|
||||
ID string `json:"id",omitempty"`
|
||||
// ID is the ID of the message that has been edited
|
||||
ID string `json:"id,omitempty"`
|
||||
|
||||
// From is a public key of the author of the edit reaction.
|
||||
From string `json:"from,omitempty"`
|
||||
|
|
|
@ -1216,14 +1216,18 @@ func (m *Messenger) CreateGroupChatWithMembers(ctx context.Context, name string,
|
|||
|
||||
chat.updateChatFromGroupMembershipChanges(group)
|
||||
|
||||
response.AddChat(&chat)
|
||||
response.AddMessages(buildSystemMessages(chat.MembershipUpdates, m.systemMessagesTranslations))
|
||||
err = m.persistence.SaveMessages(response.Messages())
|
||||
return m.addMessagesAndChat(&chat, buildSystemMessages(chat.MembershipUpdates, m.systemMessagesTranslations), &response)
|
||||
}
|
||||
|
||||
func (m *Messenger) addMessagesAndChat(chat *Chat, messages []*common.Message, response *MessengerResponse) (*MessengerResponse, error) {
|
||||
response.AddChat(chat)
|
||||
response.AddMessages(messages)
|
||||
err := m.persistence.SaveMessages(response.Messages())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &response, m.saveChat(&chat)
|
||||
return response, m.saveChat(chat)
|
||||
}
|
||||
|
||||
func (m *Messenger) CreateGroupChatFromInvitation(name string, chatID string, adminPK string) (*MessengerResponse, error) {
|
||||
|
@ -1291,14 +1295,7 @@ func (m *Messenger) RemoveMemberFromGroupChat(ctx context.Context, chatID string
|
|||
|
||||
chat.updateChatFromGroupMembershipChanges(group)
|
||||
|
||||
response.AddChat(chat)
|
||||
response.AddMessages(buildSystemMessages(chat.MembershipUpdates, m.systemMessagesTranslations))
|
||||
err = m.persistence.SaveMessages(response.Messages())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &response, m.saveChat(chat)
|
||||
return m.addMessagesAndChat(chat, buildSystemMessages(chat.MembershipUpdates, m.systemMessagesTranslations), &response)
|
||||
}
|
||||
|
||||
func (m *Messenger) AddMembersToGroupChat(ctx context.Context, chatID string, members []string) (*MessengerResponse, error) {
|
||||
|
@ -1377,14 +1374,7 @@ func (m *Messenger) AddMembersToGroupChat(ctx context.Context, chatID string, me
|
|||
|
||||
chat.updateChatFromGroupMembershipChanges(group)
|
||||
|
||||
response.AddChat(chat)
|
||||
response.AddMessages(buildSystemMessages([]v1protocol.MembershipUpdateEvent{event}, m.systemMessagesTranslations))
|
||||
err = m.persistence.SaveMessages(response.Messages())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &response, m.saveChat(chat)
|
||||
return m.addMessagesAndChat(chat, buildSystemMessages([]v1protocol.MembershipUpdateEvent{event}, m.systemMessagesTranslations), &response)
|
||||
}
|
||||
|
||||
func (m *Messenger) ChangeGroupChatName(ctx context.Context, chatID string, name string) (*MessengerResponse, error) {
|
||||
|
@ -1439,14 +1429,8 @@ func (m *Messenger) ChangeGroupChatName(ctx context.Context, chatID string, name
|
|||
chat.updateChatFromGroupMembershipChanges(group)
|
||||
|
||||
var response MessengerResponse
|
||||
response.AddChat(chat)
|
||||
response.AddMessages(buildSystemMessages([]v1protocol.MembershipUpdateEvent{event}, m.systemMessagesTranslations))
|
||||
err = m.persistence.SaveMessages(response.Messages())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &response, m.saveChat(chat)
|
||||
return m.addMessagesAndChat(chat, buildSystemMessages([]v1protocol.MembershipUpdateEvent{event}, m.systemMessagesTranslations), &response)
|
||||
}
|
||||
|
||||
func (m *Messenger) SendGroupChatInvitationRequest(ctx context.Context, chatID string, adminPK string,
|
||||
|
@ -1638,15 +1622,7 @@ func (m *Messenger) AddAdminsToGroupChat(ctx context.Context, chatID string, mem
|
|||
}
|
||||
|
||||
chat.updateChatFromGroupMembershipChanges(group)
|
||||
|
||||
response.AddChat(chat)
|
||||
response.AddMessages(buildSystemMessages([]v1protocol.MembershipUpdateEvent{event}, m.systemMessagesTranslations))
|
||||
err = m.persistence.SaveMessages(response.Messages())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &response, m.saveChat(chat)
|
||||
return m.addMessagesAndChat(chat, buildSystemMessages([]v1protocol.MembershipUpdateEvent{event}, m.systemMessagesTranslations), &response)
|
||||
}
|
||||
|
||||
func (m *Messenger) ConfirmJoiningGroup(ctx context.Context, chatID string) (*MessengerResponse, error) {
|
||||
|
@ -1703,14 +1679,7 @@ func (m *Messenger) ConfirmJoiningGroup(ctx context.Context, chatID string) (*Me
|
|||
chat.updateChatFromGroupMembershipChanges(group)
|
||||
chat.Joined = int64(m.getTimesource().GetCurrentTime())
|
||||
|
||||
response.AddChat(chat)
|
||||
response.AddMessages(buildSystemMessages([]v1protocol.MembershipUpdateEvent{event}, m.systemMessagesTranslations))
|
||||
err = m.persistence.SaveMessages(response.Messages())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &response, m.saveChat(chat)
|
||||
return m.addMessagesAndChat(chat, buildSystemMessages([]v1protocol.MembershipUpdateEvent{event}, m.systemMessagesTranslations), &response)
|
||||
}
|
||||
|
||||
func (m *Messenger) LeaveGroupChat(ctx context.Context, chatID string, remove bool) (*MessengerResponse, error) {
|
||||
|
@ -3013,7 +2982,9 @@ func (m *Messenger) handleRetrievedMessages(chatWithMessages map[transport.Filte
|
|||
|
||||
newMessagesIds := map[string]struct{}{}
|
||||
for _, message := range messagesToSave {
|
||||
newMessagesIds[message.ID] = struct{}{}
|
||||
if message.New {
|
||||
newMessagesIds[message.ID] = struct{}{}
|
||||
}
|
||||
}
|
||||
|
||||
messagesWithResponses, err := m.pullMessagesAndResponsesFromDB(messagesToSave)
|
||||
|
@ -3286,9 +3257,7 @@ func (m *Messenger) RequestTransaction(ctx context.Context, chatID, value, contr
|
|||
return nil, err
|
||||
}
|
||||
|
||||
response.AddChat(chat)
|
||||
response.AddMessages([]*common.Message{message})
|
||||
return &response, m.saveChat(chat)
|
||||
return m.addMessagesAndChat(chat, []*common.Message{message}, &response)
|
||||
}
|
||||
|
||||
func (m *Messenger) RequestAddressForTransaction(ctx context.Context, chatID, from, value, contract string) (*MessengerResponse, error) {
|
||||
|
@ -3360,9 +3329,7 @@ func (m *Messenger) RequestAddressForTransaction(ctx context.Context, chatID, fr
|
|||
return nil, err
|
||||
}
|
||||
|
||||
response.AddChat(chat)
|
||||
response.AddMessages([]*common.Message{message})
|
||||
return &response, m.saveChat(chat)
|
||||
return m.addMessagesAndChat(chat, []*common.Message{message}, &response)
|
||||
}
|
||||
|
||||
func (m *Messenger) AcceptRequestAddressForTransaction(ctx context.Context, messageID, address string) (*MessengerResponse, error) {
|
||||
|
@ -3453,9 +3420,7 @@ func (m *Messenger) AcceptRequestAddressForTransaction(ctx context.Context, mess
|
|||
return nil, err
|
||||
}
|
||||
|
||||
response.AddChat(chat)
|
||||
response.AddMessages([]*common.Message{message})
|
||||
return &response, m.saveChat(chat)
|
||||
return m.addMessagesAndChat(chat, []*common.Message{message}, &response)
|
||||
}
|
||||
|
||||
func (m *Messenger) DeclineRequestTransaction(ctx context.Context, messageID string) (*MessengerResponse, error) {
|
||||
|
@ -3533,9 +3498,7 @@ func (m *Messenger) DeclineRequestTransaction(ctx context.Context, messageID str
|
|||
return nil, err
|
||||
}
|
||||
|
||||
response.AddChat(chat)
|
||||
response.AddMessages([]*common.Message{message})
|
||||
return &response, m.saveChat(chat)
|
||||
return m.addMessagesAndChat(chat, []*common.Message{message}, &response)
|
||||
}
|
||||
|
||||
func (m *Messenger) DeclineRequestAddressForTransaction(ctx context.Context, messageID string) (*MessengerResponse, error) {
|
||||
|
@ -3613,9 +3576,7 @@ func (m *Messenger) DeclineRequestAddressForTransaction(ctx context.Context, mes
|
|||
return nil, err
|
||||
}
|
||||
|
||||
response.AddChat(chat)
|
||||
response.AddMessages([]*common.Message{message})
|
||||
return &response, m.saveChat(chat)
|
||||
return m.addMessagesAndChat(chat, []*common.Message{message}, &response)
|
||||
}
|
||||
|
||||
func (m *Messenger) AcceptRequestTransaction(ctx context.Context, transactionHash, messageID string, signature []byte) (*MessengerResponse, error) {
|
||||
|
@ -3710,9 +3671,7 @@ func (m *Messenger) AcceptRequestTransaction(ctx context.Context, transactionHas
|
|||
return nil, err
|
||||
}
|
||||
|
||||
response.AddChat(chat)
|
||||
response.AddMessages([]*common.Message{message})
|
||||
return &response, m.saveChat(chat)
|
||||
return m.addMessagesAndChat(chat, []*common.Message{message}, &response)
|
||||
}
|
||||
|
||||
func (m *Messenger) SendTransaction(ctx context.Context, chatID, value, contract, transactionHash string, signature []byte) (*MessengerResponse, error) {
|
||||
|
@ -3789,9 +3748,7 @@ func (m *Messenger) SendTransaction(ctx context.Context, chatID, value, contract
|
|||
return nil, err
|
||||
}
|
||||
|
||||
response.AddChat(chat)
|
||||
response.AddMessages([]*common.Message{message})
|
||||
return &response, m.saveChat(chat)
|
||||
return m.addMessagesAndChat(chat, []*common.Message{message}, &response)
|
||||
}
|
||||
|
||||
func (m *Messenger) ValidateTransactions(ctx context.Context, addresses []types.Address) (*MessengerResponse, error) {
|
||||
|
|
|
@ -118,6 +118,7 @@ func (s *MessengerEditMessageSuite) TestEditMessage() {
|
|||
s.Require().Len(response.Chats(), 1)
|
||||
s.Require().Len(response.Messages(), 1)
|
||||
s.Require().NotEmpty(response.Messages()[0].EditedAt)
|
||||
s.Require().False(response.Messages()[0].New)
|
||||
|
||||
// Main instance user attempts to edit the message it received from theirMessenger
|
||||
editedMessage = &requests.EditMessage{
|
||||
|
|
|
@ -239,6 +239,7 @@ func (m *Messenger) handleCommandMessage(state *ReceivedMessageState, message *c
|
|||
// Add to response
|
||||
state.Response.AddChat(chat)
|
||||
if message != nil {
|
||||
message.New = true
|
||||
state.Response.AddMessage(message)
|
||||
}
|
||||
|
||||
|
@ -657,6 +658,7 @@ func (m *Messenger) HandleChatMessage(state *ReceivedMessageState) error {
|
|||
state.Response.CommunityChanges = append(state.Response.CommunityChanges, communityResponse.Changes)
|
||||
}
|
||||
|
||||
receivedMessage.New = true
|
||||
state.Response.AddMessage(receivedMessage)
|
||||
|
||||
return nil
|
|
@ -18,7 +18,6 @@ type MessengerResponse struct {
|
|||
CommunityChanges []*communities.CommunityChanges
|
||||
RequestsToJoinCommunity []*communities.RequestToJoin
|
||||
Mailservers []mailservers.Mailserver
|
||||
pendingEdits []*common.Message
|
||||
|
||||
// notifications a list of notifications derived from messenger events
|
||||
// that are useful to notify the user about
|
||||
|
|
|
@ -40,8 +40,15 @@ func TestMessengerResponseMergeMessages(t *testing.T) {
|
|||
require.NoError(t, response1.Merge(response2))
|
||||
|
||||
require.Len(t, response1.Messages(), 2)
|
||||
require.Equal(t, modifiedMessage1, response1.Messages()[0])
|
||||
require.Equal(t, message2, response1.Messages()[1])
|
||||
messages := response1.Messages()
|
||||
if messages[0].ID == modifiedMessage1.ID {
|
||||
require.Equal(t, modifiedMessage1, messages[0])
|
||||
require.Equal(t, message2, messages[1])
|
||||
} else {
|
||||
require.Equal(t, modifiedMessage1, messages[1])
|
||||
require.Equal(t, message2, messages[0])
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestMessengerResponseMergeNotImplemented(t *testing.T) {
|
||||
|
|
Loading…
Reference in New Issue