899 Коммитов

Автор SHA1 Сообщение Дата
Matthew Straughn
71bf7777f5 fixed most init errors in channels/store/storetest dir | 24 files edited (#26522)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Agniva De Sarker <agnivade@yahoo.co.in>
2024-10-29 10:50:38 +01:00
Samarth Mishra
c7e182013f Fix errcheck issues in server/channels/app/imaging/utils_test.go (#28960) 2024-10-29 08:37:32 +01:00
Guillermo Vayá
a532b70317 [MM-59361] custom groups & read only channels (#28892)
* added group mention, read only view and post event tracking

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-10-28 13:41:29 +01:00
Agniva De Sarker
21c6b246f0 MM-61225: Remove incorrect test (#28954)
This test actually tested that there is no race
_if_ session pooling is there. But there is no session pooling
any more so this test is irrelevant.

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

```release-note
NONE
```
2024-10-25 21:53:03 +05:30
Dishika Vaishkiyar
4f5a389185 Fix: bot_test errcheck issue (#28822)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2024-10-25 13:31:03 +02:00
Ibrahim Serdar Acikgoz
64b30abbce [MM-51487] allow uppercase team/channel names for import (#28906) 2024-10-25 09:44:13 +00:00
Arya Khochare
323e330932 Fixed errcheck issues in server/channels/app/group_test.go (#28938) 2024-10-25 09:36:58 +02:00
Miguel de la Cruz
cb03009992 Adds a feature flag to control availability of DMs in shared channels (#28920)
* Adds a feature flag to control availability of DMs in shared channels

* Reverse feature flag wording
2024-10-24 19:38:00 +02:00
Agniva De Sarker
6075b1cd4e MM-61225: Revert session pooling (#28901)
This originated from https://github.com/mattermost/mattermost/issues/15249.

However, the original idea was discarded https://github.com/mattermost/mattermost/issues/15249#issuecomment-709713065
as being too complicated to implement. Then I had another
idea to implement it just for session objects.

My thinking was that since every single request allocates a new
session struct, it would be good to use a sync.Pool for that.

However, 4 years later, now we know that the primary bottleneck
in app performance comes from websocket event marshalling.
Therefore, while it would be good to do this, it is difficult
to do it correctly (as shown by the numerous racy tests).

Hence, reverting this.

```release-note
NONE
```
2024-10-24 22:50:44 +05:30
Rohan Sharma
ebb0178c13 [MM-61103] Fix errcheck issues in server/channels/app/channel_category_test.go (#28790)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2024-10-24 13:58:01 +02:00
Devin Binnie
0c90b0363b [MM-60609][MM-60612] Include Desktop App metrics in PerformanceReporter, add metrics in Prometheus for CPU/Memory usage (#28825)
* [MM-60609][MM-60612] Include Desktop App metrics in PerformanceReporter, add metrics in Prometheus for CPU/Memory usage

* Fix mocks

* PR feedback
2024-10-22 12:16:20 -04:00
Daniel Espino García
2d96053012 Use flags for create post (#28857)
* Use flags for create post

* Remove unintended file

* Fix unintended change and types

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-10-22 16:00:26 +02:00
Vishal
cc5b3a2f69 [MM-37585] (#28634)
* add tests

* pass userID to the function instead of the user object.

* remove concurrent login simulation

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-10-22 12:21:36 +05:30
Agniva De Sarker
64677dd554 MM-42810: Using websocket broadcast hook for permalink preview (#28627)
We use the newly introduced websocket broadcast hook system
to implement permalink preview efficiently. This is essentially
a re-do of https://github.com/mattermost/mattermost/pull/23812
using the new system.

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

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-10-21 09:35:32 +05:30
Miguel de la Cruz
30cb527cf6 Forbid users from creating DMs and GMs with remote users (#28855)
* Forbid users from creating DMs and GMs with remote users

This change prevents the application from creating new DMs and GMs
when remote users are involved, and prevents as well new posts from
being created into preexisting DMs and GMs with remote users created
in previous versions.

* Adds i18n

* Skip preexisting DM tests and create a new one for the new behavior
2024-10-18 11:16:29 -06:00
Miguel de la Cruz
b4d8b6239c Excludes remote channels from channel search (#28708)
* Excludes remote channels from channel search

This is done through a new body parameter in the SearchAllChannels
endpoint that allows to search for local only channels, which are
either channels that are shared but marked as homed locally, or
channels that are not shared at all.

* fix lint

* Fix tests

---------

Co-authored-by: Caleb Roseland <caleb@calebroseland.com>
2024-10-18 07:41:24 -06:00
Caleb Roseland
fcded9559c MM-61032: Add default_team_id to accept invite flow (#28841)
* add default_team_id to accept invite api

* add team selector to accept invite flow UI

* e2e

* lint/i18n
2024-10-18 12:26:38 +02:00
Caleb Roseland
e6d6881917 MM-60980: Add RemoteClusterInvite.IsValid (#28624)
Co-authored-by: Mattermost Build <build@mattermost.com>
2024-10-17 20:37:11 -05:00
Scott Bishel
5dc86d5010 MM-56775 Limit Bookmarks Title and URL (#28424)
* additional validation for channelbookmark

* add fixes for webapp

* only set permissions correct for type

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-10-16 08:26:53 -06:00
Matthew Straughn
bc934007dc Update message when password does not match requirement (#28178)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Caleb Roseland <caleb@calebroseland.com>
2024-10-15 10:31:01 +02:00
Ben Schumacher
ff6de4bdab Fix errcheck issues in channels/app/admin_test.go (#28767) 2024-10-14 21:05:39 +02:00
Ben Schumacher
7ff22436dc [MM-60685] Fix racy TestSyncLdap (#28324) 2024-10-14 13:04:48 +02:00
Ibrahim Serdar Acikgoz
9d5993d89d [MM-58834] Review user preferences export and import (#28286) 2024-10-11 12:28:37 +02:00
Agniva De Sarker
a258fd80b2 Remove remaining references to model.NewXX (#28678)
And we remove the deprecated functions to force uses
only of the new function.
```release-note
NONE
```
2024-10-10 22:15:22 +05:30
Agniva De Sarker
3db139f746 Removed the max/min family of functions (#28679)
They are in-built in Go now
```release-note
NONE
```
2024-10-10 22:14:21 +05:30
Ben Cooke
b3c7ef0b97 [MM-56073] MMCTL delete post command (#27539)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2024-10-08 16:45:31 +02:00
Jesse Hallam
e9968792b0 Emit license details to logs when added or removed (#28333)
* log when changing the license

* handle test licenses without features or customer data

* skip logLicense if logger not setup
2024-10-07 12:48:03 -03:00
Guillermo Vayá
662e59865c MM-59360 add telemetry for paid features related to guests (#28295)
* add telemetry for paid features related to guests

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-10-07 13:30:19 +02:00
Ben Schumacher
f3eee28f56 [MM-60253] Avoid unnecessary cache clearing during LDAP sync (#28300) 2024-10-03 16:26:53 +02:00
Daniel Espino García
da6b40665a Avoid resetting device id when removed from push proxy (#28269)
* Avoid resetting device id when removed from push proxy

* Fix test and minor improvements

* Add MySQL support
2024-10-03 10:09:25 +02:00
Scott Bishel
0048723ccd MM-60679 - Validate playbook plugin version, based on license (#28366)
Automatic Merge
2024-10-02 20:14:32 +02:00
Pablo Vélez
1690e48db6 MM 60222 - apply filter to export csv (#28212)
* MM-60222_apply filter to export csv

* get the report exporting with the filters ready

* add unit tests

* cover one more file with some tests

* style the confirm modal note

* add translations

* remove unnecessary print line

* disable export button if there is no data to export

* fix linter issues

* fix linter errors

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-10-02 12:23:39 +02:00
Harrison Healey
76021c76a0 MM-60351 Use oEmbed for YouTube links (#28312)
* Split up handling of permalinks and other links in getLinkMetadata

* MM-60351 Use oEmbed for YouTube links

* Explicitly request json from the oEmbed provider

* Fix linter

* Fix type of CacheAge field

* Address feedback
2024-10-01 14:06:45 -04:00
Ben Schumacher
2b426573cd [MM-60619] Annotate cluster logs messages (#28268) 2024-09-27 09:17:16 +02:00
Devin Binnie
d58b048965 [MM-60603] Don't follow threads when marking them as read on focus (#28263)
* [MM-60603] Don't follow threads when marking them as read on focus

* Fix tests

* Fix lint

* Fix the original bug in the API call
2024-09-26 09:02:11 -04:00
Ben Schumacher
20ed58906a [MM-60307] Check if session is nil before calling UpdateLastActivityAtIfNeeded (#28254) 2024-09-26 13:52:59 +02:00
Daniel Espino García
1e8ef05338 Fix missing profile messages on notification dashboards (#28297) 2024-09-25 12:07:24 +02:00
Agniva De Sarker
9447cb9074 MM-60171: Using a generic function to allocate values (#28245)
We sprinkle a bit of generic magic to refactor a lot
of duplicate code.

To avoid exposing unnecessary code, I duplicated the function
twice. But let me know if you have strong opinions about this.

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

```release-note
NONE
```


---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-09-25 10:00:14 +05:30
Harrison Healey
46cad5c552 MM-59854 Fully allow at mentions in message attachment field values and add E2E tests (#28018)
* Add descriptions to test cases for getNeededAtMentionedUsernames

* MM-59854 Load users who are at-mentioned in message attachment fields

* MM-59854 Add server support for at-mentioning users in message attachment fields

* Migrate support/external_commands from JS to TS

* MM-59584 Ensure that at-mentions never show in other message attachment fields

* MM-59584 Add E2E tests for how we load users based on at mentions

* Use new E2E test helpers in other places

* Update snapshots
2024-09-24 09:41:03 -04:00
Daniel Espino García
040838b056 Add metrics for mobile versions snapshots (#28191)
* Add metrics for mobile versions snapshots

* Add notifications disabled and fix lint

* Address feedback

* Verify all references to JobTypeActiveUsers

* Fix typos

* Improve platform values

* Add test and MySQL support
2024-09-24 12:02:19 +02:00
Agniva De Sarker
d45a54a8e9 MM-60480: Do not invalidate channel member cache on login (#28143)
On user login, we were aggressively clearing the channel member
cache when it wasn't necessary. There is no channel membership
info that is changing on a user login.

Additionally, we fix some more issues with pointer passing
to the cache. It's a known problem that our value passing
style isn't consistent when we fetch items from cache.
Sometimes we pass pointer-to-pointer, sometimes it's just a
pointer. This is also the reason for https://github.com/mattermost/mattermost/pull/27830.

We fix 2 such cases where we passed pointer-to-pointer
but didn't handle the special case inside the cache.
This time, we actually fix it in the app layer instead
of the cache layer and also add a test for good measure.

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

```release-note
NONE
```

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-09-24 13:01:19 +05:30
Ben Schumacher
40d2ae97f1 [MM-60307] Fix racy use of session in NewWebConn (#28195) 2024-09-19 14:10:17 +02:00
Agniva De Sarker
75ed2860ac MM-59934: Add Redis to CI and other improvements (#28164)
- Update library version.
- Added MaxFlush delay to help reduce CPU usage.
- Fall back to LRU cache for the caches which use SCAN.
- Added mattermost-redis and running for all api layer
tests in Postgres.

https://mattermost.atlassian.net/browse/MM-59934
```release-note
NONE
```
2024-09-18 19:13:44 +05:30
Ibrahim Serdar Acikgoz
075681a412 [MM-59359] imports/import_validators.go: add openid to auth_service validation (#28082) 2024-09-17 07:13:54 +02:00
Julien Tant
1909206e16 [MM-59069] Make sure OTP are actual One Time Password (#28074)
Automatic Merge
2024-09-17 00:44:32 +02:00
Ibrahim Serdar Acikgoz
c7ae41b635 [MM-60278] app/config.go: add a nil check for a required field (#28064)
* app/config.go: add a nil check for a required field

* Apply suggestions from code review

Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>

---------

Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2024-09-16 15:24:01 +02:00
Miguel de la Cruz
d2c69fbf95 Changes the event to send when a channel is shared or unshared (#28183)
* Changes the event to send when a channel is shared or unshared

Before we were sending the CHANNEL_CONVERTED websockets event, which
is intended to notify of a public channel being converted into a
private one, so the interface was showing the channel as private until
the client was refreshed.

Now a full channel update event is sent when the channel is shared or
unshared, so the interface gets the new information correctly.

* Fix message type on command tests
2024-09-13 21:40:02 +00:00
Miguel de la Cruz
cae456de2d Adds includeDeleted flag to get remote cluster app and store methods (#28182) 2024-09-13 23:08:53 +02:00
TheInvincible
190d4c48b4 MM-56994 Used false as default for useMilitaryTime (#28128)
* used false as default for useMilitaryTime

* added test for user time-format preference
2024-09-13 13:43:54 -04:00
Nick Misasi
6cece9faa6 Update download app link in Cloud welcome email (#28123) 2024-09-13 10:53:29 -04:00