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

430 Коммитов

Автор SHA1 Сообщение Дата
Jesús Espino
c9d49536f8 Adding SetFileSearchableContent plugin API endpoint (#24355)
* Adding SetFileSearchableContent plugin API endpoint

* Fixing CI problems

* Fixing CI problems

* Fixing CI problems

* Fixing CI problems

* Fixing CI problems

* Exposing it to the public API

* Fix CI problems

* Adding SetSearchableContent to the pluginapi File struct
2023-08-30 13:43:40 -07:00
Harrison Healey
fd74208af1 Move .editorconfig to repo root (#24398)
* Move .editorconfig to repo root

* Add yaml formatting to .editorconfig
2023-08-30 16:29:07 -04:00
Agniva De Sarker
b84236d555 MM-49627: Suppress transformation of embedded images via image proxy (#24401)
There was no check for embedded images which made "copy text" paste
the siteURL instead of the actual image content.

This does not change the behavior of actually rendering the image
which is how other sites behave as well.

https://mattermost.atlassian.net/browse/MM-49627
```release-note
NONE
```
2023-08-30 22:33:42 +05:30
Agniva De Sarker
fc9a9d1d41 MM-53410: Avoid antijoin for channelstore.channelSearchQuery (#24400)
https://mattermost.atlassian.net/browse/MM-53410
```release-note
NONE
```
2023-08-30 21:10:01 +05:30
Devin Binnie
a3b194581f [MM-37984] Allow Desktop App to authenticate via external providers outside of the app on supported servers (#24140)
* [MM-37984] Allow Desktop App to authenticate via external providers outside of the app on supported servers

* PR feedback

* Add support for mattermost-dev protocol for development use

* Update server/channels/db/migrations/postgres/000110_create_desktop_tokens.up.sql

* Fix silly typo

* Update server/channels/db/migrations/postgres/000110_create_desktop_tokens.up.sql

* Remove storage of client token, only validate it on the client

* Update migrations

* Add concurrently create index

* Remove CONCURRENTLY for now

* Fix issue with changing history

* Remove old migration

* Use idempotent statement to drop old index

* Remove reference to old table
2023-08-30 11:21:43 -04:00
kaakaa
20fa5e6f6f Translated using Weblate (Japanese)
Currently translated at 99.9% (2463 of 2464 strings)

Translation: mattermost-languages-shipped/mattermost-server-monorepo
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server-monorepo/ja/
2023-08-30 15:30:26 +02:00
Hosted Weblate
9c2688a036 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

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

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: mattermost-languages-shipped/mattermost-server-monorepo
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server-monorepo/
2023-08-30 15:30:26 +02:00
Ben Schumacher
983a965cb7 [MM-52088] Fix flaky draft tests (#24405) 2023-08-30 12:52:37 +02:00
Matthew Dorner
5de1e306de Add UserHasBeenDeactivated plugin hook (#20894)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2023-08-30 08:55:20 +02:00
Scott Bishel
f35291169c Add config setting to set default User Setting for filter join/leave message (#24047)
* initial submit, join/leave message

* i18n-extract

* additional changes for client config

* add unit tests

* fix unit tests

* change tests to use string not bool

* more unit test fixes

* add and fix unit tests

* revert package-lock

* update unit tests

* Update default_config.ts

* fix unit test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-08-29 12:30:16 -06:00
Amy Blais
fe4a77498a Update supported Chromium version (#24413)
Automatic Merge
2023-08-29 20:57:35 +03:00
Caleb Roseland
457dc7e7b9 MM-53683: Remove people product flag (#24387) 2023-08-29 11:26:58 -05:00
Miguel de la Cruz
fa9d0de478 Fixes config path for config-ldap and config-reset make targets (#24383) 2023-08-28 15:10:38 -06:00
Mario Vitale
895150050f CLD-6206 - Mirror node 18 images (#24385)
* Mirror node 18 images
* Pin node 18 image version
2023-08-28 15:26:44 +02:00
Ben Schumacher
4790a60369 Fix gotestsum configuration for mmctl tests (#24354) 2023-08-28 14:01:14 +02:00
Doug Lauder
84b52333c1 MM-53165 Add X-Forwarded-For header to audit for rest api calls (#24390)
* Add X-Forwarded-For header to audit for rest api calls

* fix unit test
2023-08-28 07:24:55 -04:00
Scott Bishel
0a499770e6 Add additional unit test for bot/user access (#24206)
* add unit test

* add unit test

* add unit test

* update additional test
2023-08-28 11:59:42 +02:00
mattermod
ab542c4dff Update latest version to 8.1.0 2023-08-28 07:22:30 +00:00
Julien Tant
9d569df9b4 [MM-22133] Allow exporting and importing archived channels (#23724) 2023-08-25 17:55:47 -07:00
Elias Nahum
f787fd6336 Sanitize user in update user response (#24362) 2023-08-25 19:31:48 -04:00
Caleb Roseland
818225dffe MM-52981, MM-53559: Streamlined in-product marketplace (#24311) 2023-08-25 14:39:25 -05:00
Caleb Roseland
d57581d01e Upgrade & verify prepackaged plugins in prep for remote marketplace decommissioning. (#24336) 2023-08-25 13:26:37 -05:00
Hosted Weblate
7d98f0c9d2 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

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

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: mattermost-languages-shipped/mattermost-server-monorepo
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server-monorepo/
2023-08-25 14:48:12 +02:00
Tom De Moor
84e17bc134 Translated using Weblate (Dutch)
Currently translated at 99.9% (2464 of 2465 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (5648 of 5648 strings)

Translation: mattermost-languages-shipped/mattermost-webapp-monorepo
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp-monorepo/nl/
2023-08-25 14:48:12 +02:00
Mattermod
5edba9c019 Update minor version to 9.0.0 (#24364)
Automatic Merge
2023-08-24 21:57:35 +03:00
Christopher Poile
69c11cfe14 MM-53924 - Implement push notifications plugin hook and plugin api method (#24350)
* Revert "MM-52804 - Implement SendPushNotification plugin api method (#24273)"

This reverts commit 8418eefb75.

* Revert "MM-53924 - Implement NotificationWillBePushed plugin hook (#24263)"

This reverts commit f13a531bca.

* implement NotificationWillBePushed plugin hook

* implement SendPushNotification plugin api method

* move where we're setting post and channel type

* fix comment

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-08-24 12:33:53 -04:00
Jesse Hallam
12f84cdf63 Pre-package Playbooks v1.38.1 (#24300)
Automatic Merge
2023-08-24 15:27:35 +03:00
Ibrahim Serdar Acikgoz
639d73b3e7 api4/user: Deduplicate userids for getUsersByIds endpoint (#24344) 2023-08-24 15:14:01 +03:00
Scott Bishel
f46694037d update prepackaged boards to v7.11.3 (#24330)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-08-24 10:05:03 +02:00
Agniva De Sarker
555009aa82 Bumping up migration number to 111 (#24341)
PR https://github.com/mattermost/mattermost/pull/24039 was reverted
which left an erroneous migration 110. So to workaround this,
we create a new migration with number 111.

```release-note
NONE
```
2023-08-23 21:15:53 +05:30
Agniva De Sarker
5fc794eb17 Bumping up our Grafana/Prom dev docker image (#24337)
We were using 8.x version of Grafana which was quite old.
Pinning Prom image to latest stable as well following our
other images.
```release-note
NONE
```
2023-08-23 14:10:24 +05:30
Ben Schumacher
2108517fae [MM-54014] Run tests in public/... (#24320) 2023-08-22 12:48:53 +02:00
Ibrahim Serdar Acikgoz
d9af86f3ac migration: preserve index names and a couple of fixes (#24296) 2023-08-22 12:57:40 +03:00
Ben Schumacher
ef89e9601c [MM-54183] Remove deprecated Manifest.RequiredConfig field (#24319) 2023-08-22 10:39:27 +02:00
Matthew Straughn
2e449413e8 fixed initialism errors in accordance with golang conventions in 7 files. (#24287) 2023-08-22 10:15:51 +03:00
Ben Schumacher
4ed3dc81bc Run make modules-tidy (#24321) 2023-08-22 09:15:05 +02:00
Agniva De Sarker
5c33f51b03 Add missing return (#24288)
```release-note
NONE
```
2023-08-21 16:53:36 -04:00
Agniva De Sarker
dd73c2af0f MM-53879: Fix recursive loading of license (#24200)
There were multiple problems with loading of a license.

1. It was called from inside app/server.go and app/platform/service.go. The first one wasn't really needed anymore, so we remove it.

2. To make loading of a license work across a cluster, the license load action was attached along with the `InvalidateAllCachesSkipSend` method. But the problem with that was that it would even get called in the caller node as well, putting it in a recursive loop.

```
LoadLicense -> SaveLicense -> InvalidateAllCaches -> InvalidateAllCachesSkipSend -> LoadLicense
```

To fix this, we create a dedicated loadLicense cluster event and move it away from the `InvalidateAllCachesSkipSend` method. And then from the caller side, we just trigger this action.

3. We also remove the first call to check license expiration which would load the license again. This is unnecessary because if the license is expired, server wouldn't start at all.

While here, we also make some other improvements like removing unnecessary goroutine spawning while publishing websocket events. They are already handled asynchronously, so there is no need
to create a goroutine for that.

We also remove

```
ps.ReloadConfig()
ps.InvalidateAllCaches()
```

from requestTrialLicense as they are already called from inside `*PlatformService.SaveLicense`.

And lastly, we remove the `*model.AppError` return from `*PlatformService.InvalidateAllCaches` because there was nothing to return at all.

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

```release-note
Fix several issues with loading of a license
```
2023-08-21 20:17:16 +05:30
Ben Schumacher
95b76e42ad Use generics in utils.Merge (#24264) 2023-08-21 11:29:30 +02:00
Ben Schumacher
f231124f2d Update to github.com/blang/semver/v4 (#24203) 2023-08-21 11:29:12 +02:00
Ben Schumacher
3ee5432664 [MM-53968] Includes mattermost-plugin-api into the mono repo (#24235)
Include https://github.com/mattermost/mattermost-plugin-api into the mono repo

Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>
Co-authored-by: Michael Kochell <mjkochell@gmail.com>
Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Alex Dovenmuehle <alex.dovenmuehle@mattermost.com>
Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>
Co-authored-by: Christopher Poile <cpoile@gmail.com>
Co-authored-by: İlker Göktuğ Öztürk <ilkergoktugozturk@gmail.com>
Co-authored-by: Shota Gvinepadze <wineson@gmail.com>
Co-authored-by: Ali Farooq <ali.farooq0@pm.me>
Co-authored-by: Maria A Nunez <maria.nunez@mattermost.com>
Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Christopher Speller <crspeller@gmail.com>
Co-authored-by: Alex Dovenmuehle <adovenmuehle@gmail.com>
Co-authored-by: Szymon Gibała <szymongib@gmail.com>
Co-authored-by: Lev <1187448+levb@users.noreply.github.com>
Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
Co-authored-by: Agniva De Sarker <agnivade@yahoo.co.in>
Co-authored-by: Artur M. Wolff <artur.m.wolff@gmail.com>
Co-authored-by: Madhav Hugar <16546715+madhavhugar@users.noreply.github.com>
Co-authored-by: Joe <security.joe@pm.me>
Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
Co-authored-by: José Peso <trilopin@users.noreply.github.com>
2023-08-21 09:50:30 +02:00
M-ZubairAhmed
bc11b29807 Replace Gfycat with GIPHY in emoji/gif picker (#24236)
* Added the package

* design

* add styled-component alias

* add contrast ratio

* added the tab icon

* review comments

* rev comments

* key added

* key added

* trans

* Added giphy sdk test key for playwright tests config

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: maria.nunez <maria.nunez@mattermost.com>
2023-08-18 16:02:46 -04:00
Christopher Poile
8418eefb75 MM-52804 - Implement SendPushNotification plugin api method (#24273)
* add SendPushNotification plugin api method

* lint; add testing.Short bc of the sleep

* add interface and generated layers

* add fields to PluginPushNotification; generate mocks

* SendPushNotification -> SendPluginPushNotification; improved comments

* more comments; fix test

* send api.ctx
2023-08-18 13:05:26 -04:00
Christopher Poile
f13a531bca MM-53924 - Implement NotificationWillBePushed plugin hook (#24263)
* add NotificationWillBePushed hook

* mocks

* use a struct for hook parameters; simplify number of parameters sent across RPC

* missing wg.Wait

* change to a bool return value
2023-08-18 12:01:50 -04:00
Christopher Poile
7b0b0d8609 MM-53764 - Fix: Improve limits on Opengraph Data Cache (#24177)
* enforce strict opengraph cache entry size limit

* move json marshalling and error checking into parsOpenGraphMetadata fn

* fix linting

* fix potential nil deref

* Revert "fix potential nil deref"

This reverts commit 095bcd496e9b8d97ca63d3a99e2e46eec58ef7ae.

* Revert "fix linting"

This reverts commit f3e1f7b27634ca0567fd0fef01ac23f5e39009a7.

* Revert "move json marshalling and error checking into parsOpenGraphMetadata fn"

This reverts commit ba9a1e13b0fb9d4579077b7b37666e950a5fb6ed.

* Revert "enforce strict opengraph cache entry size limit"

This reverts commit d1de4a8fa40e58ac85c85f66de27ec5aca884b18.

* remove /opengraph api endpoint

* i18n

* removing unneeded action and reducer
2023-08-17 18:23:39 -04:00
Jesse Hallam
ad142c958e MM-53355: install transitionally prepackaged plugins to filestore (#24225)
* move plugin signature verification to caller

The semantics for when plugin signature validation is required are unique to the caller, so move this logic there instead of masking it, thus simplifying some of the downstream code.

* support transitionally prepacked plugins

Transitionally prepackaged plugins are prepackaged plugins slated for unpackaging in some future release. Like prepackaged plugins, they automatically install or upgrade if the server is configured to enable that plugin, but unlike prepackaged plugins they don't add to the marketplace to allow for offline installs. In fact, if unlisted from the marketplace and not already enabled via `config.json`, a transitionally prepackaged plugin is essentially hidden.

To ensure a smooth transition in the future release when this plugin is no longer prepackaged at all, transitionally prepackaged plugins are persisted to the filestore as if they had been installed by the enduser. On the next restart, even while the plugin is still transitionally prepackaged, the version in the filestore will take priority. It remains possible for a transitionally prepackaged plugin to upgrade (and once again persist) if we ship a newer version before dropping it altogether.

Some complexity arises in a multi-server cluster, primarily because we don't want to deal with multiple servers writing the same object to the filestore. This is probably fine for S3, but has undefined semantics for regular filesystems, especially with some customers backing their files on any number of different fileshare technologies. To simplify the complexity, only the cluster leader persists transitionally prepackaged plugins.

Unfortunately, this too is complicated, since on upgrade to the first version with the transitionally prepackaged plugin, there is no guarantee that server will be the leader. In fact, as all nodes restart, there is no guarantee that any newly started server will start as the leader. So the persistence has to happen in a job-like fashion. The migration system might work, except we want the ability to run this repeatedly as we add to (or update) these transitionally prepackaged plugins. We also want to minimize the overhead required from the server to juggle any of this.

As a consequence, the persistence of transitionally prepackaged plugins occurs on every cluster leader change. Each server will try at most once to persist its collection of transitionally prepackaged plugins, and newly started servers will see the plugins in the filestore and skip this step altogether.

The current set of transitionally prepackaged plugins include the following, but this is expected to change:
* focalboard

* complete list of transitionally prepackaged plugins

* update plugin_install.go docs

* updated test plugins

* unit test transitionally prepackged plugins

* try restoring original working directory

* Apply suggestions from code review

Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>

* clarify processPrepackagedPlugins comment

---------

Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>
2023-08-17 12:46:57 -03:00
Agniva De Sarker
7db5b473bb MM-54158: S3PathMigration: Re-initialize stop chan (#24286)
This got missed out in the initial PR review.

There's been only one instance of this, and that too in a spinwick
so it's not widepsread. We will cp this if we see more crashes.

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

```release-note
NONE
```
2023-08-17 19:49:40 +05:30
Jesse Hallam
b814d76488 config-reset: -tags production (#24277)
Somewhere in the build pipeline, we run `make config-reset` to generate a default `config.json` to include with the tarball. Unfortunately, this was being built without the `-tags production` signal that changes the default service environment to `production`, and in turn caused the `CWS` environment to default to testing. The trial licenses returned by the testing environment aren't compatible with the production environment, preventing new customers from starting trials by themselves.

As an immmediate workaround, customers can simply delete the `config.json` included with the tarball and start the server anew. Without any further configuration, it will correctly default to the `production` service environment and use the correct `CWS` environment.

Fix the tarball generation by adding `-tags production` to the `config-reset` Makefile target. We don't add a dev version of this for now, as it's not really needed given the server creates the right value on startup.

Fixes: https://mattermost.atlassian.net/browse/CLD-6137
2023-08-17 11:16:16 -03:00
Nathan
44f3482fee Trims whitespace from command arguments in RootCmd (#24218)
- Prevents commands from receiving potential whitespace characters
- Adds a new root test case ensuring various whitespace characters are removed

Co-authored-by: Nathan Geist <ngeist@spiria.com>
2023-08-17 10:19:09 +02:00
Daniel Espino García
7b164d4f82 Fix MM-53949 (#24237)
* Fix MM-53948

* Fix tests

* Fix missing layers
2023-08-16 10:17:52 -04:00