feat: delete for me (#2866)
This commit is contained in:
parent
81e279a055
commit
f47cb8572d
|
@ -1,4 +1,4 @@
|
|||
version: "2" # required to adjust maintainability checks
|
||||
version: "2" # required to adjust maintainability checks
|
||||
checks:
|
||||
# Methods or functions defined with a high number of arguments
|
||||
argument-count:
|
||||
|
@ -43,6 +43,7 @@ exclude_patterns:
|
|||
- "t/"
|
||||
- "mailserver/migrations"
|
||||
- "**/*/bindata.go"
|
||||
- "protocol/protobuf/*.pb.go"
|
||||
- "protocol/communities/migrations/migrations.go"
|
||||
- "protocol/encryption/migrations/migrations.go"
|
||||
- "protocol/internal/sqlite/migrations.go"
|
||||
|
|
|
@ -169,6 +169,8 @@ type Message struct {
|
|||
// Deleted indicates if a message was deleted
|
||||
Deleted bool `json:"deleted"`
|
||||
|
||||
DeletedForMe bool `json:"deletedForMe"`
|
||||
|
||||
// ContactRequestState is the state of the contact request message
|
||||
ContactRequestState ContactRequestState `json:"contactRequestState,omitempty"`
|
||||
|
||||
|
@ -217,6 +219,7 @@ func (m *Message) MarshalJSON() ([]byte, error) {
|
|||
Links []string `json:"links,omitempty"`
|
||||
EditedAt uint64 `json:"editedAt,omitempty"`
|
||||
Deleted bool `json:"deleted,omitempty"`
|
||||
DeletedForMe bool `json:"deletedForMe,omitempty"`
|
||||
ContactRequestState ContactRequestState `json:"contactRequestState,omitempty"`
|
||||
DiscordMessage *protobuf.DiscordMessage `json:"discordMessage,omitempty"`
|
||||
}{
|
||||
|
@ -253,6 +256,7 @@ func (m *Message) MarshalJSON() ([]byte, error) {
|
|||
GapParameters: m.GapParameters,
|
||||
EditedAt: m.EditedAt,
|
||||
Deleted: m.Deleted,
|
||||
DeletedForMe: m.DeletedForMe,
|
||||
ContactRequestState: m.ContactRequestState,
|
||||
}
|
||||
if sticker := m.GetSticker(); sticker != nil {
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
package protocol
|
||||
|
||||
import (
|
||||
"crypto/ecdsa"
|
||||
|
||||
"github.com/golang/protobuf/proto"
|
||||
|
||||
"github.com/status-im/status-go/protocol/protobuf"
|
||||
)
|
||||
|
||||
// DeleteForMeMessage represents a delete of a message from a user in the
|
||||
// application layer, used for persistence, querying and signaling
|
||||
type DeleteForMeMessage struct {
|
||||
protobuf.DeleteForMeMessage
|
||||
|
||||
// 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"`
|
||||
|
||||
// SigPubKey is the ecdsa encoded public key of the edit author
|
||||
SigPubKey *ecdsa.PublicKey `json:"-"`
|
||||
|
||||
// LocalChatID is the chatID of the local chat (one-to-one are not symmetric)
|
||||
LocalChatID string `json:"localChatId"`
|
||||
}
|
||||
|
||||
// GetSigPubKey returns an ecdsa encoded public key
|
||||
// this function is required to implement the ChatEntity interface
|
||||
func (e DeleteForMeMessage) GetSigPubKey() *ecdsa.PublicKey {
|
||||
return e.SigPubKey
|
||||
}
|
||||
|
||||
// GetProtoBuf returns the struct's embedded protobuf struct
|
||||
// this function is required to implement the ChatEntity interface
|
||||
func (e DeleteForMeMessage) GetProtobuf() proto.Message {
|
||||
return &e.DeleteForMeMessage
|
||||
}
|
||||
|
||||
// WrapGroupMessage indicates whether we should wrap this in membership information
|
||||
func (e DeleteForMeMessage) WrapGroupMessage() bool {
|
||||
return false
|
||||
}
|
|
@ -78,6 +78,7 @@ func (db sqlitePersistence) tableUserMessagesAllFields() string {
|
|||
replace_message,
|
||||
edited_at,
|
||||
deleted,
|
||||
deleted_for_me,
|
||||
rtl,
|
||||
line_count,
|
||||
response_to,
|
||||
|
@ -122,6 +123,7 @@ func (db sqlitePersistence) tableUserMessagesAllFieldsJoin() string {
|
|||
m1.replace_message,
|
||||
m1.edited_at,
|
||||
m1.deleted,
|
||||
m1.deleted_for_me,
|
||||
m1.rtl,
|
||||
m1.line_count,
|
||||
m1.response_to,
|
||||
|
@ -177,6 +179,7 @@ func (db sqlitePersistence) tableUserMessagesScanAllFields(row scanner, message
|
|||
var gapTo sql.NullInt64
|
||||
var editedAt sql.NullInt64
|
||||
var deleted sql.NullBool
|
||||
var deletedForMe sql.NullBool
|
||||
var contactRequestState sql.NullInt64
|
||||
|
||||
sticker := &protobuf.StickerMessage{}
|
||||
|
@ -222,6 +225,7 @@ func (db sqlitePersistence) tableUserMessagesScanAllFields(row scanner, message
|
|||
&message.Replace,
|
||||
&editedAt,
|
||||
&deleted,
|
||||
&deletedForMe,
|
||||
&message.RTL,
|
||||
&message.LineCount,
|
||||
&message.ResponseTo,
|
||||
|
@ -264,6 +268,10 @@ func (db sqlitePersistence) tableUserMessagesScanAllFields(row scanner, message
|
|||
message.Deleted = deleted.Bool
|
||||
}
|
||||
|
||||
if deletedForMe.Valid {
|
||||
message.DeletedForMe = deletedForMe.Bool
|
||||
}
|
||||
|
||||
if contactRequestState.Valid {
|
||||
message.ContactRequestState = common.ContactRequestState(contactRequestState.Int64)
|
||||
}
|
||||
|
@ -422,6 +430,7 @@ func (db sqlitePersistence) tableUserMessagesAllValues(message *common.Message)
|
|||
message.Replace,
|
||||
int64(message.EditedAt),
|
||||
message.Deleted,
|
||||
message.DeletedForMe,
|
||||
message.RTL,
|
||||
message.LineCount,
|
||||
message.ResponseTo,
|
||||
|
@ -2125,6 +2134,31 @@ func (db sqlitePersistence) GetDeletes(messageID string, from string) ([]*Delete
|
|||
return messages, nil
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) SaveDeleteForMe(deleteForMeMessage DeleteForMeMessage) error {
|
||||
_, err := db.db.Exec(`INSERT INTO user_messages_deleted_for_mes (clock, message_id, source, id) VALUES(?,?,?,?)`, deleteForMeMessage.Clock, deleteForMeMessage.MessageId, deleteForMeMessage.From, deleteForMeMessage.ID)
|
||||
return err
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) GetDeleteForMes(messageID string, from string) ([]*DeleteForMeMessage, error) {
|
||||
rows, err := db.db.Query(`SELECT clock, message_id, source, id FROM user_messages_deleted_for_mes WHERE message_id = ? AND source = ? ORDER BY CLOCK DESC`, messageID, from)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var messages []*DeleteForMeMessage
|
||||
|
||||
for rows.Next() {
|
||||
d := &DeleteForMeMessage{}
|
||||
err := rows.Scan(&d.Clock, &d.MessageId, &d.From, &d.ID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
messages = append(messages, d)
|
||||
|
||||
}
|
||||
return messages, nil
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) SaveEdit(editMessage EditMessage) error {
|
||||
_, err := db.db.Exec(`INSERT INTO user_messages_edits (clock, chat_id, message_id, text, source, id) VALUES(?,?,?,?,?,?)`, editMessage.Clock, editMessage.ChatId, editMessage.MessageId, editMessage.Text, editMessage.From, editMessage.ID)
|
||||
return err
|
||||
|
|
|
@ -90,6 +90,14 @@ func ValidateDeleteMessage(message protobuf.DeleteMessage) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func ValidateDeleteForMeMessage(message protobuf.DeleteForMeMessage) error {
|
||||
if len(message.MessageId) == 0 {
|
||||
return errors.New("message-id can't be empty")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func ValidateReceivedPairInstallation(message *protobuf.PairInstallation, whisperTimestamp uint64) error {
|
||||
if err := validateClockValue(message.Clock, whisperTimestamp); err != nil {
|
||||
return err
|
||||
|
|
|
@ -62,7 +62,7 @@ import (
|
|||
"github.com/status-im/status-go/telemetry"
|
||||
)
|
||||
|
||||
//todo: kozieiev: get rid of wakutransp word
|
||||
// todo: kozieiev: get rid of wakutransp word
|
||||
type chatContext string
|
||||
|
||||
const (
|
||||
|
@ -3165,6 +3165,29 @@ func (m *Messenger) handleRetrievedMessages(chatWithMessages map[transport.Filte
|
|||
continue
|
||||
}
|
||||
|
||||
case protobuf.DeleteForMeMessage:
|
||||
logger.Debug("Handling DeleteForMeMessage")
|
||||
deleteForMeProto := msg.ParsedMessage.Interface().(protobuf.DeleteForMeMessage)
|
||||
if !common.IsPubKeyEqual(messageState.CurrentMessageState.PublicKey, &m.identity.PublicKey) {
|
||||
logger.Warn("not coming from us, ignoring")
|
||||
continue
|
||||
}
|
||||
|
||||
m.outputToCSV(msg.TransportMessage.Timestamp, msg.ID, senderID, filter.Topic, filter.ChatID, msg.Type, deleteForMeProto)
|
||||
deleteForMeMessage := DeleteForMeMessage{
|
||||
DeleteForMeMessage: deleteForMeProto,
|
||||
From: contact.ID,
|
||||
ID: messageID,
|
||||
SigPubKey: publicKey,
|
||||
}
|
||||
|
||||
err = m.HandleDeleteForMeMessage(messageState, deleteForMeMessage)
|
||||
if err != nil {
|
||||
logger.Warn("failed to handle DeleteForMeMessage", zap.Error(err))
|
||||
allMessagesProcessed = false
|
||||
continue
|
||||
}
|
||||
|
||||
case protobuf.PinMessage:
|
||||
pinMessage := msg.ParsedMessage.Interface().(protobuf.PinMessage)
|
||||
m.outputToCSV(msg.TransportMessage.Timestamp, msg.ID, senderID, filter.Topic, filter.ChatID, msg.Type, pinMessage)
|
||||
|
|
|
@ -0,0 +1,195 @@
|
|||
package protocol
|
||||
|
||||
import (
|
||||
"context"
|
||||
"crypto/ecdsa"
|
||||
"errors"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/suite"
|
||||
"go.uber.org/zap"
|
||||
|
||||
gethbridge "github.com/status-im/status-go/eth-node/bridge/geth"
|
||||
"github.com/status-im/status-go/eth-node/crypto"
|
||||
"github.com/status-im/status-go/eth-node/types"
|
||||
"github.com/status-im/status-go/protocol/common"
|
||||
"github.com/status-im/status-go/protocol/encryption/multidevice"
|
||||
"github.com/status-im/status-go/protocol/tt"
|
||||
"github.com/status-im/status-go/waku"
|
||||
)
|
||||
|
||||
func TestMessengerDeleteMessageForMeSuite(t *testing.T) {
|
||||
suite.Run(t, new(MessengerDeleteMessageForMeSuite))
|
||||
}
|
||||
|
||||
type MessengerDeleteMessageForMeSuite struct {
|
||||
suite.Suite
|
||||
privateKey *ecdsa.PrivateKey // private key for the main instance of Messenger
|
||||
alice1 *Messenger
|
||||
alice2 *Messenger
|
||||
// If one wants to send messages between different instances of Messenger,
|
||||
// a single waku service should be shared.
|
||||
shh types.Waku
|
||||
logger *zap.Logger
|
||||
}
|
||||
|
||||
func (s *MessengerDeleteMessageForMeSuite) newMessenger() *Messenger {
|
||||
if s.privateKey == nil {
|
||||
privateKey, err := crypto.GenerateKey()
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.privateKey = privateKey
|
||||
}
|
||||
|
||||
messenger, err := newMessengerWithKey(s.shh, s.privateKey, s.logger, nil)
|
||||
s.Require().NoError(err)
|
||||
return messenger
|
||||
}
|
||||
|
||||
func (s *MessengerDeleteMessageForMeSuite) otherNewMessenger() *Messenger {
|
||||
privateKey, err := crypto.GenerateKey()
|
||||
s.Require().NoError(err)
|
||||
|
||||
messenger, err := newMessengerWithKey(s.shh, privateKey, s.logger, nil)
|
||||
s.Require().NoError(err)
|
||||
return messenger
|
||||
}
|
||||
|
||||
func (s *MessengerDeleteMessageForMeSuite) SetupTest() {
|
||||
s.logger = tt.MustCreateTestLogger()
|
||||
|
||||
config := waku.DefaultConfig
|
||||
config.MinimumAcceptedPoW = 0
|
||||
shh := waku.New(&config, s.logger)
|
||||
s.shh = gethbridge.NewGethWakuWrapper(shh)
|
||||
s.Require().NoError(shh.Start())
|
||||
|
||||
s.alice1 = s.newMessenger()
|
||||
s.alice2 = s.newMessenger()
|
||||
_, err := s.alice1.Start()
|
||||
s.Require().NoError(err)
|
||||
_, err = s.alice2.Start()
|
||||
s.Require().NoError(err)
|
||||
}
|
||||
|
||||
func (s *MessengerDeleteMessageForMeSuite) TearDownTest() {
|
||||
s.Require().NoError(s.alice1.Shutdown())
|
||||
s.Require().NoError(s.alice2.Shutdown())
|
||||
_ = s.logger.Sync()
|
||||
}
|
||||
|
||||
func (s *MessengerDeleteMessageForMeSuite) Pair() {
|
||||
err := s.alice2.SetInstallationMetadata(s.alice2.installationID, &multidevice.InstallationMetadata{
|
||||
Name: "alice2",
|
||||
DeviceType: "alice2",
|
||||
})
|
||||
s.Require().NoError(err)
|
||||
response, err := s.alice2.SendPairInstallation(context.Background())
|
||||
s.Require().NoError(err)
|
||||
s.Require().NotNil(response)
|
||||
s.Require().Len(response.Chats(), 1)
|
||||
s.Require().False(response.Chats()[0].Active)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
response, err = WaitOnMessengerResponse(
|
||||
s.alice1,
|
||||
func(r *MessengerResponse) bool { return len(r.Installations) > 0 },
|
||||
"installation not received",
|
||||
)
|
||||
|
||||
s.Require().NoError(err)
|
||||
actualInstallation := response.Installations[0]
|
||||
s.Require().Equal(s.alice2.installationID, actualInstallation.ID)
|
||||
s.Require().NotNil(actualInstallation.InstallationMetadata)
|
||||
s.Require().Equal("alice2", actualInstallation.InstallationMetadata.Name)
|
||||
s.Require().Equal("alice2", actualInstallation.InstallationMetadata.DeviceType)
|
||||
|
||||
err = s.alice1.EnableInstallation(s.alice2.installationID)
|
||||
s.Require().NoError(err)
|
||||
}
|
||||
|
||||
func (s *MessengerDeleteMessageForMeSuite) TestDeleteMessageForMe() {
|
||||
s.Pair()
|
||||
chatID := "foobarsynctest"
|
||||
_, err := s.alice1.createPublicChat(chatID, &MessengerResponse{})
|
||||
s.Require().NoError(err)
|
||||
|
||||
_, err = s.alice2.createPublicChat(chatID, &MessengerResponse{})
|
||||
s.Require().NoError(err)
|
||||
|
||||
otherMessenger := s.otherNewMessenger()
|
||||
_, err = otherMessenger.createPublicChat(chatID, &MessengerResponse{})
|
||||
s.Require().NoError(err)
|
||||
|
||||
chat := otherMessenger.Chat(chatID)
|
||||
message := buildTestMessage(*chat)
|
||||
|
||||
response, err := otherMessenger.SendChatMessage(context.Background(), message)
|
||||
messageID := response.Messages()[0].ID
|
||||
s.Require().NoError(err)
|
||||
|
||||
var receivedPubChatMessage *common.Message
|
||||
err = tt.RetryWithBackOff(func() error {
|
||||
var err error
|
||||
_, err = s.alice1.RetrieveAll()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
response, err := s.alice2.RetrieveAll()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
messages := response.Messages()
|
||||
if len(messages) > 0 {
|
||||
receivedPubChatMessage = messages[0]
|
||||
return nil
|
||||
}
|
||||
|
||||
return errors.New("Not received all messages")
|
||||
})
|
||||
s.Require().NoError(err)
|
||||
s.Require().Equal(receivedPubChatMessage.ChatId, chatID)
|
||||
s.Require().Equal(receivedPubChatMessage.ID, messageID)
|
||||
s.Require().False(receivedPubChatMessage.DeletedForMe)
|
||||
|
||||
// message synced to alice1
|
||||
alice1Msg, err := s.alice1.MessageByID(messageID)
|
||||
s.Require().NoError(err)
|
||||
s.Require().False(alice1Msg.DeletedForMe)
|
||||
|
||||
response, err = s.alice1.DeleteMessageForMeAndSync(context.Background(), chatID, messageID)
|
||||
s.Require().NoError(err)
|
||||
s.Require().True(response.Messages()[0].DeletedForMe)
|
||||
|
||||
err = tt.RetryWithBackOff(func() error {
|
||||
var err error
|
||||
response, err := s.alice2.RetrieveAll()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = otherMessenger.RetrieveAll()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if len(response.messages) > 0 {
|
||||
receivedPubChatMessage = response.Messages()[0]
|
||||
return nil
|
||||
}
|
||||
|
||||
return errors.New("Not received all messages")
|
||||
})
|
||||
s.Require().NoError(err)
|
||||
|
||||
deletedForMeMessage, err := s.alice2.MessageByID(messageID)
|
||||
s.Require().NoError(err)
|
||||
s.Require().True(deletedForMeMessage.DeletedForMe)
|
||||
|
||||
// no DeletedForMe in others' message
|
||||
otherMessage, err := otherMessenger.MessageByID(messageID)
|
||||
s.Require().NoError(err)
|
||||
s.Require().False(otherMessage.DeletedForMe)
|
||||
}
|
|
@ -1180,6 +1180,55 @@ func (m *Messenger) HandleDeleteMessage(state *ReceivedMessageState, deleteMessa
|
|||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) HandleDeleteForMeMessage(state *ReceivedMessageState, deleteForMeMessage DeleteForMeMessage) error {
|
||||
if err := ValidateDeleteForMeMessage(deleteForMeMessage.DeleteForMeMessage); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
messageID := deleteForMeMessage.MessageId
|
||||
// Check if it's already in the response
|
||||
originalMessage := state.Response.GetMessage(messageID)
|
||||
// otherwise pull from database
|
||||
if originalMessage == nil {
|
||||
var err error
|
||||
originalMessage, err = m.persistence.MessageByID(messageID)
|
||||
|
||||
if err == common.ErrRecordNotFound {
|
||||
return m.persistence.SaveDeleteForMe(deleteForMeMessage)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
chat, ok := m.allChats.Load(originalMessage.LocalChatID)
|
||||
if !ok {
|
||||
return errors.New("chat not found")
|
||||
}
|
||||
|
||||
// Update message and return it
|
||||
originalMessage.DeletedForMe = true
|
||||
|
||||
err := m.persistence.SaveMessages([]*common.Message{originalMessage})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
m.logger.Debug("deleting activity center notification for message", zap.String("chatID", chat.ID), zap.String("messageID", deleteForMeMessage.MessageId))
|
||||
|
||||
err = m.persistence.DeleteActivityCenterNotificationForMessage(chat.ID, deleteForMeMessage.MessageId)
|
||||
if err != nil {
|
||||
m.logger.Warn("failed to delete notifications for deleted message", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
|
||||
state.Response.AddMessage(originalMessage)
|
||||
state.Response.AddChat(chat)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) updateLastMessage(chat *Chat) error {
|
||||
// Get last message that is not hidden
|
||||
messages, _, err := m.persistence.MessageByChatID(chat.ID, "", 1)
|
||||
|
@ -1313,6 +1362,11 @@ func (m *Messenger) HandleChatMessage(state *ReceivedMessageState) error {
|
|||
return err
|
||||
}
|
||||
|
||||
err = m.checkForDeleteForMes(receivedMessage)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if receivedMessage.Deleted && (chat.LastMessage == nil || chat.LastMessage.ID == receivedMessage.ID) {
|
||||
// Get last message that is not hidden
|
||||
messages, _, err := m.persistence.MessageByChatID(receivedMessage.LocalChatID, "", 1)
|
||||
|
@ -2002,6 +2056,21 @@ func (m *Messenger) checkForDeletes(message *common.Message) error {
|
|||
return m.applyDeleteMessage(messageDeletes, message)
|
||||
}
|
||||
|
||||
func (m *Messenger) checkForDeleteForMes(message *common.Message) error {
|
||||
// Check for any pending delete for mes
|
||||
// If any pending deletes are available and valid, apply them
|
||||
messageDeleteForMes, err := m.persistence.GetDeleteForMes(message.ID, message.From)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if len(messageDeleteForMes) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
return m.applyDeleteForMeMessage(messageDeleteForMes, message)
|
||||
}
|
||||
|
||||
func (m *Messenger) isMessageAllowedFrom(publicKey string, chat *Chat) (bool, error) {
|
||||
onlyFromContacts, err := m.settings.GetMessagesFromContactsOnly()
|
||||
if err != nil {
|
||||
|
|
|
@ -4,6 +4,8 @@ import (
|
|||
"context"
|
||||
"errors"
|
||||
|
||||
"github.com/golang/protobuf/proto"
|
||||
|
||||
"github.com/status-im/status-go/protocol/common"
|
||||
"github.com/status-im/status-go/protocol/protobuf"
|
||||
"github.com/status-im/status-go/protocol/requests"
|
||||
|
@ -159,6 +161,67 @@ func (m *Messenger) DeleteMessageAndSend(ctx context.Context, messageID string)
|
|||
return response, nil
|
||||
}
|
||||
|
||||
func (m *Messenger) DeleteMessageForMeAndSync(ctx context.Context, chatID string, messageID string) (*MessengerResponse, error) {
|
||||
message, err := m.persistence.MessageByID(messageID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// A valid added chat is required.
|
||||
chat, ok := m.allChats.Load(chatID)
|
||||
if !ok {
|
||||
return nil, errors.New("Chat not found")
|
||||
}
|
||||
|
||||
// Only certain types of messages can be deleted
|
||||
if message.ContentType != protobuf.ChatMessage_TEXT_PLAIN &&
|
||||
message.ContentType != protobuf.ChatMessage_STICKER &&
|
||||
message.ContentType != protobuf.ChatMessage_EMOJI &&
|
||||
message.ContentType != protobuf.ChatMessage_IMAGE &&
|
||||
message.ContentType != protobuf.ChatMessage_AUDIO {
|
||||
return nil, ErrInvalidDeleteTypeAuthor
|
||||
}
|
||||
|
||||
message.DeletedForMe = true
|
||||
err = m.persistence.SaveMessages([]*common.Message{message})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
response := &MessengerResponse{}
|
||||
response.AddMessage(message)
|
||||
response.AddChat(chat)
|
||||
|
||||
if m.hasPairedDevices() {
|
||||
clock, _ := chat.NextClockAndTimestamp(m.getTimesource())
|
||||
|
||||
deletedForMeMessage := &DeleteForMeMessage{}
|
||||
|
||||
deletedForMeMessage.MessageId = messageID
|
||||
deletedForMeMessage.Clock = clock
|
||||
|
||||
encodedMessage, err := proto.Marshal(deletedForMeMessage.GetProtobuf())
|
||||
|
||||
if err != nil {
|
||||
return response, err
|
||||
}
|
||||
|
||||
rawMessage := common.RawMessage{
|
||||
LocalChatID: chat.ID,
|
||||
Payload: encodedMessage,
|
||||
MessageType: protobuf.ApplicationMetadataMessage_SYNC_DELETE_FOR_ME_MESSAGE,
|
||||
SkipGroupMessageWrap: true,
|
||||
ResendAutomatically: true,
|
||||
}
|
||||
_, err = m.dispatchMessage(ctx, rawMessage)
|
||||
if err != nil {
|
||||
return response, err
|
||||
}
|
||||
}
|
||||
|
||||
return response, nil
|
||||
}
|
||||
|
||||
func (m *Messenger) applyEditMessage(editMessage *protobuf.EditMessage, message *common.Message) error {
|
||||
if err := ValidateText(editMessage.Text); err != nil {
|
||||
return err
|
||||
|
@ -207,3 +270,19 @@ func (m *Messenger) applyDeleteMessage(messageDeletes []*DeleteMessage, message
|
|||
|
||||
return m.persistence.HideMessage(message.ID)
|
||||
}
|
||||
|
||||
func (m *Messenger) applyDeleteForMeMessage(messageDeletes []*DeleteForMeMessage, message *common.Message) error {
|
||||
message.DeletedForMe = true
|
||||
|
||||
err := message.PrepareContent(common.PubkeyToHex(&m.identity.PublicKey))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.persistence.SaveMessages([]*common.Message{message})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
// 1662044232_add_chat_image.up.sql (49B)
|
||||
// 1662106895_add_chat_first_message_timestamp.up.sql (113B)
|
||||
// 1662723928_add_discord_author_image_fields.up.sql (75B)
|
||||
// 1664195977_add_deleted_for_mes.up.sql (352B)
|
||||
// README.md (554B)
|
||||
// doc.go (850B)
|
||||
|
||||
|
@ -146,7 +147,7 @@ func _000001_initDownDbSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "000001_init.down.db.sql", size: 65, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "000001_init.down.db.sql", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0xbb, 0x3f, 0x1, 0x75, 0x19, 0x70, 0x86, 0xa7, 0x34, 0x40, 0x17, 0x34, 0x3e, 0x18, 0x51, 0x79, 0xd4, 0x22, 0xad, 0x8f, 0x80, 0xcc, 0xa6, 0xcc, 0x6, 0x2b, 0x62, 0x2, 0x47, 0xba, 0xf9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -166,7 +167,7 @@ func _000001_initUpDbSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "000001_init.up.db.sql", size: 2719, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "000001_init.up.db.sql", size: 2719, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x60, 0xdc, 0xeb, 0xe, 0xc2, 0x4f, 0x75, 0xa, 0xf6, 0x3e, 0xc7, 0xc4, 0x4, 0xe2, 0xe1, 0xa4, 0x73, 0x2f, 0x4a, 0xad, 0x1a, 0x0, 0xc3, 0x93, 0x9d, 0x77, 0x3e, 0x31, 0x91, 0x77, 0x2e, 0xc8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -186,7 +187,7 @@ func _000002_add_last_ens_clock_valueUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "000002_add_last_ens_clock_value.up.sql", size: 77, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "000002_add_last_ens_clock_value.up.sql", size: 77, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4d, 0x3, 0x8f, 0xd5, 0x85, 0x83, 0x47, 0xbe, 0xf9, 0x82, 0x7e, 0x81, 0xa4, 0xbd, 0xaa, 0xd5, 0x98, 0x18, 0x5, 0x2d, 0x82, 0x42, 0x3b, 0x3, 0x50, 0xc3, 0x1e, 0x84, 0x35, 0xf, 0xb6, 0x2b}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -206,7 +207,7 @@ func _1586358095_add_replaceUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0xb3, 0xa9, 0xc7, 0x7f, 0x9d, 0x8f, 0x43, 0x8c, 0x9e, 0x58, 0x8d, 0x44, 0xbc, 0xfa, 0x6b, 0x5f, 0x3f, 0x5a, 0xbe, 0xe8, 0xb1, 0x16, 0xf, 0x91, 0x2a, 0xa0, 0x71, 0xbb, 0x8d, 0x6b, 0xcb}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -226,7 +227,7 @@ func _1588665364_add_image_dataUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd6, 0xc6, 0x35, 0xb4, 0x4c, 0x39, 0x96, 0x29, 0x30, 0xda, 0xf4, 0x8f, 0xcb, 0xf1, 0x9f, 0x84, 0xdc, 0x88, 0xd4, 0xd5, 0xbc, 0xb6, 0x5b, 0x46, 0x78, 0x67, 0x76, 0x1a, 0x5, 0x36, 0xdc, 0xe5}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -246,7 +247,7 @@ func _1589365189_add_pow_targetUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0x3a, 0xe2, 0x2e, 0x7d, 0xaf, 0xbb, 0xcc, 0x21, 0xa1, 0x7a, 0x41, 0x9a, 0xd0, 0xbb, 0xa9, 0xc8, 0x35, 0xf9, 0x32, 0x34, 0x46, 0x44, 0x9a, 0x86, 0x40, 0x7c, 0xb9, 0x23, 0xc7, 0x3, 0x3f}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -266,7 +267,7 @@ func _1591277220_add_index_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1591277220_add_index_messages.up.sql", size: 240, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1591277220_add_index_messages.up.sql", size: 240, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9c, 0xfe, 0xbe, 0xd5, 0xb8, 0x8f, 0xdd, 0xef, 0xbb, 0xa8, 0xad, 0x7f, 0xed, 0x5b, 0x5b, 0x2f, 0xe6, 0x82, 0x27, 0x78, 0x1f, 0xb9, 0x57, 0xdc, 0x8, 0xc2, 0xb2, 0xa9, 0x9a, 0x4, 0xe1, 0x7a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -286,7 +287,7 @@ func _1593087212_add_mute_chat_and_raw_message_fieldsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1593087212_add_mute_chat_and_raw_message_fields.up.sql", size: 215, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1593087212_add_mute_chat_and_raw_message_fields.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x73, 0x99, 0x61, 0xd1, 0xaa, 0xb4, 0xbf, 0xaf, 0xd7, 0x20, 0x17, 0x40, 0xf9, 0x2, 0xfb, 0xcc, 0x40, 0x2a, 0xd, 0x86, 0x36, 0x30, 0x88, 0x89, 0x25, 0x80, 0x42, 0xb0, 0x5b, 0xe9, 0x73, 0x78}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -306,7 +307,7 @@ func _1595862781_add_audio_dataUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1595862781_add_audio_data.up.sql", size: 246, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1595862781_add_audio_data.up.sql", size: 246, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xae, 0xd2, 0xee, 0x55, 0xfb, 0x36, 0xa4, 0x92, 0x66, 0xe, 0x81, 0x62, 0x1e, 0x7a, 0x69, 0xa, 0xd5, 0x4b, 0xa5, 0x6a, 0x8d, 0x1d, 0xce, 0xf3, 0x3e, 0xc0, 0x5f, 0x9c, 0x66, 0x1b, 0xb4, 0xed}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -326,7 +327,7 @@ func _1595865249_create_emoji_reactions_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1595865249_create_emoji_reactions_table.up.sql", size: 300, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1595865249_create_emoji_reactions_table.up.sql", size: 300, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3e, 0xc5, 0x43, 0x5c, 0x3d, 0x53, 0x43, 0x2c, 0x1a, 0xa5, 0xb6, 0xbf, 0x7, 0x4, 0x5a, 0x3e, 0x40, 0x8b, 0xa4, 0x57, 0x12, 0x58, 0xbc, 0x42, 0xe2, 0xc3, 0xde, 0x76, 0x98, 0x80, 0xe2, 0xbe}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -346,7 +347,7 @@ func _1596805115_create_group_chat_invitations_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1596805115_create_group_chat_invitations_table.up.sql", size: 231, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1596805115_create_group_chat_invitations_table.up.sql", size: 231, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0xb1, 0x14, 0x6d, 0x54, 0x28, 0x67, 0xc3, 0x23, 0x6a, 0xfc, 0x80, 0xdf, 0x9e, 0x4c, 0x35, 0x36, 0xf, 0xf8, 0xf3, 0x5f, 0xae, 0xad, 0xb, 0xc1, 0x51, 0x8e, 0x17, 0x7, 0xe5, 0x7f, 0x91}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -366,7 +367,7 @@ func _1597322655_add_invitation_admin_chat_fieldUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1597322655_add_invitation_admin_chat_field.up.sql", size: 54, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1597322655_add_invitation_admin_chat_field.up.sql", size: 54, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0x7a, 0xa0, 0xf2, 0xdb, 0x13, 0x91, 0x91, 0xa8, 0x34, 0x1a, 0xa1, 0x49, 0x68, 0xd5, 0xae, 0x2c, 0xd8, 0xd5, 0xea, 0x8f, 0x8c, 0xc7, 0x2, 0x4e, 0x58, 0x2c, 0x3a, 0x14, 0xd4, 0x4f, 0x2c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -386,7 +387,7 @@ func _1597757544_add_nicknameUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1597757544_add_nickname.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1597757544_add_nickname.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf4, 0xa2, 0x64, 0x50, 0xc5, 0x4, 0xb9, 0x8b, 0xd1, 0x18, 0x9b, 0xc3, 0x91, 0x36, 0x2a, 0x1f, 0xc3, 0x6c, 0x2d, 0x92, 0xf8, 0x5e, 0xff, 0xb1, 0x59, 0x61, 0x2, 0x1c, 0xe1, 0x85, 0x90, 0xa4}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -406,7 +407,7 @@ func _1598955122_add_mentionsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1598955122_add_mentions.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1598955122_add_mentions.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8d, 0x22, 0x17, 0x92, 0xd2, 0x11, 0x4e, 0x7, 0x93, 0x9a, 0x55, 0xfd, 0xb, 0x97, 0xc4, 0x63, 0x6a, 0x81, 0x97, 0xcd, 0xb2, 0xf8, 0x4b, 0x5f, 0x3c, 0xfa, 0x3a, 0x38, 0x53, 0x10, 0xed, 0x9d}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -426,7 +427,7 @@ func _1599641390_add_emoji_reactions_indexUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1599641390_add_emoji_reactions_index.up.sql", size: 126, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1599641390_add_emoji_reactions_index.up.sql", size: 126, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0xd8, 0xdc, 0xa7, 0xb, 0x92, 0x7a, 0x61, 0x37, 0x24, 0x1c, 0x77, 0x5e, 0xe, 0x7e, 0xfc, 0x9f, 0x98, 0x7b, 0x65, 0xe7, 0xf9, 0x71, 0x57, 0x89, 0x2d, 0x90, 0x1b, 0xf6, 0x5e, 0x37, 0xe8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -446,7 +447,7 @@ func _1599720851_add_seen_index_remove_long_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1599720851_add_seen_index_remove_long_messages.up.sql", size: 150, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1599720851_add_seen_index_remove_long_messages.up.sql", size: 150, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x24, 0x1c, 0xc4, 0x78, 0x91, 0xc7, 0xeb, 0xfe, 0xc8, 0xa0, 0xd8, 0x13, 0x27, 0x97, 0xc8, 0x96, 0x56, 0x97, 0x33, 0x2c, 0x1e, 0x16, 0x8a, 0xd3, 0x49, 0x99, 0x3, 0xe9, 0xbb, 0xc4, 0x5, 0x3c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -466,7 +467,7 @@ func _1603198582_add_profile_chat_fieldUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1603198582_add_profile_chat_field.up.sql", size: 45, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1603198582_add_profile_chat_field.up.sql", size: 45, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0xca, 0xe, 0x46, 0xa0, 0x9, 0x9d, 0x47, 0x57, 0xe9, 0xfb, 0x17, 0xeb, 0x9c, 0xf6, 0xb8, 0x1d, 0xe9, 0xd, 0x0, 0xd5, 0xe5, 0xd8, 0x9e, 0x60, 0xa, 0xbf, 0x32, 0x2c, 0x52, 0x7f, 0x6a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -486,7 +487,7 @@ func _1603816533_add_linksUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1603816533_add_links.up.sql", size: 48, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1603816533_add_links.up.sql", size: 48, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0x24, 0xd6, 0x1d, 0xa, 0x83, 0x1e, 0x4d, 0xf, 0xae, 0x4d, 0x8c, 0x51, 0x32, 0xa8, 0x37, 0xb0, 0x14, 0xfb, 0x32, 0x34, 0xc8, 0xc, 0x4e, 0x5b, 0xc5, 0x15, 0x65, 0x73, 0x0, 0x0, 0x1d}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -506,7 +507,7 @@ func _1603888149_create_chat_identity_last_published_tableUpSql() (*asset, error
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1603888149_create_chat_identity_last_published_table.up.sql", size: 407, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1603888149_create_chat_identity_last_published_table.up.sql", size: 407, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7f, 0x9, 0xf, 0xfb, 0xdb, 0x3c, 0x86, 0x70, 0x82, 0xda, 0x10, 0x25, 0xe2, 0x4e, 0x40, 0x45, 0xab, 0x8b, 0x1c, 0x91, 0x7c, 0xf1, 0x70, 0x2e, 0x81, 0xf3, 0x71, 0x45, 0xda, 0xe2, 0xa4, 0x57}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -526,7 +527,7 @@ func _1605075346_add_communitiesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1605075346_add_communities.up.sql", size: 6971, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1605075346_add_communities.up.sql", size: 6971, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1f, 0x64, 0xea, 0xb4, 0xae, 0x9e, 0xdb, 0x9, 0x58, 0xb6, 0x5c, 0x7a, 0x50, 0xc5, 0xfe, 0x93, 0x5d, 0x36, 0x85, 0x5d, 0x6a, 0xba, 0xc9, 0x7e, 0x84, 0xd7, 0xbf, 0x2a, 0x53, 0xf3, 0x97, 0xf1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -546,7 +547,7 @@ func _1610117927_add_message_cacheUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1610117927_add_message_cache.up.sql", size: 142, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1610117927_add_message_cache.up.sql", size: 142, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0xf1, 0xf0, 0x82, 0x79, 0x28, 0x19, 0xc2, 0x39, 0x6a, 0xa5, 0x96, 0x59, 0x23, 0xa0, 0xed, 0x60, 0x58, 0x86, 0x9, 0xb9, 0xad, 0xfb, 0xa, 0xe3, 0x47, 0x6e, 0xa1, 0x18, 0xe8, 0x39, 0x2c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -566,7 +567,7 @@ func _1610959908_add_dont_wrap_to_raw_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1610959908_add_dont_wrap_to_raw_messages.up.sql", size: 83, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1610959908_add_dont_wrap_to_raw_messages.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0x2, 0x9a, 0xca, 0xd4, 0x38, 0x44, 0x30, 0x2b, 0xa8, 0x27, 0x32, 0x63, 0x53, 0x22, 0x60, 0x59, 0x84, 0x23, 0x96, 0x77, 0xf0, 0x56, 0xd7, 0x94, 0xe0, 0x95, 0x28, 0x6, 0x1d, 0x4e, 0xb1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -586,7 +587,7 @@ func _1610960912_add_send_on_personal_topicUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1610960912_add_send_on_personal_topic.up.sql", size: 82, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1610960912_add_send_on_personal_topic.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0xac, 0x2f, 0xc4, 0xd, 0xa7, 0x1b, 0x37, 0x30, 0xc2, 0x68, 0xee, 0xde, 0x54, 0x5e, 0xbf, 0x3f, 0xa0, 0xd6, 0xc6, 0x9f, 0xd4, 0x34, 0x12, 0x76, 0x1e, 0x66, 0x4a, 0xfc, 0xf, 0xee, 0xc9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -606,7 +607,7 @@ func _1612870480_add_datasync_idUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1612870480_add_datasync_id.up.sql", size: 111, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1612870480_add_datasync_id.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0x9a, 0xbc, 0xfa, 0xaa, 0x8c, 0x9c, 0x37, 0x67, 0x15, 0x9c, 0x7e, 0x78, 0x75, 0x66, 0x82, 0x18, 0x72, 0x10, 0xbc, 0xd4, 0xab, 0x44, 0xfe, 0x57, 0x85, 0x6d, 0x19, 0xf5, 0x96, 0x8a, 0xbe}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -626,7 +627,7 @@ func _1614152139_add_communities_request_to_joinUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1614152139_add_communities_request_to_join.up.sql", size: 831, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1614152139_add_communities_request_to_join.up.sql", size: 831, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x11, 0x3, 0x26, 0xf9, 0x29, 0x50, 0x4f, 0xcd, 0x46, 0xe5, 0xb1, 0x6b, 0xb9, 0x2, 0x40, 0xb1, 0xdf, 0x4a, 0x4c, 0x7a, 0xda, 0x3, 0x35, 0xcd, 0x2d, 0xcc, 0x80, 0x7d, 0x57, 0x5f, 0x3, 0x5c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -646,7 +647,7 @@ func _1615374373_add_confirmationsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1615374373_add_confirmations.up.sql", size: 227, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1615374373_add_confirmations.up.sql", size: 227, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdd, 0xa6, 0x65, 0xc5, 0x1d, 0xb2, 0x77, 0x36, 0xe3, 0x79, 0xda, 0xe8, 0x7a, 0xa4, 0xdf, 0x45, 0xae, 0xd8, 0xb4, 0xba, 0x90, 0xfd, 0x74, 0x71, 0x14, 0x75, 0x73, 0x72, 0xb9, 0x9e, 0x1, 0x81}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -666,7 +667,7 @@ func _1617694931_add_notification_centerUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1617694931_add_notification_center.up.sql", size: 572, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1617694931_add_notification_center.up.sql", size: 572, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x45, 0xc6, 0xc9, 0x73, 0xbb, 0x1f, 0xda, 0xa3, 0x4d, 0x19, 0x98, 0x85, 0x2d, 0xca, 0xda, 0xcc, 0x3b, 0x32, 0xff, 0xc7, 0x7b, 0xe3, 0x9f, 0x9b, 0x2a, 0x93, 0xf5, 0xdf, 0x65, 0x38, 0x91}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -686,7 +687,7 @@ func _1618923660_create_pin_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1618923660_create_pin_messages.up.sql", size: 265, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1618923660_create_pin_messages.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x61, 0x44, 0x3a, 0xbe, 0x30, 0xd2, 0x7e, 0xc0, 0xe2, 0x8e, 0x65, 0x53, 0x54, 0xbb, 0x7a, 0x1c, 0xb3, 0x5d, 0xd2, 0xa6, 0xa9, 0x28, 0xb7, 0xa4, 0x5f, 0x8b, 0x9, 0x5f, 0x17, 0xc1, 0x85, 0x21}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -706,7 +707,7 @@ func _1619094007_add_joined_chat_fieldUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1619094007_add_joined_chat_field.up.sql", size: 101, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1619094007_add_joined_chat_field.up.sql", size: 101, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfa, 0x30, 0x81, 0x3a, 0x2f, 0x9f, 0xb3, 0x0, 0x55, 0x8e, 0x1d, 0xa8, 0xb0, 0x68, 0xf0, 0x40, 0x1a, 0x6c, 0xaa, 0xfc, 0x33, 0xd1, 0xd1, 0x55, 0x3f, 0xf2, 0xbd, 0x54, 0xa1, 0x2b, 0x40, 0x95}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -726,7 +727,7 @@ func _1619099821_add_last_synced_fieldUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1619099821_add_last_synced_field.up.sql", size: 226, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1619099821_add_last_synced_field.up.sql", size: 226, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf, 0x52, 0x22, 0xe, 0x2f, 0xd7, 0x93, 0x5f, 0x42, 0xc2, 0x93, 0x4, 0x35, 0x6f, 0xc9, 0x19, 0xed, 0x6b, 0x52, 0x6f, 0xae, 0x99, 0xe2, 0x68, 0x3d, 0x4f, 0x40, 0xe, 0xe1, 0xa, 0x47, 0x21}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -746,7 +747,7 @@ func _1621933219_add_mentionedUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1621933219_add_mentioned.up.sql", size: 70, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1621933219_add_mentioned.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0x76, 0x8a, 0xc9, 0x7, 0x8f, 0xa5, 0xcb, 0x12, 0x21, 0x4e, 0xfe, 0x96, 0x77, 0xcf, 0x7f, 0x76, 0x75, 0x36, 0x2c, 0xf8, 0x1d, 0x13, 0xcb, 0xcd, 0x6e, 0x70, 0xbf, 0xf5, 0x93, 0x67, 0xd1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -766,7 +767,7 @@ func _1622010048_add_unviewed_mentions_countUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1622010048_add_unviewed_mentions_count.up.sql", size: 114, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1622010048_add_unviewed_mentions_count.up.sql", size: 114, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0x16, 0x85, 0xa6, 0x5b, 0xe1, 0x66, 0xb9, 0x84, 0xbe, 0x7f, 0xa, 0x77, 0x23, 0xb9, 0xef, 0x8e, 0x2, 0x8, 0xfc, 0x61, 0xb2, 0x43, 0xa9, 0x63, 0xae, 0xb4, 0xdf, 0x30, 0xb1, 0x61, 0x4b}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -786,7 +787,7 @@ func _1622061278_add_message_activity_center_notification_fieldUpSql() (*asset,
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1622061278_add_message_activity_center_notification_field.up.sql", size: 80, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1622061278_add_message_activity_center_notification_field.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8, 0xc, 0xa6, 0x1f, 0xa5, 0xc6, 0x7c, 0x6f, 0xab, 0x2c, 0x2d, 0xb5, 0xa4, 0xdd, 0xc1, 0xd6, 0x44, 0x83, 0xf9, 0xb1, 0xa5, 0xce, 0x34, 0x3d, 0x2, 0xa9, 0x35, 0xcf, 0xc6, 0xb2, 0x43, 0x37}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -806,7 +807,7 @@ func _1622464518_set_synced_to_fromUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1622464518_set_synced_to_from.up.sql", size: 105, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1622464518_set_synced_to_from.up.sql", size: 105, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x33, 0x3e, 0x2b, 0xa, 0x1e, 0xc7, 0x6d, 0x6f, 0xd1, 0x1d, 0xe8, 0x4b, 0xdd, 0x92, 0x76, 0xea, 0xf2, 0x3e, 0x15, 0x85, 0xc4, 0xc3, 0x31, 0xf1, 0xc0, 0xa2, 0xd7, 0x47, 0xde, 0x4e, 0xfd, 0xc6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -826,7 +827,7 @@ func _1622464519_add_chat_descriptionUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1622464519_add_chat_description.up.sql", size: 93, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1622464519_add_chat_description.up.sql", size: 93, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0x2e, 0x89, 0x31, 0xec, 0xef, 0xeb, 0x43, 0xf5, 0x96, 0x6d, 0xce, 0x91, 0x8a, 0x37, 0x2a, 0x11, 0x7a, 0x3f, 0xd9, 0x10, 0xbb, 0xa1, 0xbc, 0x7, 0xe0, 0x3b, 0xa5, 0xf4, 0xa6, 0xf4, 0xa1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -846,7 +847,7 @@ func _1622622253_add_pinned_by_to_pin_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1622622253_add_pinned_by_to_pin_messages.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1622622253_add_pinned_by_to_pin_messages.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0x94, 0xa3, 0x45, 0x91, 0x1e, 0x66, 0xd1, 0x96, 0x5a, 0xaf, 0xfa, 0x29, 0x39, 0xa8, 0x3a, 0x97, 0x4c, 0x65, 0x6, 0x96, 0x90, 0x4c, 0xfe, 0xce, 0x7d, 0x5d, 0xd4, 0xb3, 0x8, 0x6d, 0x5f}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -866,7 +867,7 @@ func _1623938329_add_author_activity_center_notification_fieldUpSql() (*asset, e
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1623938329_add_author_activity_center_notification_field.up.sql", size: 66, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1623938329_add_author_activity_center_notification_field.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0xe6, 0xa7, 0xd5, 0x26, 0xff, 0xab, 0x92, 0x88, 0xf0, 0xd3, 0x34, 0xd9, 0x2f, 0xe7, 0x18, 0x1a, 0x40, 0xf9, 0xbe, 0x8e, 0xfc, 0xd0, 0x4f, 0x1f, 0x4a, 0xb9, 0x83, 0x3f, 0xa9, 0xde, 0xb}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -886,7 +887,7 @@ func _1623938330_add_edit_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1623938330_add_edit_messages.up.sql", size: 369, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1623938330_add_edit_messages.up.sql", size: 369, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xd2, 0xce, 0xe, 0x5c, 0x19, 0xbe, 0x5e, 0x29, 0xbe, 0x9b, 0x31, 0x53, 0x76, 0xb2, 0xc8, 0x56, 0xf0, 0x82, 0xfe, 0x7d, 0x6c, 0xe8, 0x5c, 0xe9, 0x7a, 0x5d, 0x5, 0xc4, 0x92, 0x38, 0xe3}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -906,7 +907,7 @@ func _1624978434_add_muted_communityUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1624978434_add_muted_community.up.sql", size: 82, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1624978434_add_muted_community.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6, 0xdc, 0x6e, 0x6f, 0x97, 0xc7, 0x3d, 0x50, 0xab, 0x80, 0x87, 0x44, 0x43, 0x38, 0xe6, 0xc5, 0xc1, 0x91, 0x26, 0xf, 0x16, 0xe, 0xd9, 0x32, 0x37, 0x25, 0x96, 0x25, 0x6, 0xc8, 0xb5, 0x4a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -926,7 +927,7 @@ func _1625018910_add_repply_message_activity_center_notification_fieldUpSql() (*
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1625018910_add_repply_message_activity_center_notification_field.up.sql", size: 86, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1625018910_add_repply_message_activity_center_notification_field.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf2, 0x52, 0x12, 0x40, 0xd8, 0x6f, 0x71, 0x97, 0x46, 0x39, 0xaa, 0x74, 0x41, 0xcd, 0x45, 0x4c, 0xe8, 0xd9, 0xe2, 0x56, 0x8e, 0x78, 0x18, 0x62, 0xf6, 0xa8, 0x36, 0xe9, 0x9a, 0x1f, 0xc, 0xb1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -946,7 +947,7 @@ func _1625762506_add_deleted_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1625762506_add_deleted_messages.up.sql", size: 357, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1625762506_add_deleted_messages.up.sql", size: 357, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0x61, 0x42, 0xb6, 0x8c, 0x7f, 0x2d, 0xec, 0xa9, 0x6d, 0x3d, 0x0, 0xa3, 0x32, 0xd8, 0x4a, 0x38, 0x5c, 0x97, 0xfc, 0x68, 0xde, 0xa9, 0xb7, 0xd8, 0xde, 0xb, 0x29, 0x93, 0xdc, 0x81, 0xf8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -966,7 +967,7 @@ func _1627388946_add_communities_synced_atUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1627388946_add_communities_synced_at.up.sql", size: 87, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1627388946_add_communities_synced_at.up.sql", size: 87, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc1, 0xbd, 0x9b, 0x6a, 0xc9, 0x1a, 0x7a, 0x34, 0xcf, 0x5f, 0x80, 0x9e, 0x8c, 0x1c, 0xc0, 0xec, 0x4e, 0x78, 0xb0, 0x2d, 0x15, 0x77, 0x38, 0x4a, 0x6a, 0x5, 0x84, 0xf5, 0x8d, 0x8b, 0xbe, 0x9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -986,7 +987,7 @@ func _1628280060_createUsermessagesIndexSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1628280060_create-usermessages-index.sql", size: 80, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1628280060_create-usermessages-index.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x6f, 0x70, 0x47, 0x40, 0xab, 0xa8, 0x60, 0xe0, 0xf9, 0x8, 0x7e, 0x19, 0x9d, 0xba, 0x33, 0x16, 0xfc, 0x3c, 0xdc, 0xa8, 0xa6, 0x53, 0x61, 0x39, 0x82, 0x91, 0xcf, 0x69, 0xd8, 0xf2, 0xcf}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1006,7 +1007,7 @@ func _1632303896_modify_contacts_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1632303896_modify_contacts_table.up.sql", size: 1574, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1632303896_modify_contacts_table.up.sql", size: 1574, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x1e, 0x6c, 0x3c, 0xd, 0xd7, 0x7d, 0xbb, 0x19, 0xbc, 0xe4, 0x7, 0xfd, 0xf8, 0x66, 0x6d, 0x78, 0xf6, 0x4, 0xe6, 0x51, 0xe4, 0xe6, 0xdc, 0xe, 0x5a, 0x2e, 0xac, 0xe6, 0xe7, 0x24, 0x69}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1026,7 +1027,7 @@ func _1633349838_add_emoji_column_in_chatsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1633349838_add_emoji_column_in_chats.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1633349838_add_emoji_column_in_chats.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcb, 0x33, 0xcb, 0x3b, 0xa9, 0x99, 0x77, 0x6a, 0xea, 0xc4, 0x39, 0xd7, 0xa1, 0x49, 0xa7, 0xdf, 0xff, 0x72, 0xda, 0x34, 0x21, 0x67, 0x66, 0xca, 0x65, 0x46, 0x1, 0xa6, 0x4e, 0xf9, 0x38, 0x86}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1046,7 +1047,7 @@ func _1634831235_add_highlight_column_in_chatsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1634831235_add_highlight_column_in_chats.up.sql", size: 62, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1634831235_add_highlight_column_in_chats.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0x63, 0x5c, 0x73, 0x19, 0x83, 0xbd, 0x35, 0x80, 0x9f, 0x66, 0xec, 0x4c, 0xbc, 0x9d, 0x2d, 0x52, 0x91, 0x6d, 0xb3, 0x2b, 0x87, 0xde, 0x24, 0x46, 0x5c, 0xd, 0xfd, 0x78, 0xf5, 0xe3, 0xe9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1066,7 +1067,7 @@ func _1634896007_add_last_updated_locally_and_removedUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1634896007_add_last_updated_locally_and_removed.up.sql", size: 131, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1634896007_add_last_updated_locally_and_removed.up.sql", size: 131, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2e, 0xa8, 0x34, 0xe2, 0xc0, 0x62, 0xc8, 0xd6, 0x5a, 0x87, 0xe3, 0x70, 0xe1, 0xc4, 0x16, 0x9c, 0x60, 0x2e, 0x98, 0xf0, 0x91, 0x84, 0xbe, 0xe0, 0xdf, 0x3e, 0x4d, 0x24, 0xc4, 0x6c, 0x40, 0x17}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1086,7 +1087,7 @@ func _1635840039_add_clock_read_at_column_in_chatsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1635840039_add_clock_read_at_column_in_chats.up.sql", size: 245, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1635840039_add_clock_read_at_column_in_chats.up.sql", size: 245, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6c, 0xba, 0x3f, 0xba, 0x1a, 0x71, 0xa8, 0x9, 0x19, 0xbe, 0x1e, 0x38, 0x50, 0x30, 0x3a, 0x52, 0x15, 0x29, 0xee, 0x49, 0x19, 0x6f, 0x53, 0xc2, 0xc6, 0x6c, 0xd9, 0x80, 0x7e, 0xb9, 0x58, 0x7a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1106,7 +1107,7 @@ func _1637852321_add_received_invitation_admin_column_in_chatsUpSql() (*asset, e
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1637852321_add_received_invitation_admin_column_in_chats.up.sql", size: 72, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1637852321_add_received_invitation_admin_column_in_chats.up.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x70, 0x8b, 0x92, 0x56, 0x83, 0x70, 0x7f, 0x6, 0xb2, 0xd, 0x1c, 0x2f, 0xcc, 0x93, 0xc3, 0x85, 0x8c, 0xc2, 0x38, 0x94, 0x7e, 0x88, 0x3f, 0x39, 0x34, 0xf8, 0x90, 0xcf, 0x83, 0x68, 0x3d, 0xe5}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1126,7 +1127,7 @@ func _1645034601_display_nameUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1645034601_display_name.up.sql", size: 110, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1645034601_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x15, 0xfc, 0xda, 0x70, 0x53, 0x19, 0x90, 0x20, 0x4, 0x1c, 0x99, 0x42, 0x53, 0x1a, 0xd6, 0xb8, 0xbb, 0x8a, 0xe8, 0xbe, 0xcc, 0xb7, 0xc, 0x7f, 0x73, 0x50, 0x18, 0xf1, 0x8b, 0x18, 0x54, 0x64}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1146,7 +1147,7 @@ func _1645034602_add_mutual_contact_requestUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1a, 0xe0, 0x5d, 0x68, 0xb8, 0x50, 0xa4, 0xbb, 0x3e, 0x4f, 0x2, 0x87, 0xad, 0x87, 0x6e, 0x38, 0xdf, 0xc8, 0x4c, 0xe2, 0x5f, 0xd1, 0x6, 0xdc, 0xe7, 0xbd, 0x4a, 0x9c, 0xf3, 0x91, 0xa1, 0x51}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1166,7 +1167,7 @@ func _1650373957_add_contact_request_stateUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0xc1, 0x3f, 0x29, 0xe, 0x19, 0x86, 0x1a, 0x4c, 0x6c, 0x2a, 0x90, 0x9d, 0xdf, 0xb1, 0xb, 0x72, 0x25, 0xcd, 0x6c, 0x5f, 0xd, 0x51, 0x9e, 0x85, 0xc0, 0x9, 0xb7, 0xbc, 0x87, 0x23, 0xec}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1186,7 +1187,7 @@ func _1656958989_contact_verificationUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1656958989_contact_verification.up.sql", size: 624, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1656958989_contact_verification.up.sql", size: 624, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0x3f, 0x28, 0x38, 0x33, 0xdb, 0xe9, 0x4d, 0xc0, 0x54, 0x8c, 0x2a, 0x73, 0xc4, 0xdd, 0x5c, 0xc5, 0x1a, 0x93, 0x4b, 0x6, 0x13, 0xbe, 0x42, 0xd2, 0x7f, 0xd4, 0xc, 0xc5, 0x4e, 0x6d, 0xce}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1206,7 +1207,7 @@ func _1658236268_add_discord_message_authors_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1658236268_add_discord_message_authors_table.up.sql", size: 191, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1658236268_add_discord_message_authors_table.up.sql", size: 191, mode: os.FileMode(0644), modTime: time.Unix(1662342446, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3d, 0xb7, 0xdb, 0x79, 0x1, 0x15, 0xe7, 0x76, 0x5d, 0x22, 0x54, 0x82, 0x9a, 0xbe, 0x24, 0xc1, 0x82, 0xcf, 0x67, 0x91, 0x53, 0xcc, 0xac, 0x74, 0x18, 0x61, 0x69, 0x68, 0x19, 0xca, 0x2b, 0xa8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1226,7 +1227,7 @@ func _1659619997_add_discord_messages_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1659619997_add_discord_messages_table.up.sql", size: 371, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1659619997_add_discord_messages_table.up.sql", size: 371, mode: os.FileMode(0644), modTime: time.Unix(1662342446, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x12, 0x9c, 0x96, 0xe2, 0x42, 0x3f, 0x94, 0x62, 0xc2, 0x76, 0xab, 0x3b, 0x4c, 0x85, 0x36, 0x48, 0xcc, 0x73, 0x60, 0x93, 0x5a, 0xd6, 0x7, 0xd6, 0x0, 0xee, 0x1b, 0x1e, 0x34, 0x58, 0x99}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1246,7 +1247,7 @@ func _1660226788_create_chat_identity_social_linksUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1660226788_create_chat_identity_social_links.up.sql", size: 318, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1660226788_create_chat_identity_social_links.up.sql", size: 318, mode: os.FileMode(0644), modTime: time.Unix(1662342446, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0x76, 0x40, 0xe9, 0x85, 0xc4, 0x38, 0xf8, 0xe5, 0x5d, 0xe8, 0x13, 0x46, 0x1b, 0xc, 0x1, 0xe9, 0x2f, 0x74, 0xd1, 0x79, 0x59, 0xa4, 0xdb, 0x4a, 0x4a, 0xf4, 0x98, 0x58, 0x3c, 0x57, 0xd3}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1266,7 +1267,7 @@ func _1660226789_add_walletconnectsessions_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1660226789_add_walletconnectsessions_table.up.sql", size: 215, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1660226789_add_walletconnectsessions_table.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1662342446, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf8, 0x5c, 0x72, 0x2, 0xed, 0x36, 0x19, 0x91, 0x4d, 0x1a, 0xc1, 0xab, 0x84, 0xfa, 0x41, 0xb1, 0x46, 0xa5, 0xdb, 0x3f, 0x76, 0x47, 0xd3, 0x75, 0x3c, 0x6a, 0x8e, 0x78, 0xe6, 0x41, 0xdc, 0x7f}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1286,7 +1287,7 @@ func _1661242854_add_communities_requests_to_leaveUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1661242854_add_communities_requests_to_leave.up.sql", size: 204, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "1661242854_add_communities_requests_to_leave.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1662342446, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0x2e, 0x7d, 0x14, 0xef, 0x6e, 0x95, 0x4b, 0x6, 0x70, 0x2e, 0xd1, 0xf6, 0x59, 0xf9, 0xe, 0x56, 0xa, 0x9c, 0x80, 0x18, 0xca, 0xb9, 0x49, 0x19, 0xf, 0x89, 0x94, 0x36, 0x6d, 0x93, 0x9a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1306,7 +1307,7 @@ func _1662044232_add_chat_imageUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1662044232_add_chat_image.up.sql", size: 49, mode: os.FileMode(0664), modTime: time.Unix(1662722310, 0)}
|
||||
info := bindataFileInfo{name: "1662044232_add_chat_image.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1662342446, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb3, 0x74, 0xdf, 0x50, 0x79, 0x73, 0x9e, 0xd0, 0xff, 0xa4, 0xd3, 0x87, 0xc3, 0x48, 0x31, 0x6c, 0xdf, 0xa6, 0x20, 0x85, 0xe6, 0x4e, 0x19, 0x9d, 0xef, 0xcc, 0x84, 0x2b, 0x5d, 0x44, 0x34, 0x6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1326,7 +1327,7 @@ func _1662106895_add_chat_first_message_timestampUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1662106895_add_chat_first_message_timestamp.up.sql", size: 113, mode: os.FileMode(0664), modTime: time.Unix(1662722310, 0)}
|
||||
info := bindataFileInfo{name: "1662106895_add_chat_first_message_timestamp.up.sql", size: 113, mode: os.FileMode(0644), modTime: time.Unix(1663556979, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8b, 0x55, 0x74, 0xfa, 0xf5, 0x51, 0x85, 0x19, 0xfd, 0xfb, 0x6, 0x79, 0x4d, 0x1d, 0xd, 0x3, 0x46, 0x66, 0x34, 0x1e, 0xce, 0x91, 0x21, 0x29, 0xf6, 0x71, 0xe7, 0x31, 0x39, 0x8f, 0x9d, 0x5}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1346,11 +1347,31 @@ func _1662723928_add_discord_author_image_fieldsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1662723928_add_discord_author_image_fields.up.sql", size: 75, mode: os.FileMode(0664), modTime: time.Unix(1663585109, 0)}
|
||||
info := bindataFileInfo{name: "1662723928_add_discord_author_image_fields.up.sql", size: 75, mode: os.FileMode(0644), modTime: time.Unix(1664174288, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1e, 0x5b, 0x48, 0x57, 0x98, 0x55, 0x9a, 0xf1, 0x75, 0xf7, 0xb5, 0x41, 0x5e, 0x96, 0xc5, 0xce, 0xfc, 0x30, 0x5c, 0x15, 0x35, 0x9e, 0x4e, 0x4a, 0x3b, 0x38, 0x42, 0xc4, 0x27, 0x3c, 0x87, 0xbf}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var __1664195977_add_deleted_for_mesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x8e\x41\x6a\xc3\x30\x10\x45\xf7\x3a\xc5\x5f\xda\x90\x1b\x64\x35\xb1\x26\xad\xe9\x44\x2a\xaa\x5c\x9a\x95\x28\xd6\xb4\x98\xa6\x18\xa2\xf8\xfe\xa5\x60\x30\x2e\x6e\xd6\x6f\xde\xfc\x47\x12\x39\x20\xd2\x41\x18\x53\xd1\x6b\xfa\xd6\x52\xde\x3f\xb5\x80\xac\x45\xe3\xa5\x3b\x39\x64\xbd\xe8\x4d\x73\xfa\x18\x7f\x39\x0e\xde\x0b\x2c\x1f\xa9\x93\x88\x23\xc9\x0b\xef\x8d\x69\x02\x53\xe4\xad\x4f\x69\xad\x17\x54\x06\xe8\x2f\x63\xff\x85\xd6\x45\x7e\xe0\x00\xe7\x23\x5c\x27\xb2\x33\xc0\xac\xa5\x21\xe3\x95\x42\xf3\x48\x6b\x5c\xc6\xe9\xda\xeb\x26\xfa\xc7\x78\x0e\xed\x89\xc2\x19\x4f\x7c\xae\x86\x5c\x9b\x7a\xa9\x6d\x9d\xe5\xb7\xfb\xb5\x69\xe9\x49\xf3\xb6\x77\x7f\x14\xcd\xc3\xad\x54\xcb\xe1\x6e\xae\xac\xf7\xe6\x27\x00\x00\xff\xff\x2f\xc2\xbe\x8e\x60\x01\x00\x00")
|
||||
|
||||
func _1664195977_add_deleted_for_mesUpSqlBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
__1664195977_add_deleted_for_mesUpSql,
|
||||
"1664195977_add_deleted_for_mes.up.sql",
|
||||
)
|
||||
}
|
||||
|
||||
func _1664195977_add_deleted_for_mesUpSql() (*asset, error) {
|
||||
bytes, err := _1664195977_add_deleted_for_mesUpSqlBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1664195977_add_deleted_for_mes.up.sql", size: 352, mode: os.FileMode(0644), modTime: time.Unix(1664195981, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7d, 0x9d, 0x13, 0x9, 0xaa, 0x44, 0x14, 0x93, 0xe2, 0xf5, 0x53, 0xb7, 0x79, 0xa8, 0x18, 0xf0, 0x6c, 0xa4, 0x9c, 0x73, 0xc1, 0xaa, 0xc5, 0x2e, 0xc5, 0x41, 0xd7, 0x24, 0xb0, 0xd7, 0xb8, 0xdf}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _readmeMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x91\xc1\xce\xd3\x30\x10\x84\xef\x7e\x8a\x91\x7a\x01\xa9\x2a\x8f\xc0\x0d\x71\x82\x03\x48\x1c\xc9\x36\x9e\x36\x96\x1c\x6f\xf0\xae\x93\xe6\xed\x91\xa3\xc2\xdf\xff\x66\xed\xd8\x33\xdf\x78\x4f\xa7\x13\xbe\xea\x06\x57\x6c\x35\x39\x31\xa7\x7b\x15\x4f\x5a\xec\x73\x08\xbf\x08\x2d\x79\x7f\x4a\x43\x5b\x86\x17\xfd\x8c\x21\xea\x56\x5e\x47\x90\x4a\x14\x75\x48\xde\x64\x37\x2c\x6a\x96\xae\x99\x48\x05\xf6\x27\x77\x13\xad\x08\xae\x8a\x51\xe7\x25\xf3\xf1\xa9\x9f\xf9\x58\x58\x2c\xad\xbc\xe0\x8b\x56\xf0\x21\x5d\xeb\x4c\x95\xb3\xae\x84\x60\xd4\xdc\xe6\x82\x5d\x1b\x36\x6d\x39\x62\x92\xf5\xb8\x11\xdb\x92\xd3\x28\xce\xe0\x13\xe1\x72\xcd\x3c\x63\xd4\x65\x87\xae\xac\xe8\xc3\x28\x2e\x67\x44\x66\x3a\x21\x25\xa2\x72\xac\x14\x67\xbc\x84\x9f\x53\x32\x8c\x52\x70\x25\x56\xd6\xfd\x8d\x05\x37\xad\x30\x9d\x9f\xa6\x86\x0f\xcd\x58\x7f\xcf\x34\x93\x3b\xed\x90\x9f\xa4\x1f\xcf\x30\x85\x4d\x07\x58\xaf\x7f\x25\xc4\x9d\xf3\x72\x64\x84\xd0\x7f\xf9\x9b\x3a\x2d\x84\xef\x85\x48\x66\x8d\xd8\x88\x9b\x8c\x8c\x98\x5b\xf6\x74\x14\x4e\x33\x0d\xc9\xe0\x93\x38\xda\x12\xc5\x69\xbd\xe4\xf0\x2e\x7a\x78\x07\x1c\xfe\x13\x9f\x91\x29\x31\x95\x7b\x7f\x62\x59\x37\xb4\xe5\x5e\x25\xfe\x33\xee\xd5\x53\x71\xd6\xda\x3a\xd8\xcb\xde\x2e\xf8\xa1\x90\x55\x53\x0c\xc7\xaa\x0d\xe9\x76\x14\x29\x1c\x7b\x68\xdd\x2f\xe1\x6f\x00\x00\x00\xff\xff\x3c\x0a\xc2\xfe\x2a\x02\x00\x00")
|
||||
|
||||
func readmeMdBytes() ([]byte, error) {
|
||||
|
@ -1366,7 +1387,7 @@ func readmeMd() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1c, 0x6e, 0xfb, 0xcc, 0x81, 0x94, 0x4d, 0x8c, 0xa0, 0x3b, 0x5, 0xb0, 0x18, 0xd6, 0xbb, 0xb3, 0x79, 0xc8, 0x8f, 0xff, 0xc1, 0x10, 0xf9, 0xf, 0x20, 0x1b, 0x4a, 0x74, 0x96, 0x42, 0xd7, 0xa8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1386,7 +1407,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0664), modTime: time.Unix(1662647306, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0644), modTime: time.Unix(1658906042, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0xcc, 0x41, 0xe1, 0x61, 0x12, 0x97, 0xe, 0x36, 0x8c, 0xa7, 0x9e, 0xe0, 0x6e, 0x59, 0x9e, 0xee, 0xd5, 0x4a, 0xcf, 0x1e, 0x60, 0xd6, 0xc3, 0x3a, 0xc9, 0x6c, 0xf2, 0x86, 0x5a, 0xb4, 0x1e}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1604,6 +1625,8 @@ var _bindata = map[string]func() (*asset, error){
|
|||
|
||||
"1662723928_add_discord_author_image_fields.up.sql": _1662723928_add_discord_author_image_fieldsUpSql,
|
||||
|
||||
"1664195977_add_deleted_for_mes.up.sql": _1664195977_add_deleted_for_mesUpSql,
|
||||
|
||||
"README.md": readmeMd,
|
||||
|
||||
"doc.go": docGo,
|
||||
|
@ -1711,8 +1734,9 @@ var _bintree = &bintree{nil, map[string]*bintree{
|
|||
"1662044232_add_chat_image.up.sql": &bintree{_1662044232_add_chat_imageUpSql, map[string]*bintree{}},
|
||||
"1662106895_add_chat_first_message_timestamp.up.sql": &bintree{_1662106895_add_chat_first_message_timestampUpSql, map[string]*bintree{}},
|
||||
"1662723928_add_discord_author_image_fields.up.sql": &bintree{_1662723928_add_discord_author_image_fieldsUpSql, map[string]*bintree{}},
|
||||
"README.md": &bintree{readmeMd, map[string]*bintree{}},
|
||||
"doc.go": &bintree{docGo, map[string]*bintree{}},
|
||||
"1664195977_add_deleted_for_mes.up.sql": &bintree{_1664195977_add_deleted_for_mesUpSql, map[string]*bintree{}},
|
||||
"README.md": &bintree{readmeMd, map[string]*bintree{}},
|
||||
"doc.go": &bintree{docGo, map[string]*bintree{}},
|
||||
}}
|
||||
|
||||
// RestoreAsset restores an asset under the given directory.
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
ALTER TABLE user_messages ADD COLUMN deleted_for_me BOOL DEFAULT FALSE;
|
||||
|
||||
CREATE TABLE user_messages_deleted_for_mes (
|
||||
clock INTEGER NOT NULL,
|
||||
message_id VARCHAR NOT NULL,
|
||||
source VARCHAR NOT NULL,
|
||||
id VARCHAR NOT NULL,
|
||||
PRIMARY KEY(id)
|
||||
);
|
||||
|
||||
CREATE INDEX user_messages_deleted_for_mes_message_id_source ON user_messages_edits(message_id, source);
|
|
@ -81,6 +81,7 @@ const (
|
|||
ApplicationMetadataMessage_CONTACT_VERIFICATION_TRUSTED ApplicationMetadataMessage_Type = 55
|
||||
ApplicationMetadataMessage_SYNC_CONTACT_REQUEST_DECISION ApplicationMetadataMessage_Type = 56
|
||||
ApplicationMetadataMessage_COMMUNITY_REQUEST_TO_LEAVE ApplicationMetadataMessage_Type = 57
|
||||
ApplicationMetadataMessage_SYNC_DELETE_FOR_ME_MESSAGE ApplicationMetadataMessage_Type = 58
|
||||
)
|
||||
|
||||
var ApplicationMetadataMessage_Type_name = map[int32]string{
|
||||
|
@ -142,6 +143,7 @@ var ApplicationMetadataMessage_Type_name = map[int32]string{
|
|||
55: "CONTACT_VERIFICATION_TRUSTED",
|
||||
56: "SYNC_CONTACT_REQUEST_DECISION",
|
||||
57: "COMMUNITY_REQUEST_TO_LEAVE",
|
||||
58: "SYNC_DELETE_FOR_ME_MESSAGE",
|
||||
}
|
||||
|
||||
var ApplicationMetadataMessage_Type_value = map[string]int32{
|
||||
|
@ -203,6 +205,7 @@ var ApplicationMetadataMessage_Type_value = map[string]int32{
|
|||
"CONTACT_VERIFICATION_TRUSTED": 55,
|
||||
"SYNC_CONTACT_REQUEST_DECISION": 56,
|
||||
"COMMUNITY_REQUEST_TO_LEAVE": 57,
|
||||
"SYNC_DELETE_FOR_ME_MESSAGE": 58,
|
||||
}
|
||||
|
||||
func (x ApplicationMetadataMessage_Type) String() string {
|
||||
|
@ -281,60 +284,61 @@ func init() {
|
|||
}
|
||||
|
||||
var fileDescriptor_ad09a6406fcf24c7 = []byte{
|
||||
// 874 bytes of a gzipped FileDescriptorProto
|
||||
// 886 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5b, 0x73, 0x13, 0x37,
|
||||
0x14, 0x6e, 0x20, 0x4d, 0x40, 0xb9, 0xa0, 0x88, 0x5c, 0x9c, 0xbb, 0x31, 0x34, 0x04, 0x68, 0x4d,
|
||||
0x0b, 0xbd, 0x4e, 0xa7, 0x0f, 0xb2, 0x74, 0x62, 0x0b, 0xef, 0x4a, 0x8b, 0xa4, 0x35, 0xe3, 0xbe,
|
||||
0x68, 0x96, 0xe2, 0x32, 0x99, 0x01, 0xe2, 0x21, 0xe6, 0x21, 0x3f, 0xa3, 0xbf, 0xb7, 0x2f, 0x1d,
|
||||
0xed, 0xd5, 0xb7, 0x34, 0x4f, 0xc9, 0x9e, 0xef, 0xd3, 0x39, 0x3a, 0xdf, 0xf9, 0x8e, 0x8c, 0x1a,
|
||||
0xc9, 0x70, 0xf8, 0xe1, 0xfc, 0xaf, 0x64, 0x74, 0x7e, 0xf1, 0xc9, 0x7d, 0x1c, 0x8c, 0x92, 0x77,
|
||||
0xc9, 0x28, 0x71, 0x1f, 0x07, 0x97, 0x97, 0xc9, 0xfb, 0x41, 0x73, 0xf8, 0xf9, 0x62, 0x74, 0x41,
|
||||
0xee, 0xa4, 0x7f, 0xde, 0x7e, 0xf9, 0xbb, 0xf1, 0xcf, 0x3a, 0xda, 0xa3, 0xd5, 0x81, 0x30, 0xe7,
|
||||
0x87, 0x19, 0x9d, 0x1c, 0xa0, 0xbb, 0x97, 0xe7, 0xef, 0x3f, 0x25, 0xa3, 0x2f, 0x9f, 0x07, 0xb5,
|
||||
0x85, 0xfa, 0xc2, 0xe9, 0xaa, 0xae, 0x02, 0xa4, 0x86, 0x96, 0x87, 0xc9, 0xd5, 0x87, 0x8b, 0xe4,
|
||||
0x5d, 0xed, 0x56, 0x8a, 0x15, 0x9f, 0xe4, 0x0f, 0xb4, 0x38, 0xba, 0x1a, 0x0e, 0x6a, 0xb7, 0xeb,
|
||||
0x0b, 0xa7, 0xeb, 0x2f, 0x9e, 0x34, 0x8b, 0x7a, 0xcd, 0xeb, 0x6b, 0x35, 0xed, 0xd5, 0x70, 0xa0,
|
||||
0xd3, 0x63, 0x8d, 0x7f, 0x57, 0xd1, 0xa2, 0xff, 0x24, 0x2b, 0x68, 0x39, 0x96, 0x5d, 0xa9, 0xde,
|
||||
0x48, 0xfc, 0x15, 0xc1, 0x68, 0x95, 0x75, 0xa8, 0x75, 0x21, 0x18, 0x43, 0xdb, 0x80, 0x17, 0x08,
|
||||
0x41, 0xeb, 0x4c, 0x49, 0x4b, 0x99, 0x75, 0x71, 0xc4, 0xa9, 0x05, 0x7c, 0x8b, 0x1c, 0xa2, 0xdd,
|
||||
0x10, 0xc2, 0x16, 0x68, 0xd3, 0x11, 0x51, 0x1e, 0x2e, 0x8f, 0xdc, 0x26, 0x5b, 0x68, 0x23, 0xa2,
|
||||
0x0b, 0xbd, 0x77, 0xfa, 0x20, 0x4b, 0x27, 0xb6, 0xf0, 0xae, 0xb4, 0x48, 0x5a, 0x33, 0xee, 0x8b,
|
||||
0x66, 0x29, 0x2e, 0x93, 0x19, 0x20, 0x1e, 0x62, 0x1e, 0xf2, 0x5b, 0xfa, 0x2b, 0xfa, 0x0f, 0x3b,
|
||||
0xda, 0xab, 0x6f, 0x81, 0xa7, 0x64, 0xcf, 0xf9, 0x74, 0x8e, 0xce, 0x77, 0xbe, 0x4f, 0x46, 0x8d,
|
||||
0x64, 0x38, 0x7c, 0x77, 0xfe, 0x77, 0x32, 0x3a, 0xbf, 0xf8, 0xe0, 0xde, 0x0f, 0x46, 0xc9, 0x9b,
|
||||
0x64, 0x94, 0xb8, 0xf7, 0x83, 0xcb, 0xcb, 0xe4, 0xed, 0xa0, 0x39, 0xfc, 0x78, 0x31, 0xba, 0x20,
|
||||
0xb7, 0xd2, 0x3f, 0xaf, 0x3f, 0xfd, 0xd3, 0xf8, 0x6f, 0x1d, 0xed, 0xd1, 0xea, 0x40, 0x98, 0xe3,
|
||||
0xc3, 0x0c, 0x4e, 0x0e, 0xd0, 0xed, 0xcb, 0xf3, 0xb7, 0x1f, 0x92, 0xd1, 0xa7, 0x8f, 0x83, 0xda,
|
||||
0x42, 0x7d, 0xe1, 0x74, 0x55, 0x57, 0x01, 0x52, 0x43, 0xcb, 0xc3, 0xe4, 0xea, 0xdd, 0x45, 0xf2,
|
||||
0xa6, 0x76, 0x23, 0xcd, 0x15, 0x9f, 0xe4, 0x4f, 0xb4, 0x38, 0xba, 0x1a, 0x0e, 0x6a, 0x37, 0xeb,
|
||||
0x0b, 0xa7, 0xeb, 0xcf, 0x1e, 0x35, 0x8b, 0x7e, 0xcd, 0xeb, 0x7b, 0x35, 0xed, 0xd5, 0x70, 0xa0,
|
||||
0xd3, 0x63, 0x8d, 0x7f, 0xd7, 0xd0, 0xa2, 0xff, 0x24, 0x2b, 0x68, 0x39, 0x96, 0x5d, 0xa9, 0x5e,
|
||||
0x49, 0xfc, 0x15, 0xc1, 0x68, 0x95, 0x75, 0xa8, 0x75, 0x21, 0x18, 0x43, 0xdb, 0x80, 0x17, 0x08,
|
||||
0x41, 0xeb, 0x4c, 0x49, 0x4b, 0x99, 0x75, 0x71, 0xc4, 0xa9, 0x05, 0x7c, 0x83, 0x1c, 0xa2, 0xdd,
|
||||
0x10, 0xc2, 0x16, 0x68, 0xd3, 0x11, 0x51, 0x1e, 0x2e, 0x8f, 0xdc, 0x24, 0x5b, 0x68, 0x23, 0xa2,
|
||||
0x42, 0x3b, 0x21, 0x8d, 0xa5, 0x41, 0x40, 0xad, 0x50, 0x12, 0x2f, 0xfa, 0xb0, 0xe9, 0x4b, 0x36,
|
||||
0x19, 0xfe, 0x9a, 0x3c, 0x44, 0xc7, 0x1a, 0x5e, 0xc7, 0x60, 0xac, 0xa3, 0x9c, 0x6b, 0x30, 0xc6,
|
||||
0x9d, 0x29, 0xed, 0xac, 0xa6, 0xd2, 0x50, 0x96, 0x92, 0x96, 0xc8, 0x53, 0x74, 0x42, 0x19, 0x83,
|
||||
0xc8, 0xba, 0x9b, 0xb8, 0xcb, 0xe4, 0x19, 0x7a, 0xcc, 0x81, 0x05, 0x42, 0xc2, 0x8d, 0xe4, 0x3b,
|
||||
0x64, 0x07, 0xdd, 0x2f, 0x48, 0xe3, 0xc0, 0x5d, 0xb2, 0x89, 0xb0, 0x01, 0xc9, 0x27, 0xa2, 0x88,
|
||||
0x1c, 0xa3, 0xfd, 0xe9, 0xdc, 0xe3, 0x84, 0x15, 0x2f, 0xcd, 0x4c, 0x93, 0x2e, 0x17, 0x10, 0xaf,
|
||||
0xce, 0x87, 0x29, 0x63, 0x2a, 0x96, 0x16, 0xaf, 0x91, 0x07, 0xe8, 0x70, 0x16, 0x8e, 0xe2, 0x56,
|
||||
0x20, 0x98, 0xf3, 0x73, 0xc1, 0xeb, 0xe4, 0x08, 0xed, 0x15, 0xf3, 0x60, 0x8a, 0x83, 0xa3, 0xbc,
|
||||
0x07, 0xda, 0x0a, 0x03, 0x21, 0x48, 0x8b, 0xef, 0x91, 0x06, 0x3a, 0x8a, 0x62, 0xd3, 0x71, 0x52,
|
||||
0x59, 0x71, 0x26, 0x58, 0x96, 0x42, 0x43, 0x5b, 0x18, 0xab, 0x33, 0xc9, 0xb1, 0x57, 0xe8, 0xff,
|
||||
0x39, 0x4e, 0x83, 0x89, 0x94, 0x34, 0x80, 0x37, 0xc8, 0x3e, 0xda, 0x99, 0x25, 0xbf, 0x8e, 0x41,
|
||||
0xf7, 0x31, 0x21, 0x8f, 0x50, 0xfd, 0x1a, 0xb0, 0x4a, 0x71, 0xdf, 0x77, 0x3d, 0xaf, 0x5e, 0xaa,
|
||||
0x1f, 0xde, 0xf4, 0x2d, 0xcd, 0x83, 0xf3, 0xe3, 0x5b, 0xde, 0x82, 0x10, 0xaa, 0x57, 0xc2, 0x69,
|
||||
0xc8, 0x75, 0xde, 0x26, 0xbb, 0x68, 0xab, 0xad, 0x55, 0x1c, 0xa5, 0xb2, 0x38, 0x21, 0x7b, 0xc2,
|
||||
0x66, 0xdd, 0xed, 0x90, 0x0d, 0xb4, 0x96, 0x05, 0x39, 0x48, 0x2b, 0x6c, 0x1f, 0xd7, 0x3c, 0x9b,
|
||||
0xa9, 0x30, 0x8c, 0xa5, 0xb0, 0x7d, 0xc7, 0xc1, 0x30, 0x2d, 0xa2, 0x94, 0xbd, 0x4b, 0x6a, 0x68,
|
||||
0xb3, 0x82, 0xc6, 0xf2, 0xec, 0xf9, 0x5b, 0x57, 0x48, 0x39, 0x6d, 0xe5, 0x5e, 0x29, 0x21, 0xf1,
|
||||
0x3e, 0xb9, 0x87, 0x56, 0x22, 0x21, 0x4b, 0xdb, 0x1f, 0xf8, 0xdd, 0x01, 0x2e, 0xaa, 0xdd, 0x39,
|
||||
0xf4, 0x37, 0x31, 0x96, 0xda, 0xd8, 0x14, 0xab, 0x73, 0xe4, 0x7b, 0xe1, 0x10, 0xc0, 0xd8, 0xbe,
|
||||
0x1c, 0x7b, 0x53, 0xcd, 0xf3, 0x4c, 0x5e, 0x1a, 0xd7, 0xc9, 0x1e, 0xda, 0xa6, 0x52, 0xc9, 0x7e,
|
||||
0xa8, 0x62, 0xe3, 0x42, 0xb0, 0x5a, 0x30, 0xd7, 0xa2, 0x96, 0x75, 0xf0, 0x83, 0x72, 0xab, 0xd2,
|
||||
0x96, 0x35, 0x84, 0xaa, 0x07, 0x1c, 0x37, 0xfc, 0xd4, 0xaa, 0x70, 0x5e, 0xca, 0x78, 0x01, 0x39,
|
||||
0x7e, 0x48, 0x10, 0x5a, 0x6a, 0x51, 0xd6, 0x8d, 0x23, 0xfc, 0xa8, 0x74, 0xa4, 0x57, 0xb6, 0xe7,
|
||||
0x3b, 0x65, 0x20, 0x2d, 0xe8, 0x8c, 0xfa, 0x4d, 0xe9, 0xc8, 0x69, 0x38, 0xdb, 0x46, 0xe0, 0xf8,
|
||||
0xc4, 0x3b, 0x6e, 0x2e, 0x85, 0x0b, 0x13, 0x0a, 0x63, 0x80, 0xe3, 0xc7, 0xa9, 0x12, 0x9e, 0xd3,
|
||||
0x52, 0xaa, 0x1b, 0x52, 0xdd, 0xc5, 0xa7, 0x64, 0x1b, 0x91, 0xec, 0x86, 0x01, 0x50, 0xed, 0x3a,
|
||||
0xc2, 0x58, 0xa5, 0xfb, 0xf8, 0x89, 0x97, 0x31, 0x8d, 0x1b, 0xb0, 0x56, 0xc8, 0x36, 0x7e, 0x4a,
|
||||
0xea, 0xe8, 0xa0, 0x1a, 0x04, 0xd5, 0xac, 0x23, 0x7a, 0xe0, 0x42, 0xda, 0x96, 0x60, 0x03, 0x21,
|
||||
0xbb, 0xf8, 0x99, 0x1f, 0x62, 0x7a, 0x26, 0xd2, 0xea, 0x4c, 0x04, 0xe0, 0x22, 0xc1, 0x6c, 0xac,
|
||||
0x01, 0x7f, 0xeb, 0xf7, 0x3b, 0x45, 0xde, 0xd0, 0x20, 0x00, 0x5b, 0xae, 0xda, 0x77, 0xa9, 0xa6,
|
||||
0xd9, 0x8b, 0x52, 0xac, 0x53, 0x61, 0xc8, 0xa6, 0x17, 0x4f, 0x83, 0xd5, 0xd9, 0x8e, 0x4d, 0x82,
|
||||
0xcf, 0xc9, 0x09, 0x6a, 0x5c, 0x6b, 0x8b, 0xca, 0xb5, 0xdf, 0x57, 0x13, 0x28, 0xc9, 0x79, 0x47,
|
||||
0x06, 0xff, 0xe0, 0x5b, 0x2a, 0x8e, 0x16, 0x15, 0x7a, 0xa0, 0x4b, 0xf7, 0xe3, 0x17, 0xde, 0x14,
|
||||
0x53, 0xf7, 0x9b, 0x20, 0xbc, 0xf4, 0x29, 0x8a, 0xa7, 0x68, 0x2e, 0xe3, 0xc7, 0xd2, 0x1a, 0x56,
|
||||
0xc7, 0xc6, 0x02, 0x77, 0xb1, 0x01, 0x8d, 0x7f, 0x2a, 0x27, 0x3e, 0xce, 0x2e, 0xfb, 0xfb, 0x39,
|
||||
0x53, 0x7b, 0x36, 0x5f, 0x91, 0x05, 0xff, 0x52, 0x7a, 0x62, 0x4a, 0x1b, 0xc7, 0x81, 0x09, 0xe3,
|
||||
0x4b, 0xff, 0x9a, 0xbd, 0x52, 0x73, 0x44, 0x0a, 0x80, 0xf6, 0x00, 0xff, 0xd6, 0x5a, 0xfb, 0x73,
|
||||
0xa5, 0xf9, 0xfc, 0xf7, 0xe2, 0x27, 0xeb, 0xed, 0x52, 0xfa, 0xdf, 0xcb, 0xff, 0x02, 0x00, 0x00,
|
||||
0xff, 0xff, 0x9a, 0x46, 0x2c, 0xd1, 0x59, 0x07, 0x00, 0x00,
|
||||
0x19, 0xfe, 0x9a, 0xdc, 0x47, 0xc7, 0x1a, 0x5e, 0xc6, 0x60, 0xac, 0xa3, 0x9c, 0x6b, 0x30, 0xc6,
|
||||
0x9d, 0x29, 0xed, 0xac, 0xa6, 0xd2, 0x50, 0x96, 0x82, 0x96, 0xc8, 0x63, 0x74, 0x42, 0x19, 0x83,
|
||||
0xc8, 0xba, 0x2f, 0x61, 0x97, 0xc9, 0x13, 0xf4, 0x90, 0x03, 0x0b, 0x84, 0x84, 0x2f, 0x82, 0x6f,
|
||||
0x91, 0x1d, 0x74, 0xb7, 0x00, 0x8d, 0x27, 0x6e, 0x93, 0x4d, 0x84, 0x0d, 0x48, 0x3e, 0x11, 0x45,
|
||||
0xe4, 0x18, 0xed, 0x4f, 0xd7, 0x1e, 0x07, 0xac, 0x78, 0x6a, 0x66, 0x86, 0x74, 0x39, 0x81, 0x78,
|
||||
0x75, 0x7e, 0x9a, 0x32, 0xa6, 0x62, 0x69, 0xf1, 0x1a, 0xb9, 0x87, 0x0e, 0x67, 0xd3, 0x51, 0xdc,
|
||||
0x0a, 0x04, 0x73, 0x7e, 0x2f, 0x78, 0x9d, 0x1c, 0xa1, 0xbd, 0x62, 0x1f, 0x4c, 0x71, 0x70, 0x94,
|
||||
0xf7, 0x40, 0x5b, 0x61, 0x20, 0x04, 0x69, 0xf1, 0x1d, 0xd2, 0x40, 0x47, 0x51, 0x6c, 0x3a, 0x4e,
|
||||
0x2a, 0x2b, 0xce, 0x04, 0xcb, 0x4a, 0x68, 0x68, 0x0b, 0x63, 0x75, 0x46, 0x39, 0xf6, 0x0c, 0x7d,
|
||||
0x1e, 0xe3, 0x34, 0x98, 0x48, 0x49, 0x03, 0x78, 0x83, 0xec, 0xa3, 0x9d, 0x59, 0xf0, 0xcb, 0x18,
|
||||
0x74, 0x1f, 0x13, 0xf2, 0x00, 0xd5, 0xaf, 0x49, 0x56, 0x25, 0xee, 0xfa, 0xa9, 0xe7, 0xf5, 0x4b,
|
||||
0xf9, 0xc3, 0x9b, 0x7e, 0xa4, 0x79, 0xe9, 0xfc, 0xf8, 0x96, 0x97, 0x20, 0x84, 0xea, 0x85, 0x70,
|
||||
0x1a, 0x72, 0x9e, 0xb7, 0xc9, 0x2e, 0xda, 0x6a, 0x6b, 0x15, 0x47, 0x29, 0x2d, 0x4e, 0xc8, 0x9e,
|
||||
0xb0, 0xd9, 0x74, 0x3b, 0x64, 0x03, 0xad, 0x65, 0x41, 0x0e, 0xd2, 0x0a, 0xdb, 0xc7, 0x35, 0x8f,
|
||||
0x66, 0x2a, 0x0c, 0x63, 0x29, 0x6c, 0xdf, 0x71, 0x30, 0x4c, 0x8b, 0x28, 0x45, 0xef, 0x92, 0x1a,
|
||||
0xda, 0xac, 0x52, 0x63, 0x75, 0xf6, 0xfc, 0xad, 0xab, 0x4c, 0xb9, 0x6d, 0xe5, 0x5e, 0x28, 0x21,
|
||||
0xf1, 0x3e, 0xb9, 0x83, 0x56, 0x22, 0x21, 0x4b, 0xd9, 0x1f, 0x78, 0xef, 0x00, 0x17, 0x95, 0x77,
|
||||
0x0e, 0xfd, 0x4d, 0x8c, 0xa5, 0x36, 0x36, 0x85, 0x75, 0x8e, 0xfc, 0x2c, 0x1c, 0x02, 0x18, 0xf3,
|
||||
0xcb, 0xb1, 0x17, 0xd5, 0x3c, 0xcd, 0xe4, 0xad, 0x71, 0x9d, 0xec, 0xa1, 0x6d, 0x2a, 0x95, 0xec,
|
||||
0x87, 0x2a, 0x36, 0x2e, 0x04, 0xab, 0x05, 0x73, 0x2d, 0x6a, 0x59, 0x07, 0xdf, 0x2b, 0x5d, 0x95,
|
||||
0x8e, 0xac, 0x21, 0x54, 0x3d, 0xe0, 0xb8, 0xe1, 0xb7, 0x56, 0x85, 0xf3, 0x56, 0xc6, 0x13, 0xc8,
|
||||
0xf1, 0x7d, 0x82, 0xd0, 0x52, 0x8b, 0xb2, 0x6e, 0x1c, 0xe1, 0x07, 0xa5, 0x22, 0x3d, 0xb3, 0x3d,
|
||||
0x3f, 0x29, 0x03, 0x69, 0x41, 0x67, 0xd0, 0x6f, 0x4a, 0x45, 0x4e, 0xa7, 0x33, 0x37, 0x02, 0xc7,
|
||||
0x27, 0x5e, 0x71, 0x73, 0x21, 0x5c, 0x98, 0x50, 0x18, 0x03, 0x1c, 0x3f, 0x4c, 0x99, 0xf0, 0x98,
|
||||
0x96, 0x52, 0xdd, 0x90, 0xea, 0x2e, 0x3e, 0x25, 0xdb, 0x88, 0x64, 0x37, 0x0c, 0x80, 0x6a, 0xd7,
|
||||
0x11, 0xc6, 0x2a, 0xdd, 0xc7, 0x8f, 0x3c, 0x8d, 0x69, 0xdc, 0x80, 0xb5, 0x42, 0xb6, 0xf1, 0x63,
|
||||
0x52, 0x47, 0x07, 0xd5, 0x22, 0xa8, 0x66, 0x1d, 0xd1, 0x03, 0x17, 0xd2, 0xb6, 0x04, 0x1b, 0x08,
|
||||
0xd9, 0xc5, 0x4f, 0xfc, 0x12, 0xd3, 0x33, 0x91, 0x56, 0x67, 0x22, 0x00, 0x17, 0x09, 0x66, 0x63,
|
||||
0x0d, 0xf8, 0x5b, 0xef, 0xef, 0x34, 0xf3, 0x8a, 0x06, 0x01, 0xd8, 0xd2, 0x6a, 0xdf, 0xa5, 0x9c,
|
||||
0x66, 0x2f, 0x4a, 0x61, 0xa7, 0x42, 0x90, 0x4d, 0x4f, 0x9e, 0x06, 0xab, 0x33, 0x8f, 0x4d, 0x26,
|
||||
0x9f, 0x92, 0x13, 0xd4, 0xb8, 0x56, 0x16, 0x95, 0x6a, 0xbf, 0xaf, 0x36, 0x50, 0x82, 0xf3, 0x89,
|
||||
0x0c, 0xfe, 0xc1, 0x8f, 0x54, 0x1c, 0x2d, 0x3a, 0xf4, 0x40, 0x97, 0xea, 0xc7, 0xcf, 0xbc, 0x28,
|
||||
0xa6, 0xee, 0x37, 0x01, 0x78, 0xee, 0x4b, 0x14, 0x4f, 0xd1, 0x5c, 0xc4, 0x8f, 0xa5, 0x34, 0xac,
|
||||
0x8e, 0x8d, 0x05, 0xee, 0x62, 0x03, 0x1a, 0xff, 0x54, 0x6e, 0x7c, 0x1c, 0x5d, 0xce, 0xf7, 0x73,
|
||||
0xc6, 0xf6, 0x6c, 0xbd, 0xa2, 0x0a, 0xfe, 0xa5, 0xd4, 0xc4, 0x14, 0x37, 0x8e, 0x03, 0x13, 0xc6,
|
||||
0xb7, 0xfe, 0x35, 0x7b, 0xa5, 0xe6, 0x90, 0x14, 0x00, 0xed, 0x01, 0xfe, 0xcd, 0xe7, 0xd3, 0x12,
|
||||
0xb9, 0x17, 0xfc, 0xbb, 0x1c, 0x56, 0x96, 0xf8, 0xbd, 0xb5, 0xf6, 0xd7, 0x4a, 0xf3, 0xe9, 0x1f,
|
||||
0xc5, 0x4f, 0xda, 0xeb, 0xa5, 0xf4, 0xbf, 0xe7, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xab, 0xfa,
|
||||
0x43, 0xb6, 0x79, 0x07, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -71,5 +71,6 @@ message ApplicationMetadataMessage {
|
|||
CONTACT_VERIFICATION_TRUSTED = 55;
|
||||
SYNC_CONTACT_REQUEST_DECISION = 56;
|
||||
COMMUNITY_REQUEST_TO_LEAVE = 57;
|
||||
SYNC_DELETE_FOR_ME_MESSAGE = 58;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -105,7 +105,7 @@ func (x ChatMessage_ContentType) String() string {
|
|||
}
|
||||
|
||||
func (ChatMessage_ContentType) EnumDescriptor() ([]byte, []int) {
|
||||
return fileDescriptor_263952f55fd35689, []int{8, 0}
|
||||
return fileDescriptor_263952f55fd35689, []int{9, 0}
|
||||
}
|
||||
|
||||
type StickerMessage struct {
|
||||
|
@ -412,6 +412,53 @@ func (m *DeleteMessage) GetMessageType() MessageType {
|
|||
return MessageType_UNKNOWN_MESSAGE_TYPE
|
||||
}
|
||||
|
||||
type DeleteForMeMessage struct {
|
||||
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
MessageId string `protobuf:"bytes,2,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *DeleteForMeMessage) Reset() { *m = DeleteForMeMessage{} }
|
||||
func (m *DeleteForMeMessage) String() string { return proto.CompactTextString(m) }
|
||||
func (*DeleteForMeMessage) ProtoMessage() {}
|
||||
func (*DeleteForMeMessage) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_263952f55fd35689, []int{5}
|
||||
}
|
||||
|
||||
func (m *DeleteForMeMessage) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_DeleteForMeMessage.Unmarshal(m, b)
|
||||
}
|
||||
func (m *DeleteForMeMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_DeleteForMeMessage.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *DeleteForMeMessage) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_DeleteForMeMessage.Merge(m, src)
|
||||
}
|
||||
func (m *DeleteForMeMessage) XXX_Size() int {
|
||||
return xxx_messageInfo_DeleteForMeMessage.Size(m)
|
||||
}
|
||||
func (m *DeleteForMeMessage) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_DeleteForMeMessage.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_DeleteForMeMessage proto.InternalMessageInfo
|
||||
|
||||
func (m *DeleteForMeMessage) GetClock() uint64 {
|
||||
if m != nil {
|
||||
return m.Clock
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *DeleteForMeMessage) GetMessageId() string {
|
||||
if m != nil {
|
||||
return m.MessageId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type DiscordMessage struct {
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
|
||||
|
@ -429,7 +476,7 @@ func (m *DiscordMessage) Reset() { *m = DiscordMessage{} }
|
|||
func (m *DiscordMessage) String() string { return proto.CompactTextString(m) }
|
||||
func (*DiscordMessage) ProtoMessage() {}
|
||||
func (*DiscordMessage) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_263952f55fd35689, []int{5}
|
||||
return fileDescriptor_263952f55fd35689, []int{6}
|
||||
}
|
||||
|
||||
func (m *DiscordMessage) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -516,7 +563,7 @@ func (m *DiscordMessageAuthor) Reset() { *m = DiscordMessageAuthor{} }
|
|||
func (m *DiscordMessageAuthor) String() string { return proto.CompactTextString(m) }
|
||||
func (*DiscordMessageAuthor) ProtoMessage() {}
|
||||
func (*DiscordMessageAuthor) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_263952f55fd35689, []int{6}
|
||||
return fileDescriptor_263952f55fd35689, []int{7}
|
||||
}
|
||||
|
||||
func (m *DiscordMessageAuthor) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -599,7 +646,7 @@ func (m *DiscordMessageReference) Reset() { *m = DiscordMessageReference
|
|||
func (m *DiscordMessageReference) String() string { return proto.CompactTextString(m) }
|
||||
func (*DiscordMessageReference) ProtoMessage() {}
|
||||
func (*DiscordMessageReference) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_263952f55fd35689, []int{7}
|
||||
return fileDescriptor_263952f55fd35689, []int{8}
|
||||
}
|
||||
|
||||
func (m *DiscordMessageReference) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -644,8 +691,8 @@ func (m *DiscordMessageReference) GetGuildId() string {
|
|||
type ChatMessage struct {
|
||||
// Lamport timestamp of the chat message
|
||||
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
// Unix timestamps in milliseconds, currently not used as we use whisper as more reliable, but here
|
||||
// so that we don't rely on it
|
||||
// Unix timestamps in milliseconds, currently not used as we use whisper as
|
||||
// more reliable, but here so that we don't rely on it
|
||||
Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
||||
// Text of the message
|
||||
Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"`
|
||||
|
@ -656,13 +703,15 @@ type ChatMessage struct {
|
|||
// Chat id, this field is symmetric for public-chats and private group chats,
|
||||
// but asymmetric in case of one-to-ones, as the sender will use the chat-id
|
||||
// of the received, while the receiver will use the chat-id of the sender.
|
||||
// Probably should be the concatenation of sender-pk & receiver-pk in alphabetical order
|
||||
// Probably should be the concatenation of sender-pk & receiver-pk in
|
||||
// alphabetical order
|
||||
ChatId string `protobuf:"bytes,6,opt,name=chat_id,json=chatId,proto3" json:"chat_id,omitempty"`
|
||||
// The type of message (public/one-to-one/private-group-chat)
|
||||
MessageType MessageType `protobuf:"varint,7,opt,name=message_type,json=messageType,proto3,enum=protobuf.MessageType" json:"message_type,omitempty"`
|
||||
// The type of the content of the message
|
||||
ContentType ChatMessage_ContentType `protobuf:"varint,8,opt,name=content_type,json=contentType,proto3,enum=protobuf.ChatMessage_ContentType" json:"content_type,omitempty"`
|
||||
// Types that are valid to be assigned to Payload:
|
||||
//
|
||||
// *ChatMessage_Sticker
|
||||
// *ChatMessage_Image
|
||||
// *ChatMessage_Audio
|
||||
|
@ -685,7 +734,7 @@ func (m *ChatMessage) Reset() { *m = ChatMessage{} }
|
|||
func (m *ChatMessage) String() string { return proto.CompactTextString(m) }
|
||||
func (*ChatMessage) ProtoMessage() {}
|
||||
func (*ChatMessage) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_263952f55fd35689, []int{8}
|
||||
return fileDescriptor_263952f55fd35689, []int{9}
|
||||
}
|
||||
|
||||
func (m *ChatMessage) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -896,7 +945,7 @@ func (m *ContactRequestSignature) Reset() { *m = ContactRequestSignature
|
|||
func (m *ContactRequestSignature) String() string { return proto.CompactTextString(m) }
|
||||
func (*ContactRequestSignature) ProtoMessage() {}
|
||||
func (*ContactRequestSignature) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_263952f55fd35689, []int{9}
|
||||
return fileDescriptor_263952f55fd35689, []int{10}
|
||||
}
|
||||
|
||||
func (m *ContactRequestSignature) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -939,6 +988,7 @@ func init() {
|
|||
proto.RegisterType((*AudioMessage)(nil), "protobuf.AudioMessage")
|
||||
proto.RegisterType((*EditMessage)(nil), "protobuf.EditMessage")
|
||||
proto.RegisterType((*DeleteMessage)(nil), "protobuf.DeleteMessage")
|
||||
proto.RegisterType((*DeleteForMeMessage)(nil), "protobuf.DeleteForMeMessage")
|
||||
proto.RegisterType((*DiscordMessage)(nil), "protobuf.DiscordMessage")
|
||||
proto.RegisterType((*DiscordMessageAuthor)(nil), "protobuf.DiscordMessageAuthor")
|
||||
proto.RegisterType((*DiscordMessageReference)(nil), "protobuf.DiscordMessageReference")
|
||||
|
@ -951,74 +1001,75 @@ func init() {
|
|||
}
|
||||
|
||||
var fileDescriptor_263952f55fd35689 = []byte{
|
||||
// 1101 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0xcb, 0x6e, 0xdb, 0x46,
|
||||
0x17, 0x36, 0x65, 0xdd, 0x78, 0x28, 0xcb, 0xfc, 0x27, 0xfe, 0x63, 0x36, 0x75, 0x6d, 0x87, 0x08,
|
||||
0x10, 0xad, 0x54, 0x20, 0x4d, 0x8b, 0x00, 0x5d, 0x14, 0x8c, 0x44, 0xd8, 0x6c, 0xaa, 0x4b, 0x86,
|
||||
0x54, 0x5b, 0x77, 0x43, 0x4c, 0xc8, 0xb1, 0x45, 0x58, 0x24, 0x55, 0x92, 0x0a, 0xea, 0x07, 0xe8,
|
||||
0xba, 0x4f, 0xd2, 0x6d, 0xb7, 0x7d, 0x9b, 0x3e, 0x40, 0x9f, 0xa0, 0x98, 0x21, 0x47, 0xa4, 0x04,
|
||||
0xcb, 0xf1, 0x8a, 0x73, 0xce, 0x9c, 0x1b, 0xbf, 0xf3, 0x9d, 0x99, 0x01, 0xe4, 0xcd, 0x49, 0xe6,
|
||||
0x86, 0x34, 0x4d, 0xc9, 0x0d, 0xed, 0x2f, 0x93, 0x38, 0x8b, 0x51, 0x9b, 0x7f, 0x3e, 0xac, 0xae,
|
||||
0x9f, 0x29, 0x34, 0x5a, 0x85, 0x69, 0xae, 0xd6, 0xdf, 0x40, 0xd7, 0xce, 0x02, 0xef, 0x96, 0x26,
|
||||
0xa3, 0xdc, 0x1c, 0x21, 0xa8, 0xcf, 0x49, 0x3a, 0xd7, 0xa4, 0x73, 0xa9, 0x27, 0x63, 0xbe, 0x66,
|
||||
0xba, 0x25, 0xf1, 0x6e, 0xb5, 0xda, 0xb9, 0xd4, 0x6b, 0x60, 0xbe, 0xd6, 0xdf, 0x43, 0xc7, 0x0a,
|
||||
0xc9, 0x0d, 0x15, 0x7e, 0x1a, 0xb4, 0x96, 0xe4, 0x6e, 0x11, 0x13, 0x9f, 0xbb, 0x76, 0xb0, 0x10,
|
||||
0xd1, 0x4b, 0xa8, 0x67, 0x77, 0x4b, 0xca, 0xbd, 0xbb, 0xaf, 0x9e, 0xf4, 0x45, 0x25, 0x7d, 0xee,
|
||||
0xef, 0xdc, 0x2d, 0x29, 0xe6, 0x06, 0xfa, 0x5f, 0x12, 0x74, 0x8c, 0x95, 0x1f, 0xc4, 0x9f, 0x8e,
|
||||
0xf9, 0x7a, 0x23, 0xe6, 0x79, 0x19, 0xb3, 0xea, 0x9f, 0x0b, 0x65, 0x02, 0x74, 0x06, 0x8a, 0xbf,
|
||||
0x4a, 0x48, 0x16, 0xc4, 0x91, 0x1b, 0xa6, 0xda, 0xfe, 0xb9, 0xd4, 0xab, 0x63, 0x10, 0xaa, 0x51,
|
||||
0xaa, 0x7f, 0x0d, 0xf2, 0xda, 0x07, 0x3d, 0x05, 0x34, 0x1b, 0xbf, 0x1b, 0x4f, 0x7e, 0x1a, 0xbb,
|
||||
0xc6, 0x6c, 0x68, 0x4d, 0x5c, 0xe7, 0x6a, 0x6a, 0xaa, 0x7b, 0xa8, 0x05, 0xfb, 0x86, 0x31, 0x50,
|
||||
0x25, 0xbe, 0x18, 0x61, 0xb5, 0xa6, 0xff, 0x2d, 0x81, 0x62, 0xfa, 0x41, 0x26, 0xea, 0x3e, 0x82,
|
||||
0x86, 0xb7, 0x88, 0xbd, 0x5b, 0x5e, 0x75, 0x1d, 0xe7, 0x02, 0x43, 0x31, 0xa3, 0xbf, 0x65, 0xbc,
|
||||
0x66, 0x19, 0xf3, 0x35, 0x3a, 0x86, 0x16, 0x6f, 0x56, 0xe0, 0xf3, 0x6a, 0x64, 0xdc, 0x64, 0xa2,
|
||||
0xe5, 0xa3, 0x2f, 0x00, 0x8a, 0x06, 0xb2, 0xbd, 0x3a, 0xdf, 0x93, 0x0b, 0x8d, 0xe5, 0xb3, 0x0c,
|
||||
0x37, 0x09, 0x89, 0x32, 0xad, 0xc1, 0x71, 0xc9, 0x05, 0xf4, 0x06, 0x3a, 0xc2, 0x89, 0xa3, 0xd3,
|
||||
0xe4, 0xe8, 0xfc, 0xbf, 0x44, 0xa7, 0x28, 0x90, 0x43, 0xa2, 0x84, 0xa5, 0xa0, 0xff, 0x29, 0xc1,
|
||||
0xc1, 0x90, 0x2e, 0x68, 0x46, 0x1f, 0xfe, 0x87, 0x4a, 0xbd, 0xb5, 0x07, 0xea, 0xdd, 0xdf, 0x59,
|
||||
0x6f, 0xfd, 0xa1, 0x7a, 0x1b, 0x8f, 0xae, 0xf7, 0x8f, 0x1a, 0x74, 0x87, 0x41, 0xea, 0xc5, 0x89,
|
||||
0x2f, 0x0a, 0xee, 0x42, 0x2d, 0xf0, 0x0b, 0xda, 0xd6, 0x02, 0x9f, 0xc3, 0x2d, 0x28, 0x22, 0x17,
|
||||
0x04, 0x38, 0x01, 0x39, 0x0b, 0x42, 0x9a, 0x66, 0x24, 0x5c, 0x8a, 0x22, 0xd7, 0x0a, 0xd4, 0x83,
|
||||
0xc3, 0xb5, 0xc0, 0xda, 0x49, 0x05, 0xf0, 0xdb, 0x6a, 0x46, 0x4c, 0x2f, 0x8e, 0x32, 0x5a, 0x34,
|
||||
0x40, 0xc6, 0x42, 0x44, 0xdf, 0x40, 0x93, 0xac, 0xb2, 0x79, 0x9c, 0x70, 0xf0, 0x95, 0x57, 0xa7,
|
||||
0xe5, 0xcf, 0x6c, 0xd6, 0x6b, 0x70, 0x2b, 0x5c, 0x58, 0xa3, 0xef, 0x40, 0x4e, 0xe8, 0x35, 0x4d,
|
||||
0x68, 0xe4, 0x51, 0xad, 0xc5, 0x5d, 0x9f, 0xef, 0x72, 0xc5, 0xc2, 0x10, 0x97, 0x3e, 0xfa, 0x3f,
|
||||
0x12, 0x1c, 0xdd, 0x97, 0xe1, 0x3e, 0x5c, 0x22, 0x12, 0xae, 0x71, 0x61, 0x6b, 0xf4, 0x02, 0x0e,
|
||||
0xfc, 0x20, 0xf5, 0x92, 0x20, 0x0c, 0x22, 0x92, 0xc5, 0x49, 0x81, 0xcd, 0xa6, 0x12, 0x3d, 0x83,
|
||||
0x76, 0x14, 0x78, 0xb7, 0xdc, 0x3b, 0x07, 0x66, 0x2d, 0x33, 0x64, 0xc9, 0x47, 0x92, 0x91, 0x64,
|
||||
0x96, 0x2c, 0x0a, 0x4c, 0x4a, 0x05, 0xea, 0x03, 0xca, 0x05, 0x3e, 0xf2, 0xd3, 0x62, 0xa6, 0x9b,
|
||||
0x9c, 0x0b, 0xf7, 0xec, 0xb0, 0x4c, 0x8b, 0xd8, 0x23, 0x0b, 0x16, 0xac, 0x95, 0x67, 0x12, 0xb2,
|
||||
0x1e, 0xc3, 0xf1, 0x0e, 0x38, 0x58, 0x11, 0x6b, 0xca, 0x15, 0x7f, 0x5c, 0xe1, 0xe0, 0x09, 0xc8,
|
||||
0xde, 0x9c, 0x44, 0x11, 0x5d, 0x58, 0x82, 0xbd, 0xa5, 0x82, 0xb5, 0xf4, 0x66, 0x15, 0x2c, 0x7c,
|
||||
0x4b, 0xb0, 0x57, 0x88, 0xfa, 0xbf, 0x6d, 0x50, 0x06, 0x73, 0xf2, 0x89, 0xe9, 0xde, 0xa0, 0x56,
|
||||
0x8d, 0xef, 0x54, 0xa8, 0x25, 0x66, 0x7f, 0xbf, 0x32, 0xfb, 0x67, 0xa0, 0x24, 0x34, 0x5d, 0xc6,
|
||||
0x51, 0x4a, 0xdd, 0x2c, 0x2e, 0x10, 0x05, 0xa1, 0x72, 0x62, 0xf4, 0x19, 0xb4, 0x69, 0x94, 0xba,
|
||||
0x1c, 0xef, 0x82, 0x66, 0x34, 0x4a, 0xc7, 0x0c, 0xee, 0xca, 0x1c, 0x36, 0x37, 0xe6, 0x70, 0x7b,
|
||||
0xa4, 0x5a, 0x8f, 0x1d, 0x29, 0x34, 0x84, 0x4e, 0x41, 0xe2, 0xdc, 0xb3, 0xcd, 0x3d, 0x2b, 0x24,
|
||||
0xac, 0x60, 0xd0, 0x1f, 0xe4, 0x96, 0x79, 0x14, 0xaf, 0x14, 0xd0, 0x6b, 0x68, 0xa5, 0xf9, 0x85,
|
||||
0xa2, 0xc9, 0x9c, 0xc5, 0x5a, 0x19, 0x60, 0xf3, 0xa6, 0xb9, 0xdc, 0xc3, 0xc2, 0x14, 0xf5, 0xa1,
|
||||
0x11, 0xb0, 0xfe, 0x6b, 0xc0, 0x7d, 0x9e, 0x6e, 0xdd, 0x11, 0xa5, 0x47, 0x6e, 0xc6, 0xec, 0x09,
|
||||
0x3b, 0xa7, 0x35, 0x65, 0xdb, 0xbe, 0x7a, 0xfe, 0x33, 0x7b, 0x6e, 0x86, 0x4e, 0x41, 0xf6, 0xe2,
|
||||
0x30, 0x5c, 0x45, 0x41, 0x76, 0xa7, 0x75, 0x18, 0xed, 0x2e, 0xf7, 0x70, 0xa9, 0x42, 0x03, 0x38,
|
||||
0xf4, 0x73, 0x4e, 0x89, 0x6b, 0x53, 0xf3, 0xb6, 0xab, 0xdf, 0x24, 0xdd, 0xe5, 0x1e, 0xee, 0xfa,
|
||||
0x9b, 0x07, 0xd0, 0xfa, 0x8c, 0x3b, 0xa8, 0x9e, 0x71, 0xcf, 0xa1, 0xe3, 0x07, 0xe9, 0x72, 0x41,
|
||||
0xee, 0xf2, 0x46, 0x76, 0x79, 0xbb, 0x94, 0x42, 0xc7, 0x9b, 0x79, 0x0d, 0xa7, 0x29, 0x83, 0x9d,
|
||||
0xe1, 0x48, 0xbc, 0xcc, 0x4d, 0xe8, 0xaf, 0x2b, 0x9a, 0x66, 0x6e, 0x1a, 0xdc, 0x44, 0x24, 0x5b,
|
||||
0x25, 0x54, 0x3b, 0xdc, 0x3e, 0x10, 0x06, 0xb9, 0x29, 0xce, 0x2d, 0x6d, 0x61, 0x88, 0x3f, 0x67,
|
||||
0x81, 0x76, 0x6c, 0xa2, 0x08, 0xf4, 0x84, 0x7a, 0x34, 0xf8, 0x48, 0xfd, 0x07, 0x72, 0xa9, 0x8f,
|
||||
0xcd, 0x75, 0x26, 0x82, 0xed, 0xca, 0xf7, 0x12, 0x0e, 0x45, 0x1a, 0x81, 0xea, 0xff, 0xce, 0xa5,
|
||||
0x5e, 0x1b, 0x77, 0x0b, 0x75, 0x81, 0x9c, 0xfe, 0x7b, 0x0d, 0x94, 0x0a, 0xa3, 0x90, 0x06, 0x47,
|
||||
0xe2, 0xe6, 0x1d, 0x4c, 0xc6, 0x8e, 0x39, 0x76, 0xc4, 0xdd, 0xdb, 0x05, 0x70, 0xcc, 0x9f, 0x1d,
|
||||
0x77, 0xfa, 0x83, 0x61, 0x8d, 0x55, 0x09, 0x29, 0xd0, 0xb2, 0x1d, 0x6b, 0xf0, 0xce, 0xc4, 0x6a,
|
||||
0x0d, 0x01, 0x34, 0x6d, 0xc7, 0x70, 0x66, 0xb6, 0xba, 0x8f, 0x64, 0x68, 0x98, 0xa3, 0xc9, 0xf7,
|
||||
0x96, 0x5a, 0x47, 0xc7, 0xf0, 0xc4, 0xc1, 0xc6, 0xd8, 0x36, 0x06, 0x8e, 0x35, 0x61, 0x11, 0x47,
|
||||
0x23, 0x63, 0x3c, 0x54, 0x1b, 0xa8, 0x07, 0x2f, 0xec, 0x2b, 0xdb, 0x31, 0x47, 0xee, 0xc8, 0xb4,
|
||||
0x6d, 0xe3, 0xc2, 0x5c, 0x67, 0x9b, 0x62, 0xeb, 0x47, 0xc3, 0x31, 0xdd, 0x0b, 0x3c, 0x99, 0x4d,
|
||||
0xd5, 0x26, 0x8b, 0x66, 0x8d, 0x8c, 0x0b, 0x53, 0x6d, 0xb1, 0x25, 0x7f, 0x0d, 0xa8, 0x6d, 0x74,
|
||||
0x00, 0x32, 0x0b, 0x36, 0x1b, 0x5b, 0xce, 0x95, 0x2a, 0xb3, 0xf7, 0xc2, 0x56, 0xb8, 0x0b, 0x63,
|
||||
0xaa, 0x02, 0x7a, 0x02, 0x87, 0x2c, 0xae, 0x31, 0x70, 0x5c, 0x6c, 0xbe, 0x9f, 0x99, 0xb6, 0xa3,
|
||||
0x2a, 0x4c, 0x39, 0xb4, 0xec, 0xc1, 0x04, 0x0f, 0x85, 0xb5, 0xda, 0x79, 0x2b, 0xaf, 0xdf, 0x3b,
|
||||
0xfa, 0x0c, 0x8e, 0x77, 0xc1, 0x7a, 0x02, 0x72, 0xd9, 0xad, 0xfc, 0x5d, 0x54, 0x2a, 0x1e, 0x3e,
|
||||
0x87, 0xde, 0x1e, 0xfc, 0xa2, 0xf4, 0xbf, 0xfc, 0x56, 0xb4, 0xf6, 0x43, 0x93, 0xaf, 0xbe, 0xfa,
|
||||
0x2f, 0x00, 0x00, 0xff, 0xff, 0xcc, 0x43, 0x0c, 0xc6, 0x32, 0x0a, 0x00, 0x00,
|
||||
// 1119 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0xcd, 0x6e, 0xdb, 0x46,
|
||||
0x10, 0xb6, 0x64, 0xfd, 0x71, 0x28, 0xcb, 0xec, 0x26, 0x8d, 0xd9, 0x34, 0xb5, 0x1d, 0x22, 0x40,
|
||||
0x74, 0x52, 0x81, 0x34, 0x2d, 0x02, 0xf4, 0x50, 0x30, 0x12, 0x6b, 0xb3, 0xa9, 0x7e, 0xb2, 0xa4,
|
||||
0xda, 0xba, 0x17, 0x62, 0x43, 0xae, 0x2d, 0xc2, 0x22, 0xa9, 0x92, 0x54, 0x50, 0x3f, 0x40, 0xcf,
|
||||
0x7d, 0x92, 0x5e, 0x7b, 0xed, 0xdb, 0xf4, 0x01, 0xfa, 0x04, 0xc5, 0x2e, 0xb9, 0x24, 0x25, 0x58,
|
||||
0xb6, 0x4f, 0xda, 0x99, 0x9d, 0x99, 0xfd, 0xf4, 0xcd, 0xb7, 0xb3, 0x04, 0xe4, 0x2e, 0x48, 0xea,
|
||||
0x04, 0x34, 0x49, 0xc8, 0x15, 0x1d, 0xac, 0xe2, 0x28, 0x8d, 0x50, 0x87, 0xff, 0x7c, 0x58, 0x5f,
|
||||
0x3e, 0x95, 0x69, 0xb8, 0x0e, 0x92, 0xcc, 0xad, 0xbd, 0x81, 0x9e, 0x95, 0xfa, 0xee, 0x35, 0x8d,
|
||||
0xc7, 0x59, 0x38, 0x42, 0xd0, 0x58, 0x90, 0x64, 0xa1, 0xd6, 0x4e, 0x6b, 0x7d, 0x09, 0xf3, 0x35,
|
||||
0xf3, 0xad, 0x88, 0x7b, 0xad, 0xd6, 0x4f, 0x6b, 0xfd, 0x26, 0xe6, 0x6b, 0xed, 0x3d, 0x74, 0xcd,
|
||||
0x80, 0x5c, 0x51, 0x91, 0xa7, 0x42, 0x7b, 0x45, 0x6e, 0x96, 0x11, 0xf1, 0x78, 0x6a, 0x17, 0x0b,
|
||||
0x13, 0xbd, 0x84, 0x46, 0x7a, 0xb3, 0xa2, 0x3c, 0xbb, 0xf7, 0xea, 0xd1, 0x40, 0x20, 0x19, 0xf0,
|
||||
0x7c, 0xfb, 0x66, 0x45, 0x31, 0x0f, 0xd0, 0xfe, 0xae, 0x41, 0x57, 0x5f, 0x7b, 0x7e, 0x74, 0x7f,
|
||||
0xcd, 0xd7, 0x1b, 0x35, 0x4f, 0xcb, 0x9a, 0xd5, 0xfc, 0xcc, 0x28, 0x0f, 0x40, 0x27, 0x20, 0x7b,
|
||||
0xeb, 0x98, 0xa4, 0x7e, 0x14, 0x3a, 0x41, 0xa2, 0xee, 0x9f, 0xd6, 0xfa, 0x0d, 0x0c, 0xc2, 0x35,
|
||||
0x4e, 0xb4, 0xaf, 0x41, 0x2a, 0x72, 0xd0, 0x13, 0x40, 0xf3, 0xc9, 0xbb, 0xc9, 0xf4, 0xe7, 0x89,
|
||||
0xa3, 0xcf, 0x47, 0xe6, 0xd4, 0xb1, 0x2f, 0x66, 0x86, 0xb2, 0x87, 0xda, 0xb0, 0xaf, 0xeb, 0x43,
|
||||
0xa5, 0xc6, 0x17, 0x63, 0xac, 0xd4, 0xb5, 0x7f, 0x6a, 0x20, 0x1b, 0x9e, 0x9f, 0x0a, 0xdc, 0x8f,
|
||||
0xa1, 0xe9, 0x2e, 0x23, 0xf7, 0x9a, 0xa3, 0x6e, 0xe0, 0xcc, 0x60, 0x2c, 0xa6, 0xf4, 0xf7, 0x94,
|
||||
0x63, 0x96, 0x30, 0x5f, 0xa3, 0x23, 0x68, 0xf3, 0x66, 0xf9, 0x1e, 0x47, 0x23, 0xe1, 0x16, 0x33,
|
||||
0x4d, 0x0f, 0x7d, 0x01, 0x90, 0x37, 0x90, 0xed, 0x35, 0xf8, 0x9e, 0x94, 0x7b, 0x4c, 0x8f, 0x9d,
|
||||
0x70, 0x15, 0x93, 0x30, 0x55, 0x9b, 0x9c, 0x97, 0xcc, 0x40, 0x6f, 0xa0, 0x2b, 0x92, 0x38, 0x3b,
|
||||
0x2d, 0xce, 0xce, 0xa7, 0x25, 0x3b, 0x39, 0x40, 0x4e, 0x89, 0x1c, 0x94, 0x86, 0xf6, 0x57, 0x0d,
|
||||
0x0e, 0x46, 0x74, 0x49, 0x53, 0x7a, 0xf7, 0x7f, 0xa8, 0xe0, 0xad, 0xdf, 0x81, 0x77, 0x7f, 0x27,
|
||||
0xde, 0xc6, 0x5d, 0x78, 0x9b, 0x0f, 0xc6, 0x6b, 0x02, 0xca, 0xe0, 0x7e, 0x1f, 0xc5, 0xe3, 0x7b,
|
||||
0x30, 0x6f, 0x42, 0xab, 0x6f, 0x41, 0xd3, 0xfe, 0xac, 0x43, 0x6f, 0xe4, 0x27, 0x6e, 0x14, 0x7b,
|
||||
0xa2, 0x4e, 0x0f, 0xea, 0xbe, 0x97, 0xdf, 0x80, 0xba, 0xef, 0xf1, 0xce, 0x09, 0xb5, 0x49, 0xb9,
|
||||
0x96, 0x9e, 0x81, 0x94, 0xfa, 0x01, 0x4d, 0x52, 0x12, 0xac, 0xc4, 0xff, 0x2d, 0x1c, 0xa8, 0x0f,
|
||||
0x87, 0x85, 0xc1, 0x94, 0x41, 0x45, 0x0f, 0xb7, 0xdd, 0x4c, 0xe3, 0x6e, 0x14, 0xa6, 0x34, 0xef,
|
||||
0xa5, 0x84, 0x85, 0x89, 0xbe, 0x81, 0x16, 0x59, 0xa7, 0x8b, 0x28, 0xe6, 0x7d, 0x94, 0x5f, 0x1d,
|
||||
0x97, 0xbc, 0x6c, 0xe2, 0xd5, 0x79, 0x14, 0xce, 0xa3, 0xd1, 0x77, 0x20, 0xc5, 0xf4, 0x92, 0xc6,
|
||||
0x34, 0x74, 0xa9, 0xda, 0xe6, 0xa9, 0xcf, 0x77, 0xa5, 0x62, 0x11, 0x88, 0xcb, 0x1c, 0xed, 0xdf,
|
||||
0x1a, 0x3c, 0xbe, 0xed, 0x84, 0xdb, 0x78, 0x09, 0x49, 0x50, 0xf0, 0xc2, 0xd6, 0xe8, 0x05, 0x1c,
|
||||
0x78, 0x7e, 0xe2, 0xc6, 0x7e, 0xe0, 0x87, 0x24, 0x8d, 0xe2, 0x9c, 0x9b, 0x4d, 0x27, 0x7a, 0x0a,
|
||||
0x9d, 0xd0, 0x77, 0xaf, 0x79, 0x76, 0x46, 0x4c, 0x61, 0x33, 0x66, 0xc9, 0x47, 0x92, 0x92, 0x78,
|
||||
0x1e, 0x2f, 0x73, 0x4e, 0x4a, 0x07, 0x1a, 0x00, 0xca, 0x0c, 0x3e, 0x3d, 0x66, 0xf9, 0x78, 0x68,
|
||||
0x71, 0x59, 0xdd, 0xb2, 0xc3, 0x4e, 0x5a, 0x46, 0x2e, 0x59, 0xb2, 0x62, 0xed, 0xec, 0x24, 0x61,
|
||||
0x6b, 0x11, 0x1c, 0xed, 0xa0, 0x83, 0x81, 0x28, 0x24, 0x92, 0xff, 0xe3, 0x8a, 0x9c, 0x9f, 0x81,
|
||||
0xe4, 0x2e, 0x48, 0x18, 0xd2, 0xa5, 0x59, 0x28, 0xaa, 0x70, 0xb0, 0x96, 0x5e, 0xad, 0xfd, 0xa5,
|
||||
0x67, 0x8a, 0x8b, 0x20, 0x4c, 0xed, 0xbf, 0x0e, 0xc8, 0xc3, 0x05, 0xb9, 0x67, 0x50, 0x6c, 0x48,
|
||||
0xab, 0xce, 0x77, 0x2a, 0xd2, 0x12, 0x63, 0x64, 0xbf, 0x32, 0x46, 0x4e, 0x40, 0x8e, 0x69, 0xb2,
|
||||
0x8a, 0xc2, 0x84, 0x3a, 0x69, 0x94, 0x33, 0x0a, 0xc2, 0x65, 0x47, 0xe8, 0x33, 0xe8, 0xd0, 0x30,
|
||||
0x71, 0x38, 0xdf, 0xb9, 0xcc, 0x68, 0x98, 0x4c, 0x18, 0xdd, 0x95, 0x2b, 0xdd, 0xda, 0xb8, 0xd2,
|
||||
0xdb, 0xb7, 0xb3, 0xfd, 0xd0, 0xdb, 0x89, 0x46, 0xd0, 0xcd, 0x45, 0x9c, 0x65, 0x76, 0x78, 0x66,
|
||||
0x45, 0x84, 0x15, 0x0e, 0x06, 0xc3, 0x2c, 0x32, 0xab, 0xe2, 0x96, 0x06, 0x7a, 0x0d, 0xed, 0x24,
|
||||
0x7b, 0x9b, 0x54, 0x89, 0xab, 0x58, 0x2d, 0x0b, 0x6c, 0x3e, 0x5a, 0xe7, 0x7b, 0x58, 0x84, 0xa2,
|
||||
0x01, 0x34, 0x7d, 0xd6, 0x7f, 0x15, 0x78, 0xce, 0x93, 0xad, 0xe7, 0xa6, 0xcc, 0xc8, 0xc2, 0x58,
|
||||
0x3c, 0x61, 0x23, 0x5f, 0x95, 0xb7, 0xe3, 0xab, 0x4f, 0x09, 0x8b, 0xe7, 0x61, 0xe8, 0x18, 0x24,
|
||||
0x37, 0x0a, 0x82, 0x75, 0xe8, 0xa7, 0x37, 0x6a, 0x97, 0xc9, 0xee, 0x7c, 0x0f, 0x97, 0x2e, 0x34,
|
||||
0x84, 0x43, 0x2f, 0xd3, 0x94, 0x78, 0x81, 0x55, 0x77, 0x1b, 0xfd, 0xa6, 0xe8, 0xce, 0xf7, 0x70,
|
||||
0xcf, 0xdb, 0x1c, 0x40, 0xc5, 0xb8, 0x3c, 0xa8, 0x8e, 0xcb, 0xe7, 0xd0, 0xf5, 0xfc, 0x64, 0xb5,
|
||||
0x24, 0x37, 0x59, 0x23, 0x7b, 0xbc, 0x5d, 0x72, 0xee, 0xe3, 0xcd, 0xbc, 0x84, 0xe3, 0x84, 0xd1,
|
||||
0xce, 0x78, 0x24, 0x6e, 0xea, 0xc4, 0xf4, 0xb7, 0x35, 0x4d, 0x52, 0x27, 0xf1, 0xaf, 0x42, 0x92,
|
||||
0xae, 0x63, 0xaa, 0x1e, 0x6e, 0x0f, 0x84, 0x61, 0x16, 0x8a, 0xb3, 0x48, 0x4b, 0x04, 0xe2, 0xcf,
|
||||
0x59, 0xa1, 0x1d, 0x9b, 0x28, 0x04, 0x2d, 0xa6, 0x2e, 0xf5, 0x3f, 0x52, 0xef, 0x8e, 0xb3, 0x94,
|
||||
0x87, 0x9e, 0x75, 0x22, 0x8a, 0xed, 0x3a, 0xef, 0x25, 0x1c, 0x8a, 0x63, 0x04, 0xab, 0x9f, 0x9c,
|
||||
0xd6, 0xfa, 0x1d, 0xdc, 0xcb, 0xdd, 0x39, 0x73, 0xda, 0x1f, 0x75, 0x90, 0x2b, 0x8a, 0x42, 0x2a,
|
||||
0x3c, 0x16, 0x8f, 0xf8, 0x70, 0x3a, 0xb1, 0x8d, 0x89, 0x2d, 0x9e, 0xf1, 0x1e, 0x80, 0x6d, 0xfc,
|
||||
0x62, 0x3b, 0xb3, 0x1f, 0x75, 0x73, 0xa2, 0xd4, 0x90, 0x0c, 0x6d, 0xcb, 0x36, 0x87, 0xef, 0x0c,
|
||||
0xac, 0xd4, 0x11, 0x40, 0xcb, 0xb2, 0x75, 0x7b, 0x6e, 0x29, 0xfb, 0x48, 0x82, 0xa6, 0x31, 0x9e,
|
||||
0xfe, 0x60, 0x2a, 0x0d, 0x74, 0x04, 0x8f, 0x6c, 0xac, 0x4f, 0x2c, 0x7d, 0x68, 0x9b, 0x53, 0x56,
|
||||
0x71, 0x3c, 0xd6, 0x27, 0x23, 0xa5, 0x89, 0xfa, 0xf0, 0xc2, 0xba, 0xb0, 0x6c, 0x63, 0xec, 0x8c,
|
||||
0x0d, 0xcb, 0xd2, 0xcf, 0x8c, 0xe2, 0xb4, 0x19, 0x36, 0x7f, 0xd2, 0x6d, 0xc3, 0x39, 0xc3, 0xd3,
|
||||
0xf9, 0x4c, 0x69, 0xb1, 0x6a, 0xe6, 0x58, 0x3f, 0x33, 0x94, 0x36, 0x5b, 0xf2, 0x0f, 0x0b, 0xa5,
|
||||
0x83, 0x0e, 0x40, 0x62, 0xc5, 0xe6, 0x13, 0xd3, 0xbe, 0x50, 0x24, 0xf6, 0xe9, 0xb1, 0x55, 0xee,
|
||||
0x4c, 0x9f, 0x29, 0x80, 0x1e, 0xc1, 0x21, 0xab, 0xab, 0x0f, 0x6d, 0x07, 0x1b, 0xef, 0xe7, 0x86,
|
||||
0x65, 0x2b, 0x32, 0x73, 0x8e, 0x4c, 0x6b, 0x38, 0xc5, 0x23, 0x11, 0xad, 0x74, 0xdf, 0x4a, 0xc5,
|
||||
0xa7, 0x93, 0x36, 0x87, 0xa3, 0x5d, 0xb4, 0x3e, 0x03, 0xa9, 0xec, 0x56, 0xf6, 0x89, 0x55, 0x3a,
|
||||
0xee, 0x9e, 0x43, 0x6f, 0x0f, 0x7e, 0x95, 0x07, 0x5f, 0x7e, 0x2b, 0x5a, 0xfb, 0xa1, 0xc5, 0x57,
|
||||
0x5f, 0xfd, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x5f, 0x62, 0xda, 0x69, 0x7d, 0x0a, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -54,6 +54,11 @@ message DeleteMessage {
|
|||
MessageType message_type = 5;
|
||||
}
|
||||
|
||||
message DeleteForMeMessage {
|
||||
uint64 clock = 1;
|
||||
string message_id = 2;
|
||||
}
|
||||
|
||||
message DiscordMessage {
|
||||
string id = 1;
|
||||
string type = 2;
|
||||
|
@ -83,8 +88,8 @@ message DiscordMessageReference {
|
|||
message ChatMessage {
|
||||
// Lamport timestamp of the chat message
|
||||
uint64 clock = 1;
|
||||
// Unix timestamps in milliseconds, currently not used as we use whisper as more reliable, but here
|
||||
// so that we don't rely on it
|
||||
// Unix timestamps in milliseconds, currently not used as we use whisper as
|
||||
// more reliable, but here so that we don't rely on it
|
||||
uint64 timestamp = 2;
|
||||
// Text of the message
|
||||
string text = 3;
|
||||
|
@ -95,7 +100,8 @@ message ChatMessage {
|
|||
// Chat id, this field is symmetric for public-chats and private group chats,
|
||||
// but asymmetric in case of one-to-ones, as the sender will use the chat-id
|
||||
// of the received, while the receiver will use the chat-id of the sender.
|
||||
// Probably should be the concatenation of sender-pk & receiver-pk in alphabetical order
|
||||
// Probably should be the concatenation of sender-pk & receiver-pk in
|
||||
// alphabetical order
|
||||
string chat_id = 6;
|
||||
|
||||
// The type of message (public/one-to-one/private-group-chat)
|
||||
|
@ -138,8 +144,6 @@ message ChatMessage {
|
|||
CONTACT_REQUEST = 11;
|
||||
DISCORD_MESSAGE = 12;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
message ContactRequestSignature {
|
||||
|
|
|
@ -247,6 +247,8 @@ func (m *StatusMessage) HandleApplication() error {
|
|||
return m.unmarshalProtobufData(new(protobuf.EditMessage))
|
||||
case protobuf.ApplicationMetadataMessage_DELETE_MESSAGE:
|
||||
return m.unmarshalProtobufData(new(protobuf.DeleteMessage))
|
||||
case protobuf.ApplicationMetadataMessage_SYNC_DELETE_FOR_ME_MESSAGE:
|
||||
return m.unmarshalProtobufData(new(protobuf.DeleteForMeMessage))
|
||||
case protobuf.ApplicationMetadataMessage_STATUS_UPDATE:
|
||||
return m.unmarshalProtobufData(new(protobuf.StatusUpdate))
|
||||
case protobuf.ApplicationMetadataMessage_PUSH_NOTIFICATION_REGISTRATION:
|
||||
|
|
|
@ -705,6 +705,10 @@ func (api *PublicAPI) DeleteMessageAndSend(ctx context.Context, messageID string
|
|||
return api.service.messenger.DeleteMessageAndSend(ctx, messageID)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) DeleteMessageForMeAndSync(ctx context.Context, chatID string, messageID string) (*protocol.MessengerResponse, error) {
|
||||
return api.service.messenger.DeleteMessageForMeAndSync(ctx, chatID, messageID)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) SendPinMessage(ctx context.Context, message *common.PinMessage) (*protocol.MessengerResponse, error) {
|
||||
return api.service.messenger.SendPinMessage(ctx, message)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue