Commit Graph

16559 Commits

Author SHA1 Message Date
Agniva De Sarker
94de9c8175 MM-52352: Limit channel search results (#23070)
https://mattermost.atlassian.net/browse/MM-52352

```release-note
NONE
```
2023-04-22 10:14:54 +05:30
Nathaniel Allred
54db770811 Mm 51788 non-admins do not trigger a request to fetch stripe customer in cloud instances (#22821)
* do not query for customer if not a cloud admin
2023-04-21 12:31:27 -05:00
Agniva De Sarker
67735be261 MM-52216: Trim errors (#23040)
https://mattermost.atlassian.net/browse/MM-52216
```release-note
NONE
```
2023-04-21 22:23:56 +05:30
Miguel de la Cruz
041cbe2d24 Updates the check for the schema_migrations information (#23032)
The old check was using `sq.Eq`, which replaces its values with
strings, and for the case of `table_schema` we want to call a
function.
2023-04-21 10:44:52 +02:00
Vishal
344e882f04 Replace string concatenation with StringBuilder (#23021) 2023-04-21 11:55:04 +05:30
Julian Mondragón
f58648d493 MM-52161_The Marketplace modal has some display issues (#23011) 2023-04-20 14:46:38 -05:00
Harrison Healey
1cee3b7987 Add Makefile target to update development Docker container configuration (#22813)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-04-20 14:34:36 -04:00
Alejandro García Montoro
87908bc577 MM-51095: Foundation for ESR upgrade scripts (#22448)
* Add ESR upgrade migration and CI job to verify it

The script was generated as a simple concatenation of migrations in the
interval [54, 101] through:
    files=`for i in $(seq 54 101); do ls mysql/$(printf "%06d" $i)*up.sql; done`
    tail -n +1 $files > ../esrupgrades/esr.5.37-7.8.mysql.up.sql

The CI job runs the migration both through the server and the script,
and for now uploads the dumps generated for manual inspection. An
automatic check for differences is still needed.

* Remove debug print in script

* Fix idx_uploadsessions_type creation

* Ignore tables db_lock and db_migration on dump

* Split workflow in two parallel jobs

* Diff dumps and upload the result

* Add cleanup script

* Use DELIMITER in the script to use mysql CLI

This allows us to remove the complexity of using a different Go script
inside a Docker image.

* Standardize Roles between migrations

Document and cleanup code.

* Upload diff only if it is not empty

* Trigger action only when related files change

* Add a global timeout to the job

* Generalize ESR to ESR upgrade action (#22573)

* Generalize action

* Use logs to ensure migrations are finished

* Add migrations from 5.37 to 6.3

* Remove tables in cleanup script, not through dump

* Add initial-version input to common action

* Add migration from 6.3 to 7.8

* Remove action debug line

* ESR Upgrade: One procedure per table in the v5.37 > v7.8 upgrade script (#22590)

* Squash Users-related migrations in one query

* Squash Drafts-related migrations in one query

* Squash UploadSessions-related migrations in one query

* Squash Threads-related migrations in one query

* Squash Channels-related migrations in one query

* Squash ChannelMembers-related migrations in one query

* Squash Jobs-related migrations in one query

* Squash Sessions-related migrations in one query

* Squash Status-related migrations in one query

* Squash Posts-related migrations in one query

* Squash TeamMembers-related migrations in one query

* Squash Schemes-related migrations in one query

* Squash CommandWebhooks-related migrations in one query

* Squash OAuthApps-related migrations in one query

* Squash Teams-related migrations in one query

* Squash Reactions-related migrations in one query

* Squash PostReminders-related migrations in one query

* Adapt ThreadMemberships migration to unified style

* Adapt LinkMetadata migrations to unified style

* Adapt GroupChannels migration to unified style

* Adapt PluginKVStore migration to unified style

* Adapt UserGroups migration to unified style

* Adapt FileInfo migration to unified style

* Adapt SidebarCategories migration to unified style

* Remove blank line

* Use tabs everywhere

* Wrap every procedure with log statements

* Remove space before parentheses in procedure call

* Remove spurious extra line

* Merge two equal consecutive conditionals

* Avoid the double list of conditions/queries

* Fix variable name

* Remove outdated comment

* Add a preprocess phase with corresponding scripts

* Join all preprocess scripts setting ExpiresAt to 0

This preprocessing is something we should always do, no matter the input
DB, so we can use a common script for all cases instead of repeating the
same code in multiple files.

* Add system-bot if it does not exist

* Cleanup the ProductNoticeViewState table

* Fix SQL

* Move esrupgrades directory under server/

* Update paths in Github action

* Fix trigger path for CI
2023-04-20 19:41:36 +02:00
Jesse Hallam
3ba419c841 preserve ClientError cause with es2022 (#22762)
Building the client package with `es2022`, exposing the optional `.cause` property on Errors effectively allowing us to wrap caught errors in the client package and re-throw with the context from the request, all while preserving a useful backtrace.

This change has potentially material impact to older plugins that attempt to rely on the newer package, but this should only occur at compile time since the webapp doesn't dynamically export this client package.

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-04-20 13:00:36 -03:00
Agniva De Sarker
a22ae500e5 playbooks/server: Avoid using main package (#23041)
The main package was used unnecessarily without a main function.
```release-note
NONE
```
2023-04-20 20:14:30 +05:30
Claudio Costa
b5b4749da5 [MM-51997] Fix potential errors when accessing calls store (#22960)
* Fix potential errors when accessing calls store

* Fix typecheck
2023-04-20 08:40:09 -06:00
Conor Macpherson
c98c43456e Merge pull request #22657 from mattermost/MM-50966-in-product-expansion-backend
MM-50966 - In Product Expansion Backend
2023-04-20 10:38:47 -04:00
Conor Macpherson
3795f5a470 Merge pull request #22658 from mattermost/MM-50966-in-product-expansion
MM-50365 - In Product Expansion Front-End
2023-04-20 10:35:41 -04:00
Allan Guwatudde
87555aa242 [MM-52158] - Don't show deprecation/move to annual banners to some clients (#22963)
* [MM-52158] - Don't show deprecation/move to annual banners to some clients

* create const

* feedback impl

* update test names

* update banner text

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-04-20 17:04:41 +03:00
Jesse Hallam
89f2ebc836 Channels/api4 testing improvements (#22938)
* api4/post_test: fix missing TearDown

* api4/plugin_test: dont test timeout, saving 120s

* api4/channel_test: dont try to delete town square

* api4/channel_test: check public channel names deterministically

* api4/file_test: fix darwin assertions on go files

* api4/notify_admin_test: fix expect/actual order

* api4/team_test: make TestGetAllTeams deterministic

* api4/plugin_test: avoid nested test helpers

* api4/post_test: avoid nested test helpers

* api4/websocket_test: externalize log buffer

* testlib/helper: unset common env

* linting issues

* simplify TestGetFileHeaders

* team_test: leverage ElementsMatch
2023-04-20 09:52:59 -03:00
Konstantinos Pittas
dd2b1db420 [MM-51076] Fix dropdown in modal for adding users in a group (#22642)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-04-20 14:05:54 +03:00
M-ZubairAhmed
09ac549d0b Revert "MM-50123 : Identify causes of removal of channel and channel members re fetching on team switch (#22984)" (#23038)
This reverts commit 5d5c1d90bf.
2023-04-20 08:31:09 +05:30
Julien Tant
feab1bf61b [MM-51805 + MM-51806 + MM-51041] Work template: multiple UI fixes (#22862) 2023-04-19 14:52:21 -07:00
Julien Tant
0a2a39773c [MM-52152] Expose license SkuShortName to all users (#22955) 2023-04-19 10:38:56 -07:00
Scott Bishel
96ad240a78 MM-51876 - use redirect if user already logged in (#22997)
* use redirect if user already logged in

* lint fixes

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-04-19 10:45:23 -06:00
Conor Macpherson
4a77773774 Remove import of background svg 2023-04-19 12:12:52 -04:00
Conor Macpherson
6d62acb13e remove exta background svg. 2023-04-19 12:03:17 -04:00
Conor Macpherson
c4efd2647c Merge branch 'master' into MM-50966-in-product-expansion 2023-04-19 11:40:50 -04:00
Agniva De Sarker
d1c9469d06 Add CODEOWNERS for migrations (#23020)
```release-note
NONE
```
2023-04-19 20:01:50 +05:30
Tanmay Datta
1f57819054 [MM-51089] Fix sorting value of category in CreateSidebarCategoryForTeamForUser (#22455)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-04-19 09:59:49 -04:00
Caleb Roseland
9a5c4fc736 Merge pull request #22988 from mattermost/i18n-extract-ci-boards-playbooks 2023-04-19 08:46:04 -05:00
Pablo Andrés Vélez Vidal
b5c48e75b3 MM 50960 - Add company name and invite members pages to preparing-workspace for self-hosted (#22838)
* MM-50960 - store system organization name

* restore the preparing workspace plugins and invite screens

* add back the page lines for the design

* add lines back and organize styles

* set back documentation to monorepo style and disable board as a product

* fix organization link and style skip button

* create team on organization name screen continue button click

* make sure there are not already created team and if so just update team name

* update the team display name if team has already been created

* cover error scenarios during team creation

* add pr feedback and add a couple of unit tests

* fix translation server error; make sure only update display name if it has changed in the form

* temp advances

* rewrite unit tests using react-testing library; fix unit tests

* fix translations

* make sure the launching workspace finish in cloud installations

* remove redundant validation

* fix unit tests

* remove unintended config value left after merge conflict
2023-04-19 15:31:47 +02:00
Conor Macpherson
3ca789979a remove other use of relfection to determine error. 2023-04-19 09:23:45 -04:00
Kyriakos Z
a24111f9bd MM-45009: Delete ThreadMemberships from "left" channels (#22559)
* MM-50550: Filter out threads from "left" channels v2

Currently leaving a channel doesn't affect the thread memberships of
that user/channel combination.
This PR aims to filter out all threads from those channels for the user.

Adds a DeleteAt column in the ThreadMemberships table, and filter out
all thread memberships that are "deleted".
Each time a user leaves a channel all thread memberships are going to be
marked as deleted, and when a user joins a channel again all those
existing thread memberships will be re-instantiated.

Adds a migration to mark all existing thread memberships as deleted
depending on whether there exists a channel membership for that
channel/user.

* Added migration files into list

* Fixes tests

* Fixes case where DeleteAt would be null

* Guard thread API endpoints with appropriate perms

* Deletes ThreadMembership rows upon leaving channel

* Minor style changes

* Use NoTranslation error

* Refactors tests

* Adds API tests to assert permissions on Team

* Adds tests, and fixes migrations

* Fixes test description

* Fix test

* Removes check on DM/GMs

* Change the MySQL query in the migration

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-04-19 15:20:34 +03:00
Agniva De Sarker
c34a50a6c7 MM-50427: Make MM survive DB replica outage (#22888)
We monitor the health of DB replicas, and on a fatal error,
take them out of the pool.

On a separate goroutine, we keep pinging the unhealthy replicas,
and on getting a good response back, we add them back to the pool.

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

```release-note
Mattermost is now resilient against DB replica outages and will
dynamically choose a replica if it's alive.

Also added a config parameter ReplicaMonitorIntervalSeconds
whose default value is 5. This controls how frequently unhealthy
replicas will be monitored for liveness check.
```

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-04-19 17:03:18 +05:30
M-ZubairAhmed
5d5c1d90bf MM-50123 : Identify causes of removal of channel and channel members re fetching on team switch (#22984) 2023-04-19 16:21:10 +05:30
M-ZubairAhmed
3f0ac142c4 MM-49603 : Remove fetching of deleted channels on page load (#22981)
- channel request types removed from fetchMyChannelsAndMembersREST
- removed isMinimumServerVersion check from that above action call, which is adding the query to include the archived channels
2023-04-19 16:20:17 +05:30
mattermod
5e52b8a50e Update latest version to 7.10.0 2023-04-19 09:48:29 +00:00
Martin Qvarnström
b46f5db8b2 MM-49214 : Filter out bot users shown in Apps modal form user pickers(#22631)
This issue involves updating the user picker functionality in the Mattermost web app's app framework. Currently, bot users are being displayed in the user picker for forms, which is not desired. The goal is to hide bot users from the user picker dropdown and only show real users. This can be achieved by filtering out any user that is a bot using the user.is_bot property. The necessary changes have been made in the apps_form_select_field.tsx file, specifically in the loadDynamicUserOptions function, which has been updated to filter out bot users using .filter((user) => !user.is_bot).
2023-04-19 11:55:57 +05:30
M-ZubairAhmed
7b9d43e308 MM-50122 : Remove and test refetching of channels on browser focus change (#22973) 2023-04-19 11:48:27 +05:30
Saturnino Abril
6ca5824ea1 E2E/Playwright: Update dependencies, screenshots, config and type (#23000)
* update dependencies

* update default server config and client type

* close browser context once test is done

* fix test when switching a product

* update screenshots and readme

* add cross-env and make headless mode as default

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-04-19 12:04:25 +08:00
Aditya Jain
4ef3081f65 MM-T4276 : E2E for set up Board emoji (#22887)
* MM-T4276 Added cypress tests for board emoji

* Update e2e-tests/cypress/tests/integration/boards/create_board_spec.ts

---------

Co-authored-by: Aditya Jain <adityajain@Adityas-MacBook-Air-2.local>
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>
2023-04-19 11:02:32 +08:00
Conor Macpherson
42f457fec2 lint. 2023-04-18 17:16:06 -04:00
Conor Macpherson
c9e081d0b1 Ensure submitting and success screen icon messages are at the same position, ensure no overflow at the bottom of the page, try to hide overflow peeking through on the right side of the page. 2023-04-18 17:03:20 -04:00
Conor Macpherson
7bdc5a4a39 Fix rhs expansion card resize in resized windows, fix credit card title section being overlapped with the credit card number input hint. 2023-04-18 16:27:37 -04:00
Ben Schumacher
84a3042249 Update slash command permission (#22468)
* Update slash command permission

* Fix permission
2023-04-18 21:54:20 +02:00
Mattermost Build
9cbc32f79c Merge branch 'master' into i18n-extract-ci-boards-playbooks 2023-04-18 22:22:37 +03:00
Conor Macpherson
f0ed400732 remove use of reflection to detect app err. 2023-04-18 13:47:35 -04:00
Caleb Roseland
b95e546482 step names 2023-04-18 11:29:31 -05:00
José Peso
9b81c08622 safer base64 generated values in settings (#22990)
Generated values for settings are a random base64 string with a length of 32. Unfortunately, base64 has some accepted characters like `+` and `/` that don't behave correctly if we use them in a URL without the proper additional encoding.

Use instead this safe version of base64 https://datatracker.ietf.org/doc/html/rfc4648#section-5, where:
- `/` becomes `_`
- `+` becomes `-`

Fixes https://mattermost.atlassian.net/browse/MM-51923
2023-04-18 18:22:16 +02:00
Conor Macpherson
adb4ef04c1 Merge branch 'master' into MM-50966-in-product-expansion-backend 2023-04-18 12:07:48 -04:00
Conor Macpherson
3a76a324f6 Merge branch 'master' into MM-50966-in-product-expansion 2023-04-18 12:05:00 -04:00
Conor Macpherson
2f8e9f16e3 update and fix tests. 2023-04-18 12:04:23 -04:00
Michael Kochell
9729641823 Bump autolink plugin version to 1.4.0 (#22966) 2023-04-18 11:01:52 -04:00
Mattermod
e841c75ac5 Update minor version to 7.11.0 (#22959)
Co-authored-by: Mmbot <mmbot@mattermost>
Co-authored-by: Akis Maziotis <akis.maziotis@mattermost.com>
2023-04-18 17:59:27 +03:00