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

324 Коммитов

Автор SHA1 Сообщение Дата
Agniva De Sarker
c1dfdb867a MM-53709: Handle older non-encoded paths in bifrost (#24058)
We do a check to see if a non-encoded path is present
or not, and in that case, choose not to encode it.

This accrues an additional StatFile call. But after
we have encoded all paths to the new style, we will
get rid of this.

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

```release-note
NONE
```
2023-07-19 22:32:04 +05:30
Nick Misasi
0b564005cf [MM-53702] Remove Downgrade Team Selection modal and all accompanying logic (#24059)
* Remove Downgrade Team Selection modal and all accompanying logic

* fix linter

* Fix i18n

* Final pipeline fixes
2023-07-19 09:35:14 -04:00
Sinan Sonmez (Chaush)
628273d98d MM42267: Add member count in the browse channel modal (#23800)
* add base for calling the endpoint

* add endpoint and handler

* update store and layers

* call the endpoint

* align types

* update app layers

* generate mocks

* complete handler

* finish store query

* add todos

* add ui for member count

* add selector

* add a todo

* add cache layer

* optimize calls in FE

* handle invalidation of the cache

* fix go style

* fix test

* use existing channel layer count

* fix import error

* delete unnecessary code

* write tests for channel cache layer

* fix testname

* fix mocks

* fix cache layer test

* fix a test

* really fix the test

* write more tests for server

* address PR comments

* remove comment

* rename more_channels to browse_channels

* fix style

* update snapshot

* add translations

* Revert "add translations"

This reverts commit 56476a5dabe357703ef02be9a38b3e88f5c8b1e7.

* add only related translations

* address PR review points

* add test

* fix test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-19 11:45:27 +05:30
Miguel de la Cruz
4803889158 Improves notify props validation (#24031)
* Adds the channel member notify props max runes restriction

* Fix translations
2023-07-18 17:25:11 +02:00
Agniva De Sarker
3c31629813 MM-53669: Use the cache layer for EmojiStore.GetMultipleByName (#24030)
There was already a cache present for emoji names. But we weren't using
it for the GetMultipleByName method. Now we implement that method
to look up the cache for every emoji name passed.

Secondly, a bigger problem was that we were making the DB call for system
emojis as well. Since system emojis aren't stored in the DB, it would
fall through the cache layer and always make a redundant DB call. In the
profiles, this should up as taking 16% of the total time to serve
a getPostsForChannel API endpoint.

We fix this by filtering the emojis to only custom emojis
before making the call.

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

```release-note
NONE
```
2023-07-18 20:27:48 +05:30
Devin Binnie
a6a9664e53 [MM-53192] Patch Show Full Name issue in Insights team_members API (#24027)
* [MM-53192] Patch full name leak in Insights team_members API

* Update server/channels/app/team.go

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

---------

Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
2023-07-18 09:41:16 -04:00
Miguel de la Cruz
150c6e7aef Remove boards product references (#23855)
Automatic Merge
2023-07-18 15:17:29 +03:00
mattermod
62495f16bd Update latest version to 8.0.0 2023-07-18 08:19:15 +00:00
Devin Binnie
823ef27d6c Revert "[MM-37984] Allow Desktop App to authenticate via external providers outside of the app on supported servers (#23795)" (#24039)
This reverts commit abdf4e58c3.
2023-07-17 10:54:53 -04:00
Ibrahim Serdar Acikgoz
38fd8cd6aa tools/mmgotool: move into monorepo (#24010) 2023-07-17 16:15:58 +03:00
Agniva De Sarker
b20ef95b91 MM-42810: Introduce a channel hook for a websocket event (#23812)
Sometimes a broad distinction of just a channelID or a userID
is not enough to efficiently send a websocket event to users.

In several cases, depending on the user and channel, we might
need to modify the message. Therefore, we introduce the
concept of a channel hook that will get executed if the scope
is set to a channel. This hook can be populated at the app layer
to perform any application specific logic to the event.

Care must be taken to avoid race conditions as the passed event
is not deep copied. It is left to the user to treat it carefully.

For this issue, the main problem was that since we don't know
which users have permissions to which channels, we had to go through
_all_ members of a channel to figure that out. This was redundant
since a large portion of those users might not even be connected
at that time.

We solve this with the channel hook where we push this check
to be performed later while actually sending the event. This
reduces the computation to be done only for _connected_ users
rather than _all_ users of a channel.

The next iteration of this should be to use websocket subscriptions
to monitor exactly which users are on that channel to even
trim down that list. That is a larger initiative to be taken later.

Tested locally with a channel of 50 users. Here are rough results:
```
With PR:
patchPost 97ms
createPost 90ms

Master:
patchPost 306ms
createPost - 298ms
```

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

```release-note
Improve  performance while sending messages
with permalinks to channels with large number of users.
```
2023-07-15 08:14:16 +05:30
Mattermod
40ff77c9c6 Update minor version to 8.1.0 (#24016)
Automatic Merge
2023-07-13 20:17:29 +03:00
Scott Bishel
993ce5a5cc prepackage boards v7.11.1 (#23991)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-13 15:50:26 +02:00
mattermod
1f235ba064 Update latest version to 7.10.4 2023-07-13 10:19:19 +00:00
Doug Lauder
a8244e9d10 MM-53147 Support for embedding Mattermost in an MSTeams iframe (#23776)
* add teams to allowed frame-ancestors

* fix unit tests

* set SameSite attribute for session cookie

* further restrict ancestors

* skip landing page if in iframe

* Only set cookie SameSite=None if embedded in iframe

* don't set MMEMBED cookie on landing page (check only)

* fully parse MMEMBED cookie

* add comment

* more comments

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-12 17:55:13 -04:00
Ibrahim Serdar Acikgoz
51c6e77972 [MM-53407] server/user_store: avoid antijoin for AnalyticsActiveCount query (#23993) 2023-07-12 17:40:34 +03:00
Devin Binnie
abdf4e58c3 [MM-37984] Allow Desktop App to authenticate via external providers outside of the app on supported servers (#23795)
* WIP

* Add rate limiting for desktop token API

* Missing mocks

* Style fixes

* Update snapshots

* Maybe use an actual redirect link :P

* Refactoring for tests

* Add tests for server

* Fix lint issue

* Fix tests

* Fix lint

* Add front-end screen component

* Component logic

* Style changes

* Quick style fix

* Lint fixes

* Initial PR feedback

* Enable logging into the browser as well when completing the login process

* Refactor to push more logic to the other component

* Remove unnecessary helper code

* Fix i18n

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-12 09:25:05 -04:00
Scott Bishel
f45f774ece update for guest demotion and sysadmin edits (#23920)
* update for guest demotion and sysadmin edits

* update unit test

* update unit test

* use existing disabled flag

* remove commented line

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-11 16:10:44 -06:00
Devin Binnie
116728424c [MM-53124] Add optional Forgot Password custom link to override the default flow on the login page (#23831)
* [MM-53124] Add optional Forgot Password custom link to override the default flow on the login page

* Fix i18n

* Fix test

* Added the enable/disable flag

* Fix test

* Fix e2e

* Add blockable link for the Customization navigation
2023-07-11 09:04:39 -04:00
Scott Bishel
30140c0a27 MM-53098 Fix for checking bot and user permissions on shared endpoints (#23751)
* temp commit

* update test to allow bot creation

* add bot check to updateUser and deleteUser

* add more unit tests

* lint fixes

* lint fix

* update based on doc

* add more unit tests

* lint fixes

* fix unit tests

* fix unit tests

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-10 13:28:40 -06:00
Agniva De Sarker
da3d5c73fe MM-53406: Fix userstore.count to avoid antijoin (#23953)
For MySQL, a query for type LEFT JOIN .. IS NULL
leads to a nested antijoin which leads to poor performance.

We fix this by rewriting the query to avoid the antijoin.

See the JIRA epic for more context behind this.

We also make another improvement to remove the DISTINCT
clause. It didn't serve any purpose since userids would
already be unique.

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

```release-note
NONE
```
2023-07-10 10:19:44 +05:30
Agniva De Sarker
49e1d039f5 Reduce number of calls to IsCRTEnabled (#23963)
In a single createPost flow, there were
3 separate calls to App.IsCRTEnabled. This
showed up very slightly in the CPU profiles.

Not a big deal, but good to get it out of
the way.

```release-note
NONE
```
2023-07-10 10:18:55 +05:30
Christopher Poile
b5a3eee739 calls -> v0.17.0 (#23975) 2023-07-09 20:41:45 -06:00
Maria A Nunez
96d3e5864f Removed Post Priority feature flag (#23735)
* Removed post priority feature flag

* linting

* Update feature_flags.go
2023-07-07 11:42:57 -04:00
Jesse Hallam
dd4f71b2b6 add Apache 2.0 license to public submodule (#23945) 2023-07-07 10:56:42 -03:00
Maria A Nunez
5779bd49d5 Remove Global Drafts Feature Flag (#23767)
* Remove global draft feature flag

* More removal - in progress

* Removed the rest in webapp

* Removed the rest in webapp

* Fix tests

* Update feature_flags.go

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-05 12:18:30 -04:00
Ben Cooke
bf0e0ed45a [MM-53466] Remove concurrency from data retention delete batching (#23927)
* Add TimeBetweenBatches config value for data retention

* adding feature flag for data retention concurrency
---------

Co-authored-by: Julien Tant <julien@craftyx.fr>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-05 11:09:03 -04:00
Agniva De Sarker
15eac83923 MM-52646: Fix data race on product notices (#23910)
The UpdateProductNotices method runs in a separate goroutine
which modifies a global structure called noticesCache.
This creates race condition when one test finishes
but the goroutine hasn't finished running.

To fix this, we simply prevent the spawning of the goroutine
by disabling the feature in the config.

Ideally, we'd not have global state in the first place.
But that's a separate matter.

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

```release-note
NONE
```
2023-07-05 20:36:14 +05:30
Agniva De Sarker
33565dc118 MM-52168: Bump dependencies (#23917)
https://mattermost.atlassian.net/browse/MM-52168

```release-note
NONE
```
2023-07-05 09:08:36 +05:30
Jesse Hallam
8abc8ed65c MM-53358: Revert Threads Everywhere (#23882)
Remove changes related to the unshipped threads everywhere feature, including commits b8da473da7 and 9f9e19e05d.

Since a version of Playbooks shipped calling this experimental API, keep a `nil` implementation to avoid breaking compatibility. We remove the hooks altogether, but keep the numbering again to avoid breaking compatbility.

Fixes: https://mattermost.atlassian.net/browse/MM-53358
2023-06-30 15:31:25 -03:00
Jesse Hallam
c506e01a97 server: automatically retry CI testing failures (#23820)
* server: --rerun-fails=3 for test-server(-race)?

* --rerun-fails=3 for IS_CI=true and -race as well
2023-06-30 15:00:37 -03:00
Agniva De Sarker
d9a28c1244 MM-52532: Fix golangci warnings for public module (#23918)
https://mattermost.atlassian.net/browse/MM-52532

```release-note
NONE
```
2023-06-30 20:12:56 +05:30
Scott Bishel
d74ee1a3da don't allow deletedAt to be set when creating user (#23914) 2023-06-30 10:10:10 -04:00
Daniel Espino García
fda5dd8468 Remove guest badge (#23825)
* Remove guest badge

* Address feedback

* Fix lint, test and i18n

* Fix test
2023-06-30 11:06:18 +02:00
Harshil Sharma
05cd245e97 Fixed a bug that prevent post deletion (#23908)
* Fixed a bug that prevent post deletion

* lint fix:
2023-06-30 10:29:27 +05:30
Agniva De Sarker
29466bd33a MM-53452: Skipping some flaky tests (#23911)
https://mattermost.atlassian.net/browse/MM-53452

```release-note
NONE
```
2023-06-29 22:23:46 +05:30
Jesse Hallam
53731f95ff Pre-package Playbooks v1.37.0 (#23880) 2023-06-29 10:49:48 -03:00
Miguel de la Cruz
4b1a37137d Disable skipping SendNotifyAdminPosts test (#23874) 2023-06-29 13:23:35 +02:00
Sinan Sonmez (Chaush)
385bf19972 Update testlibrary helper.go to reflect Monorepo (#23848) 2023-06-29 11:32:25 +03:00
Ben Schumacher
c6916c7047 Bump Apps plugin version to 1.2.2 (#23622) 2023-06-29 09:26:33 +02:00
Doug Lauder
9d6d8cceec Fix mismatched receiver name on method PostMetadata.Auditable (#23904) 2023-06-28 15:31:51 -04:00
Miguel de la Cruz
dcb9fb9f29 Set license for group mentions flaky test (#23873) 2023-06-28 10:51:32 +02:00
Maria A Nunez
4e92dde5b3 Remove Permalink Preview Feature Flag (#23731)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-06-27 17:42:55 -04:00
Scott Bishel
4e0c9eb163 Prepackage boards v7.11.0 (#23844) 2023-06-27 11:31:29 -06:00
Agniva De Sarker
71c5a8512c MM-51753: URL encode the file path in S3 uploads (#23849)
If the request is routed via bifrost, then we need to encode the path
to avoid signature validation errors.
This happens because in bifrost, we are signing the URL outside the SDK
and therefore the signature sent from the bifrost client
will contain the encoded path, whereas the original path is sent un-encoded.

More info at: a57c4d9278/aws/signer/v4/v4.go (L8)

https://mattermost.atlassian.net/browse/MM-51753
```release-note
NONE
```
2023-06-27 09:54:53 +05:30
Pablo Andrés Vélez Vidal
e8349545b8 MM-53087 - remove AB test for reduced onboarding task list item (#23856) 2023-06-26 21:41:25 +02:00
Ibrahim Serdar Acikgoz
8fe4c5376f update ES to 7.17.10 and enable ARM images through our own repository (#23851) 2023-06-26 21:00:48 +03:00
Pablo Andrés Vélez Vidal
887ba95cc1 MM-53088 - remove autoshow linked board (#23783)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-06-26 14:13:14 +02:00
Felipe Martin
cad2df1259 [MM-52943] fix: enable Elasticsearch properly on restart (#23806)
* fix: enable elasticsearch properly on restart

* use correct method under IsEnabled

* Empty-Commit to retrigger workflow

---------

Co-authored-by: Antonis Stamatiou <stamatiou.antonis@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-06-23 14:59:56 +02:00
Ben Schumacher
fe8d66bc98 [MM-53254] Fix make pluginapi (#23803) 2023-06-23 12:24:52 +02:00