From 31671ea040852e24dbcae0e7e87f7989da701dff Mon Sep 17 00:00:00 2001 From: Michal Iskierko Date: Tue, 12 Jul 2022 09:48:58 +0200 Subject: [PATCH] feat: distribute color info when creating group chat or changing chat color Regenerating protocol protobuf files - membership_update_message.proto change. Issue #5982 --- VERSION | 2 +- protocol/anonmetrics/migrations/migrations.go | 23 +- protocol/chat.go | 3 + protocol/encryption/migrations/migrations.go | 144 +++---- protocol/encryption/protocol_message.pb.go | 4 +- protocol/group_chat_system_messages.go | 4 + protocol/messenger.go | 85 +++- protocol/messenger_handler_test.go | 9 +- protocol/migrations/migrations.go | 389 ++++++++---------- protocol/protobuf/anon_metrics.pb.go | 16 +- protocol/protobuf/chat_identity.pb.go | 4 +- protocol/protobuf/chat_message.pb.go | 4 +- protocol/protobuf/command.pb.go | 4 +- protocol/protobuf/communities.pb.go | 4 +- protocol/protobuf/contact.pb.go | 4 +- protocol/protobuf/contact_verification.pb.go | 4 +- protocol/protobuf/emoji_reaction.pb.go | 4 +- protocol/protobuf/enums.pb.go | 4 +- protocol/protobuf/group_chat_invitation.pb.go | 4 +- .../protobuf/membership_update_message.pb.go | 79 ++-- .../protobuf/membership_update_message.proto | 3 + protocol/protobuf/pairing.pb.go | 4 +- protocol/protobuf/pin_message.pb.go | 4 +- protocol/protobuf/push_notifications.pb.go | 4 +- protocol/protobuf/status_update.pb.go | 4 +- protocol/protobuf/sync_settings.pb.go | 4 +- .../migrations/migrations.go | 53 ++- .../migrations/migrations.go | 37 +- protocol/transport/migrations/migrations.go | 46 +-- protocol/v1/membership_update_message.go | 35 +- protocol/v1/membership_update_message_test.go | 68 ++- services/chat/api.go | 24 ++ 32 files changed, 614 insertions(+), 466 deletions(-) diff --git a/VERSION b/VERSION index 301f972e3..f1b9cc4cd 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.104.2 +0.105.0 diff --git a/protocol/anonmetrics/migrations/migrations.go b/protocol/anonmetrics/migrations/migrations.go index b5136b788..5bf352300 100644 --- a/protocol/anonmetrics/migrations/migrations.go +++ b/protocol/anonmetrics/migrations/migrations.go @@ -22,7 +22,7 @@ import ( func bindataRead(data []byte, name string) ([]byte, error) { gz, err := gzip.NewReader(bytes.NewBuffer(data)) if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) + return nil, fmt.Errorf("read %q: %w", name, err) } var buf bytes.Buffer @@ -30,7 +30,7 @@ func bindataRead(data []byte, name string) ([]byte, error) { clErr := gz.Close() if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) + return nil, fmt.Errorf("read %q: %w", name, err) } if clErr != nil { return nil, err @@ -86,7 +86,7 @@ func _1619446565_postgres_make_anon_metrics_tableDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.down.sql", size: 24, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.down.sql", size: 24, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x75, 0xea, 0x1, 0x74, 0xe6, 0xa3, 0x11, 0xd0, 0x86, 0x87, 0x7e, 0x31, 0xb4, 0x1a, 0x27, 0x5d, 0xda, 0x77, 0xa3, 0xf5, 0x1d, 0x88, 0x79, 0xcf, 0xd5, 0x95, 0x75, 0xd, 0x47, 0xa1, 0x90, 0x5}} return a, nil } @@ -106,7 +106,7 @@ func _1619446565_postgres_make_anon_metrics_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.up.sql", size: 443, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.up.sql", size: 443, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0xdc, 0x72, 0x28, 0x3c, 0xf6, 0x94, 0xb0, 0x47, 0x3d, 0xca, 0x55, 0x3d, 0xf7, 0x83, 0xb8, 0x7d, 0x2f, 0x1e, 0x98, 0xb7, 0xde, 0xa, 0xff, 0xa0, 0x52, 0x60, 0x83, 0x56, 0xc5, 0xd1, 0xa2}} return a, nil } @@ -126,7 +126,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 380, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "doc.go", size: 380, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0x1, 0xd4, 0xd6, 0xc7, 0x44, 0xd4, 0xfd, 0x7b, 0x69, 0x1f, 0xe3, 0xe, 0x48, 0x14, 0x99, 0xf0, 0x8e, 0x43, 0xae, 0x54, 0x64, 0xa2, 0x8b, 0x82, 0x1c, 0x2b, 0xb, 0xec, 0xf5, 0xb3, 0xfc}} return a, nil } @@ -223,12 +223,13 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ "1619446565_postgres_make_anon_metrics_table.down.sql": _1619446565_postgres_make_anon_metrics_tableDownSql, - - "1619446565_postgres_make_anon_metrics_table.up.sql": _1619446565_postgres_make_anon_metrics_tableUpSql, - + "1619446565_postgres_make_anon_metrics_table.up.sql": _1619446565_postgres_make_anon_metrics_tableUpSql, "doc.go": docGo, } +// AssetDebug is true if the assets were built with the debug flag enabled. +const AssetDebug = false + // AssetDir returns the file names below a certain // directory embedded in the file by go-bindata. // For example if you run go-bindata on data/... and data contains the @@ -270,9 +271,9 @@ type bintree struct { } var _bintree = &bintree{nil, map[string]*bintree{ - "1619446565_postgres_make_anon_metrics_table.down.sql": &bintree{_1619446565_postgres_make_anon_metrics_tableDownSql, map[string]*bintree{}}, - "1619446565_postgres_make_anon_metrics_table.up.sql": &bintree{_1619446565_postgres_make_anon_metrics_tableUpSql, map[string]*bintree{}}, - "doc.go": &bintree{docGo, map[string]*bintree{}}, + "1619446565_postgres_make_anon_metrics_table.down.sql": {_1619446565_postgres_make_anon_metrics_tableDownSql, map[string]*bintree{}}, + "1619446565_postgres_make_anon_metrics_table.up.sql": {_1619446565_postgres_make_anon_metrics_tableUpSql, map[string]*bintree{}}, + "doc.go": {docGo, map[string]*bintree{}}, }} // RestoreAsset restores an asset under the given directory. diff --git a/protocol/chat.go b/protocol/chat.go index b4865a61f..53423bae3 100644 --- a/protocol/chat.go +++ b/protocol/chat.go @@ -267,6 +267,9 @@ func (c *Chat) updateChatFromGroupMembershipChanges(g *v1protocol.Group) { // Name c.Name = g.Name() + // Color + c.Color = g.Color() + // Members members := g.Members() admins := g.Admins() diff --git a/protocol/encryption/migrations/migrations.go b/protocol/encryption/migrations/migrations.go index 265331a30..8d4afd5ff 100644 --- a/protocol/encryption/migrations/migrations.go +++ b/protocol/encryption/migrations/migrations.go @@ -39,7 +39,7 @@ import ( func bindataRead(data []byte, name string) ([]byte, error) { gz, err := gzip.NewReader(bytes.NewBuffer(data)) if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) + return nil, fmt.Errorf("read %q: %w", name, err) } var buf bytes.Buffer @@ -47,7 +47,7 @@ func bindataRead(data []byte, name string) ([]byte, error) { clErr := gz.Close() if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) + return nil, fmt.Errorf("read %q: %w", name, err) } if clErr != nil { return nil, err @@ -103,7 +103,7 @@ func _1536754952_initial_schemaDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1536754952_initial_schema.down.sql", size: 83, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1536754952_initial_schema.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x44, 0xcf, 0x76, 0x71, 0x1f, 0x5e, 0x9a, 0x43, 0xd8, 0xcd, 0xb8, 0xc3, 0x70, 0xc3, 0x7f, 0xfc, 0x90, 0xb4, 0x25, 0x1e, 0xf4, 0x66, 0x20, 0xb8, 0x33, 0x7e, 0xb0, 0x76, 0x1f, 0xc, 0xc0, 0x75}} return a, nil } @@ -123,7 +123,7 @@ func _1536754952_initial_schemaUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1536754952_initial_schema.up.sql", size: 962, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1536754952_initial_schema.up.sql", size: 962, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x90, 0x5a, 0x59, 0x3e, 0x3, 0xe2, 0x3c, 0x81, 0x42, 0xcd, 0x4c, 0x9a, 0xe8, 0xda, 0x93, 0x2b, 0x70, 0xa4, 0xd5, 0x29, 0x3e, 0xd5, 0xc9, 0x27, 0xb6, 0xb7, 0x65, 0xff, 0x0, 0xcb, 0xde}} return a, nil } @@ -143,7 +143,7 @@ func _1539249977_update_ratchet_infoDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1539249977_update_ratchet_info.down.sql", size: 311, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1539249977_update_ratchet_info.down.sql", size: 311, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1, 0xa4, 0xeb, 0xa0, 0xe6, 0xa0, 0xd4, 0x48, 0xbb, 0xad, 0x6f, 0x7d, 0x67, 0x8c, 0xbd, 0x25, 0xde, 0x1f, 0x73, 0x9a, 0xbb, 0xa8, 0xc9, 0x30, 0xb7, 0xa9, 0x7c, 0xaf, 0xb5, 0x1, 0x61, 0xdd}} return a, nil } @@ -163,7 +163,7 @@ func _1539249977_update_ratchet_infoUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1539249977_update_ratchet_info.up.sql", size: 368, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1539249977_update_ratchet_info.up.sql", size: 368, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0x8e, 0xbf, 0x6f, 0xa, 0xc0, 0xe1, 0x3c, 0x42, 0x28, 0x88, 0x1d, 0xdb, 0xba, 0x1c, 0x83, 0xec, 0xba, 0xd3, 0x5f, 0x5c, 0x77, 0x5e, 0xa7, 0x46, 0x36, 0xec, 0x69, 0xa, 0x4b, 0x17, 0x79}} return a, nil } @@ -183,7 +183,7 @@ func _1540715431_add_versionDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1540715431_add_version.down.sql", size: 127, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1540715431_add_version.down.sql", size: 127, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x9, 0x4, 0xe3, 0x76, 0x2e, 0xb8, 0x9, 0x23, 0xf0, 0x70, 0x93, 0xc4, 0x50, 0xe, 0x9d, 0x84, 0x22, 0x8c, 0x94, 0xd3, 0x24, 0x9, 0x9a, 0xc1, 0xa1, 0x48, 0x45, 0xfd, 0x40, 0x6e, 0xe6}} return a, nil } @@ -203,7 +203,7 @@ func _1540715431_add_versionUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1540715431_add_version.up.sql", size: 265, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1540715431_add_version.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc7, 0x4c, 0x36, 0x96, 0xdf, 0x16, 0x10, 0xa6, 0x27, 0x1a, 0x79, 0x8b, 0x42, 0x83, 0x23, 0xc, 0x7e, 0xb6, 0x3d, 0x2, 0xda, 0xa4, 0xb4, 0xd, 0x27, 0x55, 0xba, 0xdc, 0xb2, 0x88, 0x8f, 0xa6}} return a, nil } @@ -223,7 +223,7 @@ func _1541164797_add_installationsDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1541164797_add_installations.down.sql", size: 26, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1541164797_add_installations.down.sql", size: 26, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0xfd, 0xe6, 0xd8, 0xca, 0x3b, 0x38, 0x18, 0xee, 0x0, 0x5f, 0x36, 0x9e, 0x1e, 0xd, 0x19, 0x3e, 0xb4, 0x73, 0x53, 0xe9, 0xa5, 0xac, 0xdd, 0xa1, 0x2f, 0xc7, 0x6c, 0xa8, 0xd9, 0xa, 0x88}} return a, nil } @@ -243,7 +243,7 @@ func _1541164797_add_installationsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1541164797_add_installations.up.sql", size: 216, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1541164797_add_installations.up.sql", size: 216, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2d, 0x18, 0x26, 0xb8, 0x88, 0x47, 0xdb, 0x83, 0xcc, 0xb6, 0x9d, 0x1c, 0x1, 0xae, 0x2f, 0xde, 0x97, 0x82, 0x3, 0x30, 0xa8, 0x63, 0xa1, 0x78, 0x4b, 0xa5, 0x9, 0x8, 0x75, 0xa2, 0x57, 0x81}} return a, nil } @@ -263,7 +263,7 @@ func _1558084410_add_secretDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1558084410_add_secret.down.sql", size: 56, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1558084410_add_secret.down.sql", size: 56, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0xb, 0x65, 0xdf, 0x59, 0xbf, 0xe9, 0x5, 0x5b, 0x6f, 0xd5, 0x3a, 0xb7, 0x57, 0xe8, 0x78, 0x38, 0x73, 0x53, 0x57, 0xf7, 0x24, 0x4, 0xe4, 0xa2, 0x49, 0x22, 0xa2, 0xc6, 0xfd, 0x80, 0xa4}} return a, nil } @@ -283,7 +283,7 @@ func _1558084410_add_secretUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1558084410_add_secret.up.sql", size: 301, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1558084410_add_secret.up.sql", size: 301, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x32, 0x36, 0x8e, 0x47, 0xb0, 0x8f, 0xc1, 0xc6, 0xf7, 0xc6, 0x9f, 0x2d, 0x44, 0x75, 0x2b, 0x26, 0xec, 0x6, 0xa0, 0x7b, 0xa5, 0xbd, 0xc8, 0x76, 0x8a, 0x82, 0x68, 0x2, 0x42, 0xb5, 0xf4}} return a, nil } @@ -303,7 +303,7 @@ func _1558588866_add_versionDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1558588866_add_version.down.sql", size: 47, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1558588866_add_version.down.sql", size: 47, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x52, 0x34, 0x3c, 0x46, 0x4a, 0xf0, 0x72, 0x47, 0x6f, 0x49, 0x5c, 0xc7, 0xf9, 0x32, 0xce, 0xc4, 0x3d, 0xfd, 0x61, 0xa1, 0x8b, 0x8f, 0xf2, 0x31, 0x34, 0xde, 0x15, 0x49, 0xa6, 0xde, 0xb9}} return a, nil } @@ -323,7 +323,7 @@ func _1558588866_add_versionUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1558588866_add_version.up.sql", size: 57, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1558588866_add_version.up.sql", size: 57, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2a, 0xea, 0x64, 0x39, 0x61, 0x20, 0x83, 0x83, 0xb, 0x2e, 0x79, 0x64, 0xb, 0x53, 0xfa, 0xfe, 0xc6, 0xf7, 0x67, 0x42, 0xd3, 0x4f, 0xdc, 0x7e, 0x30, 0x32, 0xe8, 0x14, 0x41, 0xe9, 0xe7, 0x3b}} return a, nil } @@ -343,7 +343,7 @@ func _1559627659_add_contact_codeDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1559627659_add_contact_code.down.sql", size: 32, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1559627659_add_contact_code.down.sql", size: 32, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5d, 0x64, 0x6d, 0xce, 0x24, 0x42, 0x20, 0x8d, 0x4f, 0x37, 0xaa, 0x9d, 0xc, 0x57, 0x98, 0xc1, 0xd1, 0x1a, 0x34, 0xcd, 0x9f, 0x8f, 0x34, 0x86, 0xb3, 0xd3, 0xdc, 0xf1, 0x7d, 0xe5, 0x1b, 0x6e}} return a, nil } @@ -363,7 +363,7 @@ func _1559627659_add_contact_codeUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1559627659_add_contact_code.up.sql", size: 198, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1559627659_add_contact_code.up.sql", size: 198, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0xf6, 0xc2, 0x62, 0x9c, 0xd2, 0xc9, 0x1e, 0xd8, 0xea, 0xaa, 0xea, 0x95, 0x8f, 0x89, 0x6a, 0x85, 0x5d, 0x9d, 0x99, 0x78, 0x3c, 0x90, 0x66, 0x99, 0x3e, 0x4b, 0x19, 0x62, 0xfb, 0x31, 0x4d}} return a, nil } @@ -383,7 +383,7 @@ func _1561368210_add_installation_metadataDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1561368210_add_installation_metadata.down.sql", size: 35, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1561368210_add_installation_metadata.down.sql", size: 35, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0xde, 0x3f, 0xd2, 0x4a, 0x50, 0x98, 0x56, 0xe3, 0xc0, 0xcd, 0x9d, 0xb0, 0x34, 0x3b, 0xe5, 0x62, 0x18, 0xb5, 0x20, 0xc9, 0x3e, 0xdc, 0x6a, 0x40, 0x36, 0x66, 0xea, 0x51, 0x8c, 0x71, 0xf5}} return a, nil } @@ -403,7 +403,7 @@ func _1561368210_add_installation_metadataUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1561368210_add_installation_metadata.up.sql", size: 267, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1561368210_add_installation_metadata.up.sql", size: 267, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0x71, 0x8f, 0x29, 0xb1, 0xaa, 0xd6, 0xd1, 0x8c, 0x17, 0xef, 0x6c, 0xd5, 0x80, 0xb8, 0x2c, 0xc3, 0xfe, 0xec, 0x24, 0x4d, 0xc8, 0x25, 0xd3, 0xb4, 0xcd, 0xa9, 0xac, 0x63, 0x61, 0xb2, 0x9c}} return a, nil } @@ -423,7 +423,7 @@ func _1632236298_add_communitiesDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1632236298_add_communities.down.sql", size: 151, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1632236298_add_communities.down.sql", size: 151, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x26, 0xe5, 0x47, 0xd1, 0xe5, 0xec, 0x5b, 0x3e, 0xdc, 0x22, 0xf4, 0x27, 0xee, 0x70, 0xf3, 0x9, 0x4f, 0xd2, 0x9f, 0x92, 0xf, 0x5a, 0x18, 0x11, 0xb7, 0x40, 0xab, 0xf1, 0x98, 0x72, 0xd6, 0x60}} return a, nil } @@ -443,7 +443,7 @@ func _1632236298_add_communitiesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1632236298_add_communities.up.sql", size: 584, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1632236298_add_communities.up.sql", size: 584, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8f, 0xe0, 0x1, 0x6e, 0x84, 0xc, 0x35, 0xe4, 0x5a, 0xf, 0xbe, 0xcb, 0xf7, 0xd2, 0xa8, 0x25, 0xf5, 0xdb, 0x7, 0xcb, 0xa3, 0xe6, 0xf4, 0xc4, 0x1b, 0xa5, 0xec, 0x32, 0x1e, 0x1e, 0x48, 0x60}} return a, nil } @@ -463,7 +463,7 @@ func _1636536507_add_index_bundlesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1636536507_add_index_bundles.up.sql", size: 347, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1636536507_add_index_bundles.up.sql", size: 347, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf1, 0xb9, 0x3c, 0x16, 0xfc, 0xfb, 0xb2, 0xb4, 0x3b, 0xfe, 0xdc, 0xf5, 0x9c, 0x42, 0xa0, 0xa0, 0xd4, 0xd, 0x5b, 0x97, 0x10, 0x80, 0x95, 0xe, 0x13, 0xc1, 0x18, 0x8, 0xee, 0xf, 0x99, 0xee}} return a, nil } @@ -483,7 +483,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 377, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "doc.go", size: 377, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xef, 0xaf, 0xdf, 0xcf, 0x65, 0xae, 0x19, 0xfc, 0x9d, 0x29, 0xc1, 0x91, 0xaf, 0xb5, 0xd5, 0xb1, 0x56, 0xf3, 0xee, 0xa8, 0xba, 0x13, 0x65, 0xdb, 0xab, 0xcf, 0x4e, 0xac, 0x92, 0xe9, 0x60, 0xf1}} return a, nil } @@ -579,47 +579,31 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "1536754952_initial_schema.down.sql": _1536754952_initial_schemaDownSql, - - "1536754952_initial_schema.up.sql": _1536754952_initial_schemaUpSql, - - "1539249977_update_ratchet_info.down.sql": _1539249977_update_ratchet_infoDownSql, - - "1539249977_update_ratchet_info.up.sql": _1539249977_update_ratchet_infoUpSql, - - "1540715431_add_version.down.sql": _1540715431_add_versionDownSql, - - "1540715431_add_version.up.sql": _1540715431_add_versionUpSql, - - "1541164797_add_installations.down.sql": _1541164797_add_installationsDownSql, - - "1541164797_add_installations.up.sql": _1541164797_add_installationsUpSql, - - "1558084410_add_secret.down.sql": _1558084410_add_secretDownSql, - - "1558084410_add_secret.up.sql": _1558084410_add_secretUpSql, - - "1558588866_add_version.down.sql": _1558588866_add_versionDownSql, - - "1558588866_add_version.up.sql": _1558588866_add_versionUpSql, - - "1559627659_add_contact_code.down.sql": _1559627659_add_contact_codeDownSql, - - "1559627659_add_contact_code.up.sql": _1559627659_add_contact_codeUpSql, - + "1536754952_initial_schema.down.sql": _1536754952_initial_schemaDownSql, + "1536754952_initial_schema.up.sql": _1536754952_initial_schemaUpSql, + "1539249977_update_ratchet_info.down.sql": _1539249977_update_ratchet_infoDownSql, + "1539249977_update_ratchet_info.up.sql": _1539249977_update_ratchet_infoUpSql, + "1540715431_add_version.down.sql": _1540715431_add_versionDownSql, + "1540715431_add_version.up.sql": _1540715431_add_versionUpSql, + "1541164797_add_installations.down.sql": _1541164797_add_installationsDownSql, + "1541164797_add_installations.up.sql": _1541164797_add_installationsUpSql, + "1558084410_add_secret.down.sql": _1558084410_add_secretDownSql, + "1558084410_add_secret.up.sql": _1558084410_add_secretUpSql, + "1558588866_add_version.down.sql": _1558588866_add_versionDownSql, + "1558588866_add_version.up.sql": _1558588866_add_versionUpSql, + "1559627659_add_contact_code.down.sql": _1559627659_add_contact_codeDownSql, + "1559627659_add_contact_code.up.sql": _1559627659_add_contact_codeUpSql, "1561368210_add_installation_metadata.down.sql": _1561368210_add_installation_metadataDownSql, - - "1561368210_add_installation_metadata.up.sql": _1561368210_add_installation_metadataUpSql, - - "1632236298_add_communities.down.sql": _1632236298_add_communitiesDownSql, - - "1632236298_add_communities.up.sql": _1632236298_add_communitiesUpSql, - - "1636536507_add_index_bundles.up.sql": _1636536507_add_index_bundlesUpSql, - - "doc.go": docGo, + "1561368210_add_installation_metadata.up.sql": _1561368210_add_installation_metadataUpSql, + "1632236298_add_communities.down.sql": _1632236298_add_communitiesDownSql, + "1632236298_add_communities.up.sql": _1632236298_add_communitiesUpSql, + "1636536507_add_index_bundles.up.sql": _1636536507_add_index_bundlesUpSql, + "doc.go": docGo, } +// AssetDebug is true if the assets were built with the debug flag enabled. +const AssetDebug = false + // AssetDir returns the file names below a certain // directory embedded in the file by go-bindata. // For example if you run go-bindata on data/... and data contains the @@ -661,26 +645,26 @@ type bintree struct { } var _bintree = &bintree{nil, map[string]*bintree{ - "1536754952_initial_schema.down.sql": &bintree{_1536754952_initial_schemaDownSql, map[string]*bintree{}}, - "1536754952_initial_schema.up.sql": &bintree{_1536754952_initial_schemaUpSql, map[string]*bintree{}}, - "1539249977_update_ratchet_info.down.sql": &bintree{_1539249977_update_ratchet_infoDownSql, map[string]*bintree{}}, - "1539249977_update_ratchet_info.up.sql": &bintree{_1539249977_update_ratchet_infoUpSql, map[string]*bintree{}}, - "1540715431_add_version.down.sql": &bintree{_1540715431_add_versionDownSql, map[string]*bintree{}}, - "1540715431_add_version.up.sql": &bintree{_1540715431_add_versionUpSql, map[string]*bintree{}}, - "1541164797_add_installations.down.sql": &bintree{_1541164797_add_installationsDownSql, map[string]*bintree{}}, - "1541164797_add_installations.up.sql": &bintree{_1541164797_add_installationsUpSql, map[string]*bintree{}}, - "1558084410_add_secret.down.sql": &bintree{_1558084410_add_secretDownSql, map[string]*bintree{}}, - "1558084410_add_secret.up.sql": &bintree{_1558084410_add_secretUpSql, map[string]*bintree{}}, - "1558588866_add_version.down.sql": &bintree{_1558588866_add_versionDownSql, map[string]*bintree{}}, - "1558588866_add_version.up.sql": &bintree{_1558588866_add_versionUpSql, map[string]*bintree{}}, - "1559627659_add_contact_code.down.sql": &bintree{_1559627659_add_contact_codeDownSql, map[string]*bintree{}}, - "1559627659_add_contact_code.up.sql": &bintree{_1559627659_add_contact_codeUpSql, map[string]*bintree{}}, - "1561368210_add_installation_metadata.down.sql": &bintree{_1561368210_add_installation_metadataDownSql, map[string]*bintree{}}, - "1561368210_add_installation_metadata.up.sql": &bintree{_1561368210_add_installation_metadataUpSql, map[string]*bintree{}}, - "1632236298_add_communities.down.sql": &bintree{_1632236298_add_communitiesDownSql, map[string]*bintree{}}, - "1632236298_add_communities.up.sql": &bintree{_1632236298_add_communitiesUpSql, map[string]*bintree{}}, - "1636536507_add_index_bundles.up.sql": &bintree{_1636536507_add_index_bundlesUpSql, map[string]*bintree{}}, - "doc.go": &bintree{docGo, map[string]*bintree{}}, + "1536754952_initial_schema.down.sql": {_1536754952_initial_schemaDownSql, map[string]*bintree{}}, + "1536754952_initial_schema.up.sql": {_1536754952_initial_schemaUpSql, map[string]*bintree{}}, + "1539249977_update_ratchet_info.down.sql": {_1539249977_update_ratchet_infoDownSql, map[string]*bintree{}}, + "1539249977_update_ratchet_info.up.sql": {_1539249977_update_ratchet_infoUpSql, map[string]*bintree{}}, + "1540715431_add_version.down.sql": {_1540715431_add_versionDownSql, map[string]*bintree{}}, + "1540715431_add_version.up.sql": {_1540715431_add_versionUpSql, map[string]*bintree{}}, + "1541164797_add_installations.down.sql": {_1541164797_add_installationsDownSql, map[string]*bintree{}}, + "1541164797_add_installations.up.sql": {_1541164797_add_installationsUpSql, map[string]*bintree{}}, + "1558084410_add_secret.down.sql": {_1558084410_add_secretDownSql, map[string]*bintree{}}, + "1558084410_add_secret.up.sql": {_1558084410_add_secretUpSql, map[string]*bintree{}}, + "1558588866_add_version.down.sql": {_1558588866_add_versionDownSql, map[string]*bintree{}}, + "1558588866_add_version.up.sql": {_1558588866_add_versionUpSql, map[string]*bintree{}}, + "1559627659_add_contact_code.down.sql": {_1559627659_add_contact_codeDownSql, map[string]*bintree{}}, + "1559627659_add_contact_code.up.sql": {_1559627659_add_contact_codeUpSql, map[string]*bintree{}}, + "1561368210_add_installation_metadata.down.sql": {_1561368210_add_installation_metadataDownSql, map[string]*bintree{}}, + "1561368210_add_installation_metadata.up.sql": {_1561368210_add_installation_metadataUpSql, map[string]*bintree{}}, + "1632236298_add_communities.down.sql": {_1632236298_add_communitiesDownSql, map[string]*bintree{}}, + "1632236298_add_communities.up.sql": {_1632236298_add_communitiesUpSql, map[string]*bintree{}}, + "1636536507_add_index_bundles.up.sql": {_1636536507_add_index_bundlesUpSql, map[string]*bintree{}}, + "doc.go": {docGo, map[string]*bintree{}}, }} // RestoreAsset restores an asset under the given directory. diff --git a/protocol/encryption/protocol_message.pb.go b/protocol/encryption/protocol_message.pb.go index 317215fa0..0fb1daaee 100644 --- a/protocol/encryption/protocol_message.pb.go +++ b/protocol/encryption/protocol_message.pb.go @@ -563,7 +563,9 @@ func init() { proto.RegisterMapType((map[string]*EncryptedMessageProtocol)(nil), "encryption.ProtocolMessage.EncryptedMessageEntry") } -func init() { proto.RegisterFile("protocol_message.proto", fileDescriptor_4e37b52004a72e16) } +func init() { + proto.RegisterFile("protocol_message.proto", fileDescriptor_4e37b52004a72e16) +} var fileDescriptor_4e37b52004a72e16 = []byte{ // 631 bytes of a gzipped FileDescriptorProto diff --git a/protocol/group_chat_system_messages.go b/protocol/group_chat_system_messages.go index fbf2b31b4..b464788b9 100644 --- a/protocol/group_chat_system_messages.go +++ b/protocol/group_chat_system_messages.go @@ -21,6 +21,7 @@ func init() { protobuf.MembershipUpdateEvent_ADMINS_ADDED: "{{from}} has made {{members}} admin", protobuf.MembershipUpdateEvent_MEMBER_REMOVED: "{{member}} left the group", protobuf.MembershipUpdateEvent_ADMIN_REMOVED: "{{member}} is not admin anymore", + protobuf.MembershipUpdateEvent_COLOR_CHANGED: "{{from}} changed the group's color", } defaultSystemMessagesTranslations.Init(defaultSystemMessagesTranslationSet) } @@ -41,6 +42,9 @@ func eventToSystemMessage(e v1protocol.MembershipUpdateEvent, translations *syst case protobuf.MembershipUpdateEvent_NAME_CHANGED: message, _ := translations.Load(protobuf.MembershipUpdateEvent_NAME_CHANGED) text = tsprintf(message, map[string]string{"from": "@" + e.From, "name": e.Name}) + case protobuf.MembershipUpdateEvent_COLOR_CHANGED: + message, _ := translations.Load(protobuf.MembershipUpdateEvent_COLOR_CHANGED) + text = tsprintf(message, map[string]string{"from": "@" + e.From, "color": e.Color}) case protobuf.MembershipUpdateEvent_MEMBERS_ADDED: var memberMentions []string diff --git a/protocol/messenger.go b/protocol/messenger.go index c67dcbe1e..b8eb7ed44 100644 --- a/protocol/messenger.go +++ b/protocol/messenger.go @@ -1548,7 +1548,7 @@ func (m *Messenger) CreateGroupChatWithMembers(ctx context.Context, name string, clock, _ := chat.NextClockAndTimestamp(m.getTimesource()) - group, err := v1protocol.NewGroupWithCreator(name, clock, m.identity) + group, err := v1protocol.NewGroupWithCreator(name, chat.Color, clock, m.identity) if err != nil { return nil, err } @@ -1776,7 +1776,7 @@ func (m *Messenger) ChangeGroupChatName(ctx context.Context, chatID string, name } clock, _ := chat.NextClockAndTimestamp(m.getTimesource()) - // Add members + // Change name event := v1protocol.NewNameChangedEvent(name, clock) event.ChatID = chat.ID err = event.Sign(m.identity) @@ -1817,6 +1817,87 @@ func (m *Messenger) ChangeGroupChatName(ctx context.Context, chatID string, name return m.addMessagesAndChat(chat, buildSystemMessages([]v1protocol.MembershipUpdateEvent{event}, m.systemMessagesTranslations), &response) } +func (m *Messenger) EditGroupChat(ctx context.Context, chatID string, name string, color string, image string) (*MessengerResponse, error) { + logger := m.logger.With(zap.String("site", "EditGroupChat")) + logger.Info("Editing group chat details", zap.String("chatID", chatID), zap.String("name", name), zap.String("color", color)) + + chat, ok := m.allChats.Load(chatID) + if !ok { + return nil, ErrChatNotFound + } + + group, err := newProtocolGroupFromChat(chat) + if err != nil { + return nil, err + } + + signAndProcessEvent := func(m *Messenger, event *v1protocol.MembershipUpdateEvent) error { + err := event.Sign(m.identity) + if err != nil { + return err + } + + err = group.ProcessEvent(*event) + if err != nil { + return err + } + + return nil + } + + var events []v1protocol.MembershipUpdateEvent + + if chat.Name != name { + clock, _ := chat.NextClockAndTimestamp(m.getTimesource()) + event := v1protocol.NewNameChangedEvent(name, clock) + event.ChatID = chat.ID + err = signAndProcessEvent(m, &event) + if err != nil { + return nil, err + } + events = append(events, event) + } + + if chat.Color != color { + clock, _ := chat.NextClockAndTimestamp(m.getTimesource()) + event := v1protocol.NewColorChangedEvent(color, clock) + event.ChatID = chat.ID + err = signAndProcessEvent(m, &event) + if err != nil { + return nil, err + } + events = append(events, event) + } + + // TODO add image change + + recipients, err := stringSliceToPublicKeys(group.Members()) + if err != nil { + return nil, err + } + + encodedMessage, err := m.sender.EncodeMembershipUpdate(group, nil) + if err != nil { + return nil, err + } + _, err = m.dispatchMessage(ctx, common.RawMessage{ + LocalChatID: chat.ID, + Payload: encodedMessage, + MessageType: protobuf.ApplicationMetadataMessage_MEMBERSHIP_UPDATE_MESSAGE, + Recipients: recipients, + }) + + if err != nil { + return nil, err + } + + chat.updateChatFromGroupMembershipChanges(group) + + var response MessengerResponse + + return m.addMessagesAndChat(chat, buildSystemMessages(events, m.systemMessagesTranslations), &response) +} + func (m *Messenger) SendGroupChatInvitationRequest(ctx context.Context, chatID string, adminPK string, message string) (*MessengerResponse, error) { logger := m.logger.With(zap.String("site", "SendGroupChatInvitationRequest")) diff --git a/protocol/messenger_handler_test.go b/protocol/messenger_handler_test.go index 69fba1d50..1349abd1f 100644 --- a/protocol/messenger_handler_test.go +++ b/protocol/messenger_handler_test.go @@ -66,17 +66,22 @@ func (s *EventToSystemMessageSuite) TestRun() { }{ { Name: "chat created event", - Event: v1protocol.NewChatCreatedEvent("chat-name", 12), + Event: v1protocol.NewChatCreatedEvent("chat-name", "#7cda00", 12), From: "admin", Expected: "@admin created the group chat-name", }, - { Name: "chat name changed event", Event: v1protocol.NewNameChangedEvent("chat-name-2", 12), From: "admin", Expected: "@admin changed the group's name to chat-name-2", }, + { + Name: "chat color changed event", + Event: v1protocol.NewColorChangedEvent("#7cda00", 12), + From: "admin", + Expected: "@admin changed the group's color", + }, { Name: "members added event", Event: v1protocol.NewMembersAddedEvent([]string{"a", "b", "c"}, 12), diff --git a/protocol/migrations/migrations.go b/protocol/migrations/migrations.go index 450212825..8c0abab51 100644 --- a/protocol/migrations/migrations.go +++ b/protocol/migrations/migrations.go @@ -74,7 +74,7 @@ import ( func bindataRead(data []byte, name string) ([]byte, error) { gz, err := gzip.NewReader(bytes.NewBuffer(data)) if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) + return nil, fmt.Errorf("read %q: %w", name, err) } var buf bytes.Buffer @@ -82,7 +82,7 @@ func bindataRead(data []byte, name string) ([]byte, error) { clErr := gz.Close() if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) + return nil, fmt.Errorf("read %q: %w", name, err) } if clErr != nil { return nil, err @@ -138,7 +138,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(1658738448, 0)} + info := bindataFileInfo{name: "000001_init.down.db.sql", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -158,7 +158,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(1658738448, 0)} + info := bindataFileInfo{name: "000001_init.up.db.sql", size: 2719, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -178,7 +178,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(1658738448, 0)} + info := bindataFileInfo{name: "000002_add_last_ens_clock_value.up.sql", size: 77, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -198,7 +198,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(1658738448, 0)} + info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -218,7 +218,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(1658738448, 0)} + info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -238,7 +238,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(1658738448, 0)} + info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -258,7 +258,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(1658738448, 0)} + info := bindataFileInfo{name: "1591277220_add_index_messages.up.sql", size: 240, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -278,7 +278,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(1658738448, 0)} + info := bindataFileInfo{name: "1593087212_add_mute_chat_and_raw_message_fields.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -298,7 +298,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(1658738448, 0)} + info := bindataFileInfo{name: "1595862781_add_audio_data.up.sql", size: 246, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -318,7 +318,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(1658738448, 0)} + info := bindataFileInfo{name: "1595865249_create_emoji_reactions_table.up.sql", size: 300, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -338,7 +338,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(1658738448, 0)} + info := bindataFileInfo{name: "1596805115_create_group_chat_invitations_table.up.sql", size: 231, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -358,7 +358,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(1658738448, 0)} + info := bindataFileInfo{name: "1597322655_add_invitation_admin_chat_field.up.sql", size: 54, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -378,7 +378,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(1658738448, 0)} + info := bindataFileInfo{name: "1597757544_add_nickname.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -398,7 +398,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(1658738448, 0)} + info := bindataFileInfo{name: "1598955122_add_mentions.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -418,7 +418,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(1658738448, 0)} + info := bindataFileInfo{name: "1599641390_add_emoji_reactions_index.up.sql", size: 126, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -438,7 +438,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(1658738448, 0)} + info := bindataFileInfo{name: "1599720851_add_seen_index_remove_long_messages.up.sql", size: 150, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -458,7 +458,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(1658738448, 0)} + info := bindataFileInfo{name: "1603198582_add_profile_chat_field.up.sql", size: 45, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -478,7 +478,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(1658738448, 0)} + info := bindataFileInfo{name: "1603816533_add_links.up.sql", size: 48, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -498,7 +498,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(1658738448, 0)} + info := bindataFileInfo{name: "1603888149_create_chat_identity_last_published_table.up.sql", size: 407, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -518,7 +518,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(1658738448, 0)} + info := bindataFileInfo{name: "1605075346_add_communities.up.sql", size: 6971, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -538,7 +538,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(1658738448, 0)} + info := bindataFileInfo{name: "1610117927_add_message_cache.up.sql", size: 142, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -558,7 +558,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(1658738448, 0)} + info := bindataFileInfo{name: "1610959908_add_dont_wrap_to_raw_messages.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -578,7 +578,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(1658738448, 0)} + info := bindataFileInfo{name: "1610960912_add_send_on_personal_topic.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -598,7 +598,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(1658738448, 0)} + info := bindataFileInfo{name: "1612870480_add_datasync_id.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -618,7 +618,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(1658738448, 0)} + info := bindataFileInfo{name: "1614152139_add_communities_request_to_join.up.sql", size: 831, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -638,7 +638,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(1658738448, 0)} + info := bindataFileInfo{name: "1615374373_add_confirmations.up.sql", size: 227, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -658,7 +658,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(1658738448, 0)} + info := bindataFileInfo{name: "1617694931_add_notification_center.up.sql", size: 572, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -678,7 +678,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(1658738448, 0)} + info := bindataFileInfo{name: "1618923660_create_pin_messages.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -698,7 +698,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(1658738448, 0)} + info := bindataFileInfo{name: "1619094007_add_joined_chat_field.up.sql", size: 101, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -718,7 +718,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(1658738448, 0)} + info := bindataFileInfo{name: "1619099821_add_last_synced_field.up.sql", size: 226, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -738,7 +738,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(1658738448, 0)} + info := bindataFileInfo{name: "1621933219_add_mentioned.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -758,7 +758,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(1658738448, 0)} + info := bindataFileInfo{name: "1622010048_add_unviewed_mentions_count.up.sql", size: 114, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -778,7 +778,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(1658738448, 0)} + info := bindataFileInfo{name: "1622061278_add_message_activity_center_notification_field.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -798,7 +798,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(1658738448, 0)} + info := bindataFileInfo{name: "1622464518_set_synced_to_from.up.sql", size: 105, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -818,7 +818,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(1658738448, 0)} + info := bindataFileInfo{name: "1622464519_add_chat_description.up.sql", size: 93, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -838,7 +838,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(1658738448, 0)} + info := bindataFileInfo{name: "1622622253_add_pinned_by_to_pin_messages.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -858,7 +858,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(1658738448, 0)} + info := bindataFileInfo{name: "1623938329_add_author_activity_center_notification_field.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -878,7 +878,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(1658738448, 0)} + info := bindataFileInfo{name: "1623938330_add_edit_messages.up.sql", size: 369, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -898,7 +898,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(1658738448, 0)} + info := bindataFileInfo{name: "1624978434_add_muted_community.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -918,7 +918,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(1658738448, 0)} + info := bindataFileInfo{name: "1625018910_add_repply_message_activity_center_notification_field.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -938,7 +938,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(1658738448, 0)} + info := bindataFileInfo{name: "1625762506_add_deleted_messages.up.sql", size: 357, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -958,7 +958,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(1658738448, 0)} + info := bindataFileInfo{name: "1627388946_add_communities_synced_at.up.sql", size: 87, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -978,7 +978,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(1658738448, 0)} + info := bindataFileInfo{name: "1628280060_create-usermessages-index.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -998,7 +998,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(1658738448, 0)} + info := bindataFileInfo{name: "1632303896_modify_contacts_table.up.sql", size: 1574, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -1018,7 +1018,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(1658738448, 0)} + info := bindataFileInfo{name: "1633349838_add_emoji_column_in_chats.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -1038,7 +1038,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(1658738448, 0)} + info := bindataFileInfo{name: "1634831235_add_highlight_column_in_chats.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -1058,7 +1058,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(1658738448, 0)} + info := bindataFileInfo{name: "1634896007_add_last_updated_locally_and_removed.up.sql", size: 131, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -1078,7 +1078,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(1658738448, 0)} + info := bindataFileInfo{name: "1635840039_add_clock_read_at_column_in_chats.up.sql", size: 245, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -1098,7 +1098,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(1658738448, 0)} + info := bindataFileInfo{name: "1637852321_add_received_invitation_admin_column_in_chats.up.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -1118,7 +1118,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(1658738448, 0)} + info := bindataFileInfo{name: "1645034601_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -1138,7 +1138,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(1658738448, 0)} + info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -1158,7 +1158,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(1658738448, 0)} + info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -1178,7 +1178,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(1658738448, 0)} + info := bindataFileInfo{name: "1656958989_contact_verification.up.sql", size: 624, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -1198,7 +1198,7 @@ func readmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -1218,7 +1218,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 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 } @@ -1314,117 +1314,66 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "000001_init.down.db.sql": _000001_initDownDbSql, - - "000001_init.up.db.sql": _000001_initUpDbSql, - - "000002_add_last_ens_clock_value.up.sql": _000002_add_last_ens_clock_valueUpSql, - - "1586358095_add_replace.up.sql": _1586358095_add_replaceUpSql, - - "1588665364_add_image_data.up.sql": _1588665364_add_image_dataUpSql, - - "1589365189_add_pow_target.up.sql": _1589365189_add_pow_targetUpSql, - - "1591277220_add_index_messages.up.sql": _1591277220_add_index_messagesUpSql, - - "1593087212_add_mute_chat_and_raw_message_fields.up.sql": _1593087212_add_mute_chat_and_raw_message_fieldsUpSql, - - "1595862781_add_audio_data.up.sql": _1595862781_add_audio_dataUpSql, - - "1595865249_create_emoji_reactions_table.up.sql": _1595865249_create_emoji_reactions_tableUpSql, - - "1596805115_create_group_chat_invitations_table.up.sql": _1596805115_create_group_chat_invitations_tableUpSql, - - "1597322655_add_invitation_admin_chat_field.up.sql": _1597322655_add_invitation_admin_chat_fieldUpSql, - - "1597757544_add_nickname.up.sql": _1597757544_add_nicknameUpSql, - - "1598955122_add_mentions.up.sql": _1598955122_add_mentionsUpSql, - - "1599641390_add_emoji_reactions_index.up.sql": _1599641390_add_emoji_reactions_indexUpSql, - - "1599720851_add_seen_index_remove_long_messages.up.sql": _1599720851_add_seen_index_remove_long_messagesUpSql, - - "1603198582_add_profile_chat_field.up.sql": _1603198582_add_profile_chat_fieldUpSql, - - "1603816533_add_links.up.sql": _1603816533_add_linksUpSql, - - "1603888149_create_chat_identity_last_published_table.up.sql": _1603888149_create_chat_identity_last_published_tableUpSql, - - "1605075346_add_communities.up.sql": _1605075346_add_communitiesUpSql, - - "1610117927_add_message_cache.up.sql": _1610117927_add_message_cacheUpSql, - - "1610959908_add_dont_wrap_to_raw_messages.up.sql": _1610959908_add_dont_wrap_to_raw_messagesUpSql, - - "1610960912_add_send_on_personal_topic.up.sql": _1610960912_add_send_on_personal_topicUpSql, - - "1612870480_add_datasync_id.up.sql": _1612870480_add_datasync_idUpSql, - - "1614152139_add_communities_request_to_join.up.sql": _1614152139_add_communities_request_to_joinUpSql, - - "1615374373_add_confirmations.up.sql": _1615374373_add_confirmationsUpSql, - - "1617694931_add_notification_center.up.sql": _1617694931_add_notification_centerUpSql, - - "1618923660_create_pin_messages.up.sql": _1618923660_create_pin_messagesUpSql, - - "1619094007_add_joined_chat_field.up.sql": _1619094007_add_joined_chat_fieldUpSql, - - "1619099821_add_last_synced_field.up.sql": _1619099821_add_last_synced_fieldUpSql, - - "1621933219_add_mentioned.up.sql": _1621933219_add_mentionedUpSql, - - "1622010048_add_unviewed_mentions_count.up.sql": _1622010048_add_unviewed_mentions_countUpSql, - - "1622061278_add_message_activity_center_notification_field.up.sql": _1622061278_add_message_activity_center_notification_fieldUpSql, - - "1622464518_set_synced_to_from.up.sql": _1622464518_set_synced_to_fromUpSql, - - "1622464519_add_chat_description.up.sql": _1622464519_add_chat_descriptionUpSql, - - "1622622253_add_pinned_by_to_pin_messages.up.sql": _1622622253_add_pinned_by_to_pin_messagesUpSql, - - "1623938329_add_author_activity_center_notification_field.up.sql": _1623938329_add_author_activity_center_notification_fieldUpSql, - - "1623938330_add_edit_messages.up.sql": _1623938330_add_edit_messagesUpSql, - - "1624978434_add_muted_community.up.sql": _1624978434_add_muted_communityUpSql, - + "000001_init.down.db.sql": _000001_initDownDbSql, + "000001_init.up.db.sql": _000001_initUpDbSql, + "000002_add_last_ens_clock_value.up.sql": _000002_add_last_ens_clock_valueUpSql, + "1586358095_add_replace.up.sql": _1586358095_add_replaceUpSql, + "1588665364_add_image_data.up.sql": _1588665364_add_image_dataUpSql, + "1589365189_add_pow_target.up.sql": _1589365189_add_pow_targetUpSql, + "1591277220_add_index_messages.up.sql": _1591277220_add_index_messagesUpSql, + "1593087212_add_mute_chat_and_raw_message_fields.up.sql": _1593087212_add_mute_chat_and_raw_message_fieldsUpSql, + "1595862781_add_audio_data.up.sql": _1595862781_add_audio_dataUpSql, + "1595865249_create_emoji_reactions_table.up.sql": _1595865249_create_emoji_reactions_tableUpSql, + "1596805115_create_group_chat_invitations_table.up.sql": _1596805115_create_group_chat_invitations_tableUpSql, + "1597322655_add_invitation_admin_chat_field.up.sql": _1597322655_add_invitation_admin_chat_fieldUpSql, + "1597757544_add_nickname.up.sql": _1597757544_add_nicknameUpSql, + "1598955122_add_mentions.up.sql": _1598955122_add_mentionsUpSql, + "1599641390_add_emoji_reactions_index.up.sql": _1599641390_add_emoji_reactions_indexUpSql, + "1599720851_add_seen_index_remove_long_messages.up.sql": _1599720851_add_seen_index_remove_long_messagesUpSql, + "1603198582_add_profile_chat_field.up.sql": _1603198582_add_profile_chat_fieldUpSql, + "1603816533_add_links.up.sql": _1603816533_add_linksUpSql, + "1603888149_create_chat_identity_last_published_table.up.sql": _1603888149_create_chat_identity_last_published_tableUpSql, + "1605075346_add_communities.up.sql": _1605075346_add_communitiesUpSql, + "1610117927_add_message_cache.up.sql": _1610117927_add_message_cacheUpSql, + "1610959908_add_dont_wrap_to_raw_messages.up.sql": _1610959908_add_dont_wrap_to_raw_messagesUpSql, + "1610960912_add_send_on_personal_topic.up.sql": _1610960912_add_send_on_personal_topicUpSql, + "1612870480_add_datasync_id.up.sql": _1612870480_add_datasync_idUpSql, + "1614152139_add_communities_request_to_join.up.sql": _1614152139_add_communities_request_to_joinUpSql, + "1615374373_add_confirmations.up.sql": _1615374373_add_confirmationsUpSql, + "1617694931_add_notification_center.up.sql": _1617694931_add_notification_centerUpSql, + "1618923660_create_pin_messages.up.sql": _1618923660_create_pin_messagesUpSql, + "1619094007_add_joined_chat_field.up.sql": _1619094007_add_joined_chat_fieldUpSql, + "1619099821_add_last_synced_field.up.sql": _1619099821_add_last_synced_fieldUpSql, + "1621933219_add_mentioned.up.sql": _1621933219_add_mentionedUpSql, + "1622010048_add_unviewed_mentions_count.up.sql": _1622010048_add_unviewed_mentions_countUpSql, + "1622061278_add_message_activity_center_notification_field.up.sql": _1622061278_add_message_activity_center_notification_fieldUpSql, + "1622464518_set_synced_to_from.up.sql": _1622464518_set_synced_to_fromUpSql, + "1622464519_add_chat_description.up.sql": _1622464519_add_chat_descriptionUpSql, + "1622622253_add_pinned_by_to_pin_messages.up.sql": _1622622253_add_pinned_by_to_pin_messagesUpSql, + "1623938329_add_author_activity_center_notification_field.up.sql": _1623938329_add_author_activity_center_notification_fieldUpSql, + "1623938330_add_edit_messages.up.sql": _1623938330_add_edit_messagesUpSql, + "1624978434_add_muted_community.up.sql": _1624978434_add_muted_communityUpSql, "1625018910_add_repply_message_activity_center_notification_field.up.sql": _1625018910_add_repply_message_activity_center_notification_fieldUpSql, - - "1625762506_add_deleted_messages.up.sql": _1625762506_add_deleted_messagesUpSql, - - "1627388946_add_communities_synced_at.up.sql": _1627388946_add_communities_synced_atUpSql, - - "1628280060_create-usermessages-index.sql": _1628280060_createUsermessagesIndexSql, - - "1632303896_modify_contacts_table.up.sql": _1632303896_modify_contacts_tableUpSql, - - "1633349838_add_emoji_column_in_chats.up.sql": _1633349838_add_emoji_column_in_chatsUpSql, - - "1634831235_add_highlight_column_in_chats.up.sql": _1634831235_add_highlight_column_in_chatsUpSql, - - "1634896007_add_last_updated_locally_and_removed.up.sql": _1634896007_add_last_updated_locally_and_removedUpSql, - - "1635840039_add_clock_read_at_column_in_chats.up.sql": _1635840039_add_clock_read_at_column_in_chatsUpSql, - - "1637852321_add_received_invitation_admin_column_in_chats.up.sql": _1637852321_add_received_invitation_admin_column_in_chatsUpSql, - - "1645034601_display_name.up.sql": _1645034601_display_nameUpSql, - - "1645034602_add_mutual_contact_request.up.sql": _1645034602_add_mutual_contact_requestUpSql, - - "1650373957_add_contact_request_state.up.sql": _1650373957_add_contact_request_stateUpSql, - - "1656958989_contact_verification.up.sql": _1656958989_contact_verificationUpSql, - - "README.md": readmeMd, - - "doc.go": docGo, + "1625762506_add_deleted_messages.up.sql": _1625762506_add_deleted_messagesUpSql, + "1627388946_add_communities_synced_at.up.sql": _1627388946_add_communities_synced_atUpSql, + "1628280060_create-usermessages-index.sql": _1628280060_createUsermessagesIndexSql, + "1632303896_modify_contacts_table.up.sql": _1632303896_modify_contacts_tableUpSql, + "1633349838_add_emoji_column_in_chats.up.sql": _1633349838_add_emoji_column_in_chatsUpSql, + "1634831235_add_highlight_column_in_chats.up.sql": _1634831235_add_highlight_column_in_chatsUpSql, + "1634896007_add_last_updated_locally_and_removed.up.sql": _1634896007_add_last_updated_locally_and_removedUpSql, + "1635840039_add_clock_read_at_column_in_chats.up.sql": _1635840039_add_clock_read_at_column_in_chatsUpSql, + "1637852321_add_received_invitation_admin_column_in_chats.up.sql": _1637852321_add_received_invitation_admin_column_in_chatsUpSql, + "1645034601_display_name.up.sql": _1645034601_display_nameUpSql, + "1645034602_add_mutual_contact_request.up.sql": _1645034602_add_mutual_contact_requestUpSql, + "1650373957_add_contact_request_state.up.sql": _1650373957_add_contact_request_stateUpSql, + "1656958989_contact_verification.up.sql": _1656958989_contact_verificationUpSql, + "README.md": readmeMd, + "doc.go": docGo, } +// AssetDebug is true if the assets were built with the debug flag enabled. +const AssetDebug = false + // AssetDir returns the file names below a certain // directory embedded in the file by go-bindata. // For example if you run go-bindata on data/... and data contains the @@ -1466,61 +1415,61 @@ type bintree struct { } var _bintree = &bintree{nil, map[string]*bintree{ - "000001_init.down.db.sql": &bintree{_000001_initDownDbSql, map[string]*bintree{}}, - "000001_init.up.db.sql": &bintree{_000001_initUpDbSql, map[string]*bintree{}}, - "000002_add_last_ens_clock_value.up.sql": &bintree{_000002_add_last_ens_clock_valueUpSql, map[string]*bintree{}}, - "1586358095_add_replace.up.sql": &bintree{_1586358095_add_replaceUpSql, map[string]*bintree{}}, - "1588665364_add_image_data.up.sql": &bintree{_1588665364_add_image_dataUpSql, map[string]*bintree{}}, - "1589365189_add_pow_target.up.sql": &bintree{_1589365189_add_pow_targetUpSql, map[string]*bintree{}}, - "1591277220_add_index_messages.up.sql": &bintree{_1591277220_add_index_messagesUpSql, map[string]*bintree{}}, - "1593087212_add_mute_chat_and_raw_message_fields.up.sql": &bintree{_1593087212_add_mute_chat_and_raw_message_fieldsUpSql, map[string]*bintree{}}, - "1595862781_add_audio_data.up.sql": &bintree{_1595862781_add_audio_dataUpSql, map[string]*bintree{}}, - "1595865249_create_emoji_reactions_table.up.sql": &bintree{_1595865249_create_emoji_reactions_tableUpSql, map[string]*bintree{}}, - "1596805115_create_group_chat_invitations_table.up.sql": &bintree{_1596805115_create_group_chat_invitations_tableUpSql, map[string]*bintree{}}, - "1597322655_add_invitation_admin_chat_field.up.sql": &bintree{_1597322655_add_invitation_admin_chat_fieldUpSql, map[string]*bintree{}}, - "1597757544_add_nickname.up.sql": &bintree{_1597757544_add_nicknameUpSql, map[string]*bintree{}}, - "1598955122_add_mentions.up.sql": &bintree{_1598955122_add_mentionsUpSql, map[string]*bintree{}}, - "1599641390_add_emoji_reactions_index.up.sql": &bintree{_1599641390_add_emoji_reactions_indexUpSql, map[string]*bintree{}}, - "1599720851_add_seen_index_remove_long_messages.up.sql": &bintree{_1599720851_add_seen_index_remove_long_messagesUpSql, map[string]*bintree{}}, - "1603198582_add_profile_chat_field.up.sql": &bintree{_1603198582_add_profile_chat_fieldUpSql, map[string]*bintree{}}, - "1603816533_add_links.up.sql": &bintree{_1603816533_add_linksUpSql, map[string]*bintree{}}, - "1603888149_create_chat_identity_last_published_table.up.sql": &bintree{_1603888149_create_chat_identity_last_published_tableUpSql, map[string]*bintree{}}, - "1605075346_add_communities.up.sql": &bintree{_1605075346_add_communitiesUpSql, map[string]*bintree{}}, - "1610117927_add_message_cache.up.sql": &bintree{_1610117927_add_message_cacheUpSql, map[string]*bintree{}}, - "1610959908_add_dont_wrap_to_raw_messages.up.sql": &bintree{_1610959908_add_dont_wrap_to_raw_messagesUpSql, map[string]*bintree{}}, - "1610960912_add_send_on_personal_topic.up.sql": &bintree{_1610960912_add_send_on_personal_topicUpSql, map[string]*bintree{}}, - "1612870480_add_datasync_id.up.sql": &bintree{_1612870480_add_datasync_idUpSql, map[string]*bintree{}}, - "1614152139_add_communities_request_to_join.up.sql": &bintree{_1614152139_add_communities_request_to_joinUpSql, map[string]*bintree{}}, - "1615374373_add_confirmations.up.sql": &bintree{_1615374373_add_confirmationsUpSql, map[string]*bintree{}}, - "1617694931_add_notification_center.up.sql": &bintree{_1617694931_add_notification_centerUpSql, map[string]*bintree{}}, - "1618923660_create_pin_messages.up.sql": &bintree{_1618923660_create_pin_messagesUpSql, map[string]*bintree{}}, - "1619094007_add_joined_chat_field.up.sql": &bintree{_1619094007_add_joined_chat_fieldUpSql, map[string]*bintree{}}, - "1619099821_add_last_synced_field.up.sql": &bintree{_1619099821_add_last_synced_fieldUpSql, map[string]*bintree{}}, - "1621933219_add_mentioned.up.sql": &bintree{_1621933219_add_mentionedUpSql, map[string]*bintree{}}, - "1622010048_add_unviewed_mentions_count.up.sql": &bintree{_1622010048_add_unviewed_mentions_countUpSql, map[string]*bintree{}}, - "1622061278_add_message_activity_center_notification_field.up.sql": &bintree{_1622061278_add_message_activity_center_notification_fieldUpSql, map[string]*bintree{}}, - "1622464518_set_synced_to_from.up.sql": &bintree{_1622464518_set_synced_to_fromUpSql, map[string]*bintree{}}, - "1622464519_add_chat_description.up.sql": &bintree{_1622464519_add_chat_descriptionUpSql, map[string]*bintree{}}, - "1622622253_add_pinned_by_to_pin_messages.up.sql": &bintree{_1622622253_add_pinned_by_to_pin_messagesUpSql, map[string]*bintree{}}, - "1623938329_add_author_activity_center_notification_field.up.sql": &bintree{_1623938329_add_author_activity_center_notification_fieldUpSql, map[string]*bintree{}}, - "1623938330_add_edit_messages.up.sql": &bintree{_1623938330_add_edit_messagesUpSql, map[string]*bintree{}}, - "1624978434_add_muted_community.up.sql": &bintree{_1624978434_add_muted_communityUpSql, map[string]*bintree{}}, - "1625018910_add_repply_message_activity_center_notification_field.up.sql": &bintree{_1625018910_add_repply_message_activity_center_notification_fieldUpSql, map[string]*bintree{}}, - "1625762506_add_deleted_messages.up.sql": &bintree{_1625762506_add_deleted_messagesUpSql, map[string]*bintree{}}, - "1627388946_add_communities_synced_at.up.sql": &bintree{_1627388946_add_communities_synced_atUpSql, map[string]*bintree{}}, - "1628280060_create-usermessages-index.sql": &bintree{_1628280060_createUsermessagesIndexSql, map[string]*bintree{}}, - "1632303896_modify_contacts_table.up.sql": &bintree{_1632303896_modify_contacts_tableUpSql, map[string]*bintree{}}, - "1633349838_add_emoji_column_in_chats.up.sql": &bintree{_1633349838_add_emoji_column_in_chatsUpSql, map[string]*bintree{}}, - "1634831235_add_highlight_column_in_chats.up.sql": &bintree{_1634831235_add_highlight_column_in_chatsUpSql, map[string]*bintree{}}, - "1634896007_add_last_updated_locally_and_removed.up.sql": &bintree{_1634896007_add_last_updated_locally_and_removedUpSql, map[string]*bintree{}}, - "1635840039_add_clock_read_at_column_in_chats.up.sql": &bintree{_1635840039_add_clock_read_at_column_in_chatsUpSql, map[string]*bintree{}}, - "1637852321_add_received_invitation_admin_column_in_chats.up.sql": &bintree{_1637852321_add_received_invitation_admin_column_in_chatsUpSql, map[string]*bintree{}}, - "1645034601_display_name.up.sql": &bintree{_1645034601_display_nameUpSql, map[string]*bintree{}}, - "1645034602_add_mutual_contact_request.up.sql": &bintree{_1645034602_add_mutual_contact_requestUpSql, map[string]*bintree{}}, - "1650373957_add_contact_request_state.up.sql": &bintree{_1650373957_add_contact_request_stateUpSql, map[string]*bintree{}}, - "1656958989_contact_verification.up.sql": &bintree{_1656958989_contact_verificationUpSql, map[string]*bintree{}}, - "README.md": &bintree{readmeMd, map[string]*bintree{}}, - "doc.go": &bintree{docGo, map[string]*bintree{}}, + "000001_init.down.db.sql": {_000001_initDownDbSql, map[string]*bintree{}}, + "000001_init.up.db.sql": {_000001_initUpDbSql, map[string]*bintree{}}, + "000002_add_last_ens_clock_value.up.sql": {_000002_add_last_ens_clock_valueUpSql, map[string]*bintree{}}, + "1586358095_add_replace.up.sql": {_1586358095_add_replaceUpSql, map[string]*bintree{}}, + "1588665364_add_image_data.up.sql": {_1588665364_add_image_dataUpSql, map[string]*bintree{}}, + "1589365189_add_pow_target.up.sql": {_1589365189_add_pow_targetUpSql, map[string]*bintree{}}, + "1591277220_add_index_messages.up.sql": {_1591277220_add_index_messagesUpSql, map[string]*bintree{}}, + "1593087212_add_mute_chat_and_raw_message_fields.up.sql": {_1593087212_add_mute_chat_and_raw_message_fieldsUpSql, map[string]*bintree{}}, + "1595862781_add_audio_data.up.sql": {_1595862781_add_audio_dataUpSql, map[string]*bintree{}}, + "1595865249_create_emoji_reactions_table.up.sql": {_1595865249_create_emoji_reactions_tableUpSql, map[string]*bintree{}}, + "1596805115_create_group_chat_invitations_table.up.sql": {_1596805115_create_group_chat_invitations_tableUpSql, map[string]*bintree{}}, + "1597322655_add_invitation_admin_chat_field.up.sql": {_1597322655_add_invitation_admin_chat_fieldUpSql, map[string]*bintree{}}, + "1597757544_add_nickname.up.sql": {_1597757544_add_nicknameUpSql, map[string]*bintree{}}, + "1598955122_add_mentions.up.sql": {_1598955122_add_mentionsUpSql, map[string]*bintree{}}, + "1599641390_add_emoji_reactions_index.up.sql": {_1599641390_add_emoji_reactions_indexUpSql, map[string]*bintree{}}, + "1599720851_add_seen_index_remove_long_messages.up.sql": {_1599720851_add_seen_index_remove_long_messagesUpSql, map[string]*bintree{}}, + "1603198582_add_profile_chat_field.up.sql": {_1603198582_add_profile_chat_fieldUpSql, map[string]*bintree{}}, + "1603816533_add_links.up.sql": {_1603816533_add_linksUpSql, map[string]*bintree{}}, + "1603888149_create_chat_identity_last_published_table.up.sql": {_1603888149_create_chat_identity_last_published_tableUpSql, map[string]*bintree{}}, + "1605075346_add_communities.up.sql": {_1605075346_add_communitiesUpSql, map[string]*bintree{}}, + "1610117927_add_message_cache.up.sql": {_1610117927_add_message_cacheUpSql, map[string]*bintree{}}, + "1610959908_add_dont_wrap_to_raw_messages.up.sql": {_1610959908_add_dont_wrap_to_raw_messagesUpSql, map[string]*bintree{}}, + "1610960912_add_send_on_personal_topic.up.sql": {_1610960912_add_send_on_personal_topicUpSql, map[string]*bintree{}}, + "1612870480_add_datasync_id.up.sql": {_1612870480_add_datasync_idUpSql, map[string]*bintree{}}, + "1614152139_add_communities_request_to_join.up.sql": {_1614152139_add_communities_request_to_joinUpSql, map[string]*bintree{}}, + "1615374373_add_confirmations.up.sql": {_1615374373_add_confirmationsUpSql, map[string]*bintree{}}, + "1617694931_add_notification_center.up.sql": {_1617694931_add_notification_centerUpSql, map[string]*bintree{}}, + "1618923660_create_pin_messages.up.sql": {_1618923660_create_pin_messagesUpSql, map[string]*bintree{}}, + "1619094007_add_joined_chat_field.up.sql": {_1619094007_add_joined_chat_fieldUpSql, map[string]*bintree{}}, + "1619099821_add_last_synced_field.up.sql": {_1619099821_add_last_synced_fieldUpSql, map[string]*bintree{}}, + "1621933219_add_mentioned.up.sql": {_1621933219_add_mentionedUpSql, map[string]*bintree{}}, + "1622010048_add_unviewed_mentions_count.up.sql": {_1622010048_add_unviewed_mentions_countUpSql, map[string]*bintree{}}, + "1622061278_add_message_activity_center_notification_field.up.sql": {_1622061278_add_message_activity_center_notification_fieldUpSql, map[string]*bintree{}}, + "1622464518_set_synced_to_from.up.sql": {_1622464518_set_synced_to_fromUpSql, map[string]*bintree{}}, + "1622464519_add_chat_description.up.sql": {_1622464519_add_chat_descriptionUpSql, map[string]*bintree{}}, + "1622622253_add_pinned_by_to_pin_messages.up.sql": {_1622622253_add_pinned_by_to_pin_messagesUpSql, map[string]*bintree{}}, + "1623938329_add_author_activity_center_notification_field.up.sql": {_1623938329_add_author_activity_center_notification_fieldUpSql, map[string]*bintree{}}, + "1623938330_add_edit_messages.up.sql": {_1623938330_add_edit_messagesUpSql, map[string]*bintree{}}, + "1624978434_add_muted_community.up.sql": {_1624978434_add_muted_communityUpSql, map[string]*bintree{}}, + "1625018910_add_repply_message_activity_center_notification_field.up.sql": {_1625018910_add_repply_message_activity_center_notification_fieldUpSql, map[string]*bintree{}}, + "1625762506_add_deleted_messages.up.sql": {_1625762506_add_deleted_messagesUpSql, map[string]*bintree{}}, + "1627388946_add_communities_synced_at.up.sql": {_1627388946_add_communities_synced_atUpSql, map[string]*bintree{}}, + "1628280060_create-usermessages-index.sql": {_1628280060_createUsermessagesIndexSql, map[string]*bintree{}}, + "1632303896_modify_contacts_table.up.sql": {_1632303896_modify_contacts_tableUpSql, map[string]*bintree{}}, + "1633349838_add_emoji_column_in_chats.up.sql": {_1633349838_add_emoji_column_in_chatsUpSql, map[string]*bintree{}}, + "1634831235_add_highlight_column_in_chats.up.sql": {_1634831235_add_highlight_column_in_chatsUpSql, map[string]*bintree{}}, + "1634896007_add_last_updated_locally_and_removed.up.sql": {_1634896007_add_last_updated_locally_and_removedUpSql, map[string]*bintree{}}, + "1635840039_add_clock_read_at_column_in_chats.up.sql": {_1635840039_add_clock_read_at_column_in_chatsUpSql, map[string]*bintree{}}, + "1637852321_add_received_invitation_admin_column_in_chats.up.sql": {_1637852321_add_received_invitation_admin_column_in_chatsUpSql, map[string]*bintree{}}, + "1645034601_display_name.up.sql": {_1645034601_display_nameUpSql, map[string]*bintree{}}, + "1645034602_add_mutual_contact_request.up.sql": {_1645034602_add_mutual_contact_requestUpSql, map[string]*bintree{}}, + "1650373957_add_contact_request_state.up.sql": {_1650373957_add_contact_request_stateUpSql, map[string]*bintree{}}, + "1656958989_contact_verification.up.sql": {_1656958989_contact_verificationUpSql, map[string]*bintree{}}, + "README.md": {readmeMd, map[string]*bintree{}}, + "doc.go": {docGo, map[string]*bintree{}}, }} // RestoreAsset restores an asset under the given directory. diff --git a/protocol/protobuf/anon_metrics.pb.go b/protocol/protobuf/anon_metrics.pb.go index 10bb8f76d..799226b2f 100644 --- a/protocol/protobuf/anon_metrics.pb.go +++ b/protocol/protobuf/anon_metrics.pb.go @@ -6,7 +6,7 @@ package protobuf import ( fmt "fmt" proto "github.com/golang/protobuf/proto" - timestamp "github.com/golang/protobuf/ptypes/timestamp" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" math "math" ) @@ -36,10 +36,10 @@ type AnonymousMetric struct { // session_id is the id of the session the metric was recorded in SessionId string `protobuf:"bytes,6,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` // created_at is the datetime at which the metric was stored in the local db - CreatedAt *timestamp.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *AnonymousMetric) Reset() { *m = AnonymousMetric{} } @@ -109,7 +109,7 @@ func (m *AnonymousMetric) GetSessionId() string { return "" } -func (m *AnonymousMetric) GetCreatedAt() *timestamp.Timestamp { +func (m *AnonymousMetric) GetCreatedAt() *timestamppb.Timestamp { if m != nil { return m.CreatedAt } @@ -162,7 +162,9 @@ func init() { proto.RegisterType((*AnonymousMetricBatch)(nil), "protobuf.AnonymousMetricBatch") } -func init() { proto.RegisterFile("anon_metrics.proto", fileDescriptor_4be044a92fa0408c) } +func init() { + proto.RegisterFile("anon_metrics.proto", fileDescriptor_4be044a92fa0408c) +} var fileDescriptor_4be044a92fa0408c = []byte{ // 269 bytes of a gzipped FileDescriptorProto diff --git a/protocol/protobuf/chat_identity.pb.go b/protocol/protobuf/chat_identity.pb.go index 790211d38..e6594b810 100644 --- a/protocol/protobuf/chat_identity.pb.go +++ b/protocol/protobuf/chat_identity.pb.go @@ -232,7 +232,9 @@ func init() { proto.RegisterType((*IdentityImage)(nil), "protobuf.IdentityImage") } -func init() { proto.RegisterFile("chat_identity.proto", fileDescriptor_7a652489000a5879) } +func init() { + proto.RegisterFile("chat_identity.proto", fileDescriptor_7a652489000a5879) +} var fileDescriptor_7a652489000a5879 = []byte{ // 435 bytes of a gzipped FileDescriptorProto diff --git a/protocol/protobuf/chat_message.pb.go b/protocol/protobuf/chat_message.pb.go index 6e7fc4cfb..4b8bded4f 100644 --- a/protocol/protobuf/chat_message.pb.go +++ b/protocol/protobuf/chat_message.pb.go @@ -848,7 +848,9 @@ func init() { proto.RegisterType((*ContactRequestSignature)(nil), "protobuf.ContactRequestSignature") } -func init() { proto.RegisterFile("chat_message.proto", fileDescriptor_263952f55fd35689) } +func init() { + proto.RegisterFile("chat_message.proto", fileDescriptor_263952f55fd35689) +} var fileDescriptor_263952f55fd35689 = []byte{ // 983 bytes of a gzipped FileDescriptorProto diff --git a/protocol/protobuf/command.pb.go b/protocol/protobuf/command.pb.go index 319432c6f..8864b4b70 100644 --- a/protocol/protobuf/command.pb.go +++ b/protocol/protobuf/command.pb.go @@ -407,7 +407,9 @@ func init() { proto.RegisterType((*SendTransaction)(nil), "protobuf.SendTransaction") } -func init() { proto.RegisterFile("command.proto", fileDescriptor_213c0bb044472049) } +func init() { + proto.RegisterFile("command.proto", fileDescriptor_213c0bb044472049) +} var fileDescriptor_213c0bb044472049 = []byte{ // 301 bytes of a gzipped FileDescriptorProto diff --git a/protocol/protobuf/communities.pb.go b/protocol/protobuf/communities.pb.go index f68db2907..914e04563 100644 --- a/protocol/protobuf/communities.pb.go +++ b/protocol/protobuf/communities.pb.go @@ -1122,7 +1122,9 @@ func init() { proto.RegisterMapType((map[string]*WakuMessageArchiveIndexMetadata)(nil), "protobuf.WakuMessageArchiveIndex.ArchivesEntry") } -func init() { proto.RegisterFile("communities.proto", fileDescriptor_f937943d74c1cd8b) } +func init() { + proto.RegisterFile("communities.proto", fileDescriptor_f937943d74c1cd8b) +} var fileDescriptor_f937943d74c1cd8b = []byte{ // 1329 bytes of a gzipped FileDescriptorProto diff --git a/protocol/protobuf/contact.pb.go b/protocol/protobuf/contact.pb.go index 077c5ff5b..5f84cbfab 100644 --- a/protocol/protobuf/contact.pb.go +++ b/protocol/protobuf/contact.pb.go @@ -199,7 +199,9 @@ func init() { proto.RegisterType((*RetractContactRequest)(nil), "protobuf.RetractContactRequest") } -func init() { proto.RegisterFile("contact.proto", fileDescriptor_a5036fff2565fb15) } +func init() { + proto.RegisterFile("contact.proto", fileDescriptor_a5036fff2565fb15) +} var fileDescriptor_a5036fff2565fb15 = []byte{ // 294 bytes of a gzipped FileDescriptorProto diff --git a/protocol/protobuf/contact_verification.pb.go b/protocol/protobuf/contact_verification.pb.go index 22ae86407..b32cc47b2 100644 --- a/protocol/protobuf/contact_verification.pb.go +++ b/protocol/protobuf/contact_verification.pb.go @@ -199,7 +199,9 @@ func init() { proto.RegisterType((*DeclineContactVerification)(nil), "protobuf.DeclineContactVerification") } -func init() { proto.RegisterFile("contact_verification.proto", fileDescriptor_d6997df64de39454) } +func init() { + proto.RegisterFile("contact_verification.proto", fileDescriptor_d6997df64de39454) +} var fileDescriptor_d6997df64de39454 = []byte{ // 182 bytes of a gzipped FileDescriptorProto diff --git a/protocol/protobuf/emoji_reaction.pb.go b/protocol/protobuf/emoji_reaction.pb.go index 2beff9e0d..069147fca 100644 --- a/protocol/protobuf/emoji_reaction.pb.go +++ b/protocol/protobuf/emoji_reaction.pb.go @@ -160,7 +160,9 @@ func init() { proto.RegisterType((*EmojiReaction)(nil), "protobuf.EmojiReaction") } -func init() { proto.RegisterFile("emoji_reaction.proto", fileDescriptor_0a088c907bbc7ed6) } +func init() { + proto.RegisterFile("emoji_reaction.proto", fileDescriptor_0a088c907bbc7ed6) +} var fileDescriptor_0a088c907bbc7ed6 = []byte{ // 330 bytes of a gzipped FileDescriptorProto diff --git a/protocol/protobuf/enums.pb.go b/protocol/protobuf/enums.pb.go index ee8991d83..3366c2f3f 100644 --- a/protocol/protobuf/enums.pb.go +++ b/protocol/protobuf/enums.pb.go @@ -102,7 +102,9 @@ func init() { proto.RegisterEnum("protobuf.ImageType", ImageType_name, ImageType_value) } -func init() { proto.RegisterFile("enums.proto", fileDescriptor_888b6bd9597961ff) } +func init() { + proto.RegisterFile("enums.proto", fileDescriptor_888b6bd9597961ff) +} var fileDescriptor_888b6bd9597961ff = []byte{ // 241 bytes of a gzipped FileDescriptorProto diff --git a/protocol/protobuf/group_chat_invitation.pb.go b/protocol/protobuf/group_chat_invitation.pb.go index 6e9816d68..fffce089d 100644 --- a/protocol/protobuf/group_chat_invitation.pb.go +++ b/protocol/protobuf/group_chat_invitation.pb.go @@ -123,7 +123,9 @@ func init() { proto.RegisterType((*GroupChatInvitation)(nil), "protobuf.GroupChatInvitation") } -func init() { proto.RegisterFile("group_chat_invitation.proto", fileDescriptor_a6a73333de6a8ebe) } +func init() { + proto.RegisterFile("group_chat_invitation.proto", fileDescriptor_a6a73333de6a8ebe) +} var fileDescriptor_a6a73333de6a8ebe = []byte{ // 243 bytes of a gzipped FileDescriptorProto diff --git a/protocol/protobuf/membership_update_message.pb.go b/protocol/protobuf/membership_update_message.pb.go index 0843318aa..232a786e4 100644 --- a/protocol/protobuf/membership_update_message.pb.go +++ b/protocol/protobuf/membership_update_message.pb.go @@ -31,6 +31,7 @@ const ( MembershipUpdateEvent_MEMBER_REMOVED MembershipUpdateEvent_EventType = 5 MembershipUpdateEvent_ADMINS_ADDED MembershipUpdateEvent_EventType = 6 MembershipUpdateEvent_ADMIN_REMOVED MembershipUpdateEvent_EventType = 7 + MembershipUpdateEvent_COLOR_CHANGED MembershipUpdateEvent_EventType = 8 ) var MembershipUpdateEvent_EventType_name = map[int32]string{ @@ -42,6 +43,7 @@ var MembershipUpdateEvent_EventType_name = map[int32]string{ 5: "MEMBER_REMOVED", 6: "ADMINS_ADDED", 7: "ADMIN_REMOVED", + 8: "COLOR_CHANGED", } var MembershipUpdateEvent_EventType_value = map[string]int32{ @@ -53,6 +55,7 @@ var MembershipUpdateEvent_EventType_value = map[string]int32{ "MEMBER_REMOVED": 5, "ADMINS_ADDED": 6, "ADMIN_REMOVED": 7, + "COLOR_CHANGED": 8, } func (x MembershipUpdateEvent_EventType) String() string { @@ -71,10 +74,12 @@ type MembershipUpdateEvent struct { // Name of the chat for the CHAT_CREATED/NAME_CHANGED event types Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // The type of the event - Type MembershipUpdateEvent_EventType `protobuf:"varint,4,opt,name=type,proto3,enum=protobuf.MembershipUpdateEvent_EventType" json:"type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Type MembershipUpdateEvent_EventType `protobuf:"varint,4,opt,name=type,proto3,enum=protobuf.MembershipUpdateEvent_EventType" json:"type,omitempty"` + // Color of the chat for the CHAT_CREATED/COLOR_CHANGED event types + Color string `protobuf:"bytes,5,opt,name=color,proto3" json:"color,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *MembershipUpdateEvent) Reset() { *m = MembershipUpdateEvent{} } @@ -130,6 +135,13 @@ func (m *MembershipUpdateEvent) GetType() MembershipUpdateEvent_EventType { return MembershipUpdateEvent_UNKNOWN } +func (m *MembershipUpdateEvent) GetColor() string { + if m != nil { + return m.Color + } + return "" +} + // MembershipUpdateMessage is a message used to propagate information // about group membership changes. // For more information, see https://github.com/status-im/specs/blob/master/status-group-chats-spec.md. @@ -240,34 +252,37 @@ func init() { proto.RegisterType((*MembershipUpdateMessage)(nil), "protobuf.MembershipUpdateMessage") } -func init() { proto.RegisterFile("membership_update_message.proto", fileDescriptor_8d37dd0dc857a6be) } +func init() { + proto.RegisterFile("membership_update_message.proto", fileDescriptor_8d37dd0dc857a6be) +} var fileDescriptor_8d37dd0dc857a6be = []byte{ - // 405 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x51, 0x5d, 0x8f, 0x93, 0x40, - 0x14, 0x2d, 0x2d, 0x5b, 0xe4, 0xb2, 0x34, 0x78, 0xb3, 0x6b, 0xc9, 0xbe, 0x48, 0xfa, 0x84, 0x2f, - 0x18, 0xeb, 0xa3, 0x31, 0x91, 0x32, 0x13, 0xa9, 0x06, 0x9a, 0x8c, 0x5d, 0x4d, 0x7c, 0x21, 0x94, - 0x8e, 0x16, 0x95, 0x8f, 0xb4, 0xb3, 0x26, 0xfd, 0x2d, 0xfe, 0x11, 0x7f, 0x85, 0xbf, 0xc9, 0x30, - 0x40, 0xeb, 0x9a, 0x7d, 0x81, 0x39, 0xe7, 0xce, 0x39, 0x73, 0xef, 0xb9, 0xf0, 0xb4, 0xe0, 0xc5, - 0x86, 0xef, 0x0f, 0xbb, 0xbc, 0x4e, 0xee, 0xea, 0x6d, 0x2a, 0x78, 0x52, 0xf0, 0xc3, 0x21, 0xfd, - 0xca, 0xbd, 0x7a, 0x5f, 0x89, 0x0a, 0x1f, 0xc9, 0xdf, 0xe6, 0xee, 0xcb, 0x0d, 0x66, 0xbb, 0x54, - 0xdc, 0xaf, 0xde, 0x5c, 0xf1, 0xa2, 0xfa, 0x96, 0x27, 0x7b, 0x9e, 0x66, 0x22, 0xaf, 0xca, 0x96, - 0x9d, 0xfd, 0x1e, 0xc2, 0x75, 0x74, 0xf2, 0xbd, 0x95, 0xb6, 0xf4, 0x27, 0x2f, 0x05, 0x5e, 0xc1, - 0x45, 0xf6, 0xa3, 0xca, 0xbe, 0xdb, 0x8a, 0xa3, 0xb8, 0x2a, 0x6b, 0x01, 0xda, 0xa0, 0x75, 0x6d, - 0xd8, 0x43, 0x67, 0xe4, 0xea, 0xac, 0x87, 0x88, 0xa0, 0x96, 0x69, 0xc1, 0xed, 0x91, 0xa3, 0xb8, - 0x3a, 0x93, 0x67, 0x7c, 0x0d, 0xaa, 0x38, 0xd6, 0xdc, 0x56, 0x1d, 0xc5, 0x9d, 0xcc, 0x9f, 0x79, - 0x7d, 0x83, 0xde, 0x83, 0x4f, 0x7a, 0xf2, 0xbb, 0x3e, 0xd6, 0x9c, 0x49, 0xd9, 0xec, 0x97, 0x02, - 0xfa, 0x89, 0x43, 0x03, 0xb4, 0xdb, 0xf8, 0x7d, 0xbc, 0xfa, 0x14, 0x5b, 0x03, 0xb4, 0xe0, 0x32, - 0x08, 0xfd, 0x75, 0x12, 0x30, 0xea, 0xaf, 0x29, 0xb1, 0x94, 0x86, 0x89, 0xfd, 0x88, 0x26, 0x41, - 0xe8, 0xc7, 0x6f, 0x29, 0xb1, 0x86, 0xf8, 0x18, 0xcc, 0x88, 0x46, 0x0b, 0xca, 0x3e, 0x24, 0x3e, - 0x21, 0x94, 0x58, 0xa3, 0x33, 0x95, 0xbc, 0x5b, 0x2d, 0x63, 0x4a, 0x2c, 0x15, 0x11, 0x26, 0x1d, - 0xc5, 0x68, 0xb4, 0xfa, 0x48, 0x89, 0x75, 0xd1, 0x78, 0xf9, 0x24, 0x5a, 0xc6, 0xbd, 0x70, 0xdc, - 0x08, 0x25, 0x73, 0xba, 0xa4, 0xcd, 0xfe, 0x28, 0x30, 0xfd, 0x7f, 0x8e, 0xa8, 0x8d, 0x1c, 0xa7, - 0xa0, 0xc9, 0x15, 0xe4, 0x5b, 0x19, 0x9f, 0xce, 0xc6, 0x0d, 0x5c, 0x6e, 0xf1, 0x09, 0x8c, 0x79, - 0x33, 0x51, 0x1b, 0xdf, 0x25, 0xeb, 0x10, 0xbe, 0x68, 0x72, 0x95, 0x5a, 0x19, 0xa0, 0x31, 0xbf, - 0x3e, 0x87, 0x15, 0xec, 0x52, 0xd1, 0x19, 0x87, 0x03, 0xd6, 0xdf, 0xc3, 0x37, 0x30, 0xb9, 0xbf, - 0x52, 0x19, 0xb3, 0x31, 0x9f, 0x9e, 0x95, 0xb4, 0xa9, 0xb3, 0xae, 0x1c, 0x0e, 0x98, 0xc9, 0xff, - 0x25, 0x16, 0x26, 0x18, 0xb2, 0x4b, 0x5e, 0x8a, 0x5c, 0x1c, 0x17, 0xe6, 0x67, 0xc3, 0x7b, 0xfe, - 0xaa, 0x17, 0x6f, 0xc6, 0xf2, 0xf4, 0xf2, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x2a, 0x26, - 0x02, 0x78, 0x02, 0x00, 0x00, + // 424 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x51, 0x5d, 0x8f, 0xd2, 0x40, + 0x14, 0xa5, 0x50, 0x60, 0xb9, 0x5d, 0x48, 0xbd, 0xd9, 0x95, 0x66, 0x5f, 0x24, 0x3c, 0xe1, 0x4b, + 0x8d, 0xf8, 0x68, 0x4c, 0x2c, 0x9d, 0x89, 0xa0, 0xb6, 0x4d, 0x46, 0x56, 0x13, 0x5f, 0x9a, 0x52, + 0x46, 0xa9, 0x6e, 0x3f, 0x52, 0x66, 0x4d, 0xf8, 0x53, 0xfe, 0x14, 0xff, 0x83, 0xff, 0xc4, 0xcc, + 0xf4, 0x03, 0xd7, 0xf8, 0xd2, 0xce, 0x39, 0xf7, 0x9e, 0x33, 0x77, 0xee, 0x81, 0x27, 0x29, 0x4f, + 0x77, 0xbc, 0x3c, 0x1e, 0x92, 0x22, 0xbc, 0x2f, 0xf6, 0x91, 0xe0, 0x61, 0xca, 0x8f, 0xc7, 0xe8, + 0x2b, 0xb7, 0x8b, 0x32, 0x17, 0x39, 0x5e, 0xa8, 0xdf, 0xee, 0xfe, 0xcb, 0x0d, 0xc6, 0x87, 0x48, + 0x3c, 0xac, 0xde, 0x5c, 0xf1, 0x34, 0xff, 0x96, 0x84, 0x25, 0x8f, 0x62, 0x91, 0xe4, 0x59, 0xc5, + 0xce, 0x7f, 0x77, 0xe1, 0xda, 0x6b, 0x7d, 0x6f, 0x95, 0x2d, 0xfd, 0xc1, 0x33, 0x81, 0x57, 0xd0, + 0x8f, 0xef, 0xf2, 0xf8, 0xbb, 0xa5, 0xcd, 0xb4, 0x85, 0xce, 0x2a, 0x80, 0x16, 0x0c, 0xeb, 0x31, + 0xac, 0xee, 0xac, 0xb7, 0x18, 0xb1, 0x06, 0x22, 0x82, 0x9e, 0x45, 0x29, 0xb7, 0x7a, 0x33, 0x6d, + 0x31, 0x62, 0xea, 0x8c, 0xaf, 0x40, 0x17, 0xa7, 0x82, 0x5b, 0xfa, 0x4c, 0x5b, 0x4c, 0x96, 0x4f, + 0xed, 0x66, 0x40, 0xfb, 0xbf, 0x57, 0xda, 0xea, 0xbb, 0x3d, 0x15, 0x9c, 0x29, 0x99, 0x1a, 0x21, + 0xbf, 0xcb, 0x4b, 0xab, 0xaf, 0x3c, 0x2b, 0x30, 0xff, 0xa9, 0xc1, 0xa8, 0xed, 0x44, 0x03, 0x86, + 0xb7, 0xfe, 0x3b, 0x3f, 0xf8, 0xe4, 0x9b, 0x1d, 0x34, 0xe1, 0xd2, 0x5d, 0x3b, 0xdb, 0xd0, 0x65, + 0xd4, 0xd9, 0x52, 0x62, 0x6a, 0x92, 0xf1, 0x1d, 0x8f, 0x86, 0xee, 0xda, 0xf1, 0xdf, 0x50, 0x62, + 0x76, 0xf1, 0x11, 0x8c, 0x3d, 0xea, 0xad, 0x28, 0xfb, 0x10, 0x3a, 0x84, 0x50, 0x62, 0xf6, 0xce, + 0x54, 0xf8, 0x36, 0xd8, 0xf8, 0x94, 0x98, 0x3a, 0x22, 0x4c, 0x6a, 0x8a, 0x51, 0x2f, 0xf8, 0x48, + 0x89, 0xd9, 0x97, 0x5e, 0x0e, 0xf1, 0x36, 0x7e, 0x23, 0x1c, 0x48, 0xa1, 0x62, 0xda, 0xa6, 0xa1, + 0xa4, 0xdc, 0xe0, 0x7d, 0xc0, 0xda, 0x1b, 0x2f, 0xe6, 0xbf, 0x34, 0x98, 0xfe, 0xfb, 0x60, 0xaf, + 0xca, 0x06, 0xa7, 0x30, 0x54, 0x59, 0x25, 0x7b, 0xb5, 0xe7, 0x11, 0x1b, 0x48, 0xb8, 0xd9, 0xe3, + 0x63, 0x18, 0x70, 0xf9, 0xc8, 0x6a, 0xcf, 0x97, 0xac, 0x46, 0xf8, 0x5c, 0x06, 0xa0, 0xb4, 0x6a, + 0xd3, 0xc6, 0xf2, 0xfa, 0xbc, 0x55, 0xf7, 0x10, 0x89, 0xda, 0x78, 0xdd, 0x61, 0x4d, 0x1f, 0xbe, + 0x86, 0xc9, 0xc3, 0xec, 0x55, 0x1e, 0xc6, 0x72, 0x7a, 0x56, 0x52, 0x59, 0x67, 0x75, 0x79, 0xdd, + 0x61, 0x63, 0xfe, 0x37, 0xb1, 0x1a, 0x83, 0xa1, 0xa6, 0xe4, 0x99, 0x48, 0xc4, 0x69, 0x35, 0xfe, + 0x6c, 0xd8, 0xcf, 0x5e, 0x36, 0xe2, 0xdd, 0x40, 0x9d, 0x5e, 0xfc, 0x09, 0x00, 0x00, 0xff, 0xff, + 0x8d, 0x76, 0xf6, 0xb6, 0xa1, 0x02, 0x00, 0x00, } diff --git a/protocol/protobuf/membership_update_message.proto b/protocol/protobuf/membership_update_message.proto index fb529c868..d3d494785 100644 --- a/protocol/protobuf/membership_update_message.proto +++ b/protocol/protobuf/membership_update_message.proto @@ -15,6 +15,8 @@ message MembershipUpdateEvent { string name = 3; // The type of the event EventType type = 4; + // Color of the chat for the CHAT_CREATED/COLOR_CHANGED event types + string color = 5; enum EventType { UNKNOWN = 0; @@ -25,6 +27,7 @@ message MembershipUpdateEvent { MEMBER_REMOVED = 5; ADMINS_ADDED = 6; ADMIN_REMOVED = 7; + COLOR_CHANGED = 8; } } diff --git a/protocol/protobuf/pairing.pb.go b/protocol/protobuf/pairing.pb.go index 7a0bf47e7..6063062be 100644 --- a/protocol/protobuf/pairing.pb.go +++ b/protocol/protobuf/pairing.pb.go @@ -1695,7 +1695,9 @@ func init() { proto.RegisterType((*SyncVerificationRequest)(nil), "protobuf.SyncVerificationRequest") } -func init() { proto.RegisterFile("pairing.proto", fileDescriptor_d61ab7221f0b5518) } +func init() { + proto.RegisterFile("pairing.proto", fileDescriptor_d61ab7221f0b5518) +} var fileDescriptor_d61ab7221f0b5518 = []byte{ // 1539 bytes of a gzipped FileDescriptorProto diff --git a/protocol/protobuf/pin_message.pb.go b/protocol/protobuf/pin_message.pb.go index aacf039e2..f1267b4bb 100644 --- a/protocol/protobuf/pin_message.pb.go +++ b/protocol/protobuf/pin_message.pb.go @@ -96,7 +96,9 @@ func init() { proto.RegisterType((*PinMessage)(nil), "protobuf.PinMessage") } -func init() { proto.RegisterFile("pin_message.proto", fileDescriptor_b3c2ad1be7128a0a) } +func init() { + proto.RegisterFile("pin_message.proto", fileDescriptor_b3c2ad1be7128a0a) +} var fileDescriptor_b3c2ad1be7128a0a = []byte{ // 192 bytes of a gzipped FileDescriptorProto diff --git a/protocol/protobuf/push_notifications.pb.go b/protocol/protobuf/push_notifications.pb.go index 96e2fa9a3..642ce7292 100644 --- a/protocol/protobuf/push_notifications.pb.go +++ b/protocol/protobuf/push_notifications.pb.go @@ -831,7 +831,9 @@ func init() { proto.RegisterType((*PushNotificationResponse)(nil), "protobuf.PushNotificationResponse") } -func init() { proto.RegisterFile("push_notifications.proto", fileDescriptor_200acd86044eaa5d) } +func init() { + proto.RegisterFile("push_notifications.proto", fileDescriptor_200acd86044eaa5d) +} var fileDescriptor_200acd86044eaa5d = []byte{ // 1072 bytes of a gzipped FileDescriptorProto diff --git a/protocol/protobuf/status_update.pb.go b/protocol/protobuf/status_update.pb.go index 3e9501b2b..8a6358c5c 100644 --- a/protocol/protobuf/status_update.pb.go +++ b/protocol/protobuf/status_update.pb.go @@ -125,7 +125,9 @@ func init() { proto.RegisterType((*StatusUpdate)(nil), "protobuf.StatusUpdate") } -func init() { proto.RegisterFile("status_update.proto", fileDescriptor_911acd91e62cd3d7) } +func init() { + proto.RegisterFile("status_update.proto", fileDescriptor_911acd91e62cd3d7) +} var fileDescriptor_911acd91e62cd3d7 = []byte{ // 253 bytes of a gzipped FileDescriptorProto diff --git a/protocol/protobuf/sync_settings.pb.go b/protocol/protobuf/sync_settings.pb.go index fdf76efce..b05dd8835 100644 --- a/protocol/protobuf/sync_settings.pb.go +++ b/protocol/protobuf/sync_settings.pb.go @@ -209,7 +209,9 @@ func init() { proto.RegisterType((*SyncSetting)(nil), "protobuf.SyncSetting") } -func init() { proto.RegisterFile("sync_settings.proto", fileDescriptor_e2f7a0bce2873c78) } +func init() { + proto.RegisterFile("sync_settings.proto", fileDescriptor_e2f7a0bce2873c78) +} var fileDescriptor_e2f7a0bce2873c78 = []byte{ // 447 bytes of a gzipped FileDescriptorProto diff --git a/protocol/pushnotificationclient/migrations/migrations.go b/protocol/pushnotificationclient/migrations/migrations.go index 674671405..09e671e6e 100644 --- a/protocol/pushnotificationclient/migrations/migrations.go +++ b/protocol/pushnotificationclient/migrations/migrations.go @@ -26,7 +26,7 @@ import ( func bindataRead(data []byte, name string) ([]byte, error) { gz, err := gzip.NewReader(bytes.NewBuffer(data)) if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) + return nil, fmt.Errorf("read %q: %w", name, err) } var buf bytes.Buffer @@ -34,7 +34,7 @@ func bindataRead(data []byte, name string) ([]byte, error) { clErr := gz.Close() if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) + return nil, fmt.Errorf("read %q: %w", name, err) } if clErr != nil { return nil, err @@ -90,7 +90,7 @@ func _1593601729_initial_schemaDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1593601729_initial_schema.down.sql", size: 144, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1593601729_initial_schema.down.sql", size: 144, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa, 0x95, 0x55, 0x64, 0x38, 0x40, 0x16, 0xbf, 0x8b, 0x1c, 0x18, 0xb4, 0xc5, 0x7f, 0xd0, 0xb8, 0xf0, 0x3c, 0xa2, 0x82, 0xf8, 0x8d, 0x5a, 0xd3, 0xb6, 0x6e, 0xa3, 0xb4, 0xc, 0x9, 0x33, 0x0}} return a, nil } @@ -110,7 +110,7 @@ func _1593601729_initial_schemaUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1593601729_initial_schema.up.sql", size: 1773, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1593601729_initial_schema.up.sql", size: 1773, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0x1e, 0x5, 0x35, 0x9, 0xb2, 0x2d, 0x6f, 0x33, 0x63, 0xa2, 0x7a, 0x5b, 0xd2, 0x2d, 0xcb, 0x79, 0x7e, 0x6, 0xb4, 0x9d, 0x35, 0xd8, 0x9b, 0x55, 0xe5, 0xf8, 0x44, 0xca, 0xa6, 0xf3, 0xd3}} return a, nil } @@ -130,7 +130,7 @@ func _1597909626_add_server_typeDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1597909626_add_server_type.down.sql", size: 0, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1597909626_add_server_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}} return a, nil } @@ -150,7 +150,7 @@ func _1597909626_add_server_typeUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1597909626_add_server_type.up.sql", size: 145, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1597909626_add_server_type.up.sql", size: 145, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc8, 0x3f, 0xe0, 0xe7, 0x57, 0x0, 0x5d, 0x60, 0xf3, 0x55, 0x64, 0x71, 0x80, 0x3c, 0xca, 0x8, 0x61, 0xb5, 0x3c, 0xe, 0xa1, 0xe4, 0x61, 0xd1, 0x4e, 0xd8, 0xb2, 0x55, 0xdd, 0x87, 0x62, 0x9b}} return a, nil } @@ -170,7 +170,7 @@ func _1599053776_add_chat_id_and_typeDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.down.sql", size: 0, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}} return a, nil } @@ -190,7 +190,7 @@ func _1599053776_add_chat_id_and_typeUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.up.sql", size: 264, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.up.sql", size: 264, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x7a, 0xf9, 0xc4, 0xa2, 0x96, 0x2e, 0xf9, 0x8f, 0x7, 0xf1, 0x1e, 0x73, 0x8a, 0xa6, 0x3a, 0x13, 0x4, 0x73, 0x82, 0x83, 0xb, 0xe3, 0xb5, 0x3b, 0x7e, 0xd, 0x23, 0xce, 0x98, 0xd4, 0xdc}} return a, nil } @@ -210,7 +210,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x2f, 0x1e, 0x64, 0x9, 0x93, 0xe4, 0x8b, 0xf2, 0x98, 0x5a, 0x45, 0xe2, 0x80, 0x88, 0x67, 0x7a, 0x2d, 0xd7, 0x4b, 0xd1, 0x73, 0xb6, 0x6d, 0x15, 0xc2, 0x0, 0x34, 0xcd, 0xa0, 0xdb, 0x20}} return a, nil } @@ -306,21 +306,18 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "1593601729_initial_schema.down.sql": _1593601729_initial_schemaDownSql, - - "1593601729_initial_schema.up.sql": _1593601729_initial_schemaUpSql, - - "1597909626_add_server_type.down.sql": _1597909626_add_server_typeDownSql, - - "1597909626_add_server_type.up.sql": _1597909626_add_server_typeUpSql, - + "1593601729_initial_schema.down.sql": _1593601729_initial_schemaDownSql, + "1593601729_initial_schema.up.sql": _1593601729_initial_schemaUpSql, + "1597909626_add_server_type.down.sql": _1597909626_add_server_typeDownSql, + "1597909626_add_server_type.up.sql": _1597909626_add_server_typeUpSql, "1599053776_add_chat_id_and_type.down.sql": _1599053776_add_chat_id_and_typeDownSql, - - "1599053776_add_chat_id_and_type.up.sql": _1599053776_add_chat_id_and_typeUpSql, - - "doc.go": docGo, + "1599053776_add_chat_id_and_type.up.sql": _1599053776_add_chat_id_and_typeUpSql, + "doc.go": docGo, } +// AssetDebug is true if the assets were built with the debug flag enabled. +const AssetDebug = false + // AssetDir returns the file names below a certain // directory embedded in the file by go-bindata. // For example if you run go-bindata on data/... and data contains the @@ -362,13 +359,13 @@ type bintree struct { } var _bintree = &bintree{nil, map[string]*bintree{ - "1593601729_initial_schema.down.sql": &bintree{_1593601729_initial_schemaDownSql, map[string]*bintree{}}, - "1593601729_initial_schema.up.sql": &bintree{_1593601729_initial_schemaUpSql, map[string]*bintree{}}, - "1597909626_add_server_type.down.sql": &bintree{_1597909626_add_server_typeDownSql, map[string]*bintree{}}, - "1597909626_add_server_type.up.sql": &bintree{_1597909626_add_server_typeUpSql, map[string]*bintree{}}, - "1599053776_add_chat_id_and_type.down.sql": &bintree{_1599053776_add_chat_id_and_typeDownSql, map[string]*bintree{}}, - "1599053776_add_chat_id_and_type.up.sql": &bintree{_1599053776_add_chat_id_and_typeUpSql, map[string]*bintree{}}, - "doc.go": &bintree{docGo, map[string]*bintree{}}, + "1593601729_initial_schema.down.sql": {_1593601729_initial_schemaDownSql, map[string]*bintree{}}, + "1593601729_initial_schema.up.sql": {_1593601729_initial_schemaUpSql, map[string]*bintree{}}, + "1597909626_add_server_type.down.sql": {_1597909626_add_server_typeDownSql, map[string]*bintree{}}, + "1597909626_add_server_type.up.sql": {_1597909626_add_server_typeUpSql, map[string]*bintree{}}, + "1599053776_add_chat_id_and_type.down.sql": {_1599053776_add_chat_id_and_typeDownSql, map[string]*bintree{}}, + "1599053776_add_chat_id_and_type.up.sql": {_1599053776_add_chat_id_and_typeUpSql, map[string]*bintree{}}, + "doc.go": {docGo, map[string]*bintree{}}, }} // RestoreAsset restores an asset under the given directory. diff --git a/protocol/pushnotificationserver/migrations/migrations.go b/protocol/pushnotificationserver/migrations/migrations.go index a6259112c..cba0631ef 100644 --- a/protocol/pushnotificationserver/migrations/migrations.go +++ b/protocol/pushnotificationserver/migrations/migrations.go @@ -24,7 +24,7 @@ import ( func bindataRead(data []byte, name string) ([]byte, error) { gz, err := gzip.NewReader(bytes.NewBuffer(data)) if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) + return nil, fmt.Errorf("read %q: %w", name, err) } var buf bytes.Buffer @@ -32,7 +32,7 @@ func bindataRead(data []byte, name string) ([]byte, error) { clErr := gz.Close() if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) + return nil, fmt.Errorf("read %q: %w", name, err) } if clErr != nil { return nil, err @@ -88,7 +88,7 @@ func _1593601728_initial_schemaDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1593601728_initial_schema.down.sql", size: 200, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1593601728_initial_schema.down.sql", size: 200, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x88, 0x8a, 0x61, 0x81, 0x57, 0x45, 0x9b, 0x97, 0x9b, 0x1f, 0xf6, 0x94, 0x8a, 0x20, 0xb3, 0x2b, 0xff, 0x69, 0x49, 0xf4, 0x58, 0xcc, 0xd0, 0x55, 0xcc, 0x9a, 0x8b, 0xb6, 0x7f, 0x29, 0x53, 0xc1}} return a, nil } @@ -108,7 +108,7 @@ func _1593601728_initial_schemaUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1593601728_initial_schema.up.sql", size: 675, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1593601728_initial_schema.up.sql", size: 675, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfd, 0x61, 0x90, 0x79, 0xd9, 0x14, 0x65, 0xe9, 0x96, 0x53, 0x17, 0x33, 0x54, 0xeb, 0x8b, 0x5d, 0x95, 0x99, 0x10, 0x36, 0x58, 0xdd, 0xb2, 0xbf, 0x45, 0xd9, 0xbb, 0xc4, 0x92, 0xe, 0xce, 0x2}} return a, nil } @@ -128,7 +128,7 @@ func _1598419937_add_push_notifications_tableDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1598419937_add_push_notifications_table.down.sql", size: 51, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1598419937_add_push_notifications_table.down.sql", size: 51, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0x98, 0xc8, 0x30, 0x45, 0x5b, 0xc5, 0x7d, 0x13, 0x5d, 0xe7, 0xc8, 0x23, 0x43, 0xf7, 0xdc, 0x9c, 0xe2, 0xdd, 0x63, 0xf0, 0xb7, 0x16, 0x40, 0xc, 0xda, 0xb9, 0x16, 0x70, 0x2b, 0x5a, 0x7e}} return a, nil } @@ -148,7 +148,7 @@ func _1598419937_add_push_notifications_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1598419937_add_push_notifications_table.up.sql", size: 104, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1598419937_add_push_notifications_table.up.sql", size: 104, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2, 0x3e, 0xef, 0xf, 0xc2, 0xdf, 0xbc, 0x99, 0x7a, 0xc2, 0xd3, 0x64, 0x4f, 0x4c, 0x7e, 0xfc, 0x2e, 0x8c, 0xa7, 0x54, 0xd3, 0x4d, 0x25, 0x98, 0x41, 0xbc, 0xea, 0xd7, 0x2, 0xc1, 0xd0, 0x52}} return a, nil } @@ -168,7 +168,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x2f, 0x1e, 0x64, 0x9, 0x93, 0xe4, 0x8b, 0xf2, 0x98, 0x5a, 0x45, 0xe2, 0x80, 0x88, 0x67, 0x7a, 0x2d, 0xd7, 0x4b, 0xd1, 0x73, 0xb6, 0x6d, 0x15, 0xc2, 0x0, 0x34, 0xcd, 0xa0, 0xdb, 0x20}} return a, nil } @@ -264,17 +264,16 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "1593601728_initial_schema.down.sql": _1593601728_initial_schemaDownSql, - - "1593601728_initial_schema.up.sql": _1593601728_initial_schemaUpSql, - + "1593601728_initial_schema.down.sql": _1593601728_initial_schemaDownSql, + "1593601728_initial_schema.up.sql": _1593601728_initial_schemaUpSql, "1598419937_add_push_notifications_table.down.sql": _1598419937_add_push_notifications_tableDownSql, - - "1598419937_add_push_notifications_table.up.sql": _1598419937_add_push_notifications_tableUpSql, - + "1598419937_add_push_notifications_table.up.sql": _1598419937_add_push_notifications_tableUpSql, "doc.go": docGo, } +// AssetDebug is true if the assets were built with the debug flag enabled. +const AssetDebug = false + // AssetDir returns the file names below a certain // directory embedded in the file by go-bindata. // For example if you run go-bindata on data/... and data contains the @@ -316,11 +315,11 @@ type bintree struct { } var _bintree = &bintree{nil, map[string]*bintree{ - "1593601728_initial_schema.down.sql": &bintree{_1593601728_initial_schemaDownSql, map[string]*bintree{}}, - "1593601728_initial_schema.up.sql": &bintree{_1593601728_initial_schemaUpSql, map[string]*bintree{}}, - "1598419937_add_push_notifications_table.down.sql": &bintree{_1598419937_add_push_notifications_tableDownSql, map[string]*bintree{}}, - "1598419937_add_push_notifications_table.up.sql": &bintree{_1598419937_add_push_notifications_tableUpSql, map[string]*bintree{}}, - "doc.go": &bintree{docGo, map[string]*bintree{}}, + "1593601728_initial_schema.down.sql": {_1593601728_initial_schemaDownSql, map[string]*bintree{}}, + "1593601728_initial_schema.up.sql": {_1593601728_initial_schemaUpSql, map[string]*bintree{}}, + "1598419937_add_push_notifications_table.down.sql": {_1598419937_add_push_notifications_tableDownSql, map[string]*bintree{}}, + "1598419937_add_push_notifications_table.up.sql": {_1598419937_add_push_notifications_tableUpSql, map[string]*bintree{}}, + "doc.go": {docGo, map[string]*bintree{}}, }} // RestoreAsset restores an asset under the given directory. diff --git a/protocol/transport/migrations/migrations.go b/protocol/transport/migrations/migrations.go index e510be64e..71b6a0670 100644 --- a/protocol/transport/migrations/migrations.go +++ b/protocol/transport/migrations/migrations.go @@ -25,7 +25,7 @@ import ( func bindataRead(data []byte, name string) ([]byte, error) { gz, err := gzip.NewReader(bytes.NewBuffer(data)) if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) + return nil, fmt.Errorf("read %q: %w", name, err) } var buf bytes.Buffer @@ -33,7 +33,7 @@ func bindataRead(data []byte, name string) ([]byte, error) { clErr := gz.Close() if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) + return nil, fmt.Errorf("read %q: %w", name, err) } if clErr != nil { return nil, err @@ -89,7 +89,7 @@ func _1561059284_add_waku_keysDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1561059284_add_waku_keys.down.sql", size: 22, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1561059284_add_waku_keys.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe5, 0x2a, 0x7e, 0x9, 0xa3, 0xdd, 0xc6, 0x3, 0xfa, 0xaa, 0x98, 0xa0, 0x26, 0x5e, 0x67, 0x43, 0xe6, 0x20, 0xfd, 0x10, 0xfd, 0x60, 0x89, 0x17, 0x13, 0x87, 0x1b, 0x44, 0x36, 0x79, 0xb6, 0x60}} return a, nil } @@ -109,7 +109,7 @@ func _1561059284_add_waku_keysUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1561059284_add_waku_keys.up.sql", size: 109, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1561059284_add_waku_keys.up.sql", size: 109, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0x5c, 0x8, 0x32, 0xef, 0x12, 0x88, 0x21, 0xd, 0x7a, 0x42, 0x4d, 0xe7, 0x2d, 0x6c, 0x99, 0xb6, 0x1, 0xf1, 0xba, 0x2c, 0x40, 0x8d, 0xa9, 0x4b, 0xe6, 0xc4, 0x21, 0xec, 0x47, 0x6b, 0xf7}} return a, nil } @@ -129,7 +129,7 @@ func _1616691080_add_wakuv2_keysDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.down.sql", size: 24, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.down.sql", size: 24, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x42, 0xb6, 0x23, 0x70, 0xb8, 0x63, 0x18, 0x61, 0xea, 0x35, 0x6e, 0xae, 0xe9, 0x71, 0x89, 0xa, 0xa5, 0x72, 0xa2, 0x64, 0xaa, 0x45, 0x1, 0xf, 0xfc, 0xee, 0x1b, 0xd9, 0xd2, 0x27, 0xf4, 0xe2}} return a, nil } @@ -149,7 +149,7 @@ func _1616691080_add_wakuv2_keysUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.up.sql", size: 111, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0xf0, 0x97, 0x25, 0xfe, 0x96, 0x2c, 0xa8, 0x62, 0x4a, 0x71, 0x75, 0xff, 0x5f, 0x43, 0x1e, 0x71, 0x53, 0xf1, 0xde, 0xf, 0xcf, 0xcd, 0x87, 0x15, 0x61, 0x9d, 0x25, 0x2e, 0xaf, 0x18, 0x99}} return a, nil } @@ -169,7 +169,7 @@ func _1634723014_add_wakuv2_keysUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1634723014_add_wakuV2_keys.up.sql", size: 125, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "1634723014_add_wakuV2_keys.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xe1, 0x7a, 0x1e, 0x6, 0xad, 0x1b, 0x37, 0xdb, 0xea, 0x94, 0xaf, 0xe0, 0x7d, 0xc9, 0xd6, 0xda, 0x52, 0x71, 0x8a, 0x44, 0xb3, 0xa6, 0x7b, 0x1e, 0x90, 0xdb, 0x1e, 0x5a, 0xa, 0x40, 0x26}} return a, nil } @@ -189,7 +189,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 373, mode: os.FileMode(0664), modTime: time.Unix(1658738448, 0)} + info := bindataFileInfo{name: "doc.go", size: 373, mode: os.FileMode(0644), modTime: time.Unix(1659638968, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0x6a, 0xc1, 0xce, 0x94, 0xf6, 0xef, 0xf1, 0x97, 0x95, 0xb, 0x35, 0xaf, 0x5f, 0xe7, 0x5f, 0xac, 0x6e, 0xb8, 0xab, 0xba, 0xb5, 0x35, 0x97, 0x22, 0x36, 0x11, 0xce, 0x44, 0xfc, 0xfa, 0xac}} return a, nil } @@ -285,19 +285,17 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "1561059284_add_waku_keys.down.sql": _1561059284_add_waku_keysDownSql, - - "1561059284_add_waku_keys.up.sql": _1561059284_add_waku_keysUpSql, - + "1561059284_add_waku_keys.down.sql": _1561059284_add_waku_keysDownSql, + "1561059284_add_waku_keys.up.sql": _1561059284_add_waku_keysUpSql, "1616691080_add_wakuV2_keys.down.sql": _1616691080_add_wakuv2_keysDownSql, - - "1616691080_add_wakuV2_keys.up.sql": _1616691080_add_wakuv2_keysUpSql, - - "1634723014_add_wakuV2_keys.up.sql": _1634723014_add_wakuv2_keysUpSql, - - "doc.go": docGo, + "1616691080_add_wakuV2_keys.up.sql": _1616691080_add_wakuv2_keysUpSql, + "1634723014_add_wakuV2_keys.up.sql": _1634723014_add_wakuv2_keysUpSql, + "doc.go": docGo, } +// AssetDebug is true if the assets were built with the debug flag enabled. +const AssetDebug = false + // AssetDir returns the file names below a certain // directory embedded in the file by go-bindata. // For example if you run go-bindata on data/... and data contains the @@ -339,12 +337,12 @@ type bintree struct { } var _bintree = &bintree{nil, map[string]*bintree{ - "1561059284_add_waku_keys.down.sql": &bintree{_1561059284_add_waku_keysDownSql, map[string]*bintree{}}, - "1561059284_add_waku_keys.up.sql": &bintree{_1561059284_add_waku_keysUpSql, map[string]*bintree{}}, - "1616691080_add_wakuV2_keys.down.sql": &bintree{_1616691080_add_wakuv2_keysDownSql, map[string]*bintree{}}, - "1616691080_add_wakuV2_keys.up.sql": &bintree{_1616691080_add_wakuv2_keysUpSql, map[string]*bintree{}}, - "1634723014_add_wakuV2_keys.up.sql": &bintree{_1634723014_add_wakuv2_keysUpSql, map[string]*bintree{}}, - "doc.go": &bintree{docGo, map[string]*bintree{}}, + "1561059284_add_waku_keys.down.sql": {_1561059284_add_waku_keysDownSql, map[string]*bintree{}}, + "1561059284_add_waku_keys.up.sql": {_1561059284_add_waku_keysUpSql, map[string]*bintree{}}, + "1616691080_add_wakuV2_keys.down.sql": {_1616691080_add_wakuv2_keysDownSql, map[string]*bintree{}}, + "1616691080_add_wakuV2_keys.up.sql": {_1616691080_add_wakuv2_keysUpSql, map[string]*bintree{}}, + "1634723014_add_wakuV2_keys.up.sql": {_1634723014_add_wakuv2_keysUpSql, map[string]*bintree{}}, + "doc.go": {docGo, map[string]*bintree{}}, }} // RestoreAsset restores an asset under the given directory. diff --git a/protocol/v1/membership_update_message.go b/protocol/v1/membership_update_message.go index f7ac653cf..87cf98fad 100644 --- a/protocol/v1/membership_update_message.go +++ b/protocol/v1/membership_update_message.go @@ -54,6 +54,7 @@ func MembershipUpdateEventFromProtobuf(chatID string, raw []byte) (*MembershipUp Members: decodedEvent.Members, Name: decodedEvent.Name, Type: decodedEvent.Type, + Color: decodedEvent.Color, Signature: signature, RawPayload: encodedEvent, From: from, @@ -119,6 +120,7 @@ type MembershipUpdateEvent struct { ClockValue uint64 `json:"clockValue"` Members []string `json:"members,omitempty"` // in "members-added" and "admins-added" events Name string `json:"name,omitempty"` // name of the group chat + Color string `json:"color,omitempty"` // color of the group chat From string `json:"from,omitempty"` Signature []byte `json:"signature,omitempty"` ChatID string `json:"chatId"` @@ -155,6 +157,7 @@ func (u *MembershipUpdateEvent) ToProtobuf() *protobuf.MembershipUpdateEvent { return &protobuf.MembershipUpdateEvent{ Clock: u.ClockValue, Name: u.Name, + Color: u.Color, Members: u.Members, Type: u.Type, } @@ -176,11 +179,12 @@ func MergeMembershipUpdateEvents(dest []MembershipUpdateEvent, src []MembershipU return dest } -func NewChatCreatedEvent(name string, clock uint64) MembershipUpdateEvent { +func NewChatCreatedEvent(name string, color string, clock uint64) MembershipUpdateEvent { return MembershipUpdateEvent{ Type: protobuf.MembershipUpdateEvent_CHAT_CREATED, Name: name, ClockValue: clock, + Color: color, } } @@ -192,6 +196,14 @@ func NewNameChangedEvent(name string, clock uint64) MembershipUpdateEvent { } } +func NewColorChangedEvent(color string, clock uint64) MembershipUpdateEvent { + return MembershipUpdateEvent{ + Type: protobuf.MembershipUpdateEvent_COLOR_CHANGED, + Color: color, + ClockValue: clock, + } +} + func NewMembersAddedEvent(members []string, clock uint64) MembershipUpdateEvent { return MembershipUpdateEvent{ Type: protobuf.MembershipUpdateEvent_MEMBERS_ADDED, @@ -234,6 +246,7 @@ func NewAdminRemovedEvent(admin string, clock uint64) MembershipUpdateEvent { type Group struct { chatID string name string + color string events []MembershipUpdateEvent admins *stringSet members *stringSet @@ -247,9 +260,9 @@ func NewGroupWithEvents(chatID string, events []MembershipUpdateEvent) (*Group, return newGroup(chatID, events) } -func NewGroupWithCreator(name string, clock uint64, creator *ecdsa.PrivateKey) (*Group, error) { +func NewGroupWithCreator(name string, color string, clock uint64, creator *ecdsa.PrivateKey) (*Group, error) { chatID := groupChatID(&creator.PublicKey) - chatCreated := NewChatCreatedEvent(name, clock) + chatCreated := NewChatCreatedEvent(name, color, clock) chatCreated.ChatID = chatID err := chatCreated.Sign(creator) if err != nil { @@ -308,6 +321,10 @@ func (g Group) Name() string { return g.name } +func (g Group) Color() string { + return g.color +} + func (g Group) Events() []MembershipUpdateEvent { return g.events } @@ -326,6 +343,7 @@ func isInSlice(m string, set []string) bool { func (g Group) AbridgedEvents(publicKey *ecdsa.PublicKey) []MembershipUpdateEvent { var events []MembershipUpdateEvent var nameChangedEventFound bool + var colorChangedEventFound bool var joinedEventFound bool memberID := publicKeyToString(publicKey) var addedEventFound bool @@ -342,6 +360,12 @@ func (g Group) AbridgedEvents(publicKey *ecdsa.PublicKey) []MembershipUpdateEven } events = append(events, event) nameChangedEventFound = true + case protobuf.MembershipUpdateEvent_COLOR_CHANGED: + if colorChangedEventFound { + continue + } + events = append(events, event) + colorChangedEventFound = true case protobuf.MembershipUpdateEvent_MEMBERS_ADDED: // If we already have an added event // or the user is not in slice, ignore @@ -454,6 +478,8 @@ func (g Group) validateEvent(event MembershipUpdateEvent) bool { return g.admins.Empty() && g.members.Empty() case protobuf.MembershipUpdateEvent_NAME_CHANGED: return g.admins.Has(event.From) && len(event.Name) > 0 + case protobuf.MembershipUpdateEvent_COLOR_CHANGED: + return g.admins.Has(event.From) && len(event.Color) > 0 case protobuf.MembershipUpdateEvent_MEMBERS_ADDED: return g.admins.Has(event.From) case protobuf.MembershipUpdateEvent_MEMBER_JOINED: @@ -474,10 +500,13 @@ func (g *Group) processEvent(event MembershipUpdateEvent) { switch event.Type { case protobuf.MembershipUpdateEvent_CHAT_CREATED: g.name = event.Name + g.color = event.Color g.members.Add(event.From) g.admins.Add(event.From) case protobuf.MembershipUpdateEvent_NAME_CHANGED: g.name = event.Name + case protobuf.MembershipUpdateEvent_COLOR_CHANGED: + g.color = event.Color case protobuf.MembershipUpdateEvent_ADMINS_ADDED: g.admins.Add(event.Members...) case protobuf.MembershipUpdateEvent_ADMIN_REMOVED: diff --git a/protocol/v1/membership_update_message_test.go b/protocol/v1/membership_update_message_test.go index f3f7753c5..d0db87b65 100644 --- a/protocol/v1/membership_update_message_test.go +++ b/protocol/v1/membership_update_message_test.go @@ -65,7 +65,7 @@ func TestSignMembershipUpdate(t *testing.T) { func TestGroupCreator(t *testing.T) { key, err := crypto.GenerateKey() require.NoError(t, err) - g, err := NewGroupWithCreator("abc", 20, key) + g, err := NewGroupWithCreator("abc", "#fa6565", 20, key) require.NoError(t, err) creator, err := g.creator() require.NoError(t, err) @@ -73,14 +73,18 @@ func TestGroupCreator(t *testing.T) { } func TestGroupProcessEvent(t *testing.T) { - createGroup := func(admins, members, joined []string, name string) Group { + createGroup := func(admins, members, joined []string, name string, color string) Group { return Group{ name: name, + color: color, admins: newStringSetFromSlice(admins), members: newStringSetFromSlice(members), } } + const emptyName = "" + const emptyColor = "" + testCases := []struct { Name string Group Group @@ -90,50 +94,57 @@ func TestGroupProcessEvent(t *testing.T) { }{ { Name: "chat-created event", - Group: createGroup(nil, nil, nil, ""), - Result: createGroup([]string{"0xabc"}, []string{"0xabc"}, []string{"0xabc"}, "some-name"), + Group: createGroup(nil, nil, nil, emptyName, emptyColor), + Result: createGroup([]string{"0xabc"}, []string{"0xabc"}, []string{"0xabc"}, "some-name", "#7cda00"), From: "0xabc", - Event: NewChatCreatedEvent("some-name", 0), + Event: NewChatCreatedEvent("some-name", "#7cda00", 0), }, { Name: "name-changed event", - Group: createGroup(nil, nil, nil, ""), - Result: createGroup(nil, nil, nil, "some-name"), + Group: createGroup(nil, nil, nil, emptyName, emptyColor), + Result: createGroup(nil, nil, nil, "some-name", emptyColor), From: "0xabc", Event: NewNameChangedEvent("some-name", 0), }, + { + Name: "color-changed event", + Group: createGroup(nil, nil, nil, emptyName, emptyColor), + Result: createGroup(nil, nil, nil, emptyName, "#7cda00"), + From: "0xabc", + Event: NewColorChangedEvent("#7cda00", 0), + }, { Name: "admins-added event", - Group: createGroup(nil, nil, nil, ""), - Result: createGroup([]string{"0xabc", "0x123"}, nil, nil, ""), + Group: createGroup(nil, nil, nil, emptyName, emptyColor), + Result: createGroup([]string{"0xabc", "0x123"}, nil, nil, emptyName, emptyColor), From: "0xabc", Event: NewAdminsAddedEvent([]string{"0xabc", "0x123"}, 0), }, { Name: "admin-removed event", - Group: createGroup([]string{"0xabc", "0xdef"}, nil, nil, ""), - Result: createGroup([]string{"0xdef"}, nil, nil, ""), + Group: createGroup([]string{"0xabc", "0xdef"}, nil, nil, emptyName, emptyColor), + Result: createGroup([]string{"0xdef"}, nil, nil, emptyName, emptyColor), From: "0xabc", Event: NewAdminRemovedEvent("0xabc", 0), }, { Name: "members-added event", - Group: createGroup(nil, nil, nil, ""), - Result: createGroup(nil, []string{"0xabc", "0xdef"}, nil, ""), + Group: createGroup(nil, nil, nil, emptyName, emptyColor), + Result: createGroup(nil, []string{"0xabc", "0xdef"}, nil, emptyName, emptyColor), From: "0xabc", Event: NewMembersAddedEvent([]string{"0xabc", "0xdef"}, 0), }, { Name: "member-removed event", - Group: createGroup(nil, []string{"0xabc", "0xdef"}, []string{"0xdef", "0xabc"}, ""), - Result: createGroup(nil, []string{"0xdef"}, []string{"0xdef"}, ""), + Group: createGroup(nil, []string{"0xabc", "0xdef"}, []string{"0xdef", "0xabc"}, emptyName, emptyColor), + Result: createGroup(nil, []string{"0xdef"}, []string{"0xdef"}, emptyName, emptyColor), From: "0xabc", Event: NewMemberRemovedEvent("0xabc", 0), }, { Name: "member-joined event", - Group: createGroup(nil, []string{"0xabc", "0xdef"}, []string{"0xabc"}, ""), - Result: createGroup(nil, []string{"0xabc", "0xdef"}, []string{"0xabc", "0xdef"}, ""), + Group: createGroup(nil, []string{"0xabc", "0xdef"}, []string{"0xabc"}, emptyName, emptyColor), + Result: createGroup(nil, []string{"0xabc", "0xdef"}, []string{"0xabc", "0xdef"}, emptyName, emptyColor), From: "0xdef", Event: NewMemberJoinedEvent(0), }, @@ -156,7 +167,6 @@ func TestGroupValidateEvent(t *testing.T) { members: newStringSetFromSlice(members), } } - testCases := []struct { Name string From string @@ -168,21 +178,21 @@ func TestGroupValidateEvent(t *testing.T) { Name: "chat-created with empty admins and members", Group: createGroup(nil, nil), From: "0xabc", - Event: NewChatCreatedEvent("test", 0), + Event: NewChatCreatedEvent("test", "#fa6565", 0), Result: true, }, { Name: "chat-created with existing admins", Group: createGroup([]string{"0xabc"}, nil), From: "0xabc", - Event: NewChatCreatedEvent("test", 0), + Event: NewChatCreatedEvent("test", "#fa6565", 0), Result: false, }, { Name: "chat-created with existing members", Group: createGroup(nil, []string{"0xabc"}), From: "0xabc", - Event: NewChatCreatedEvent("test", 0), + Event: NewChatCreatedEvent("test", "#fa6565", 0), Result: false, }, { @@ -199,6 +209,20 @@ func TestGroupValidateEvent(t *testing.T) { Event: NewNameChangedEvent("new-name", 0), Result: false, }, + { + Name: "color-changed allowed because from is admin", + From: "0xabc", + Group: createGroup([]string{"0xabc"}, nil), + Event: NewColorChangedEvent("#7cda00", 0), + Result: true, + }, + { + Name: "color-changed not allowed for non-admins", + From: "0xabc", + Group: createGroup(nil, nil), + Event: NewColorChangedEvent("#7cda00", 0), + Result: false, + }, { Name: "members-added allowed because from is admin", From: "0xabc", @@ -346,7 +370,7 @@ func TestAbridgedEvents(t *testing.T) { require.NoError(t, err) member4ID := publicKeyToString(&member4.PublicKey) - g, err := NewGroupWithCreator("name-0", clock, creator) + g, err := NewGroupWithCreator("name-0", "#fa6565", clock, creator) require.NoError(t, err) clock++ diff --git a/services/chat/api.go b/services/chat/api.go index 97fed3c25..deab2a7a9 100644 --- a/services/chat/api.go +++ b/services/chat/api.go @@ -20,6 +20,7 @@ import ( var ( ErrChatNotFound = errors.New("can't find chat") ErrCommunitiesNotSupported = errors.New("communities are not supported") + ErrChatTypeNotSupported = errors.New("chat type not supported") ) type ChannelGroupType string @@ -399,3 +400,26 @@ func (api *API) getChatAndCommunity(pubKey string, communityID types.HexBytes, c return messengerChat, community, nil } + +func (api *API) EditChat(ctx context.Context, communityID types.HexBytes, chatID string, name string, color string, image string) (*Chat, error) { + if len(communityID) != 0 { + return nil, ErrCommunitiesNotSupported + } + + chatToEdit := api.s.messenger.Chat(chatID) + if chatToEdit == nil { + return nil, ErrChatNotFound + } + + if chatToEdit.ChatType != protocol.ChatTypePrivateGroupChat { + return nil, ErrChatTypeNotSupported + } + + response, err := api.s.messenger.EditGroupChat(ctx, chatID, name, color, image) + if err != nil { + return nil, err + } + + pubKey := types.EncodeHex(crypto.FromECDSAPub(api.s.messenger.IdentityPublicKey())) + return api.toAPIChat(response.Chats()[0], nil, pubKey) +}