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

359 Коммитов

Автор SHA1 Сообщение Дата
Agniva De Sarker
45a14e23a9 MM-53228: Adding schema version to cluster info (#24209)
With the schema version available, a job can query for
the cluster info to confirm whether or not all nodes
in a cluster are upgraded to the same version or not.

This will help it in determining whether to start
the job or not.

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

```release-note
NONE
```
2023-08-10 09:40:49 +05:30
Jian Lim
ace88288f0 Update to github.com/golang-jwt/jwt/v5 (#24208)
* Update to github.com/golang-jwt/jwt/v5

* Update server/channels/app/platform/license.go

Co-authored-by: Juho Nurminen <juhonurm@gmail.com>

---------

Co-authored-by: Juho Nurminen <juhonurm@gmail.com>
2023-08-10 00:39:01 +05:30
Jesse Hallam
7818d5a348 plugins: further logging tweaks, fixes (#24229)
Fix a logging issue for prepackaged plugins error handling trying to reference a `nil` pointer.

Relates-to: https://mattermost.atlassian.net/browse/MM-53355
2023-08-09 11:54:41 -03:00
Ben Schumacher
122dbaf373 [MM-40531] Remove deprecated ManifestExecutables struct (#24212) 2023-08-09 10:36:12 +02:00
Ben Schumacher
7ecf6c0b5c [MM-53943] Remove deprecated UserAuth.Password field (#24213) 2023-08-09 10:35:53 +02:00
Jesse Hallam
8372267739 MM-53355: tidy up plugins (#24194)
* remove feature flag managed plugins

* remove unneeded plugin blocklist

* remove unnecessary wrappers

* documentation and logging improvements

* avoid use of global logger
* leverage wrapped loggers (e.g. consistently log `plugin_id`)
* promote some logs from `Debug` to `Info` for better visibility.
* extract installPluginToFilestore
* rename some variables for consistency / clarity

* make generated
2023-08-08 18:29:57 -03:00
Jesse Hallam
e39b485c4b Fail vs. fatal on store startup (#24170)
If the store fails to initialize (e.g. run a migration), it would `log.Fatal` and then `os.Exit`. Unfortunately, this trips up `TestMain`, which happily keeps running tests, now guaranteed to fail.

Avoid this by instead returning an error from the store initialization, handling appropriately at the layer above.
2023-08-04 23:05:01 -03:00
Jesse Hallam
c030bb44f5 MM-53905: Skip racy test testGetUptoNSizeFileTime (#24173) 2023-08-04 13:27:08 -03:00
Christopher Poile
7bca8b11d2 calls -> v0.18.0 (#24186) 2023-08-04 08:35:59 -06:00
Jesse Hallam
d9edb84523 Revert s3 path prefix normalization for plugins (#24184)
This reverts 0af0a4eff4. During the [implementation](https://github.com/mattermost/mattermost/pull/15910) we [discussed](https://github.com/mattermost/mattermost/pull/15910#issuecomment-705925227) fixing the underlying issue. When we did [fix](https://github.com/mattermost/mattermost/pull/15949) the underlying issue, we didn't revert these changes.

Revert it now to simplify the code.
2023-08-04 11:24:53 -03:00
Jesse Hallam
885802eae7 Updated API Code Samples (#24141)
* api: remove PHP code samples

* api: remove Curl code samples

* api: remove Go code samples

* link out to marketplace exclusively for community-built drivers

* absolute path to V4_SRC

* programmatically extract x-codeSamples

* initial batch of examples

* Update api/server/main.go

Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>

* Update api/server/main.go

Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>

* Update api/server/main.go

Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>

* updated examples

---------

Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>
2023-08-03 12:45:10 -03:00
Julien Tant
d1691833ad [MM-53881] Make sure export filestore won't use bifrost (#24169) 2023-08-02 09:44:20 -07:00
Agniva De Sarker
ce92ab7e1c Update vacuuming parameters for some tables (#23997)
After some analysis of vacuuming statistics of our large
Postgres customers, it was observed that the default vacuuming
thresholds for some tables are not optimal enough for our workload.

We need more frequent vacuuming for some tables. The analysis
showed that the top 4 tables that needed rectification
were posts, preferences, threadmemberships and fileinfo.

So we reduce the threshold by half for those tables, triggering
autovacuum and autoanalyze doubly often.

```release-note
NONE
```
2023-08-02 21:18:18 +05:30
Jesse Hallam
933b0eb89c MM-53877: fix export config settings (#24167)
* wip test

* test and use Export* config correctly
2023-08-02 10:24:52 -03:00
Jesse Hallam
62d49350e5 API Updates (#24105)
* fix missing /api/v4 prefix for commands autocomplete suggestion

* document /api/v4/ldap/users/{user_id}/group_sync_memberships

* document /api/v4/groups/{group_id}/restore

* fix /files/{file_id}/public actually at root

* document /api/v4/users/invalid_emails
2023-08-01 21:47:37 -03:00
Elias Nahum
aa88f8bf59 Add read_channel_content permission (#24118)
* Add read_channel_content permission

* fix tests

* update system console default permissions per role

* add read_channel_content to e2e defaultRolesPermissions

* Migration to include custom roles

* change deprecated isNotExactRole for isNotRole

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-31 09:12:53 -04:00
Claudio Costa
a47af39d80 Include connection ID in webconn related logs (#24143) 2023-07-27 08:24:39 -06:00
mattermod
d7697f3b39 Update latest version to 8.0.1 2023-07-27 11:56:22 +00:00
Agniva De Sarker
b47754e268 MM-53747: Do not start if job is in-progress as well. (#24115)
We missed this out last time. It's possible in an HA
scenario for a second pod to start later while the other
job is in-progress. In that case, it would schedule
two jobs.

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

```release-note
NONE
```
2023-07-26 20:32:50 +05:30
Jesse Hallam
9b05bfa8dc Pre-package Playbooks v1.38.0 (#24106) 2023-07-25 22:22:47 -03:00
3kami3
5b3833839e Fixed missing zoneinfo (#23759) (#23760)
* added tzdata
* set noninteractive installation

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-25 17:32:49 +02:00
Ibrahim Serdar Acikgoz
2a4de2eecc Revert "Add read_channel_content permission (#24018)" (#24114)
This reverts commit a19ce047ba.
2023-07-25 13:17:58 +03:00
Harshil Sharma
26617fcbdc Remove insights (#23952)
* removed server side

* Updated store layer

* unused import

* Updated autogenerated code template

* Updated tests

* lint fix

* unused translations

* webapp side

* Updated i18n

* lint fix:

* type fix

* Updated snapshots

* Removed insights from API specs

* updated e2e

* Updated e2e tests

* Updated e2e tests

* Removed insights tests

* Removed Insights as possible channel to load in sidebar from test

* Removed more insights tests

* More e2e fixed

* More cleanup

* Lint

* More cleanup in client4 and boards api

* More cleanup

* Fixes

* lint fix

---------

Co-authored-by: maria.nunez <maria.nunez@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-25 12:34:38 +05:30
Agniva De Sarker
6d6e589c11 MM-53747: Create job to encode older image paths (#24073)
Bifrost now encodes all image paths. Due to this
one-way translation, we need to encode all the older
image paths as well.

After this is done, we can remove the double-lookup.

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

```release-note
NONE
```

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-25 08:38:35 +05:30
Agniva De Sarker
29bd0c9357 Revert "MM-42810: Introduce a channel hook for a websocket event (#23812)" (#24107)
Automatic Merge
2023-07-24 19:16:57 +03:00
Elias Nahum
a19ce047ba Add read_channel_content permission (#24018)
* Add read_channel_content permission

* fix tests

* update system console default permissions per role

* add read_channel_content to e2e defaultRolesPermissions

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-24 09:37:59 -04:00
Jesse Hallam
89e65257a6 Remove command palette POC (#24044)
* Revert "POC: Cross-team recent search (#20027)"

This reverts commit aa59c28b04, preserving
a few code tidyings unrelated to the original PR.

* Revert "Add feature flag for command palette (#20011)"

This reverts commit c78c5ce3f3.
2023-07-24 10:31:06 -03:00
Scott Bishel
0c4ac8b201 prepackage boards v7.11.2 (#24085)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-24 11:49:12 +02:00
Alejandro García Montoro
dbf63214ac Fix duplicated channel's name error (#24080)
* Fix duplicated channel's name error

* Test the SQL store layer instead of the API layer

* Remove unused variable and query
2023-07-24 11:04:54 +02:00
Harshil Sharma
f1468a1958 Renamed channel index fix migration key (#24061)
Automatic Merge
2023-07-21 23:16:56 +03:00
Agniva De Sarker
feeb0cd2ef MM-53747: Bifrost: write original paths (#24079)
Now that we have identified the true fix
from Bifrost side, we will slowly revert
the changes that have happened.

Starting with this first fix, we will revert
to writing out non-encoded paths while still
doing the double read. This will break uploading
files with + for a short while, and then
the new Bifrost fix should fix that as well.

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

```release-note
NONE
```
2023-07-21 08:59:59 +05:30
Ibrahim Serdar Acikgoz
a307fd9da3 [MM-53408] server/user_store: avoid antijoin for IsEmpty query (#23966) 2023-07-20 18:50:28 +03:00
Jesse Hallam
6c821c8b13 drop public submodule replace directive (#24045)
* drop public submodule replace directive

During development of the public/ submodule, a replace directive remained that was both unnecessary and harmful as discussed in https://community.mattermost.com/private-core/pl/w77sh7igwpfb9ecj5o4jjjbbyo.

Remove that, and bump the explicit dependency (even though we use go.work) to v0.0.6 so the import paths match (e.g. `mattermost` vs `mattermost-server`).

* make modules-tidy

* consistently setup-go-work

* fix build-api-spec

* fix mmctl test template

* fix workflow copy/paste typo
2023-07-20 10:45:06 -03:00
Julien Tant
077c16ef61 [MM-53454] Add export file settings + slash command for public link (#23915)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-19 13:01:39 -07:00
Amy Blais
4baea52111 Update en.json (#23796)
Automatic Merge
2023-07-19 21:34:25 +03:00
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