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

13829 Коммитов

Автор SHA1 Сообщение Дата
dave
16c2925ba2 Fix staticcheck errors from _test.go files (#18033)
Automatic Merge
2021-08-10 07:15:03 +02:00
Agniva De Sarker
3f01129ddf MM-37165: Fix improper plugin shutdown (#18044)
* MM-37165: Fix improper plugin shutdown

This was caught from a race test failure. While the failure manifested due to a log being
written from a test after the test exited, the real reason was hidden further deeper.

What was happening is that the server would always listen for plugin requests in a
separate goroutine via `g.muxBroker.AcceptAndServe` in the `OnActivate` hook. But the
plugin shutdown process would just close the plugin connections and move on, leading
to the classic case of improperly shut down goroutines.

When this happened, an opportunity opens up in a way that the server
would still be executing a request whereas the main goroutine and therefore the parent
test has already finished. This would lead to an error like

```
{"level":"error","ts":1626451258.4141135,"caller":"mlog/sugar.go:25","msg":"pluginAPI scheduleOnce poller encountered an error but is still polling","plugin_id":"com.mattermost.plugin-incident-management","error":"ListPluginKeys: Unable to list all the plugin keys., failed to get PluginKeyValues with pluginId=com.mattermost.plugin-incident-management: sql: database is closed
```

And now, this finally calls `mlog.Error`, which finally triggers our race condition :)

To fix this, we use some basic synchronization via waitgroups and just wait for it
to finish after closing the plugin process.

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

```release-note
NONE
```

* gofmt

```release-note
NONE
```

* split waitgroup additions

```release-note
NONE
```
2021-08-10 10:07:35 +05:30
Harold Alcala
5226aa5ca3 Fix for when the 'migrate' command drops the custom default language. (Using suggested fix) (#17190)
P.S. No ticket for this

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-08-10 02:44:28 +03:00
Christopher Poile
6af00ee2ce Pre-package Incident Collaboration v1.16.0 (#18082)
Automatic Merge
2021-08-09 21:15:04 +02:00
Martin Kraft
21639f9c87 MM-22845: Added support for permalink previews. (#17796)
* MM-22845: Added support for permalink previews.

* MM-22845: Adds license to new file.

* MM-22845: Adds endpoint to retrieve multiple posts by id.

* MM-22845: Fix for deleted post.

* MM-22845: Adds config setting for permalink previews.

* MM-22845: Adds API test for new endpoint.

* MM-22845: Fix typo.

* MM-22845: Tests that post create or updated via App get the previewed_post prop.

* MM-22845: Tests for matching permalinks.

* MM-22845: Adds PreparePostForClient test for permalink previews.

* MM-22845: Embeds entire post in permalink metadata.

* MM-22845: Filter WS message payload of created and edited post based on permissions.

* MM-22845: Runs app layer generator.

* MM-22845: Lint check fix.

* MM-22845: Adds feature flag.

* MM-22845: Clones WS message.

* MM-22845: Removes knowledge of permalink from LinkMetadata table. Removes knowledge of user id from post embedding methods in favour of a 'sanitize' method/step.

* MM-22845: Handle nil post metadata.

* MM-22845: Switch to cloning post.

* MM-22845: Removes unused code.

* MM-22845: Refactor.

* MM-22845: Reverts whitespace change.

* MM-22845: Removes unnecessary code.

* MM-22845: Removes unnecessary function.

* MM-22845: Warn but don't error if permalinked referenced post or channel is not found.

* MM-22845: Fix for clone method.

* MM-22845: Fix for clone method.

* MM-22845: Updates translations.

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-08-09 11:33:21 -04:00
Scott Bishel
56be6b539c update prepackage board version to 0.8.2 (#18071)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-08-09 16:05:34 +02:00
Claudio Costa
ca755fdc34 [MM-37496] Temporarily disable admin advisor notifications (#18054)
Automatic Merge
2021-08-09 14:45:03 +02:00
Jesús Espino
a88702fdaf MM-37491: Fix flaky test on file content extraction (#18077)
* MM-37491: Fix flaky test on file content extraction

* Changing Error log to Warn log

* Fix uppercase and dot in the log file

* Simplifiying the test case

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-08-09 12:32:29 +02:00
Allan Guwatudde
8bfe24c774 [MM-37578] - Add setting for onboarding (#18068)
* [MM-37578] - Add setting for onboarding

* fix lint

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-08-09 08:56:10 +03:00
Ben Schumacher
bf1f60d309 [MM-2307] Move plugin helpers from mattermost-server repository into mattermost-plugin-api (#17870) 2021-08-06 11:54:56 +02:00
Ben Schumacher
28137b3048 Remove deprecated model.ComparePassword method (#18069) 2021-08-06 11:52:01 +02:00
Agniva De Sarker
4bc8eae04f Log error from a compliance job failure (#18075)
Found this while investigating https://github.com/mattermost/enterprise/pull/1044.

```release-note
NONE
```
2021-08-06 13:18:40 +05:30
Chen-I Lim
91586b3ef8 Add Focalboard to known plugin telemetry (#17971) 2021-08-05 13:38:20 -07:00
Agniva De Sarker
9dc85ea092 MM-37579: Fix typo in map property (#18051)
* MM-37579: Fix typo in map property

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

```release-note
NONE
```

* refactor

```release-note
NONE
```
2021-08-05 19:47:35 +05:30
Agniva De Sarker
e49f385598 MM-37576: Fix reference to incorrect error variable (#18066)
We use the correct error variable returned from
the store method prior to it.

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

```release-note
NONE
```
2021-08-05 19:46:31 +05:30
Agniva De Sarker
7c22202330 MM-37575: Handle nil value in override_username (#18057)
* MM-37575: Handle nil value in override_username

Since props is a map[string]interface{}, an ", ok" check doesn't
really help because even if a key is not present, by default, a map
will always return the default value of the value, which would be a
nil interface.

So we can just check for the value of the map instead.

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

```release-note
NONE
```

* Fix for integer case as well

```release-note
NONE
```

* Update app/notification.go

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

Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
2021-08-05 14:25:07 +05:30
Ben Schumacher
20a73757d0 [MM-27593] s/AllExecutables/Executables/ (#17883) 2021-08-05 09:17:21 +02:00
Mattermod
61e4e4d3fc Update latest version to 5.37.1 (#18058)
Co-authored-by: Mmbot <mmbot@mattermost>
2021-08-04 17:47:07 +02:00
Agniva De Sarker
32005b05d9 MM-37573: Ignore nil fields in attachments (#18052)
We extend the same logic done in https://github.com/mattermost/mattermost-server/pull/16556
to Field.

Also handled the case elsewhere in the code with a light grep
for extra safety.

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

```release-note
NONE
```
2021-08-04 19:43:37 +05:30
Agniva De Sarker
c281d5eac6 MM-35754: Fail fast if templates directory is not found (#18053)
We used to log an error and move forward, which led to
panics later during server execution, because the templates
don't exist.

While technically speaking the server will run fine
because it's just one HTTP handler goroutine which panics,
but properly handling the error requires much more adjustments
in the code to check for nil templates.

It is better to fail earlier and force the application
to start in a clean slate.

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

```release-note
NONE
```
2021-08-04 19:42:28 +05:30
Claudio Costa
a5463c8651 Implement content extraction job (#18022) 2021-08-04 11:10:53 +02:00
Ben Schumacher
758116f3e3 [M-36899] Remove deprecated SourcePluginId (#17884) 2021-08-03 18:52:14 +02:00
Agniva De Sarker
2488b980e8 Remove deprecated *model.Client methods (#18042)
```release-note
Removed CheckUserMfa
Removed GetServerBusyExpires
```
2021-08-03 20:38:15 +05:30
Agniva De Sarker
249a0b9870 MM-36990: Use upsert for system key update (#18037)
* MM-36990: Use upsert for system key update

We make the app migration idempotent by using DB native upsert.

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

```release-note
NONE
```

* Fix SaveOrUpdateWithWarnMetricHandling too

```release-note
NONE
```

* Update store/sqlstore/system_store.go

Co-authored-by: Claudio Costa <cstcld91@gmail.com>

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Claudio Costa <cstcld91@gmail.com>
2021-08-03 14:23:47 +05:30
Claudio Costa
404b7eeade [MM-37202] Use native upsert query in StatusStore.SaveOrUpdate() (#18011)
Automatic Merge
2021-08-03 10:05:02 +02:00
Agniva De Sarker
f2119d60fa Print a helpful message for JSON column update failures. (#18041)
Automatic Merge
2021-08-02 21:05:03 +02:00
Harrison Healey
370321a823 MM-36127 Check for emojis in message attachment titles (#17943) 2021-08-02 14:23:10 -04:00
Weblate (bot)
8121ad7512 Translations update from Weblate (#18039)
* Translated using Weblate (Russian)

Currently translated at 97.0% (2243 of 2310 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 96.1% (2222 of 2310 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 96.1% (2219 of 2309 strings)

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

* Translated using Weblate (Hungarian)

Currently translated at 87.1% (2009 of 2305 strings)

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

Translated using Weblate (Hungarian)

Currently translated at 85.8% (1979 of 2305 strings)

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

Translated using Weblate (Hungarian)

Currently translated at 82.2% (1895 of 2305 strings)

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

Translated using Weblate (Hungarian)

Currently translated at 34.6% (798 of 2305 strings)

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

Translated using Weblate (Hungarian)

Currently translated at 32.3% (747 of 2309 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (2310 of 2310 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 99.9% (2303 of 2305 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.9% (2308 of 2310 strings)

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

* Translated using Weblate (Turkish)

Currently translated at 100.0% (2305 of 2305 strings)

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

Translated using Weblate (Turkish)

Currently translated at 100.0% (2310 of 2310 strings)

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

* Translated using Weblate (English (Australia))

Currently translated at 100.0% (2310 of 2310 strings)

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

* Update translation files

Updated by "Cleanup translation files" 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 "Cleanup translation files" hook in Weblate.

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2305 of 2305 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2305 of 2305 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 100.0% (2305 of 2305 strings)

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

Co-authored-by: Alexey Napalkov <flynbit@gmail.com>
Co-authored-by: Tóth Csaba // Online ERP Hungary Kft <csaba.toth@online-erp.hu>
Co-authored-by: JtheBAB <srast@bioc.uzh.ch>
Co-authored-by: aeomin <lin@aeomin.net>
Co-authored-by: Kaya Zeren <kayazeren@gmail.com>
Co-authored-by: Matthew Williams <Matthew.Williams@outlook.com.au>
Co-authored-by: nneverwei <nneverwei@hotmail.com>
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
2021-08-02 09:46:55 +02:00
Ashish Bhate
296076bf2d [MM-36544][MM-37439] Don't re-follow on reply to unfollowed thread (#18020)
Summary
If a user has unfollowed a thread, another user's reply in the thread should not cause the first user to re-follow the thread. The first user will be re-followed if they are mentioned in the thread.
Simplify and make flexible the logic surrounding following and remove some duplicate code.

Ticket Link
https://mattermost.atlassian.net/browse/MM-36544
https://mattermost.atlassian.net/browse/MM-37439
2021-07-30 18:47:41 +05:30
Shota Gvinepadze
973e008c53 Fix categorization method version for plugin api (#18023) 2021-07-29 11:25:16 -03:00
Elisabeth Kulzer
fcea39ad36 DB upgrade 5.38 (#18027)
Automatic Merge
2021-07-29 16:05:03 +02:00
Jesús Espino
b9cceb70ae Making doc extraction more reliable (#17842)
* Making doc extraction more reliable

* fix error message

* Adding test doc file

* Removing test that not works on CI because the lack of a binary

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-07-29 11:57:51 +02:00
Ashish Bhate
0f07a934ff [MM-37118] Don't mark channel as read for reply posts with CRT on (#17965)
Summary
With CRT on, posting a reply to a thread should NOT mark the channel containing the the thread as read

Ticket Link
https://mattermost.atlassian.net/browse/MM-37118
2021-07-29 14:47:28 +05:30
Pablo Andrés Vélez Vidal
c61c649c02 MM-37299 - add feature flag for invite members ab testing (#18016)
* MM-37299 - add the invite users feature flag value for AB testing

* make the ff a string value

* add suggested changes

Co-authored-by: Pablo Velez Vidal <pablo.velez@mattermost.com>
2021-07-28 22:51:02 +02:00
Martin Kraft
37b1e6d048 MM-37417: Push notification authz fix. (#18009)
* MM-37417: Push notification authz fix.

* MM-37417: Tests new app method.
2021-07-28 13:47:45 -04:00
Ben Cooke
285de45988 [MM-37278] Removing data retention feature flag (#17992)
* removing feature flag

Co-authored-by: Benjamin Cooke <benjamincooke@Benjamins-MacBook-Pro.local>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-07-28 08:53:17 -04:00
Joram Wilander
5c22a8f083 Add "playbooks" and "boards" to restricted team URLs list (#18014) 2021-07-28 08:06:00 -04:00
Agniva De Sarker
0d075c32db MM-22051: Remove ToJson from model (part 1) (#18005)
https://mattermost.atlassian.net/browse/MM-22051

```release-note
Removed the following methods/functions:
(ad *AccessData) ToJson()
(ar *AccessResponse) ToJson()
(ar *AnalyticsRow) ToJson()
(ar AnalyticsRows) ToJson()
(o *Audit) ToJson()
(o Audits) ToJson()
(ad *AuthData) ToJson()
(ar *AuthorizeRequest) ToJson()
(o *ChannelPatch) ToJson()
(o *ChannelsWithCount) ToJson()
(o *ChannelCounts) ToJson()
(o *ChannelData) ToJson()
(o *ChannelMembers) ToJson()
(o *ChannelUnread) ToJson()
(o *ChannelUnreadAt) ToJson()
(o *ChannelStats) ToJson()
(o *ChannelView) ToJson()
(o *ChannelViewResponse) ToJson()
(o *ClusterDiscovery) ToJson()
(ci *ClusterInfo) ToJson()
(cs *ClusterStats) ToJson()
(o *Command) ToJson()
CommandListToJson(l []*Command) string
(o *CommandArgs) ToJson()
(cmr *CommandMoveRequest) ToJson()
(o *CommandResponse) ToJson()
(c *Compliance) ToJson()
(c Compliances) ToJson()
(o *Config) ToJson()
EmojiListToJson(emojiList []*Emoji)
```
2021-07-28 13:15:46 +05:30
Claudio Costa
1ae1c38c9f [MM-36995] Start using db native JSON datatypes (#17930)
* Start using db native JSON datatypes

* Fix syntax to work on MySQL 5.7.12
2021-07-28 08:50:36 +02:00
Collin Eng
1c63e6a848 Adding GitLab button and text props (#17848)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-07-27 12:33:08 -07:00
Claudio Costa
baf8eda699 Improve log (#18012) 2021-07-27 19:43:59 +02:00
Claudio Costa
75d6480393 [MM-37108] Fix possible nil dereference in team edition (#17933)
* Fix possible nil dereference

* Fix translation

* Switch to StatusForbidden

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-07-27 13:07:40 +02:00
Claudio Costa
186475db3b [MM-35470] Disable config watching logic (#17913)
* Disable config watching logic

* Fix tests
2021-07-26 20:13:30 +02:00
Joram Wilander
b01f8ab0c8 MM-36545 Fix replica lag issue causing missed websocket events to update following (#17989)
* Fix replica lag issue causing missed websocket events to update following

* Add mutex to prevent data race

* Query thread membership if null

* Fix style
2021-07-26 11:28:01 -04:00
Martin Kraft
e538604345 MM-36446: Omit Filenames from Post JSON. (#17985)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-07-26 08:32:35 -04:00
Agniva De Sarker
7be61af24f MM-25516: Changed to byte slice instead of string for cluster messages (#17998)
* MM-25516: Changed to byte slice instead of string for cluster messages

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

Testing:
Manually tested.
Load-tested with Cluster Controller.

I looked into changing the serialization method to use msgpack,
but the ClusterMessage struct was mainly used for only 3 fields
which didn't lead to much of a CPU time improvement, whereas
actually led to more allocations using msgpack. Hence, I chose
to remain with JSON.

```
name              old time/op    new time/op    delta
ClusterMarshal-8    3.51µs ± 1%    3.10µs ± 2%  -11.59%  (p=0.000 n=9+10)

name              old alloc/op   new alloc/op   delta
ClusterMarshal-8      776B ± 0%     1000B ± 0%  +28.87%  (p=0.000 n=10+10)

name              old allocs/op  new allocs/op  delta
ClusterMarshal-8      12.0 ± 0%      13.0 ± 0%   +8.33%  (p=0.000 n=10+10)
```

```release-note
Changed the field type of Data in model.ClusterMessage to []byte from string.
```

* Trigger CI
```release-note
NONE
```
2021-07-26 13:41:20 +05:30
Agniva De Sarker
23800326a0 MM-22051: Remove ToJson methods from network writes (#17999)
We replace the double conversion of
[]byte to string, with a direct write
to http.ResponseWriter.

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

Tried using gofmt -r, but it only accepts Go
expressions. So had to resort to an ugly sed replace

sed -E -i 's/w.Write\(\[\]byte\((.*).ToJson\(\)\)\)/if err := json.NewEncoder\(w\).Encode\(\1\); err != nil { mlog.Warn\("Error while writing response", mlog.Err\(err\)\)}/g' *.go

```release-note
NONE
```
2021-07-26 13:41:02 +05:30
Weblate (bot)
ae7119ddf5 Translations update from Weblate (#18000)
* Translated using Weblate (Hungarian)

Currently translated at 32.3% (746 of 2309 strings)

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

Translated using Weblate (Hungarian)

Currently translated at 29.9% (691 of 2309 strings)

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

* Translated using Weblate (Turkish)

Currently translated at 100.0% (2309 of 2309 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 100.0% (2309 of 2309 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 98.1% (2267 of 2309 strings)

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

Co-authored-by: Tóth Csaba // Online ERP Hungary Kft <csaba.toth@online-erp.hu>
Co-authored-by: Kaya Zeren <kayazeren@gmail.com>
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: aeomin <lin@aeomin.net>
2021-07-26 09:50:41 +02:00
Agniva De Sarker
3f81d104a8 MM-37378: Skip TestPanicLog (#17997)
```release-note
NONE
```
2021-07-24 09:35:51 +02:00
Allan Guwatudde
e252608068 [MM-37064] - Onboarding flow is showing for existing users (#17977)
* [MM-37064] - Onboarding flow is showing for existing users

* add tests

* fix typo

* fix lint

* fix tests
2021-07-23 19:54:51 +03:00