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

14105 Коммитов

Автор SHA1 Сообщение Дата
Tóth Csaba // Online ERP Hungary Kft
ff409b4e70 Translated using Weblate (Hungarian)
Currently translated at 100.0% (2313 of 2313 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/hu/
2021-11-01 11:51:31 -06:00
Matthew Williams
6e94368baa Translated using Weblate (English (Australia))
Currently translated at 100.0% (2313 of 2313 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/en_AU/
2021-11-01 11:51:31 -06:00
master7
bc5a7e4558 Translated using Weblate (Polish)
Currently translated at 100.0% (2313 of 2313 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/pl/
2021-11-01 11:51:31 -06:00
Tom De Moor
e3f3474465 Translated using Weblate (Dutch)
Currently translated at 100.0% (2313 of 2313 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/
2021-11-01 11:51:31 -06:00
jprusch
a57117f707 Translated using Weblate (German)
Currently translated at 100.0% (2313 of 2313 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/de/
2021-11-01 11:51:31 -06:00
JtheBAB
c76ca59bd7 Translated using Weblate (German)
Currently translated at 100.0% (2313 of 2313 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/de/
2021-11-01 11:51:31 -06:00
kaakaa
2747f8f5ce Translated using Weblate (Japanese)
Currently translated at 100.0% (2311 of 2311 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ja/
2021-11-01 11:51:31 -06:00
Ben Cooke
3181a3765d adding check for name change and new tests (#18531)
Co-authored-by: Benjamin Cooke <benjamincooke@Benjamins-MacBook-Pro.local>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-10-29 13:46:50 -04:00
Md_ZubairAhmed
bf589c2995 MM-36893 : Specially crafted message request crashes the webapp for users who view the message (#18835)
* strip away delete

* added tests
2021-10-29 10:46:00 -04:00
James Addison
8c4e6a85b3 Add .gitlab-ci.yml-compatible continuous integration configuration (#17844)
* Add .gitlab-ci.collabora.yml continuous integration configuration

* Relocate custom GitLab CI/CD configuration file to 'contrib' directory

* Fixup: .gitlab-ci.collabora.yml -> .gitlab-ci.yml

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-10-29 13:16:45 +02:00
Agniva De Sarker
5f4199db4f Revert "Optimize TotalUnreadMentions (#18789)" (#18889)
This reverts commit ec56cac42d.
2021-10-29 14:54:11 +05:30
Agniva De Sarker
ec56cac42d Optimize TotalUnreadMentions (#18789)
* Optimize TotalUnreadMentions

We avoid joining with the Threads table entirely
as ChannelId is available from Posts table directly.

Also we replace left joins by inner joins.

https://community-daily.mattermost.com/boards/workspace/zyoahc9uapdn3xdptac6jb69ic/285b80a3-257d-41f6-8cf4-ed80ca9d92e5/495cdb4d-c13a-4992-8eb9-80cfee2819a4?c=c9aa17f3-b918-4a78-86aa-01562e418634

Old plan

```
 Finalize Aggregate  (cost=30869.29..30869.30 rows=1 width=32) (actual time=27.216..31.674 rows=1 loops=1)
   ->  Gather  (cost=30869.18..30869.29 rows=1 width=32) (actual time=27.089..31.665 rows=2 loops=1)
         Workers Planned: 1
         Workers Launched: 1
         ->  Partial Aggregate  (cost=29869.18..29869.19 rows=1 width=32) (actual time=18.442..18.445 rows=1 loops=2)
               ->  Nested Loop  (cost=1881.68..29869.11 rows=25 width=8) (actual time=2.052..18.417 rows=72 loops=2)
                     ->  Hash Join  (cost=1881.12..29771.45 rows=25 width=62) (actual time=2.028..17.744 rows=72 loops=2)
                           Hash Cond: ((threads.channelid)::text = (channels.id)::text)
                           ->  Nested Loop  (cost=0.84..27883.40 rows=2963 width=89) (actual time=0.220..15.849 rows=163 loops=2)
                                 ->  Parallel Index Scan using threadmemberships_pkey on threadmemberships  (cost=0.41..7423.65 rows=2963 width=35) (actual time=0.031..3.937 rows=2504 loops=2)
                                       Index Cond: ((userid)::text = 'tc3p1yqw67d8idcp3g98awexqe'::text)
                                       Filter: following
                                 ->  Index Scan using threads_pkey on threads  (cost=0.42..6.91 rows=1 width=54) (actual time=0.004..0.004 rows=0 loops=5007)
                                       Index Cond: ((postid)::text = (threadmemberships.postid)::text)
                           ->  Hash  (cost=1866.60..1866.60 rows=1094 width=27) (actual time=1.763..1.764 rows=1002 loops=2)
                                 Buckets: 2048  Batches: 1  Memory Usage: 74kB
                                 ->  Index Scan using idx_channels_team_id_type on channels  (cost=0.42..1866.60 rows=1094 width=27) (actual time=0.022..1.493 rows=1002 loops=2)
                                       Index Cond: ((teamid)::text = '8ywxyw9ocp8smxrmjzrkqhrdwe'::text)
                     ->  Index Scan using posts_pkey on posts  (cost=0.56..3.91 rows=1 width=27) (actual time=0.009..0.009 rows=1 loops=145)
                           Index Cond: ((id)::text = (threads.postid)::text)
                           Filter: (deleteat = 0)
 Planning Time: 2.415 ms
 Execution Time: 31.798 ms
```

New plan

```
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Finalize Aggregate  (cost=34717.01..34717.02 rows=1 width=32) (actual time=42.375..48.143 rows=1 loops=1)
   ->  Gather  (cost=34716.89..34717.00 rows=1 width=32) (actual time=42.249..48.117 rows=2 loops=1)
         Workers Planned: 1
         Workers Launched: 1
         ->  Partial Aggregate  (cost=33716.89..33716.90 rows=1 width=32) (actual time=30.960..30.962 rows=1 loops=2)
               ->  Hash Join  (cost=1881.25..33716.83 rows=25 width=8) (actual time=2.438..30.780 rows=1058 loops=2)
                     Hash Cond: ((posts.channelid)::text = (channels.id)::text)
                     ->  Nested Loop  (cost=0.98..31828.77 rows=2963 width=35) (actual time=0.091..27.374 rows=2504 loops=2)
                           ->  Parallel Index Scan using threadmemberships_pkey on threadmemberships  (cost=0.41..6815.65 rows=2963 width=35) (actual time=0.034..4.674 rows=2504 loops=2)
                                 Index Cond: ((userid)::text = 'tc3p1yqw67d8idcp3g98awexqe'::text)
                                 Filter: following
                           ->  Index Scan using posts_pkey on posts  (cost=0.56..8.44 rows=1 width=54) (actual time=0.008..0.008 rows=1 loops=5007)
                                 Index Cond: ((id)::text = (threadmemberships.postid)::text)
                                 Filter: (deleteat = 0)
                     ->  Hash  (cost=1866.60..1866.60 rows=1094 width=27) (actual time=2.289..2.289 rows=1002 loops=2)
                           Buckets: 2048  Batches: 1  Memory Usage: 74kB
                           ->  Index Scan using idx_channels_team_id_type on channels  (cost=0.42..1866.60 rows=1094 width=27) (actual time=0.028..1.927 rows=1002 loops=2)
                                 Index Cond: ((teamid)::text = '8ywxyw9ocp8smxrmjzrkqhrdwe'::text)
```

```release-note
NONE
```

* Bring back coalesce

```release-note
NONE
```
2021-10-29 09:07:10 +05:30
Saul Pinales
b877e2a95e Migrate from gorp to sqlx in store/sqlstore/group_store.go (#18543)
Automatic Merge
2021-10-28 20:25:26 +02:00
Jesse Hallam
c1a27d8360 MM-39524: fix WebConn caching stale channel members (#18840)
When configured in a master/slave database environment, a read replica can sometimes return stale data to a `WebConn`, resulting in the user missing out on websocket events targetting that channel until the `WebConn` cache expires.

This is most easily reproducible by using Playbooks on community and starting a new run. The owner, or any automatically invited participants, typically find the websocket events dropped in that channel for up to 30 minutes, even after multiple page refreshes.

I've reproduced this locally, and while I've extended the unit tests, I note that they don't actually exercise this case given the need for a dedicated slave database during unit tests.

Fixes: https://mattermost.atlassian.net/browse/MM-39524
2021-10-28 11:08:09 -03:00
Claudio Costa
f621989c58 [MM-39597] Implement ConfigDiffs.Sanitize() (#18855)
* Implement ConfigDiffs.Sanitize()

* Remove possibly sensitive info from logs
2021-10-28 14:07:35 +02:00
Doug Lauder
ceee3f4b5f re-config logger when config changes (#18860) 2021-10-28 08:06:34 -04:00
Kyriakos Z
f9608d383c MM-39041: expose TotalsOnly option (#18767)
Sending a request to GetThreadsForUser for a TotalsOnly
returns just the counts without any threads.
2021-10-28 11:51:37 +03:00
Kyriakos Z
4f2043bf97 MM-37934: supports channel override for CRT notifications (#18529)
* MM-37934: supports channel override for CRT notifications

Users with CRT 'ON' are enabled to override global CRT notification
settings per channel basis.

* Fixes brain freeze :o

* Fix push notification for CRT

* Some refactor and comments as per review comments

* Minor refactor

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-10-28 11:05:46 +03:00
Agniva De Sarker
685b311401 ThreadStore: Remove quadratic complexity for participants population (#18755)
* ThreadStore: Remove quadratic complexity for participants population

While populating the participants, we would traverse the global list
twice to get the users for that thread. For threads with large number
of users, this can take considerable time. We replace that with a map
to change it to O(n).

While here, we improve memory usage of this code by pre-allocating
slices and maps. And also add some comments to help readers.

https://community-daily.mattermost.com/boards/workspace/zyoahc9uapdn3xdptac6jb69ic/285b80a3-257d-41f6-8cf4-ed80ca9d92e5/495cdb4d-c13a-4992-8eb9-80cfee2819a4?c=c9aa17f3-b918-4a78-86aa-01562e418634

```release-note
NONE
```

* Apply in post store as well

```release-note
NONE
```

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-10-28 09:57:54 +05:30
Agniva De Sarker
416e227b64 Add a sleep in-between retries (#18853)
* Add a sleep in-between retries

From the logs in production, we have observed that practically
when a deadlock happens, it always fails even after trying 3 times.

Therefore, allowing it some time to recover before trying again.

https://community-daily.mattermost.com/boards/workspace/zyoahc9uapdn3xdptac6jb69ic/285b80a3-257d-41f6-8cf4-ed80ca9d92e5/495cdb4d-c13a-4992-8eb9-80cfee2819a4?c=bf0e73f6-fd69-4d04-88af-53922672b556

```release-note
NONE
```

* Fix conflict with variable names

```release-note
NONE
```
2021-10-27 19:41:21 +05:30
Maria A Nunez
2ba20b5c82 MM-39591 - Restore custom message for guest invites (#18849) 2021-10-26 17:17:44 -04:00
Syerikjan Kh
1091710592 migrate from gorp to sqlx for Preference store (#18742)
Automatic Merge
2021-10-26 16:55:27 +02:00
Pablo Andrés Vélez Vidal
841155db3e MM-39059 - AB test for the add members channel (#18832)
Co-authored-by: Pablo Velez Vidal <pablo.velez@mattermost.com>
2021-10-26 16:06:50 +02:00
Ashish Bhate
097d32f409 MM-38445: Set isFollowing to false only when explicitly unfollowed (#18740)
Summary
Set post.IsFollowing to false only if the post is explicitly unfollowed. Otherwise leave it as nil.

Ticket Link
https://mattermost.atlassian.net/browse/MM-38445
2021-10-26 18:50:02 +05:30
Agniva De Sarker
c91ab6267a Revert "Optimize TotalUnreadThreads (#18788)" (#18845)
This reverts commit 971af6935c.
2021-10-26 14:02:03 +05:30
Agniva De Sarker
e24f22745e [MM-18946] [MM-26721] [MM-6842] Cross team search+private channel autocomplete (#18468)
* Show private channels in autocomplete

This is supported in all Engines:
MySQL, Postgres, Bleve, Elasticsearch.

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

```release-note
Private channels will now appear in channel autocomplete.
If you are using Bleve or ElasticSearch, you will have to reindex
the channels again to populate them with the new attributes.
```

A large chunk of this work has been based on the earlier
effort at https://github.com/mattermost/mattermost-server/pull/17804.

Full credit goes to https://github.com/arvinDarmawan.

* Add comment

```release-note
NONE
```

* Adding more tests

```release-note
NONE
```

* fix more tests

```release-note
NONE
```

* tmp

```release-note
NONE
```

* more fixes

```release-note
NONE
```

* add tests

```release-note
NONE
```

* Add review comments from previous PR

```release-note
NONE
```

* Add API to return all channels from all team

```release-note
NONE
```

* Added support for bleve and ES

```release-note
NONE
```

* Streaming response for GetAllChannels

```release-note
NONE
```

* Fix tests

```release-note
NONE
```

* Trigger CI
```release-note
NONE
```

* fix tests

```release-note
NONE
```

* Addressing review comments

```release-note
NONE
```

* Fix lint

```release-note
NONE
```

* Removing flaky test

```release-note
NONE
```

* Address comments

```release-note
NONE
```

* Trigger CI
```release-note
NONE
```

* Added /users/<userid>/channel_members endpoint

```release-note
NONE
```

* Minor edit

```release-note
NONE
```

* Improve embedding

```release-note
NONE
```

* Fix lint error

```release-note
NONE
```

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-10-26 11:30:59 +05:30
Agniva De Sarker
971af6935c Optimize TotalUnreadThreads (#18788)
We remove the left joins with inner joins and also
remove the coalesce on posts.DeleteAt which improves
the join plan from a nested loop to a hash join,
and also allows the DeleteAt to be used as part of the
index filter.

Old plan

```
 Aggregate  (cost=666288.49..666288.50 rows=1 width=8) (actual time=5114.328..5119.991 rows=1 loops=1)
   ->  Gather  (cost=2880.69..666288.27 rows=87 width=8) (actual time=614.214..5119.575 rows=533 loops=1)
         Workers Planned: 2
         Workers Launched: 2
         ->  Nested Loop  (cost=1880.69..665279.57 rows=36 width=8) (actual time=607.821..5099.078 rows=178 loops=3)
               ->  Hash Join  (cost=1880.28..664932.93 rows=229 width=16) (actual time=224.374..1494.698 rows=1866781 loops=3)
                     Hash Cond: ((posts.channelid)::text = (channels.id)::text)
                     ->  Parallel Seq Scan on posts  (cost=0.00..662980.29 rows=27568 width=43) (actual time=201.053..1013.362 rows=4410819 loops=3)
                           Filter: (COALESCE(deleteat, '0'::bigint) = 0)
                     ->  Hash  (cost=1866.60..1866.60 rows=1094 width=27) (actual time=1.486..1.486 rows=1002 loops=3)
                           Buckets: 2048  Batches: 1  Memory Usage: 74kB
                           ->  Index Scan using idx_channels_team_id_type on channels  (cost=0.42..1866.60 rows=1094 width=27) (actual time=0.028..1.331 rows=1002 loops=3)
                                 Index Cond: ((teamid)::text = '8ywxyw9ocp8smxrmjzrkqhrdwe'::text)
               ->  Index Scan using threadmemberships_pkey on threadmemberships  (cost=0.41..1.50 rows=1 width=35) (actual time=0.002..0.002 rows=0 loops=5600344)
                     Index Cond: (((postid)::text = (posts.rootid)::text) AND ((userid)::text = 'tc3p1yqw67d8idcp3g98awexqe'::text))
                     Filter: (following AND (posts.createat > lastviewed))
                     Rows Removed by Filter: 0
 Planning Time: 2.005 ms
 JIT:
   Functions: 59
   Options: Inlining true, Optimization true, Expressions true, Deforming true
   Timing: Generation 9.905 ms, Inlining 122.509 ms, Optimization 293.764 ms, Emission 186.064 ms, Total 612.241 ms
 Execution Time: 5125.739 ms
```

New plan

```
 Aggregate  (cost=683129.17..683129.18 rows=1 width=8) (actual time=1650.746..1656.455 rows=1 loops=1)
   ->  Gather  (cost=3766.65..683085.55 rows=17450 width=27) (actual time=641.073..1656.086 rows=533 loops=1)
         Workers Planned: 2
         Workers Launched: 2
         ->  Hash Join  (cost=2766.65..680340.55 rows=7271 width=27) (actual time=617.096..1635.203 rows=178 loops=3)
               Hash Cond: ((posts.rootid)::text = (threadmemberships.postid)::text)
               Join Filter: (posts.createat > threadmemberships.lastviewed)
               Rows Removed by Join Filter: 6
               ->  Hash Join  (cost=1880.28..679334.08 rows=45742 width=16) (actual time=15.196..1242.832 rows=1866781 loops=3)
                     Hash Cond: ((posts.channelid)::text = (channels.id)::text)
                     ->  Parallel Seq Scan on posts  (cost=0.00..662980.29 rows=5513543 width=43) (actual time=0.028..775.118 rows=4410819 loops=3)
                           Filter: (deleteat = 0)
                     ->  Hash  (cost=1866.60..1866.60 rows=1094 width=27) (actual time=1.572..1.573 rows=1002 loops=3)
                           Buckets: 2048  Batches: 1  Memory Usage: 74kB
                           ->  Index Scan using idx_channels_team_id_type on channels  (cost=0.42..1866.60 rows=1094 width=27) (actual time=0.025..1.372 rows=1002 loops=3)
                                 Index Cond: ((teamid)::text = '8ywxyw9ocp8smxrmjzrkqhrdwe'::text)
               ->  Hash  (cost=823.41..823.41 rows=5037 width=35) (actual time=256.240..256.241 rows=5007 loops=3)
                     Buckets: 8192  Batches: 1  Memory Usage: 417kB
                     ->  Bitmap Heap Scan on threadmemberships  (cost=159.45..823.41 rows=5037 width=35) (actual time=253.011..255.255 rows=5007 loops=3)
                           Recheck Cond: ((userid)::text = 'tc3p1yqw67d8idcp3g98awexqe'::text)
                           Filter: following
                           Heap Blocks: exact=601
                           ->  Bitmap Index Scan on idx_thread_memberships_user_id  (cost=0.00..158.19 rows=5037 width=0) (actual time=0.627..0.627 rows=5037 loops=3)
                                 Index Cond: ((userid)::text = 'tc3p1yqw67d8idcp3g98awexqe'::text)
 Planning Time: 1.952 ms
 JIT:
   Functions: 83
   Options: Inlining true, Optimization true, Expressions true, Deforming true
   Timing: Generation 10.148 ms, Inlining 115.819 ms, Optimization 395.923 ms, Emission 244.130 ms, Total 766.021 ms
 Execution Time: 1661.791 ms
```

No special test has been done on MySQL since these are pretty
basic optimizations and should apply to both equally.

https://community-daily.mattermost.com/boards/workspace/zyoahc9uapdn3xdptac6jb69ic/285b80a3-257d-41f6-8cf4-ed80ca9d92e5/495cdb4d-c13a-4992-8eb9-80cfee2819a4?c=c9aa17f3-b918-4a78-86aa-01562e418634

```release-note
NONE
```
2021-10-26 08:56:38 +05:30
Agniva De Sarker
6bc6243131 Move some more atomic values under Channels (#18837)
* Move some more atomic values under Channels

The following fields were moved:

```
asymmetricSigningKey atomic.Value
clientConfig         atomic.Value
clientConfigHash     atomic.Value
limitedClientConfig  atomic.Value
```

And also moved the initialization order from NewServer
to Channels.Start to better reflect the order of things.

Removed AsymmetricSigningKey from ConfigService
as it was no longer used.

Removed calling regenerateClientConfig during startup explicitly
because it was anyways called from ensureAsymmetricSigningKey.

https://community-daily.mattermost.com/boards/workspace/zyoahc9uapdn3xdptac6jb69ic/285b80a3-257d-41f6-8cf4-ed80ca9d92e5/495cdb4d-c13a-4992-8eb9-80cfee2819a4?c=87df1e15-588e-49ff-8bd1-ffa9651b8c82
```release-note
NONE
```

* Fix lint error

```release-note
NONE
```
2021-10-26 00:05:11 +05:30
Tom De Moor
a499d2f378 Translated using Weblate (Dutch)
Currently translated at 100.0% (2311 of 2311 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/
2021-10-25 11:48:29 -05:00
Audrey Kon
3c520414f7 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.9% (2309 of 2311 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/zh_Hans/
2021-10-25 11:48:29 -05:00
Chang Park
6f2f4aba65 Translated using Weblate (Korean)
Currently translated at 78.6% (1817 of 2311 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ko/
2021-10-25 11:48:29 -05:00
Matthew Williams
1250183f76 Translated using Weblate (English (Australia))
Currently translated at 100.0% (2311 of 2311 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/en_AU/
2021-10-25 11:48:29 -05:00
Tóth Csaba // Online ERP Hungary Kft
045351e787 Translated using Weblate (Hungarian)
Currently translated at 100.0% (2311 of 2311 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/hu/
2021-10-25 11:48:29 -05:00
MArtin Johnson
c2e80c6982 Translated using Weblate (Swedish)
Currently translated at 100.0% (2311 of 2311 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/
2021-10-25 11:48:29 -05:00
Kaya Zeren
02852133d0 Translated using Weblate (Turkish)
Currently translated at 100.0% (2311 of 2311 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/
2021-10-25 11:48:29 -05:00
master7
0f78df4674 Translated using Weblate (Polish)
Currently translated at 100.0% (2311 of 2311 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/pl/
2021-10-25 11:48:29 -05:00
yeongeun.seo
fffd40dc4c Translated using Weblate (Korean)
Currently translated at 78.6% (1817 of 2311 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ko/
2021-10-25 11:48:29 -05:00
maruTA-bis5
ee480db173 Translated using Weblate (Japanese)
Currently translated at 100.0% (2311 of 2311 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ja/
2021-10-25 11:48:29 -05:00
kaakaa
f520247ce4 Translated using Weblate (Japanese)
Currently translated at 100.0% (2311 of 2311 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ja/
2021-10-25 11:48:29 -05:00
Anne-Laure Gaillard
f7a8147b82 Translated using Weblate (French)
Currently translated at 95.8% (2214 of 2311 strings)

Translation: mattermost-languages-shipped/mattermost-server
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/fr/
2021-10-25 11:48:29 -05:00
Scott Bishel
7521d8e9e4 update boards version to 0.9.4 (#18831)
Automatic Merge
2021-10-22 23:25:26 +02:00
Scott Bishel
a6cca93ba3 Add Feature flag for Boards (#18798)
* add BoardsFeatureFlag

* linter fix
2021-10-22 08:27:30 -06:00
Kyriakos Z
e9308640ec MM-35847: fixes email templates (#18634)
Some email clients don't support style tags which results in CTA buttons
not being visible, and other styling being "broken".

This commit tries to fix that issue by both including style tags and
inlining the same CSS.
2021-10-22 11:13:06 +03:00
Claudio Costa
deac72d2be Implement auditUserPatch (#18794) 2021-10-21 20:29:17 +02:00
Allan Guwatudde
246a0c297e [MM-39053] - A/B test for default notification settings (#18655)
* [MM-39053] - A/B test for default notification settings

* fix tests

* first name notifications on

* update

* Fix bad merge alignment

Co-authored-by: Maria A Nunez <maria.nunez@mattermost.com>
2021-10-21 14:00:25 +03:00
Joremy Sh
ff4df47cb1 Migrated from gorp to sqlx in store/sqlstore/plugin_store.go (#18729)
* Migrated from gorp to sqlx in store/sqlstore/plugin_store.go

* fixed lint

* updated QueryRowx and keys type

* used QueryRowX

* Fix query

Co-authored-by: Agniva De Sarker <agnivade@yahoo.co.in>
2021-10-21 09:57:49 +05:30
Shobhit Gupta
e36d0576a6 Migrate from gorp to sqlx in store/sqlstore/command_store.go (#18728) 2021-10-21 09:57:33 +05:30
Anusha Bhat
f5bcb12aab [MM-39232] Migrate from gorp to sqlx in store/sqlstore/reaction_store.go (#18657)
* [MM-39232] Migrate from gorp to sqlx in store/sqlstore/reaction_store.go

* Fix failing mysql tests

* Fix failing postgres specs

* Use struct instead of params
2021-10-21 09:55:49 +05:30
Nathaniel Allred
176f8d5511 set default feature flag values (#18784) 2021-10-20 14:23:47 -05:00
Nathaniel Allred
3365f56584 support auto tour ab test (#18695) 2021-10-20 12:48:08 -05:00