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

12444 Коммитов

Автор SHA1 Сообщение Дата
Claudio Costa
cedcb63e83 [MM-24123] Fix flaky TestGetLinkMetadata (#14654)
Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-27 14:58:05 +03:00
Fedor Vitkovskiy
b660ffee01 Fix tests for guest accounts count (#14311)
Co-authored-by: Fedor Vitkovskiy <fedorvitkovskiy@pop-os.localdomain>
Co-authored-by: mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Jesús Espino <jespinog@gmail.com>
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2020-05-27 12:36:53 +02:00
Ben Schumacher
9e91f2ad33 Bump app version to 5.26 (#14649) 2020-05-27 12:07:44 +02:00
Siyuan Liu
b733762575 provide and implement a new cache provider (#14496)
* provide and implement a new cache provider

* make interface more flexible

* let Connect and Close return error

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-27 08:46:07 +05:30
Scott Bishel
ebece6c23a MM-25014 - Default Group Name to null, until AllowGroupReference is set (#14651)
* make Group.Name a pointer to allow null

* fix unit tests

* fix build error

* fix unit test

* ensure Name field not nil

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-26 19:21:29 -06:00
Claudio Costa
91f010b8b7 Fix client4.GetPluginStatuses() (#14629)
Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-25 21:07:09 +02:00
Agniva De Sarker
932d6c2cbf Migrate tool dependencies to go.tools.mod (#14646)
Go 1.14 introduces usage of alternate go.mod files to track
other dependencies which are not related to the main app.
We use this to track all tool dependencies so that everybody uses
the same version of all tools, including CI.

This will prevent version conflicts due to everybody using different
versions of the tools.
And it will not try to upgrade the tool version, every single time,
one runs the tool command.

While here, we also re-generate some filestore mocks which weren't up to date.

Fixes #13088

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-25 23:20:44 +05:30
Agniva De Sarker
25fb1296af Check for nil error in ErrConflict (#14636)
We check if the err is nil or not before calling the Error() method.

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-25 18:38:11 +05:30
Jason Blais
235c53189e Add ?src=docker query parameter to identify download source (#14577)
Automatic Merge
2020-05-25 04:29:18 -07:00
Mario de Frutos Dieguez
f135e6c1bf [MM-24453] Sanitize user term search (#14494)
* Sanitize user term search

Remove the @ at the beginning of the search term in order to
make it possible for ES to return results
2020-05-24 10:50:07 +02:00
Arianna Vespri
2135096d88 Convert bool string comparisons to strconv.ParseBool for REST parameters (#13650)
* Convert bool string comparisons to strconv.ParseBool for REST parameters

* Log failed bool conversions

* Rename errors, changed log levels

* drop strconv.ParseBool error handling

If the query string parameter is omitted, strconv.ParseBool returns an error for the empty strings, which spams the logs. Instead, just assume the default semantics of a `false` return value if an error occurs.

* allow randomized Client4 booleans

It's hard to test api4's handling of the various boolean input values
accepted. Extend Client4 with support for overriding how it builds those
strings, and pick a random value on test startup.

* gofmt -s

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>
2020-05-24 05:01:31 +08:00
Agniva De Sarker
f7a91c7cf9 MM-24830: Add event constants for gossip request/response (#14611)
* MM-24830: Add event constants for gossip request/response

This is an accompanying PR for the shift to entirely gossip.

* Fix order

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-23 11:43:58 +05:30
Ben Schumacher
23ecc9ad0a [MM-25284] Include license type in Marketplace request (#14586) 2020-05-23 07:05:51 +02:00
Agniva De Sarker
d317dd2dde MM-25154: Fix data race in InvokeClusterLeaderChangedListener (#14610)
The order of booting up a server should be
Job scheduler -> Cluster.

And shutdown should be the opposite. This is needed because the job scheduler
initializes certain data structures that are later called by ClusterLeaderChanged
event handlers. And the event handlers run in a separate goroutine.

Therefore, if the cluster initialization happens before the job scheduler,
then a race happens between accessing the jobs variable and setting it.

To prevent this race, we fix the order of startup, and add comments in both
places to prevent things from regressing again.
2020-05-22 23:52:25 +05:30
Jason Blais
c1d0faa2e5 Fix typo (alredy -> already), add missing periods (#14631)
Automatic Merge
2020-05-22 10:44:22 -07:00
Agniva De Sarker
a014a71c94 MM-25413: Fix empty localization string (#14623) 2020-05-22 22:29:19 +05:30
Farhan Munshi
b0d74c4e40 [MM-25385] Add group_count_with_allow_reference telemetry (#14614)
* MM-25385 Add group_count_with_allow_reference telemetry

* Add store layers

* Fix tests

* Fix linting
2020-05-22 10:56:15 -04:00
Ashish Bhate
33bfebc797 MM-24845/MM-24846: local mode handler for createCommand and listCommands (#14486)
* Add local mode handler for createCommand
* Add local mode handler for listCommands
* Fix bad merge

Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-22 17:18:22 +05:30
Ashish Bhate
ea86dc9a62 MM-24872/MM-24873: local mode support for addTeamMember and removeTeamMember (#14534)
* Add local mode handler for addTeamMember

* Add local mode handler for remoteTeamMember

* short circuit session team permission for local mode

Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
2020-05-22 15:52:57 +05:30
Agniva De Sarker
abce5d620f MM-25439: Skip SuddenClose flaky test (#14628)
Automatic Merge
2020-05-22 02:44:42 -07:00
Agniva De Sarker
b5d3f4df8b MM-24283: Refactor hub connection index (#14461)
Automatic Merge
2020-05-21 22:09:21 -07:00
Gabe Jackson
f52211afcf Remove database read check from enhanced ping endpoint (#14625)
The enhanced ping endpoint can return an unhealthy database read
result if the database read replicas have a high-enough replication
delay. Instead of adding the complexity and delay of retry logic,
we are opting to remove the read check for now and will re-add it
in the future in a separate health check flow.
2020-05-21 16:29:21 -04:00
Scott Bishel
6f99f8139d MM-22064: Update verbage for restricted domain errors (#14563)
* update verbage for domain disallowed strings

* update text again

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-21 07:19:19 -06:00
Eli Yukelzon
008961ba2f MM-20951 Add sentry support to mattermost-server (#14405) 2020-05-21 16:13:37 +03:00
Shota Gvinepadze
43e606173b [MM-20684] Slash Command Autocomplete (#14557)
* [MM-20684] Initial implementation of the Command Autocomplete (#13602)

* Implement Autocomplete Data

* Change CommandName to Trigger

* Fix Autocomplete test

* Make stylistic changes

* Rename a bunch of fields and methods

* Fix variable names, safer type assertions

* [MM-20684] plugin autocomplete implementation (#14259)

* Add an endpoint for command autocomplete suggestions

* Add full Suggestion to the AutocompleteSugestion struct

* Add Dynamic Argument support

* Tidy up things

* Fix missed test case

* Add support of the named arguments

* Update autocomplete API

Fix review issues

Implement dynamic args as a local request

* Fix ineffassign

* Add support of the uppercase letters in arguments

* Add support of the optional arguments

* Remove ineffectual assignment

* Add support for icons (#14489)

* Address couple of nits

* Add comment to IconData

* Add types to all consts

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-21 12:24:56 +04:00
Martin Kraft
e8daab6b84 MM-25369: Disable Brotli in 'dev' mode. (#14608) 2020-05-20 19:05:21 -04:00
Hossein Ahmadian-Yazdi
173cfe9b88 [MM-22644] Dont allow message export for CSV, Acadiance, Global Relay if non-E20 customer via command line (#14584)
* dont allow message export for non E20 if export to csv acadiance or global relay

* add tests

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-20 11:20:27 -04:00
Harrison Healey
f62493145a MM-24386/MM-24465 Enable link previews and full push notifications by default (#14565)
* MM-24386 Update default push notification contents to full

* MM-24465 Enable link previews by default

* Fix a unit test relying on the old default
2020-05-20 09:23:13 -04:00
Agniva De Sarker
aad76a13e8 MM-24170: Allow mysql to choose the right index (#14588)
We use the same optimization used in MM-23369 to prevent
mysql from using the index in the sort query.

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-20 09:34:55 +05:30
Agniva De Sarker
15ed9a8f20 MM-25006: Fix occurences of unclosed http bodies (#14521)
* MM-25006: Fix occurences of unclosed http bodies

And while here, we also use ioutil.Discard to read the remaining
body instead of reading with ioutil.ReadAll which allocates a separate
byte buffer.

* Fix mistake

* Address review comments

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-20 08:41:37 +05:30
Jesse Hallam
ee8bd4ece4 MM-23250: improve config.Migrate tests (#14479)
* MM-23250: improve config.Migrate tests

The config.Migrate tests were not running in isolation, but wrote over the "local" config. The test coverage for both directions was not exhaustive, and lacked coverage for the recently added plugin signature files.

Rewrite the unit tests as such, fixing a minor issue closing the stores after migration.

Fixes: https://mattermost.atlassian.net/browse/MM-23250

* idiomatic err checking

* clarify random file contents

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-19 21:03:02 -03:00
Miguel de la Cruz
0154b8059b [MM-20979] Add first implementation of the Bleve search engine (#14562)
* [MM-20979] Add first implementation of the Bleve search engine

* Fix i18n

* Migrate searchengine utils tests

* Fix linter

* Don't add allTermsQ if both termQueries and notTermQueries are empty

* Fix test that should work if user is system admin

* Modify naming according to review comments

* Abstract getIndexDir function

* Extracting bleve engine name as a constant

* Merge both Indexer interfaces into one

* Add worker stopped message

* Allow worker to be started/stopped with config change

* Use constants for index names

* Modify test order

* Fix linter

* Trying to unlock the CI
2020-05-20 01:29:55 +02:00
Ben Schumacher
8d0343d2eb [MM-22734] Support different interactive message button styles (#14592) 2020-05-19 18:41:17 +02:00
Doug Lauder
906508ee3b MM-25256 don't idle timeout expire session on mobile (#14583) 2020-05-19 12:26:54 -04:00
Miguel de la Cruz
0d89ff5d0e Mm 23710 mmctl local mode (#14561)
* [MM-24146] Add unix socket listener for mmctl local mode (#14296)

* add unix socket listener for mmctl local mode

* add a constant for local-mode socket path

* reflect review comments

* [MM-24401] Base approach for Local Mode (#14333)

* add unix socket listener for mmctl local mode

* First working PoC

* Adds the channel list endpoint

* Add team list endpoint

* Add a LocalClient to the api test helper and start local mode

* Add helper to test with both SystemAdmin and Local clients

* Add some docs

* Adds TestForAllClients test helper

* Incorporating @ashishbhate's proposal for adding test names to the helpers

* Fix init errors after merge

* Adds create channel tests

* Always init local mode to allow for enabling-disabling it via config

* Check the RemoteAddr of the request before marking session as local

* Mark the request as errored if it's local and the origin is remote

* Set the socket permissions to read/write when initialising

* Fix linter

* Replace RemoteAddr check to ditch connections with the IP:PORT shape

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

* Fix translations order

* [MM-24832] Migrate plugin endpoints to local mode (#14543)

* [MM-24832] Migrate plugin endpoints to local mode

* Fix client reference in helper

* [MM-24776] Migrate config endpoints to local mode (#14544)

* [MM-24776] Migrate get config endpoint to local mode

* [MM-24777] Migrate update config endpoint to local mode

* Fix update config to bypass RestrictSystemAdmin flag

* Add patchConfig endpoint

* MM-24774/MM-24755: local mode for addLicense and removeLicense (#14491)

Automatic Merge

Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
Co-authored-by: Ashish Bhate <bhate.ashish@gmail.com>
2020-05-19 18:20:41 +02:00
Scott Bishel
e8081b7a0f MM24459: Implement ldap picture sync (#14540)
* implement ldap picture sync

* add testing timeout, and no change

* Revert "add testing timeout, and no change"

This reverts commit 765621a7290074e5664c4ca2a2843c84e01f4cf1.

* update app-layer

* updates from code review

* update app-layers

* remove debug statements

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-19 08:25:52 -06:00
Martin Kraft
d7cb890f34 MM-25095: Handles static JS and CSS using Brotli encoding. (#14524)
* MM-25095: Handles static JS and CSS files using Brotli.

* MM-25095: Linting fix.

* MM-25095: Adds missing license.

* MM-25095: Moves initialization of slice.

* MM-25095: Moves initialization of slice.
2020-05-19 08:40:13 -04:00
George Goldberg
6ae9513474 MM-24176: Regenerate invite ID on team privacy change. (#14529)
* MM-24176: Regenerate invite ID on team privacy change.

* Fix the other place this setting can be changed.

* Fix tests.

* Satisfy the tyrannical golangci-lint.
2020-05-19 12:04:51 +01:00
dantepippi
83c1723bf5 [MM-24663] Refactor link metadata store to use squirrel (#14464)
* Refactor link_metadata_store to use squirrel

* Fix sql buil error string

* Fix := on second err

* Merging code to a single Where call

* Saving a line.

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

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Dante Pippi <dantepippi@gmai.com>
Co-authored-by: dantepippi <dantepippi@users.noreply.github.com>
Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
2020-05-19 09:30:05 +02:00
Agniva De Sarker
53cc7a26ea MM-24133: Migrate AppError from bot_store.go (#14339)
* MM-24135: Migrate AppError from SaveChannel/channel_store.go

This is the first POC of migration of store app errors to plain error.

We create a few basic error types in the store package and use
them to return the errors from store methods. In the app layer,
we inspect the error and re-create the exact app errors. This lets
us preserve the same error content, but yet move to plain errors.

Since this is a gradual migration, this means that the error inspection
code will be duplicated across the app layer whenever a store method
is invoked. But all of that should go away once we start propagating
the errors higher up the hierarchy.

There have been a significant amount of changes in the storetest and searchtest
layer, primarily because we have to rename the err variable now that it is of
a different type.

* Addressed review comments

* MM-24132: Migrate AppError from SaveDirectChannel/channel_store.go

This PR migrates 2 new methods SaveDirectChannel and CreateDirectChannel
to return error instead of AppError.

We also need to handle the error internally in SaveMultipleMember for now
until that is migrated too.

* MM-24133: Migrate AppError from bot_store.go

* Fix errors

* Fix err

* Fix bad return

* Fix vet errors

* Fix incorrect error check

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-19 08:36:53 +05:30
catalintomai
6dc8eccc13 MM-23395: Add websockets support for update group (#14202)
* MM-23395: add websockets support for update group
2020-05-18 09:43:26 -07:00
Federico Martín Alconada Verzini
94dbb09906 [GH-13463] add unit tests to the ChannelCreateCmd mmctl command (#14177)
* add unit tests to the ChannelCreateCmd mmctl command

* fix showed variables

* remove extra whitespace

* add errors check to tests

Co-authored-by: Federico Martín Alconada Verzini <fedealconada@gmail.com>
Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-18 09:43:24 +03:00
Agniva De Sarker
bb172aea71 MM-25007: Add staticcheck (#14522) 2020-05-15 17:57:15 +02:00
Agniva De Sarker
21af1f49f1 MM-25238: Fix system ping check to read from master (#14580)
The code was writing to master and immediately after that reading
from a replica causing it to fail intermittently.

Since this is not a very high-traffic table, it should be safe to read
from master always.
2020-05-15 14:19:46 +05:30
Doug Lauder
76ed77663a MM-23706 search executable dir before working dir when looking for i18n (#14241)
* MM-23706 search executable dir before working dir when looking for i18n
2020-05-14 20:11:22 -04:00
Scott Bishel
e6bbb4bd7a MM-24082: Add PictureAttribute to LDAP Settings in config (#14506)
* add new config setting for profile picture attribute

* update attribute names

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-14 13:25:23 -06:00
Agniva De Sarker
090743de86 MM-24132: Migrate AppError from SaveDirectChannel/channel_store.go (#14318)
* MM-24135: Migrate AppError from SaveChannel/channel_store.go

This is the first POC of migration of store app errors to plain error.

We create a few basic error types in the store package and use
them to return the errors from store methods. In the app layer,
we inspect the error and re-create the exact app errors. This lets
us preserve the same error content, but yet move to plain errors.

Since this is a gradual migration, this means that the error inspection
code will be duplicated across the app layer whenever a store method
is invoked. But all of that should go away once we start propagating
the errors higher up the hierarchy.

There have been a significant amount of changes in the storetest and searchtest
layer, primarily because we have to rename the err variable now that it is of
a different type.

* Addressed review comments

* MM-24132: Migrate AppError from SaveDirectChannel/channel_store.go

This PR migrates 2 new methods SaveDirectChannel and CreateDirectChannel
to return error instead of AppError.

We also need to handle the error internally in SaveMultipleMember for now
until that is migrated too.

* Fix layers

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-05-14 23:41:05 +05:30
Agniva De Sarker
624980ff54 MM-25005: Remove HttpRequestsDuration bucket (#14520)
* MM-25005: Remove HttpRequestsDuration bucket

The ApiTimesHistograms already captures what HttpRequestsDuration does.
And it's more granular than that. So there's no need to duplicate stuff.
Let's remove this one.

* Updating resource class to xlarge

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Jason Deland <jaydeland@gmail.com>
2020-05-14 10:53:55 +05:30
Jason Deland
5686268a5a Update to xLarge resource 2020-05-13 15:28:55 -04:00
Farhan Munshi
599bd93258 MM-25016 Send group Name to in out of channel group users message (#14537) 2020-05-13 13:41:28 -04:00