Commit Graph

12779 Commits

Author SHA1 Message Date
Yash
296dde9180 Drain body to reuse tcp connection (#15241)
Co-authored-by: yashgandhi32 <yash@sendinblue.com>
2020-08-21 10:44:06 +02:00
Agniva De Sarker
c424be882c MM-27948: Use --depth=1 to clone git repos faster (#15309)
* MM-27948: Use --depth=1 to clone git repos faster

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

* trigger CI

* Added no single branch
2020-08-20 20:30:32 +05:30
Agniva De Sarker
78766625df jobstore (#15250)
* Migration completed

* Modify test case

* Update en.json

* Fix layers

* Lint: remove unnecessary use of sprint

* trigger CI

* fix error

* Fixes

* fix test

Co-authored-by: Rodrigo Villablanca <villa061004@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-20 19:37:19 +05:30
Agniva De Sarker
b451b3cf86 fileinfostore (#15236)
* Migration completed

* Fix i18n

* Fix imports

* Fix typos and improvements

* Add new error handling case

* Fix i18n

* Fix store layers

* Fix shadowing vars

* Lint: remove unnecessary use of sprintf

* Lint: remove unnecessary use of sprint

* Adding the translation message

* trigger CI

Co-authored-by: Rodrigo Villablanca <villa061004@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-20 19:36:13 +05:30
Martin Kraft
7cc26bf659 MM-27525: Obscure Global Relay's SMTP password. (#15228)
* MM-27525: Obscures the Global Relay SMTP password.

* MM-27525: Desanitize global relay's SMTP password.

* MM-27525: Does not set the fake value if the field is blank.
2020-08-20 09:01:22 -04:00
Agniva De Sarker
5979ce7823 MM-27883 - remove deep copies from the cache layer (#15271)
When we are reading from or putting to the cache, there is no need to deep copy
objects now because the cache is already serialized.

We also delete some lines from tests because the mock store directly returns the pointers
whereas actually they would be returned from the database where a serialization occurs again.

So we would be testing for the wrong thing by unnecessarily keeping the deep copies for DB reads.

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

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-20 11:29:25 +05:30
nickmisasi
769f39eee5 [MM-27535] User invite limits for MM Cloud (#15197)
* Add a config for MM User Limit

* Adding graceful errors for if an administrator invites people passed their user limit

* Including changed vendor files

* Adding unit test

* Fix a bug

* Push up working tests (Thanks Joram)

* Add more cases, clean up logs in code

* One more case

* Refactoring based on PR comments

* Updating i18n

* Some changes based on PR review

* Remove a comment

* Bring back some translations that were somehow removed

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-19 16:01:07 -04:00
Agniva De Sarker
4e154756bd MM-27648: Fix a hub deadlock while revoking session (#15293)
* MM-27648: Fix a hub deadlock while revoking session

This is a bug which has always been there in the codebase.
And it can only occur in the extreme of edge-cases.

Following is the call trace due to which this happens:

```
 0  0x0000000001dfea68 in github.com/mattermost/mattermost-server/v5/app.(*Hub).InvalidateUser // deadlock
    at ./app/web_hub.go:369
 1  0x0000000001dfc0bd in github.com/mattermost/mattermost-server/v5/app.(*App).InvalidateWebConnSessionCacheForUser
    at ./app/web_hub.go:109
 2  0x0000000001db1be5 in github.com/mattermost/mattermost-server/v5/app.(*App).ClearSessionCacheForUserSkipClusterSend
    at ./app/session.go:209
 3  0x0000000001db1763 in github.com/mattermost/mattermost-server/v5/app.(*App).ClearSessionCacheForUser
    at ./app/session.go:170
 4  0x0000000001db2d2f in github.com/mattermost/mattermost-server/v5/app.(*App).RevokeSession
    at ./app/session.go:275
 5  0x0000000001db2c09 in github.com/mattermost/mattermost-server/v5/app.(*App).RevokeSessionById
    at ./app/session.go:260
 6  0x0000000001daf442 in github.com/mattermost/mattermost-server/v5/app.(*App).GetSession
    at ./app/session.go:93
 7  0x0000000001df93f4 in github.com/mattermost/mattermost-server/v5/app.(*WebConn).IsAuthenticated
    at ./app/web_conn.go:271
 8  0x0000000001dfa29b in github.com/mattermost/mattermost-server/v5/app.(*WebConn).shouldSendEvent
    at ./app/web_conn.go:323
 9  0x0000000001e2667e in github.com/mattermost/mattermost-server/v5/app.(*Hub).Start.func1.3 // starting from hub
    at ./app/web_hub.go:491
10  0x0000000001e27c01 in github.com/mattermost/mattermost-server/v5/app.(*Hub).Start.func1
    at ./app/web_hub.go:504
11  0x0000000001e27ee2 in github.com/mattermost/mattermost-server/v5/app.(*Hub).Start.func2
    at ./app/web_hub.go:528
12  0x0000000000473811 in runtime.goexit
    at /usr/local/go/src/runtime/asm_amd64.s:1373
```

The stars have to align in such a way that the session idle timeout _has_ to happen
_exactly_ when a broadcast is happening for that user. Only then, this code path gets
triggered.

Since this is an extreme rabbit hole of calls, I have not attempted any big
refactors and went with the most sensible approach which is to make the RevokeSessionById
call asynchronous.

There are 2 main reasons:
- It was already treated as an asynchronous call because it happened during an error condition
and we were not checking for the return value anyways.
- Session idle timeout is a relatively infrequent event, so creating unbounded goroutines is not a concern.

As a bonus, we also get to check the error return and log it.

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

* Add a test case

* Fix an incorrect comment
2020-08-19 23:27:48 +05:30
Alex Dovenmuehle
4791aca112 Rudder key and dataplane in Config (#15026)
* To allow for ease of testing telemetry changes, we should make it so that the rudder key and dataplane URL can be customized through the config or environment.

* Instead of using a real config element that would be exposed to end users, we'll just use 'secret' environment variables to inject Rudder config data.

Co-authored-by: Alex Dovenmuehle <alex.dovenmuehle@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-19 15:53:39 +01:00
Carlos Tadeu Panato Junior
3fc9ed9871 image: bump default MM package to use release 5.26.0 (#15276) 2020-08-19 14:23:47 +02:00
Carlos Tadeu Panato Junior
df4524e231 db: upgrade db to 5.27 (#15277) 2020-08-19 14:21:03 +02:00
Miguel de la Cruz
10d2fed795 [MM-27022] Add marketplace endpoints to local mode (#15053)
* [MM-27022] Add marketplace endpoints to local mode

* Fix test

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-19 13:54:46 +02:00
Ashish Bhate
94e50c30e3 [MM-27367] fix ldap group decoding in client (#15192)
Summary

    The data returned by the get ldap groups api endpoint was being decoded incorrectly in the Go client.

Ticket Link

    https://mattermost.atlassian.net/browse/MM-27367
2020-08-19 16:02:53 +05:30
Maria A Nunez
e33ab02e1a MM-27930 - Cloud license feature (#15297) 2020-08-18 15:47:29 -04:00
Scott Bishel
f6bce5b32a MM-27852:Enable picture update for SAML (#15284)
* if ldap installed, attempt image update

* add license check

* add LDAP e10 license check

* check license not null, fix unit tests

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-18 10:18:21 -06:00
Agniva De Sarker
e1ca3e348f MM-27512: Use an authenticated user to bump up request rate limit (#15251)
* MM-27512: Use an authenticated user to bump up request rate limit

An unauthenticated user can only make 60 requests per hour which means 1
request every minute. This can lead to frequent rate limit errors while
getting the latest release.

We change that to use an authenticated user which is already available
in the CI. This moves us to make 5000 requests per hour.

We also add additional logging in the Makefile targets in case
the command fails again so that it's clear what has happened, and not return
cryptic 404 errors again.

Ideally, we should be able to inspect the output of the curl command, but since
the output value of the entire bash script is fed into the variable, it is a bit
difficult to print debug output.

If this still gives error, then we need to either use a cached artifact somehow
or add additional logging and add a retry logic on top of it.

* fix mistake
2020-08-18 19:42:12 +05:30
Mario de Frutos Dieguez
f619de2c83 [MM-25673] Upgrades and migrations to start using master gorp (#14823)
Database changes needed to reflect gorp master changes
2020-08-18 10:43:56 +02:00
Scott Bishel
0302e0f477 MM-27449: Compliance Jobs rerun after warning status (#15178)
* add warning as success result

* revert config changes

* add unit test, update unit test

* add a couple more tests

* update store layers

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-17 21:18:33 -06:00
Agniva De Sarker
d48eec6727 MM-27887: set traceback to crash from code (#15274)
Unless we set traceback level to crash, goroutines from all threads aren't printed.
See: https://github.com/golang/go/issues/13161.

This is important because SIGQUIT traces will miss on goroutines.

https://mattermost.atlassian.net/browse/MM-27887
2020-08-17 22:08:25 +05:30
Jesús Espino
f16fb6f855 Restrict the sampledata generation to not run without enough users for group channels (#15275)
* Restrict the sampledata generation to not run without enough users for group channels

* Adding test cases
2020-08-17 17:54:12 +02:00
Mario de Frutos Dieguez
3d8a87029c Fix the error message from get oldest entity in ES indexer (#14911)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-17 17:52:19 +02:00
Claudio Costa
58c6eabf95 [MM-27836] Fix possible panic when patching config (#15262)
* Fix possible panic when updating/patching config

* Remove un-needed check
2020-08-17 14:53:48 +02:00
Doug Lauder
095e5d788b MM-27868 fix panic when user joins teams (#15268)
Server panics when user joins team and one of the default channels has been archived.

This can be triggered by archiving "Off-Topic" or any of the channels listed in `TeamSettings.ExperimentalDefaultChannels`.
2020-08-17 08:20:04 -04:00
Ibrahim Serdar Acikgoz
9211a8b9d3 [MM-27700] storetest/channel_store: fix flaky test for search too short term (#15242)
* storetest/channel_store: fix flaky test for search too short term

* storetest/channel_store: use another stop word instead

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-17 09:19:29 +01:00
Ibrahim Serdar Acikgoz
1fadfa9f33 app/testEmail: remove a setting that blocks testEmail (#15022)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-15 00:43:42 +03:00
Ibrahim Serdar Acikgoz
16ffb6712f [MM-25657] api4/config: add config migrate endpoint (#14928)
* api4/config: add config migrate endpoint

* api4/config: reflect review comments

* fix i18n lint error

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-14 18:26:23 +03:00
Brian Ledbetter
bda24c8fe0 Match Users Even When SAML (+other) Contains Mixed Case (#14587) 2020-08-14 14:03:15 +02:00
Jesús Espino
4a76121810 Prefixing all enterprise translations with ent (#14820)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-14 11:58:19 +02:00
Ashish Bhate
d76039db23 [MM-25659] ability to permanent delete channel through client (#15202)
Summary

    Ability to permanent delete channel through client

Ticket Link

    https://mattermost.atlassian.net/browse/MM-25659
2020-08-14 14:12:39 +05:30
Agniva De Sarker
11513a8d0d MM-27507: Propagate rate limit errors to client (#15230)
* MM-27507: Propagate rate limit errors to client

We return an error from SendInviteEmails instead of just logging it
to let the client know that a rate limit error has happened.

The status code is chosen as 413 (entity too large) instead of 429 (too many requests)
because it's not the request which is rate limited, but the payload inside it which is.

Ideally, the email sending should have been implemented by a queue which would just return
an error to the client when full. That is also why we are not returning an X-Retry-After
and X-Reset-After in the headers because that would mix with the actual rate limiting.

A separate header X-Email-Invite-Reset-After might do the job, but it comes at an extra cost
of additional API surface and a clunky API. Instead, that information is contained in the error
response. The web client needs to just surface the error. An API client will have to do
a bit more work to parse the error if it needs to automatically know when to retry. Given that
an email sending client is not a very common use case, we decide to keep the API clean.

This decision can be revisited if it becomes problematic in the future.

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

* Fixing translations

* Added retry_after and reset_after in API response.
2020-08-13 22:19:05 +05:30
Rodrigo Villablanca
20e44399c7 SystemStore migration to return plain errors (#14835)
* SystemStore migration to return plain errors

* Fix nilness

* Fix translations

* Fix merge

* Fix layers

* Fix merge errors

* Lint: remove unnecessary use of sprint

* Fix merge errors

* Fix i18n

Co-authored-by: Agniva De Sarker <agnivade@yahoo.co.in>
2020-08-13 20:32:57 +05:30
Ashish Bhate
e8d431ee7c [MM-26837] attempt at fixing flaky test on mysql-5.6 (#15110)
Summary

- Attempt at fixing the AutocompleteInTeam/empty_string test which is flaky on MySQL-5.6. This is likely an index_merge_intersection optimization issue. See https://community.mattermost.com/core/pl/uzgygwa9e3d4pns14ayfs7mobw
    for more discussion. The fix here simply modifies the where clause to change the query plan so index_merge_intersection is not used, while also not introducing a temporary table or a filesort.

Ticket Link

- https://mattermost.atlassian.net/browse/MM-26837
2020-08-13 20:03:26 +05:30
Agniva De Sarker
ac26555cdb MM-27735: Do not build test and other tools in CI (#15238)
Our codebase uses main_test.go files to control tests at a package level.
However, the problem with that is when we use ./... to build the codebase,
those binaries also get built.

This is unnecessary and creates further delays in the pipeline. All we need to build
are only mattermost and platform binaries in CI. The rest are dependant on the developer.

In my dev environment, this reduces the build times from 13 seconds to 4 seconds.

https://mattermost.atlassian.net/browse/MM-27735
2020-08-13 19:40:15 +05:30
Agniva De Sarker
220d39d09b MM-24544: Fix crash in (*Status).ToClusterJson (#14484)
We apply the same fix that was done in https://github.com/mattermost/mattermost-server/pull/14147.
This method was missed out.

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-13 17:30:38 +05:30
Carlos Tadeu Panato Junior
4e43826c5c cmd/version: skip server start to get the current mattermost version (#15234) 2020-08-13 13:31:59 +02:00
Agniva De Sarker
91a76b2df9 MM-27456: Use reflect-free serialization for hot structs (#15171)
Automatic Merge
2020-08-13 03:35:57 -04:00
Rodrigo Villablanca
32b7d2b5f1 StatusStore migration (#14978)
* Finished!

* Typos

* Fix error

* Fix layers

* Lint: remove unnecessary use of sprint

* Fix shadowing err
2020-08-13 11:12:08 +05:30
Rodrigo Villablanca
909cda6d49 Pluginstore migration (#14971)
Automatic Merge
2020-08-13 01:35:57 -04:00
Jesús Espino
19173ea6ff Migrating Team.SaveMember/SaveMultipleMembers into errors (#14924)
* Migrating Team.SaveMember/SaveMultipleMembers into errors

* Removing copy/paste comments

* Fixing another small thing

* Fixing tests

* Addressing PR review comments

* Fixing some tests

* Fixing golangci-lint

* Fixing linter

* Regenerating store layers

* Fix lint error after merge

* Other lint error fixed

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-12 21:02:41 +02:00
Jesús Espino
1b141678fe Adding initial retry layer version (#14954)
* Adding initial retry layer version

* Some simplification around the generated code

* Generating retry layer again

* Improving naming generation in store generated layers

* Address PR review comments

* Updating store layers

* Addressing PR review comments

* fixing lint errors

* Updating store layers

* Adding license header

* Applying the retry layer to the reaction_store

* Regenerating retry layer
2020-08-12 20:05:16 +02:00
Claudio Costa
c89c56ab2e [MM-27328] Upgrade minio-go to v7 (#15177)
* Upgrade minio-go to v7

* Update to v7.0.3

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-12 19:53:47 +02:00
Rodrigo Villablanca
5566395032 First part of PostStore migration (#15123)
Automatic Merge
2020-08-12 13:35:57 -04:00
Agniva De Sarker
d9ee26a47b MM-26575: Move app initialization inside Websocket router out of handler (#14991)
* MM-26575: Move app initialization inside Websocket router out of handler

The websocket router struct is shared amongst multiple handlers. Therefore,
there is a race condition while setting the app field and reading from it.

We move the initialization of the app field when the router struct is initialized.

And we also remove the initializations of some app fields which caused race
conditions by being written from multiple goroutines. They are already being
written once inside the AppInitializedOnce.Do method and it's redundant
to set them again to the same value.

* Add missing fields in server connector

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-12 22:10:19 +05:30
Jesús Espino
1f09d86f42 Moving slash-commands out of app package (#14979)
* Moving slash-commands out of app package

* Fixing golint checks

* Fixing golangci-lint

* Fixing golangci-lint errors
2020-08-12 18:29:58 +02:00
Jesús Espino
788c130774 Moving slack importer into a service (#14860)
* Moving slack importer into a service

* Adding missed license headers

* Fixing tests

* Adding license header
2020-08-12 18:29:36 +02:00
Ibrahim Serdar Acikgoz
5ab06162dc [MM-27377] api4/team_local: add updateChannelPrivacy and restoreTeam to local mode (#15201)
* api4/team_local: add update ch privacy to local mode

* api4/team_local: add restoreTeam to local mode

* api4/team: add a test case
2020-08-12 18:20:53 +03:00
Ben Schumacher
aa88fb445c Log URL for requests to non-existing plugins (#15229) 2020-08-12 11:00:53 -04:00
Agniva De Sarker
3124b81229 MM-27040: Fix flaky tests due to same UpdateAt timestamp (#15216)
* MM-27040: Fix flaky tests due to same UpdateAt timestamp

Update queries are not guaranteed to always update the row.
Since we are only bumping the UpdateAt timestamps, if 2 update
requests hit concurrently within the same millisecond, then one
is bound to fail.

We fix all cases in the codebase where we were updating the UpdateAt
field to not check for count != 1, but rather count > 1.

A similar fix was already done in 3f46cf6f60.

* Remove incorrect test
2020-08-11 21:03:23 +05:30
Weblate (bot)
e73ff83e9d Translations update from Weblate (#15223)
* Translated using Weblate (Portuguese (Brazil))

Currently translated at 97.4% (1953 of 2004 strings)

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

Translated using Weblate (Polish)

Currently translated at 96.3% (1931 of 2004 strings)

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

Translated using Weblate (Korean)

Currently translated at 99.3% (1991 of 2004 strings)

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

Translated using Weblate (Japanese)

Currently translated at 99.9% (2002 of 2004 strings)

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

Translated using Weblate (Italian)

Currently translated at 99.0% (1985 of 2004 strings)

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

Translated using Weblate (French)

Currently translated at 96.2% (1928 of 2004 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (2004 of 2004 strings)

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

Translated using Weblate (German)

Currently translated at 96.4% (1933 of 2004 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (2004 of 2004 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 99.6% (2000 of 2008 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.4% (1976 of 2008 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 96.2% (1932 of 2008 strings)

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

Translated using Weblate (Turkish)

Currently translated at 99.9% (2006 of 2008 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (2008 of 2008 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 97.4% (1957 of 2008 strings)

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

Translated using Weblate (Polish)

Currently translated at 96.3% (1935 of 2008 strings)

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

Translated using Weblate (Korean)

Currently translated at 99.3% (1995 of 2008 strings)

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

Translated using Weblate (Japanese)

Currently translated at 99.9% (2006 of 2008 strings)

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

Translated using Weblate (Italian)

Currently translated at 99.0% (1989 of 2008 strings)

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

Translated using Weblate (French)

Currently translated at 96.2% (1932 of 2008 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (2008 of 2008 strings)

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

Translated using Weblate (German)

Currently translated at 96.4% (1937 of 2008 strings)

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

* Translated using Weblate (Romanian)

Currently translated at 100.0% (2008 of 2008 strings)

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

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

* Translated using Weblate (Dutch)

Currently translated at 100.0% (2004 of 2004 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (2004 of 2004 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (2004 of 2004 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (2004 of 2004 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (2004 of 2004 strings)

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

* Translated using Weblate (Chinese (Traditional))

Currently translated at 99.6% (1996 of 2004 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.4% (1972 of 2004 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 96.2% (1928 of 2004 strings)

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

Translated using Weblate (Turkish)

Currently translated at 99.9% (2002 of 2004 strings)

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

Translated using Weblate (Russian)

Currently translated at 99.9% (2002 of 2004 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (2004 of 2004 strings)

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

* Translated using Weblate (Russian)

Currently translated at 100.0% (2004 of 2004 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (2004 of 2004 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (2004 of 2004 strings)

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

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.3% (1970 of 2004 strings)

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

* Translated using Weblate (Turkish)

Currently translated at 100.0% (2004 of 2004 strings)

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

Translated using Weblate (Turkish)

Currently translated at 100.0% (2004 of 2004 strings)

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

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.4% (1972 of 2004 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2004 of 2004 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (2004 of 2004 strings)

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

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2004 of 2004 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2004 of 2004 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2004 of 2004 strings)

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

Co-authored-by: Viorel-Cosmin Miron <cosmin@uhlhost.net>
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: Alexey Napalkov <flynbit@gmail.com>
Co-authored-by: rodrigocorsi <rodrigocorsi@gmail.com>
Co-authored-by: Kaya Zeren <kayazeren@gmail.com>
Co-authored-by: Mattermost Weblate Notify Bot <dev-ops@mattermost.com>
Co-authored-by: Elias  Nahum <elias@mattermost.com>
2020-08-11 16:37:10 +02:00
Farhan Munshi
101c6c7c01 [MM-27623] Add new session prop for oauth (#15221)
* Add new session prop for oauth

* Make it isOAuthUser to differentiate better

* Fix up caps

* Fix tests

* Add tests for IsOAuthUser
2020-08-11 10:24:26 -04:00