Commit Graph

18255 Commits

Author SHA1 Message Date
Raghav Aggarwal
f224152f9e
Added a action to return only the active channel and used it in the dropdown component (#25508)
* [MI-3718] Updated code to not return archived channels in the response of auto complete channels API

* [MM-135] Update webapp logic to not show archived channels in intercative dialog
2024-03-14 02:22:55 -04:00
Raghav Aggarwal
a43ae04fe1
Bump prepackage Gitlab plugin version to 1.8.1 (#26274)
Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>
2024-03-14 00:22:14 -04:00
Harrison Healey
4d03becdd1
MM-52624/MM-57094 Update ESLint and our ESLint plugin (#26398)
* Update ESLint and plugins

* Move most channels-specific ESLint configuration into ESLint plugin

* Add ESLint to types and client packages

* Add ESLint to components package
2024-03-13 22:07:28 +00:00
Harrison Healey
67f815e373
MM-57093 Update SCSS, Stylelint, and related packages (#26296)
* Update Stylelint and related packages

* Autofix CSS files

* Fix scss/no-global-function-names

* Fix scss/operator-no-unspaced

* Fix scss/comment-no-empty

* Disable scss/at-extend-no-missing-placeholder

* Update libraries for loading sass

* Fix Rollup not emitting the CSS for the components package to the right place

* Add plugin to re-add stylistic Stylelint rules

* Actually import Stylelint plugin
2024-03-13 17:00:57 -04:00
Harrison Healey
4bba850090
Add usage docs for WebSocket client to @mattermost/client (#26345)
* Add usage docs for WebSocket client to @mattermost/client

* Fix typo in @mattermost/client rest client examples

* Make fake URLs consistent
2024-03-13 16:59:30 -04:00
sazzad hossain
1bd9407e78
MM-53703 Add display-name for experimental default channel (#26191)
* [MM-53703] add displayname for experimental default channel (#24644)

* [MM-53703] add unit test for default experimental channel (#24644)

* Update server/channels/app/teams/teams_test.go

---------

Co-authored-by: Sazzad Hossain <sazzad.hossain@marginedge.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
2024-03-13 16:52:15 -04:00
Asaad Mahmood
ac3eb04dcc
MM-49452 - Updating height of reply input (#26409)
* MM-49452 - Updating height of reply input

* Updating reply input

* Removing css transition

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-03-14 01:27:17 +05:00
Saturnino Abril
7f4b007405
fix: error in truncate command with e2e script (#26443) 2024-03-13 20:00:36 +01:00
Christopher Speller
ce4ff511fa
Adding AI plugin to prepackaged plugins (#26454) 2024-03-13 07:26:55 -07:00
Harshil Sharma
774df37464
Rebuild channel index (#26080)
* WIP

* Added rebuild channels index functionality

* Added rough logic to send message to all sysadmins

* WIP

* WIP

* WIP

* Cleanup

* i18n fix

* reading through all pages of system admins

* Fixed webapp style

* i18n fix

* Added help text

* i18n fix

* i18n update

* Updated system console button action

* Updated snapshots

* some cleanup

* Updated snapshot

* Update server/channels/app/server.go

Co-authored-by: Daniel Espino García <larkox@gmail.com>

* fixed typo

* Refactoring to improve readibility

* moved index check to API later during config update

* Added some docs

* Updated get system bot

---------

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2024-03-13 10:26:06 +05:30
Weblate (bot)
ccc00b9077
Translations update from Mattermost Weblate (#26429)
* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/

* Translated using Weblate (German)

Currently translated at 100.0% (2536 of 2536 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/de/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (2536 of 2536 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/nl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (2536 of 2536 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/pl/

* Translated using Weblate (German)

Currently translated at 100.0% (5931 of 5931 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/de/

* Translated using Weblate (Polish)

Currently translated at 100.0% (5931 of 5931 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/

* Translated using Weblate (Spanish)

Currently translated at 90.5% (2297 of 2536 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/es/

* Translated using Weblate (Spanish)

Currently translated at 90.8% (2304 of 2536 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/es/

* Translated using Weblate (Polish)

Currently translated at 100.0% (5931 of 5931 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2536 of 2536 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/zh_Hans/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (5931 of 5931 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/zh_Hans/

* Translated using Weblate (Spanish)

Currently translated at 91.1% (2311 of 2536 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/es/

* Translated using Weblate (Russian)

Currently translated at 99.9% (2535 of 2536 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ru/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2536 of 2536 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/zh_Hans/

* Translated using Weblate (Polish)

Currently translated at 100.0% (5931 of 5931 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (5931 of 5931 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/zh_Hans/

* Translated using Weblate (Czech)

Currently translated at 92.7% (5499 of 5931 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/cs/

* Translated using Weblate (Turkish)

Currently translated at 95.2% (2415 of 2536 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/tr/

* Translated using Weblate (Turkish)

Currently translated at 93.3% (5536 of 5931 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/tr/

* Translated using Weblate (Spanish)

Currently translated at 91.2% (2314 of 2536 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/es/

* Translated using Weblate (Spanish)

Currently translated at 91.4% (2320 of 2536 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/es/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (2536 of 2536 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/sv/

* Translated using Weblate (Polish)

Currently translated at 100.0% (5931 of 5931 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/

* Translated using Weblate (Danish)

Currently translated at 11.9% (706 of 5931 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/da/

---------

Co-authored-by: jprusch <rs@schaeferbarthold.de>
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: master7 <marcin.karkosz@rajska.info>
Co-authored-by: Angel Mendez Cano <amendez1988@gmail.com>
Co-authored-by: ThrRip <coding@thrrip.space>
Co-authored-by: Konstantin <eleferen@gmail.com>
Co-authored-by: Martin Joneš <m.jones@7group.cz>
Co-authored-by: Kaya Zeren <kayazeren@gmail.com>
Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se>
Co-authored-by: Martin Popp Fredslund (SektorCERT) <martin@sektorcert.dk>
2024-03-12 11:52:46 -03:00
Elias Nahum
7e9cd04a8b
Channel Bookmarks (#25449)
* create ChannelBookmarks table

* ChannelBookmark model

* channel bookamrks Store layer

* add GetBookmarksForAllChannelByIdSince

* add channel bookmarks to test store

* Add channel bookmarks to app layer

* remove index for createAt in channel bookmarks migrations

* remove createAt from select channel bookmark query and enable store delete bookmark test

* update reponse of UpdateBookmark

* rename db migration files

* channel bookmarks store update sort order

* channel bookmarks app layer update sort order

* fix lint & tests

* Fix lint and introduce util functions to insert / remove from slice

* remove model etag

* i18n

* defer remove file info after test run

* Fix tests passing the request context

* fix migrations

* fix TestRetry

* Add bookmark permissions (#25560)

* Adds channel bookmarks permissions

* Fix linter

* Remove unnecessary empty lines

* Remove scss change as it's not necessary anymore

* Fix mock store

* Fix mock store and add role entry

* Fix test

* Adds cypress test and update permissions migration to update admin roles

* Adds channel bookmarks roles to default admin roles

* Adds bookmark permissions to default role permissions constant in webapp

* Update mmctl test

* Update permission test after normalising the roles

* fix store tests

* fix app layer tests

* Add new bookmark endpoint (#25624)

* Adds channel bookmarks api scaffold and create endpoint

* Applies review comments to the API docs

* Adds websocket test to create channel bookmark

---------

Co-authored-by: Mattermost Build <build@mattermost.com>

* MM-54426 exclude Channel Bookmarks files from data retention (#25656)

* Augment channel APIs to include bookmarks (#25567)

* update files docs for server 9.4

* Adds update channel bookmark endpoint (#25653)

* Adds update channel bookmark sort order endpoint (#25686)

* Adds update channel bookmark endpoint

* Updates edit app method to return the right deleted bookmark and adds tests

* Adds the update channel bookmark sort order endpoint

* Fix repeated test after merge

* Assign right permissions to each test

* Update store and app layer to return specific errors and add tests

* Adds delete channel bookmark endpoint (#25693)

* Updates edit app method to return the right deleted bookmark and adds tests

* Fix repeated test after merge

* Updates edit app method to return the right deleted bookmark and adds tests

* Adds delete channel bookmark endpoint

* Adds list channel bookmarks endpoint (#25700)

* Add channel moderation to bookmarks (#25716)

* fix migrations index

* fix getChannelsForTeamForUser

* fix getChannelsForTeamForUser

* fix bad merge client4

* fix file api with bookmark permission

* add ChannelBookmarks feature flag

* add missing translations

* Set DB column for type as enum

* use custom type for bookmark query using sqlx

* use transaction when saving bookmark

* return NewErrNotFound instead of Sql.ErrNoRows

* use squirrel for IN query

* add a limit of 1K for records in GetBookmarksForAllChannelByIdSince

* UpdateSortOrder with one single query instead of multiple updates

* fix shadow declaration

* fix channel bookmarks permission string definition in admin console

* fix another shadow declaration

* Fix model conversion

* add SplitSliceInChunks

* remove include bookmarks in channels api

* Cap amount of bookmarks per channel

* add etag back to get channels

* feedback review

* update file info when replacing a bookmark file

* return 501 not implemented when the license is not available

* add detail message when getting channel member on bookmark api

* start audit before permission check on create bookmark api

* use require.Eventuallyf for testing WS events

* remove unnecessary log in app layer

* use require instead of assert to avoid panics

* enforce limit when querying bookmarks since

* prevent to create/update bookmark if file is already attached

* fix lint

* delete file when a bookmark is deleted

* Dot allow to set a fileId and a url at the same time to a bookmark

* fix query to delete a file that belongs to a bookmark

* do not patch the bookmark type

* Server side FeatureFlag check (#26145)

* use ff in server, set ff to false

* turn on FF for unit tests

* defer unset FF for unit tests

* turn ff on for testing

* only allow attaching files that were uploaded for bookmark

* Set feature flag off as default

* fix lint

* update email templates as PR failed

* revert templates

* force the assignment of ID when creating a bookmark

* Fix unit tests

---------

Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Caleb Roseland <caleb@calebroseland.com>
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
2024-03-12 08:36:05 -06:00
Harrison Healey
2480a6c646
MM-56983 Change how lastViewedAt is passed to NewMessageSeparator and remove some duplicated code (#26294) 2024-03-12 13:56:49 +00:00
Asaad Mahmood
76bab25199
MM-55251 - Updating reply count on thread post (#26142)
* MM-55251 - Updating reply count on thread post

* Updating reply count fetch

* Fixing lint errors

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-03-12 14:24:47 +05:00
Ben Schumacher
2cc2bad1b3
[MM-57065] Remove markdown from LDAP page size error (#26379) 2024-03-12 10:12:02 +01:00
Christopher Poile
75f0b99298
MM-56892- Update prepackaged calls to v0.25.0 (#26434) 2024-03-11 14:10:26 -04:00
unified-ci-app[bot]
0a496107d5
chore: Update NOTICE.txt file with updated dependencies (#26427)
Automatic Merge
2024-03-11 14:51:11 +02:00
Aditya Pratap Singh Hada
33977e1702
[MM 55591] - Add Request Context and logger to all public methods in server/channels/app/analytics.go (#26331) 2024-03-11 13:27:27 +01:00
Ezekiel
1c846d8341
[GH-25494] add request context to public methods in bot go (#26408) 2024-03-11 13:24:35 +01:00
Agniva De Sarker
bca5ab9a1f
MM-57084: Use cache for GetAllProfiles (#26391)
UserStore.GetAllProfiles is a very frequent call. We cache it
when there are no options passed which is the default case.

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

```release-note
NONE
```
2024-03-11 10:34:20 +05:30
Harshil Sharma
4fda7e6f34
Moved some common SQL function to public utils as they are used in plugins (#26412)
* Moved some common SQL function tu public utls as they are used in plugins

* goimported file

* Added tests

* Created sub-package

* MOved SetupConnection to public sql utils
2024-03-11 09:54:23 +05:30
Agniva De Sarker
f34445a6f4
MM-56625: Use patchConfig to update configs from system console (#26332)
While updating config from admin console, the webapp would set
any config param to null if the user doesn't have permission to edit
that setting.

This is common in cloud environments where a lot of config settings
are set to `cloud_restrictable`.

The problem due to that is since the client uses the updateConfig
endpoint, this acts as a full config replace and therefore, the null
fields get replaced by their default values.

To fix this, we use the patch endpoint which only updates the fields
that are actually set.

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

```release-note
Fix a bug where config cannot be updated from admin console
in cloud environments.
```


Co-authored-by: Mattermost Build <build@mattermost.com>
2024-03-08 21:21:23 +05:30
Scott Bishel
1eec4ad30f
MM-56784 - Update wrong documentation link (#26363)
* update documentation link

* update snapshot

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-03-08 08:50:27 -07:00
Agniva De Sarker
89f5a0deec
MM-56402: Initialize replica conn pool on-demand (#26410)
Previously, we would setup both pools only when
GetMasterDB was called. This was inefficient and
would waste open connections if the replica wasn't used
at all.

We fix it to initialize the pools as they are called.

https://mattermost.atlassian.net/browse/MM-56402
```release-note
NONE
```

Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>
2024-03-08 13:11:48 +05:30
sazzad hossain
bc887441d0
MM-56629 Render Markdown in batched email notifications (#26217)
* [MM-56629] rendered markdown in batched email (#26116)

* [MM-56629] added unit test for GenerateHyperlinkForChannels (#26116)

* [MM-56629] refactored code to remove duplicates, updated test (#26116)

* [MM-56629] updated landing url and cleared check-style (#26116)

* [MM-56629] added app-layesrs and mocks (#26116)

* [MM-56629] updated unit tests (#26116)

* [MM-56629] reverted changes of removing unused context parameter (#26116)

* [MM-56629] removed unused method generateHyperlinkForChannels (#26116)

* [MM-56629] fixed check-style error (#26116)

* [MM-56629] refactored (#26116)

---------

Co-authored-by: Sazzad Hossain <sazzad.hossain@marginedge.com>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
2024-03-07 11:27:08 -05:00
Scott Bishel
ab029105fd
MM 56929 Dont allow guests to be set via channel API (#26385)
* don't allow guest to be set only on channels.

* fix bad merge, add jira ticket link

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-03-07 08:44:43 -07:00
Scott Bishel
8e99bca82b
MM-56980 add shared channel icon to searchable channel list (#26388)
* add shared channel icon to searchable channel list

* update css for shared channel icon

* update, so archive happens first
2024-03-07 08:01:14 -07:00
mattermod
19c1165117 Update latest version to 9.5.2 2024-03-07 12:17:08 +00:00
Agniva De Sarker
204c728b08
MM-56879: Migrate caches from store layer to cache layer (#26255)
There were 3 remaining caches which were there in the store layer.
We migrate them to make the store layer fully free
from any caches.

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

```release-note
NONE
```

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-03-07 10:55:28 +05:30
Mario Vitale
d7a77d8c42
CLD-7074 Implement full E2E tests on Github Actions (#26093)
* Move license setting from env var to mmctl upload
* Extract common E2E steps
* Add E2E fulltests
* Fix plugin_startup_fail_spec.js, timeout runners, fix local dashboard run
* Implement reporting script and job
* Bump artifact related actions
* Fix E2E variable generator script
* Skip reporting steps if not required
* Get rid of deprecation warnings
* Fix inbucket hostname parameter
* Support arbitrary refs in test template
* Fix cycle BRANCH var for non-PR commits
---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-03-06 11:27:53 +01:00
Aki
c82352c90c
[MM-57030] Fixed the problem that items with longer text did not widen user guide dropdown to its max-width (#26104)
Co-authored-by: Mattermost Build <build@mattermost.com>
2024-03-06 09:01:54 +01:00
Joram Wilander
b70943707a
Update client and types npm packages to link to monorepo directly (#26346) 2024-03-05 14:39:04 -05:00
Ben Cooke
9d4d5366a1
[MM-56088] Adding extra logs for openId state failures (#25663)
* adding extra logs for openId failures
2024-03-05 13:12:33 -05:00
Dahlton S
fd713ae9bb
[MM-56651] fix: set cache duration (#26338)
* fix: set cache duration

* fix: extra 0
2024-03-05 22:49:26 +05:30
Harrison Healey
eaaf75a232
Fix Rollup warnings and remove some unused Rollup plugins (#26387)
* Fix rollup warnings

* Remove some unused Rollup plugins

* Re-add unintentionally half-removed Stylelint
2024-03-05 09:53:17 -05:00
Anna
3efcef45ff
[GH-21224] return error in plugin cmd (#26305) 2024-03-05 13:18:30 +01:00
Asaad Mahmood
09f78c240a
MM-57077 - Updating channel switcher header (#26384) 2024-03-05 13:50:02 +05:00
Scott Bishel
30454f241d
MM-56881 Validate and ensure valid CustomStatus is stored (#26287)
* don't allow invalid CustomStatus

* allow empty emoji in custom status

* lint fix

* add english translation

* update for review comments.

* fix bad fix

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-03-04 15:53:55 -07:00
Harrison Healey
5740b43922
Upgrade web app and pacakges to TypeScript 5.3.3 (#26354) 2024-03-04 16:07:39 -05:00
Harrison Healey
d5446cd25e
MM-56948 Fix flaky TestUserHasJoinedChannel (#26359)
* MM-56948 Fix flaky TestUserHasJoinedChannel

* Add comment explaining flakiness
2024-03-04 20:16:56 +00:00
Syed Ali Abbas Zaidi
6ba3ac4a02
[MM-56848] Convert ./components/admin_console/settings_group.tsx from Class Component to Function Component (#26258)
Co-authored-by: Mattermost Build <build@mattermost.com>
2024-03-04 14:44:05 -05:00
Scott Bishel
e0f3713bdf
MM-56929- Dont allow guests to be set via team API (#26286)
* dont allow guests to be set via team API

* comment out invalid test

* Update import_functions_test.go

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-03-04 09:48:11 -07:00
Weblate (bot)
f8253439b8
Translations update from Mattermost Weblate (#26380) 2024-03-04 12:32:40 -04:00
Muzakir Shah
98726b9d22
changed helper text to control-label class (#25969)
* changed helper text to control-label class

* removed the help-text class

* added "helping-text" className

* Updated helping-text color

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-03-02 23:08:29 +05:00
unified-ci-app[bot]
86f6a3c937
Update latest minor version to 9.7.0 (#26364)
Automatic Merge
2024-03-01 19:21:10 +01:00
Ben Schumacher
02379b17ca
Implement plugin KV store in memory (#26244) 2024-03-01 12:12:52 +01:00
Agniva De Sarker
f9861b8666
MM-56987: Improve cache API (#26298)
This is in preparation to make the codebase
ready to use Redis. In Redis, iterating all
the keys at once is an expensive operation.
It is recommended to work on batches of keys.

Remove the Len method as it was unused.

I tried to repurpose the Keys method to iterate
on keys rather than returning all keys at once, but
it has other complicacies because the code calls
other cache functions on those keys, so to handle
the LRU cache properly, it becomes slightly more
painful.

For now, we keep it like this and rather collect
all keys from Redis and then return.

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

```release-note
NONE
```
2024-03-01 09:46:09 +05:30
Ayush Thakur
75e32051c4
Bump prepackage Github plugin version to 2.2.0 (#26218)
Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2024-02-29 18:45:53 -05:00
Devin Binnie
893c44fe85
[MM-56757] Expand NotificationsLog to include websocket and email, adding much more varied logging across the entire process (#26273)
* [MM-56757] Expand NotificationsLog to include websocket and email, adding much more varied logging across the entire process

* Rework the status/notify prop calls

* Avoid some repetition in the logging calls

* Fix one log

* Wrap error

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-02-29 12:33:05 -05:00
Alejandro García Montoro
2690e1322a
Update dependencies (#26324)
* make update-dependencies

* cd public; go get -u ./...; go mod tidy
2024-02-29 13:19:43 +01:00