Граф коммитов

16088 Коммитов

Автор SHA1 Сообщение Дата
Tom De Moor
cddda07de2 Translated using Weblate (Dutch)
Currently translated at 100.0% (2498 of 2498 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/
2023-02-28 11:35:26 +02:00
Matthew Williams
ed69aa1cfe Translated using Weblate (English (Australia))
Currently translated at 99.9% (2497 of 2498 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/en_AU/
2023-02-28 11:35:26 +02:00
kaakaa
2032b4109d Translated using Weblate (Japanese)
Currently translated at 100.0% (2498 of 2498 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ja/
2023-02-28 11:35:26 +02:00
Sharuru
e2388b514c Translated using Weblate (Chinese (Simplified))
Currently translated at 98.5% (2463 of 2498 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/zh_Hans/
2023-02-28 11:35:26 +02:00
Sajjad Jazini
d2a4b0eb49 Translated using Weblate (Persian)
Currently translated at 88.6% (2215 of 2498 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/fa/

Translated using Weblate (Persian)

Currently translated at 88.6% (2215 of 2498 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/fa/
2023-02-28 11:35:26 +02:00
MArtin Johnson
42fd605ccc Translated using Weblate (Swedish)
Currently translated at 100.0% (2498 of 2498 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/
2023-02-28 11:35:26 +02:00
master7
77c8456c1e Translated using Weblate (Polish)
Currently translated at 100.0% (2498 of 2498 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/pl/
2023-02-28 11:35:26 +02:00
jprusch
f4b171f98b Translated using Weblate (German)
Currently translated at 100.0% (2498 of 2498 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/de/

Translated using Weblate (German)

Currently translated at 100.0% (2497 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/de/
2023-02-28 11:35:26 +02:00
Antonis Stamatiou
91c979e7cf update libcurl3-gnutls to 7.64.0-4+deb10u5 (#22390) 2023-02-24 13:56:25 +02:00
davidboto
a7186b9c97 fix plugin help example - method arguments order (#19662)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-02-23 23:07:33 +01:00
Doug Lauder
d9d75afa97 MM-47489 Assume Remote Cluster Service enabled if Shared Channels enabled. (#22376)
* Assume Remote Cluster Service enabled if Shared Channels enabled.

* enable remote cluster service config if shared channels config is enabled

* Update app/server.go

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-02-23 12:03:48 -05:00
Konstantinos Pittas
e0bc2d44a4 [MM-50516] Support multiple embed (#22337) 2023-02-23 17:50:23 +02:00
Allan Guwatudde
d44065d4b3 [MM-49455] - Self-serve workspace deletion (#22200)
* [MM-49455] - Self-serve workspace deletion

* add subscription id to deletion request

* add server telemetry

* fix mocks

* feedback impl
2023-02-21 17:36:44 +03:00
Tom De Moor
12ea6db4c9 Deleted translation using Weblate (Vietnamese) 2023-02-21 12:11:06 +02:00
Hosted Weblate
e1afeae471 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/

Update translation files

Updated by "Remove blank strings" hook in Weblate.

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/

Update translation files

Updated by "Remove blank strings" hook in Weblate.

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/

Update translation files

Updated by "Remove blank strings" hook in Weblate.

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/

Update translation files

Updated by "Remove blank strings" hook in Weblate.

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/

Update translation files

Updated by "Remove blank strings" hook in Weblate.

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/

Update translation files

Updated by "Remove blank strings" hook in Weblate.

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/

Update translation files

Updated by "Remove blank strings" hook in Weblate.

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/

Update translation files

Updated by "Remove blank strings" hook in Weblate.

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/

Update translation files

Updated by "Remove blank strings" hook in Weblate.

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/
2023-02-21 12:11:06 +02:00
晓晓
78adf7cb6c Translated using Weblate (Chinese (Simplified))
Currently translated at 94.9% (2371 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/zh_Hans/
2023-02-21 12:11:06 +02:00
Angel Mendez Cano
5f32476aa4 Translated using Weblate (Spanish)
Currently translated at 94.9% (2371 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/es/
2023-02-21 12:11:06 +02:00
Weblate
31d6c0edbe Added translation using Weblate (Vietnamese)
Translated using Weblate (Persian)

Currently translated at 88.5% (2210 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/fa/

Translated using Weblate (English (Australia))

Currently translated at 99.6% (2488 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/en_AU/

Translated using Weblate (Hungarian)

Currently translated at 93.1% (2325 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/hu/

Translated using Weblate (Bulgarian)

Currently translated at 86.9% (2171 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/

Translated using Weblate (Swedish)

Currently translated at 99.9% (2496 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/

Translated using Weblate (Chinese (Traditional))

Currently translated at 72.0% (1800 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 94.9% (2371 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/zh_Hans/

Translated using Weblate (Ukrainian)

Currently translated at 69.0% (1724 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/uk/

Translated using Weblate (Turkish)

Currently translated at 99.5% (2486 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/

Translated using Weblate (Russian)

Currently translated at 99.9% (2496 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/

Translated using Weblate (Romanian)

Currently translated at 84.4% (2108 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ro/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 85.9% (2145 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/pt_BR/

Translated using Weblate (Polish)

Currently translated at 99.9% (2496 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/pl/

Translated using Weblate (Dutch)

Currently translated at 99.9% (2496 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/

Translated using Weblate (Korean)

Currently translated at 80.8% (2019 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ko/

Translated using Weblate (Japanese)

Currently translated at 99.5% (2485 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ja/

Translated using Weblate (Italian)

Currently translated at 90.1% (2250 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/it/

Translated using Weblate (French)

Currently translated at 91.7% (2290 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/fr/

Translated using Weblate (Spanish)

Currently translated at 94.9% (2371 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/es/
2023-02-21 12:11:06 +02:00
jprusch
6a33e9f525 Translated using Weblate (German)
Currently translated at 100.0% (2497 of 2497 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/de/
2023-02-21 12:11:06 +02:00
mattermod
c8fc6fba96 Update latest version to 7.8.0 2023-02-16 10:14:30 +00:00
Allan Guwatudde
cabcde12f7 [MM-50271] - Remove AnnualSubscription feature flag (#22338) 2023-02-16 11:46:35 +03:00
Mattermod
6ba5076a7d Update minor version to 7.9.0 (#22339)
Automatic Merge
2023-02-15 17:00:12 +02:00
Amy Blais
30a56ea071 Update supported browser versions (#22157)
Automatic Merge
2023-02-15 16:00:12 +02:00
Nick Misasi
079449e30a [MM-48528] Add support for SendGrid X-SMTPAPI header in email sends (#22296)
* Add support for SendGrid X-SMTPAPI header for categorizing sent emails to track performance

* Implement feedback

* Remove unnecessary struct

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-02-14 10:28:48 -05:00
Michael Kochell
f074c6b729 improve error handling when plugin checksum fails (#22322) 2023-02-14 10:22:15 -05:00
na
7275887d14 Admin log table (#21153)
* Reformat Log Output for SysAdmin UI

* Restore old code

* Update

* Backend first pass

* PR feedback

* Set helpers to private

* Lint fix

* Fix mocks

* Fix another mock

* Fix lint again

* Fix i18n

* Update app/admin.go

Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>

* PR feedback

* FIx lint issue

---------

Co-authored-by: Daniel Schalla <daniel@schalla.me>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MacBook-Pro.local>
Co-authored-by: Devin Binnie <devin.binnie@mattermost.com>
Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-02-14 17:39:10 +07:00
Tom De Moor
5a075e01a5 Deleted translation using Weblate (Vietnamese) 2023-02-14 10:54:17 +02:00
Weblate
9324537698 Added translation using Weblate (Vietnamese) 2023-02-14 10:54:17 +02:00
kaakaa
4046a6fb62 Translated using Weblate (Japanese)
Currently translated at 99.5% (2485 of 2496 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ja/
2023-02-14 10:54:17 +02:00
Hosted Weblate
7fbbf896de Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/
2023-02-14 10:54:17 +02:00
晓晓
e55e136d91 Translated using Weblate (Chinese (Simplified))
Currently translated at 94.9% (2371 of 2496 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/zh_Hans/
2023-02-14 10:54:17 +02:00
MArtin Johnson
29acf9cc98 Translated using Weblate (Swedish)
Currently translated at 100.0% (2496 of 2496 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/

Translated using Weblate (Swedish)

Currently translated at 100.0% (2496 of 2496 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/
2023-02-14 10:54:17 +02:00
Sergey Seroed
813fc3d440 Translated using Weblate (Ukrainian)
Currently translated at 69.0% (1724 of 2496 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/uk/
2023-02-14 10:54:17 +02:00
jprusch
f1bdf2832e Translated using Weblate (German)
Currently translated at 100.0% (2496 of 2496 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/de/

Translated using Weblate (German)

Currently translated at 100.0% (2495 of 2495 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/de/
2023-02-14 10:54:17 +02:00
Konstantin
7184e67cdc Translated using Weblate (Russian)
Currently translated at 100.0% (2496 of 2496 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (2489 of 2489 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/
2023-02-14 10:54:17 +02:00
master7
230d4b1e99 Translated using Weblate (Polish)
Currently translated at 100.0% (2496 of 2496 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (2489 of 2489 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/pl/
2023-02-14 10:54:17 +02:00
Tom De Moor
e0dbadc422 Translated using Weblate (Dutch)
Currently translated at 100.0% (2496 of 2496 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (2489 of 2489 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/
2023-02-14 10:54:17 +02:00
Scott Bishel
eb29a92fa8 Update prepackaged boards to v7.8.2 (#22316)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-02-13 12:22:26 -07:00
Colton Shaw
a0eb22bf8a MM-50443 - LdapSettings.SyncEnabled error message (#22314)
* Added ldap disabled message

* Changed style per suggestions

* Remove blank line

Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>

---------

Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>
2023-02-13 18:29:06 +01:00
Ibrahim Serdar Acikgoz
f17b226034 The GH token is not required for accesing PR metadata (#22309) 2023-02-13 18:14:06 +03:00
Agniva De Sarker
ce9d5d77bb MM-50435: Improve data retention queries on MySQL (#22304)
For some queries MySQL performed poorly until we slightly
tune the query. Here are the results:

Old query
```
// 5.7
mysql> explain SELECT Posts.Id FROM Posts LEFT JOIN Channels ON Posts.ChannelId = Channels.Id WHERE Channels.Id IS NULL LIMIT 3000;
+----+-------------+----------+------------+--------+---------------+--------------------------------+---------+----------------------------+---------+----------+--------------------------------------+
| id | select_type | table    | partitions | type   | possible_keys | key                            | key_len | ref                        | rows    | filtered | Extra                                |
+----+-------------+----------+------------+--------+---------------+--------------------------------+---------+----------------------------+---------+----------+--------------------------------------+
|  1 | SIMPLE      | Posts    | NULL       | index  | NULL          | idx_posts_channel_id_update_at | 116     | NULL                       | 6439997 |   100.00 | Using index                          |
|  1 | SIMPLE      | Channels | NULL       | eq_ref | PRIMARY       | PRIMARY                        | 106     | mattermost.Posts.ChannelId |       1 |   100.00 | Using where; Not exists; Using index |
+----+-------------+----------+------------+--------+---------------+--------------------------------+---------+----------------------------+---------+----------+--------------------------------------+
2 rows in set, 1 warning (0.16 sec)

// 8.0
| -> Limit: 3000 row(s)  (cost=13321292.71 rows=3000) (actual time=14291.753..14291.753 rows=0 loops=1)
    -> Filter: (Channels.Id is null)  (cost=13321292.71 rows=10895918) (actual time=14291.751..14291.751 rows=0 loops=1)
        -> Nested loop antijoin  (cost=13321292.71 rows=10895918) (actual time=14291.749..14291.749 rows=0 loops=1)
            -> Covering index scan on Posts using idx_posts_channel_id_update_at  (cost=1337847.05 rows=10895918) (actual time=6.258..10928.120 rows=11824842 loops=1)
            -> Single-row covering index lookup on Channels using PRIMARY (Id=Posts.ChannelId)  (cost=1.00 rows=1) (actual time=0.000..0.000 rows=1 loops=11824842)
```

New query
```
// 5.7
mysql> EXPLAIN SELECT Posts.Id FROM Posts WHERE Posts.ChannelId NOT IN (SELECT Id FROM Channels) LIMIT 3000;
+----+-------------+----------+------------+-------+---------------+--------------------------------+---------+------+---------+----------+--------------------------+
| id | select_type | table    | partitions | type  | possible_keys | key                            | key_len | ref  | rows    | filtered | Extra                    |
+----+-------------+----------+------------+-------+---------------+--------------------------------+---------+------+---------+----------+--------------------------+
|  1 | PRIMARY     | Posts    | NULL       | index | NULL          | idx_posts_channel_id_update_at | 116     | NULL | 6440001 |   100.00 | Using where; Using index |
|  2 | SUBQUERY    | Channels | NULL       | index | PRIMARY       | idx_channels_update_at         | 9       | NULL |   60964 |   100.00 | Using index              |
+----+-------------+----------+------------+-------+---------------+--------------------------------+---------+------+---------+----------+--------------------------+
2 rows in set, 1 warning (0.17 sec)

// 8.0
| -> Limit: 3000 row(s)  (cost=1337847.05 rows=3000) (actual time=8309.610..8309.610 rows=0 loops=1)
    -> Filter: <in_optimizer>(Posts.ChannelId,Posts.ChannelId in (select #2) is false)  (cost=1337847.05 rows=10895918) (actual time=8309.609..8309.609 rows=0 loops=1)
        -> Covering index scan on Posts using idx_posts_channel_id_update_at  (cost=1337847.05 rows=10895918) (actual time=0.127..2938.252 rows=11824842 loops=1)
        -> Select #2 (subquery in condition; run only once)
            -> Filter: ((Posts.ChannelId = `<materialized_subquery>`.Id))  (cost=57224.17..57224.17 rows=1) (actual time=0.014..0.014 rows=1 loops=136308)
                -> Limit: 1 row(s)  (cost=57224.07..57224.07 rows=1) (actual time=0.013..0.013 rows=1 loops=136308)
                    -> Index lookup on <materialized_subquery> using <auto_distinct_key> (Id=Posts.ChannelId)  (actual time=0.013..0.013 rows=1 loops=136308)
                        -> Materialize with deduplication  (cost=57224.07..57224.07 rows=266638) (actual time=1361.488..1361.488 rows=270959 loops=1)
                            -> Covering index scan on Channels using idx_channels_update_at  (cost=30560.27 rows=266638) (actual time=1.807..264.116 rows=270959 loops=1)
```

We can see that in the base case, MySQL does an anitjoin which is actually fine in most queries
but in this query we are selecting posts.Id, but joining on posts.channelid. In such a case, if we use a nested query,
suddenly MySQL can materialize the sub-query and do only a covering index scan on Posts. Also compare the costs.
Old one has 13321292.71 whereas new one has 1337847.05. So an order of magnitude improvement.

Old query
```
 Limit  (cost=6561.27..655145.99 rows=1 width=27) (actual time=3897.766..3902.683 rows=0 loops=1)
   ->  Gather  (cost=6561.27..655145.99 rows=1 width=27) (actual time=3702.143..3707.058 rows=0 loops=1)
         Workers Planned: 2
         Workers Launched: 2
         ->  Parallel Hash Anti Join  (cost=5561.27..654145.89 rows=1 width=27) (actual time=3631.030..3631.032 rows=0 loops=3)
               Hash Cond: ((posts.channelid)::text = (channels.id)::text)
               ->  Parallel Seq Scan on posts  (cost=0.00..627918.55 rows=5510955 width=54) (actual time=0.719..2701.470 rows=4410848 loops=3)
               ->  Parallel Hash  (cost=4874.45..4874.45 rows=54945 width=27) (actual time=193.211..193.212 rows=43956 loops=3)
                     Buckets: 262144  Batches: 1  Memory Usage: 10368kB
                     ->  Parallel Seq Scan on channels  (cost=0.00..4874.45 rows=54945 width=27) (actual time=105.575..146.071 rows=43956 loops=3)
 Planning Time: 41.365 ms
 JIT:
   Functions: 31
   Options: Inlining true, Optimization true, Expressions true, Deforming true
   Timing: Generation 11.106 ms, Inlining 237.381 ms, Optimization 169.412 ms, Emission 103.889 ms, Total 521.787 ms
 Execution Time: 4297.552 ms
```

New query
```
 Limit  (cost=1000.00..9419975.49 rows=3000 width=27)
   ->  Gather  (cost=1000.00..20761674119.53 rows=6612717 width=27)
         Workers Planned: 2
         ->  Parallel Seq Scan on posts  (cost=0.00..20761011847.83 rows=2755299 width=27)
               Filter: (NOT (SubPlan 1))
               SubPlan 1
                 ->  Materialize  (cost=0.00..7205.04 rows=131869 width=27)
                       ->  Seq Scan on channels  (cost=0.00..5643.69 rows=131869 width=27)
 JIT:
   Functions: 9
   Options: Inlining true, Optimization true, Expressions true, Deforming true
(11 rows)
```

Note: this was so bad, I couldn't even wait to finish EXPLAIN ANALYZE as it was taking more than
10 minutes to finish.

Old query
```
EXPLAIN ANALYZE SELECT Threads.PostId FROM Threads LEFT JOIN Channels ON Threads.ChannelId = Channels.Id WHERE Channels.Id IS NULL LIMIT 3000;
// 8.0
------------------+
| -> Limit: 3000 row(s)  (cost=727387.95 rows=3000) (actual time=725.905..725.905 rows=0 loops=1)
    -> Filter: (Channels.Id is null)  (cost=727387.95 rows=807045) (actual time=725.903..725.903 rows=0 loops=1)
        -> Nested loop antijoin  (cost=727387.95 rows=807045) (actual time=725.901..725.901 rows=0 loops=1)
            -> Covering index scan on Threads using idx_threads_channel_id_last_reply_at  (cost=92668.15 rows=807045) (actual time=0.201..214.332 rows=846313 loops=1)
            -> Single-row covering index lookup on Channels using PRIMARY (Id=Threads.ChannelId)  (cost=0.69 rows=1) (actual time=0.001..0.001 rows=1 loops=846313)
 |
```

New query
```
// 8.0
mysql> EXPLAIN ANALYZE  SELECT Threads.PostId FROM Threads WHERE Threads.ChannelId NOT IN (SELECT Id FROM Channels) LIMIT 3000;
 -> Limit: 3000 row(s)  (cost=92668.15 rows=3000) (actual time=1770.798..1770.798 rows=0 loops=1)
    -> Filter: <in_optimizer>(Threads.ChannelId,Threads.ChannelId in (select #2) is false)  (cost=92668.15 rows=807045) (actual time=1770.796..1770.796 rows=0 loops=1)
        -> Covering index scan on Threads using idx_threads_channel_id_last_reply_at  (cost=92668.15 rows=807045) (actual time=0.191..197.768 rows=846313 loops=1)
        -> Select #2 (subquery in condition; run only once)
            -> Filter: ((Threads.ChannelId = `<materialized_subquery>`.Id))  (cost=56081.83..56081.83 rows=1) (actual time=0.011..0.011 rows=1 loops=114202)
                -> Limit: 1 row(s)  (cost=56081.73..56081.73 rows=1) (actual time=0.011..0.011 rows=1 loops=114202)
                    -> Index lookup on <materialized_subquery> using <auto_distinct_key> (Id=Threads.ChannelId)  (actual time=0.011..0.011 rows=1 loops=114202)
                        -> Materialize with deduplication  (cost=56081.73..56081.73 rows=266638) (actual time=901.592..901.592 rows=270959 loops=1)
                            -> Covering index scan on Channels using idx_channels_update_at  (cost=29417.93 rows=266638) (actual time=0.129..57.806 rows=270959 loops=1)
 |
```

I did not test this query in Community but I expect the same logic to happen. Again, notice
the improvement in cost. 727387.95 vs 727387.95

Old query
```
EXPLAIN ANALYZE SELECT Threads.PostId FROM Threads LEFT JOIN Channels ON Threads.ChannelId = Channels.Id WHERE Channels.Id IS NULL LIMIT 3000;
 Limit  (cost=6561.27..74898.36 rows=1 width=27) (actual time=628.141..630.437 rows=0 loops=1)
   ->  Gather  (cost=6561.27..74898.36 rows=1 width=27) (actual time=628.138..630.433 rows=0 loops=1)
         Workers Planned: 2
         Workers Launched: 2
         ->  Parallel Hash Anti Join  (cost=5561.27..73898.26 rows=1 width=27) (actual time=612.672..612.674 rows=0 loops=3)
               Hash Cond: ((threads.channelid)::text = (channels.id)::text)
               ->  Parallel Seq Scan on threads  (cost=0.00..66852.00 rows=396000 width=54) (actual time=0.308..505.021 rows=315151 loops=3)
               ->  Parallel Hash  (cost=4874.45..4874.45 rows=54945 width=27) (actual time=21.031..21.031 rows=43956 loops=3)
                     Buckets: 262144  Batches: 1  Memory Usage: 10336kB
                     ->  Parallel Seq Scan on channels  (cost=0.00..4874.45 rows=54945 width=27) (actual time=0.018..7.959 rows=43956 loops=3)
```

New query
```
[bigdb] # EXPLAIN   SELECT Threads.PostId FROM Threads WHERE Threads.ChannelId NOT IN (SELECT Id FROM Channels) LIMIT 3000;
                                        QUERY PLAN
-------------------------------------------------------------------------------------------
 Limit  (cost=1000.00..9420102.76 rows=3000 width=27)
   ->  Gather  (cost=1000.00..1491986877.26 rows=475200 width=27)
         Workers Planned: 2
         ->  Parallel Seq Scan on threads  (cost=0.00..1491938357.26 rows=198000 width=27)
               Filter: (NOT (SubPlan 1))
               SubPlan 1
                 ->  Materialize  (cost=0.00..7205.04 rows=131869 width=27)
                       ->  Seq Scan on channels  (cost=0.00..5643.69 rows=131869 width=27)
 JIT:
   Functions: 9
   Options: Inlining true, Optimization true, Expressions true, Deforming true
```

As expected, Postgres behaves correctly in the original query.

https://mattermost.atlassian.net/browse/MM-50435

```release-note
NONE
```
2023-02-13 20:33:45 +05:30
Doug Lauder
034cc6d0bd avoid divide by zero when hubs not created before first websocket msg (#22315) 2023-02-13 08:48:42 -05:00
Agniva De Sarker
9f7e361621 Revert "Revert "Set BoardsProduct FF to on by default" (#22177)" (#22213)
This reverts commit aa61f8dfbb.

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-02-10 22:05:25 +05:30
Agniva De Sarker
1cb1d8bd9e Add additional metadata to post reminder (#22306)
The webapp needs to construct the full message because
the team_name needs to be inserted into the permalink.

So we need to send everything in the metadata for the
client to construct the message.

Also, we set a custom post type for the client to easily
add a custom condition.

```release-note
NONE
```
2023-02-10 21:41:57 +05:30
Christopher Poile
c6c170a5ee prepackage calls 0.13.0 (#22299)
Automatic Merge
2023-02-10 01:38:34 +02:00
Kyriakos Z
97aa669005 MM-49851: forces PostPriority config to true (#22245) 2023-02-10 00:55:49 +02:00
Scott Bishel
5d2ac06f63 Update pre-package boards to v7.8.1 (#22297)
* update prepackage boards to v7.9.0

* update pre-package boards to v7.8.1
2023-02-09 13:18:00 -07:00
Julien Tant
4752a5b8e0 [MM-50080] Limit max length for the name field (#22282) 2023-02-09 09:37:40 -07:00
Agniva De Sarker
0880837fd0 MM-50419: Fix panic at interface conversion (#22284)
We were incorrectly returning a subset of the methods,
whereas at other places, clients needed access to other
interfaces as well.

https://mattermost.atlassian.net/browse/MM-50419

```release-note
NONE
```
2023-02-09 20:07:23 +05:30
Julien Tant
e325f3fa1c Restore admin notify cooloff and remove debug logs (#22289) 2023-02-09 06:43:30 -07:00