1107 Коммитов

Автор SHA1 Сообщение Дата
Ben Schumacher
b4c9eddca8 [MM-55096] Introduce generic StoreResult (#25086) 2023-10-31 10:21:31 +01:00
Ben Schumacher
c7461751f2 Use request.CTX instead of *request.Context (#24877)
* Use request.CTX instead of *request.Context

* Fix tests
2023-10-30 16:33:37 +01:00
Julien Tant
375404c12e [MM-54522] Add trial info to log + support packet (#24596)
Automatic Merge
2023-10-26 22:22:22 +03:00
Daniel Espino García
cee4411355 [MM-54495] Fix update post plugin hooks (#24602)
* Fix updatePost props and plugin hooks

* Add more tests

* Minor naming improvement

* Revert props related changes

* Fix test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-10-26 15:15:00 +02:00
Daniel Espino García
6125b0ca7f MM-54778 Fix mark as unread on GMs (#24880)
* Fix mark as unread on GMs

* Don't count own messages in gms when marking as unread

* Change argument name

* Rename userId

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-10-24 15:27:30 +02:00
Ben Schumacher
5d3ba7483b [MM-53057] Disallow malformed channel names for DMs (#24404) 2023-10-24 15:08:14 +02:00
Ben Schumacher
e864f9cfee [MM-55052] Improve file extraction logging (#25036) 2023-10-23 20:25:40 +02:00
Harrison Healey
a78710c2a6 MM-54201 Refactor mention parsing in preparation for multi-word mentions (#25030)
* MM-54201 Move ExplicitMentions to its own file and rename it (#24932)

* MM-54201 Move ExplicitMentions to its own file and rename it

* Fix vet

* MM-54201 Refactor current mention parsing into MentionParserStandard (#24936)

* MM-54201 Refactor current mention parsing into MentionParserStandard

* Fix vet

* MM-54201 Unify user and group mention parsing logic (#24937)

* MM-54201 Add MentionKeywords type

* MM-54201 Move group mentions into MentionKeywords

* Fix flaky test caused by random iteration order

* Update server/channels/app/mention_results.go

Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>

* Address feedback

---------

Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>

---------

Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>
2023-10-23 12:37:58 -04:00
Qrypt
a46ad3169c (feature) New MessagesWillBeConsumed Server Plugin Hook (#23305)
* feature: implemented basic MessageWillBeConsumed hook and applied on GetSinglePost method.

* use hook in get methods

* chore: refactored hook usage and created utils functions to apply hook

* bugfix: single post not updating

* chore: adjusted hook to return post

* chore: reverted some uneeded  changes

* chore: updated hook to accept slice of posts

* bugfix: slice filled with niil values

* chore: MessageWillBeConsumed ranamed to MessagesWillBeConsumed

* Update plugin/hooks.go

Co-authored-by: Jesse Hallam <jesse@thehallams.ca>

* Add feature flag

* Update min version

* update tests to account for feature flag

* fix linting issues

---------

Co-authored-by: Matej Topolovac <>
Co-authored-by: mtopolovac <43346061+mtopolovac@users.noreply.github.com>
Co-authored-by: Jesse Hallam <jesse@thehallams.ca>
Co-authored-by: Kevin Hsieh <kevinh@qrypt.com>
Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>
2023-10-23 11:12:46 -03:00
Ben Schumacher
d0c22aa1cd [MM-54435] Use annotated logger to capture compliance export logs (#24791) 2023-10-23 10:20:32 +02:00
Agniva De Sarker
2f5ca43158 Clarify the sensitive/sanitized logic (#25034)
I was looking at the high number of user_updated ws events
and ran across this piece of code. Had a hard time digesting it,
thought of adding a comment for people to understand it more
clearly.

```release-note
NONE
```
2023-10-20 20:49:50 +05:30
Ben Schumacher
e090adcb65 Add information about permanent user deletion to audit logs (#25017) 2023-10-19 17:49:53 +02:00
Ben Schumacher
4ed32be6d2 [MM-53019] Add file storage permission check to workspace health dashboard (#24403) 2023-10-19 17:31:09 +02:00
Harrison Healey
3d0fd16666 MM-54640 Add API to get multiple emojis by name at once (#24651)
* MM-54640 Add API to get multiple emojis by name at once

* Fix status code when too many names are requested

* Address feedback

* Update unit tests

* Fix styling

* Fix more styling

* Fix mismatched i18n id
2023-10-17 12:03:28 -04:00
Jesse Hallam
2ba91e43b6 Remove support for unused product interfaces (#24965)
We no longer rely on commands and hooks for products, so simplify this code.
2023-10-17 11:55:41 -03:00
Ben Schumacher
4408ece955 Fix data race in bulk import tests (#24897) 2023-10-16 22:40:19 +02:00
Jesse Hallam
0577a5aaa2 Fix OpenApi vetting (#23974)
* fix openApi vetting

The underlying mattermost-govet tool effectively hasn't been called for some time, as we weren't checking out and building the spec files to pass. Now that hte API is in the monorepo, build it locally and check against it.

Unfortunately, our API documentation isn't up-to-date, and this PR isn't fixing that. For now, add a discrete `make vet-api` and workflow that won't block the build until the API documentation is back in sync and can be merged into the existing `make vet` directive.

* mattermost-govet: use upstream@new

* 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

* fix SetThreadUnreadByPostId

* Revert "fix SetThreadUnreadByPostId"

This reverts commit b16bcc80442b4391c3e7472ce47b9da65809697b.

* Revert "Revert "fix SetThreadUnreadByPostId""

This reverts commit 8bda05dc8aa8c57b20e2fd525431b43e21474859.

* workaround undocumented API endpoints

* remove unnecessary whiteline

* ignore go tool output

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-10-16 11:27:43 -03:00
js029
9698ab2119 Mm 24857 specific logger in post go (#24862)
Co-authored-by: js029 <js029@gmail.com>
2023-10-16 12:17:04 +02:00
Michael Kochell
e9da1ee8ca Performance metrics: Differentiate requests that are from page load (#24327)
* POC page_load_context header

* refactor to make this.pageLoadContext a private field, and relocate setTimeout code

* add pageLoadContext to `ObserveAPIEndpointDuration` method

* move to telemetry_actions

* move PageContext constant in webapp

* give server control of possible page_load_context values

* variable name change

---------

Co-authored-by: mickmister <mickmister>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-10-13 14:59:12 -04:00
Alejandro García Montoro
2bc99398f9 MM-53023: Add origin client to ObserveAPIEndpointDuration (#23631)
* Add origin device to ObserveAPIEndpointDuration

* Fix generation of einterfaces mocks

* make einterfaces-mocks

* Use request's query and headers to get origin

* Add desktop to the origin device identification

* Test originDevice function

* Rename origin device to origin client
2023-10-12 19:09:52 +02:00
Devin Binnie
89492a6a46 [MM-53428] Delete empty drafts on upsert (#24046)
* [MM-53428] Delete empty drafts on upsert

* Add migrations to fix existing drafts

* Fix CI

* Delete empty drafts entirely from the DB

* Fix lint

* Implement batch migration for deleting drafts

* Missing store layers

* Add updated mock

* Remove unnecessary test

* PR feedback

* Add check for cluster migration

* Fix MySQL

* Don't check for len<2

* Bit of PR feedback

* Use query builder for parameters

* PR feedback

* More PR feedback

* Merge'd

* unit test GetLastCreateAtAndUserIdValuesForEmptyDraftsMigration

* simplified builder interface

* fix DeleteEmptyDraftsByCreateAtAndUserId for MySQL

* rework as batch migration worker

* fix typo

* log ip address on version mismatches too

* simplify reset semantics

* remove trace log in favour of low spam

* document parameters for clarity

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>
2023-10-12 10:52:10 -04:00
Ben Schumacher
e4fa6200c3 [MM-45309] Replace github.com/mattermost/gziphandler with github.com/klauspost/compress/gzhttp (#24293) 2023-10-12 08:27:31 +02:00
Ben Schumacher
eb35e83152 [MM-54850] Use request-specific logger in channels/app/admin_advisor.go (#24859) 2023-10-12 08:23:57 +02:00
Agniva De Sarker
3dd9e3715c Goodbye, GraphQL (#24827)
```release-note
NONE
```
2023-10-12 09:47:35 +05:30
Deepayan Mukherjee
77ee4d93b7 [MM-24856] User request specific loggers in channels/api4/system.go (#24881)
* replace global mlog with local c.Logger and setInvalidParam with setInvalidParamWithErr if relevant

Signed-off-by: Deepayan Mukherjee <deepayanmukherjee1312@gmail.com>

* replace global mlog.Info with local c.Logger.Info

Signed-off-by: Deepayan Mukherjee <deepayanmukherjee1312@gmail.com>

---------

Signed-off-by: Deepayan Mukherjee <deepayanmukherjee1312@gmail.com>
2023-10-11 17:34:49 +02:00
Ben Schumacher
13c05a571f Migrate store methods to use request.Context instead of context.Context (#24836) 2023-10-11 13:08:55 +02:00
Ben Schumacher
0d5a8b8841 Add whitespace linter (#24855) 2023-10-11 10:13:36 +02:00
Harshil Sharma
06765b1f44 Displayed error message for already used channel name (#24860)
* WIP

* Displayed existing channel name error

* refactoring
2023-10-10 17:41:49 +05:30
Jesse Hallam
47bfa2b66b Pass a logger instead of embedding on job (#24650)
* pass a logger instead of embedding on job

* leverage mlog.Millis

* use worker logger with HandleJobPanic

* rely on existing LogClone instead

* guard Job.LogClone against nil Job

* s/workername/worker_name

* Revert "rely on existing LogClone instead"

This reverts commit 17303cbac90d4b01815abca1309b78b97de368fb.

* Revert "guard Job.LogClone against nil Job"

This reverts commit f1ae22dee58d76f084582857830ffe8d4c546d7e.
2023-10-09 11:04:55 -03:00
Ben Schumacher
aad25be4e1 [MM-54434] Use job.Logger to capture ldap logs (#24493) 2023-10-06 22:43:21 +02:00
Delaney Sylvans
d61364a24a [MM-54024] Handle JSON nulls when unmarshalling in api4 (#24656)
* handle JSON nulls when unmarshalling in api4

* catch more cases of unhandled JSON null

* fix lint issues

* remove unnecessary checks

* add bot tests for null values

* fix bot_test lint

* add channel null tests

* add group null tests

* add notify_admin null tests

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-10-05 19:25:59 +05:30
Daniel Espino García
5f0aac70ac [MM-54497]Fix updatePost props (#24543)
* Fix updatePost props and plugin hooks

* Add more tests

* Minor naming improvement

* Revert plugin hooks changes

* Rename post variable

* Fix app layers

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-10-05 09:40:53 +02:00
Ibrahim Serdar Acikgoz
8e7e5c8775 server/app: remove websocket_router.go (#24680) 2023-10-04 10:54:40 +03:00
Caleb Roseland
b7f1a7f262 MM-52792: Update createPost, updatePost, & patchPost (#24195) 2023-10-03 09:51:07 -05:00
Agniva De Sarker
b9c50641db MM-54580: Fix panic in jobs/base_workers.go (#24631)
If GetJob fails, we would return a nil job and then try to log
with that. To prevent this, we keep a reference to the old job
and log with that in the error case.

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

```release-note
Fix a panic where a simple worker would crash if if failed to get a job.
```
2023-10-03 07:55:38 +05:30
Scott Bishel
ae1decd1a7 MM-54555 - Include channel name in error (#24614)
* include channel name in error

* update multiple returns

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-10-03 06:55:21 +08:00
Ibrahim Serdar Acikgoz
53a0f8da27 Add limiting ability to log fields (#24251) 2023-09-28 19:28:40 +03:00
Elias Nahum
cd9e0d7509 fix mobile oauth tests (#24610)
* fix mobile oauth tests

* update test description

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-09-27 12:18:56 +03:00
Daniel Espino García
c42839094e Fix flaky test introduced in #24495 (#24603) 2023-09-26 09:48:06 +02:00
Ben Schumacher
35c1639ee3 [MM-54291] Add goroutines profile to support package (#24478) 2023-09-25 20:22:25 +02:00
Elias Nahum
7cd9780399 MM-54489 restrict mobile oauth/saml redirect to native app schemes (#24554)
* MM-54489 restrict mobile oauth/saml redirect to native app schemes

* replace slices package with contains function in utils

* use the existing Contains utility function

* Fix unit tests

* more test cases

* fix cfg.NativeAppSettings.AppCustomURLSchemes assignment

* Append mmauth to cfg.NativeAppSettings.AppCustomURLSchemes in unit test
2023-09-25 20:46:45 +03:00
Daniel Espino García
6c48cca78f Fix MM-54027 (#24495)
* Fix MM-54027

* Add tests

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-09-25 11:08:58 +02:00
Ben Schumacher
845ea2a984 [MM-54290] Add CPU profile to support package (#24477) 2023-09-25 11:00:33 +02:00
Ben Schumacher
153ebc31d7 [MM-54289] Add heap profile to support package (#24476) 2023-09-25 09:46:15 +02:00
Daniel Espino García
88d043a971 Make GM behave as DM (#24289)
* Make GM behave as DM

* Fix lint

* Add desktop notification special behavior

* Change notification preferences menu

* Make changes to the GM channel intro

* Fix tests

* Fix i18n and style lint

* Add system notice and update style

* Fix style and fix tests

* Fix tests

* Handle push notifications as desktop notifications

* Fix tests

* Add test and default GMs to none when user level config is none

* Fix test

* Update only for mentions text

* Add tests

* Fix lint

* Fix lint
2023-09-19 15:29:57 +02:00
Harshil Sharma
39d6cb8008 MM-53125 Add feature to convert group message to private channel (#24421)
* Added convert to channel menu item

* WIP

* refactored channel name input field and created conversion modal

* style

* style

* WIP

* wip

* Created API to fetch common teams of GM members

* Added UI for all members deactivated

* Fetched common teams in client

* WIP

* Added a required attribute to DropdownInput component

* Fixed a case with dropdown input required flag

* WIP

* API first draft

* Genetayed layers and mocks

* Fixed create channel bug

* WIP

* Added cache invalidation

* Calling API from client

* Updated API to accept name and display name as well

* WIP

* Moved converted GM to correct category

* Style fixes

* Added logic to move user to new team/channel after GM conversion

* Prevented guest user from performing action

* Added loading indicator

* Added smoother height transistion when loading finishes

* UI imporvements

* WIP

* Formatted GM conversion message on client side

* lint fix

* Moved convert option from sidebar menu to channel header menu

* Some cleanup

* Updated server layers

* Fixed i18n

* Fixed types

* Fix server i18n

* Fixed channel creation bug

* Added store test for GetCommonTeamIDsForMultipleUsers

* Server tests done

* Updated snapshots

* Updated layers

* lint fix

* Update tests

* For CI

* lint

* restored debug code

* Used user ID instead of username in channel conversion post

* WIP

* Review fixes

* LInt fixes

* Test fix

* WIP

* WIP

* WIP

* wip

* Review fixes, lots of them

* Review fix

* Disabled WIP test

* test

* Cleanup

* Test fix

* removed testing line

* Fixed incorrect default message

* Review fixes

* Fixes

* lint and i18n fix

* Setting category on server side

* updated i18n

* Updated tests

* Added tests

* Refs cleanup

* added test

---------

Co-authored-by: Harshil Sharma <harshilsharma@Harshils-MacBook-Pro.local>
2023-09-19 14:41:34 +02:00
Devin Binnie
11cdd2b66b Fix flaky/incorrect desktop token test, clarify the parameter names (#24565)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-09-19 08:49:51 +02:00
Caleb Roseland
9a3b503169 MM-54505: re-enable remote marketplace functionality (#24561) 2023-09-15 12:17:53 -05:00
Scott Bishel
64fabbeed3 MM-54123 Add group slash command (#24553)
* adding group members to channel initial commit

* adding group to channel functionality along with add new team members

* fixing circular dependency

* fixing e2e and other optimizations

* adding e2e tests for adding group members to channels

* cypress lint

* fixing comments

* adding count to button

* improvements

* adjusting some stuff from PR comments

* remove ability to add user to team, update message for non-team members

* remove adding to team from add groups functionality

* update misspelled variable

* lint and unit test fixes

* add tests, cleanup

* lint fix

* revert package-lock.json

* fixes for cypress tests

* rename TeamInviteBanner to TeamWarningBanner, since invites are no longer allowed

* update for warning

* lint fixes

* cleanup

* fix failing e2e tests

* update slash command for user groups

* revert package-lock

* remove unused function

* update based on feedback

* update tests for last change

* i18n-extract, reorder

* retrieve and display user name

---------

Co-authored-by: Benjamin Cooke <benkcooke@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-09-15 11:00:41 -06:00
Jesús Espino
17ff2049ec Adding 'MessageHasBeenDeleted' hook to plugins (#22476)
* Adding 'MessageHasBeenDeleted' hook to plugins

* Remove debug logs

* Add unit test

* Bumping the required version

* Fix CI problems

* Increasing the minimum version

* go fmt

---------

Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-09-14 18:33:22 +02:00