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

1872 Коммитов

Автор SHA1 Сообщение Дата
Devin Binnie
341186355d [MM-62798][MM-63193] Restrict channel permissions on archived channels when viewing archived channels is disabled (#30314)
* [MM-62798][MM-63193] Restrict channel permissions on archived channels when viewing archived channels is disabled

* PR feedback

* PR feedback
2025-02-27 15:05:16 +00:00
Agniva De Sarker
ac10bb12a5 Revert "Bump Go version to 1.23.6 (#30242)" (#30359)
This reverts commit acbbd4c58d.
2025-02-27 14:58:51 +05:30
Eva Sarafianou
690cbc9fa3 bump prepackaged msteams version (#30344) 2025-02-27 10:06:17 +02:00
Harrison Healey
470123125a MM-63205 Revert emoji store methods to return empty arrays instead of nil (#30337)
* MM-63205 Revert emoji store methods to return empty arrays instead of nil

* Update tests for getEmojiList

* Add case to TestGetEmojisByNames

* Update tests for searchEmoji and autocompleteEmoji
2025-02-26 15:40:52 -05:00
Devin Binnie
9f49403d0a [MM-62687] Patch permission check to avoid modifying the system admin (#30292)
* [MM-62687] Patch permission check to avoid modifying the system admin

* Check for manage system first

* PR feedback

* Add another test

* Lint

* Fix test
2025-02-26 20:25:02 +00:00
Doug Lauder
a732962f0a add readme to the remotecluster and sharedchannel service directories (#30123) 2025-02-26 19:35:54 +01:00
Alejandro García Montoro
acbbd4c58d Bump Go version to 1.23.6 (#30242)
* Bump Go version to 1.23.6

* Update CodeQL Github action as well

* Use server's Go version for CodeQL action

Co-authored-by: Antonis Stamatiou <stamatiou.antonis@gmail.com>

* Empty commit to trigger CI

* Bump golangci-lint to a version supporting Go 1.23

* Fix golangci-lint warnings

Several rules from gosimple, revive and staticcheck linters were
failing:
- Redefinition of built-in identifiers (max, min, new, recover...)
- Use of printf-like functions with simple strings
- Check for nil slices, when len already takes it into account

---------

Co-authored-by: Antonis Stamatiou <stamatiou.antonis@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-02-26 16:43:04 +01:00
enzowritescode
77ae2e2d6d Fix doc comments and IDE complaint about ie. vs i.e. (#30340) 2025-02-26 08:17:56 -07:00
Harrison Healey
3902d00d0f MM-61947 Run DND expiry job more often and round expiry time to match interval (#29938)
* MM-61947 Run DND expiry job more often and round expiry time to match interval

* Move comment to make it godoc-compatible

* Change truncateDNDEndTime to work with seconds

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-02-25 16:20:00 -05:00
Arya Khochare
e8ef26196c Fixed errcheck issues in server/channels/app/permissions.go (#29064)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2025-02-25 10:49:28 +01:00
Harshil Sharma
6e738f489f Channel banner sql migrations (#30274)
* Adde MySQL and Postgres migrations

* Replaced select * with column names

* removed all * from channel SQL store

* cleanup

* Fixed a duplicate column

* cleanup

* Added migrations and store support

* WIP

* used channelname slice in a missed place

* Handled patch

* Added app level tests

* Added API layer tests

* Added API layer tests

* WIP

* converted to query builder

* cleanupo

* added not null and default constraints

* Fixed test

* fixed file name

* review fixes

* review fixes

* updated migration file

* fixed text

* Review fixes
2025-02-25 14:52:15 +05:30
Agniva De Sarker
4e5cb16955 MM-62079: Using a cache prefix to isolate cache keys for each test (#30261)
```release-note
A new config setting CacheSettings.RedisCachePrefix has been added which can be used to add a prefix to all Redis cache keys.
```
2025-02-25 09:22:15 +05:30
Ricky Tigg
2b04b68af3 Translated using Weblate (Finnish)
Currently translated at 47.9% (1249 of 2604 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/fi/
2025-02-24 19:18:11 +00:00
Tom De Moor
d821358ddd Translated using Weblate (Dutch)
Currently translated at 99.8% (2601 of 2604 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/nl/
2025-02-24 19:18:11 +00:00
kaakaa
9c01c740bb Translated using Weblate (Japanese)
Currently translated at 100.0% (2604 of 2604 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ja/
2025-02-24 19:18:11 +00:00
Hosted Weblate
7728ccfeda Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/
2025-02-24 19:18:11 +00:00
Matthew Williams
856a84e584 Translated using Weblate (English (Australia))
Currently translated at 99.9% (2602 of 2604 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/en_AU/
2025-02-24 19:18:11 +00:00
Ricky Tigg
3636031b97 Translated using Weblate (Finnish)
Currently translated at 47.0% (1224 of 2604 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/fi/
2025-02-24 19:18:11 +00:00
ThrRip
0ea3da261b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (2604 of 2604 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/zh_Hans/
2025-02-24 19:18:11 +00:00
MArtin Johnson
40f20219ff Translated using Weblate (Swedish)
Currently translated at 100.0% (2604 of 2604 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/sv/
2025-02-24 19:18:11 +00:00
Serhii Khomiuk
8b0984ca3e Translated using Weblate (Ukrainian)
Currently translated at 99.7% (2597 of 2604 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/uk/
2025-02-24 19:18:11 +00:00
Serhii Khomiuk
2790d30743 Translated using Weblate (Ukrainian)
Currently translated at 99.3% (2588 of 2604 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/uk/
2025-02-24 19:18:11 +00:00
Serhii Khomiuk
c518bb75e9 Translated using Weblate (Ukrainian)
Currently translated at 99.3% (2587 of 2604 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/uk/
2025-02-24 19:18:11 +00:00
master7
fbb7ecf2c3 Translated using Weblate (Polish)
Currently translated at 100.0% (2604 of 2604 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/pl/
2025-02-24 19:18:11 +00:00
jprusch
9a0033ce52 Translated using Weblate (German)
Currently translated at 100.0% (2604 of 2604 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/de/
2025-02-24 19:18:11 +00:00
Konstantin
424503adc0 Translated using Weblate (Russian)
Currently translated at 96.6% (2516 of 2604 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ru/
2025-02-24 19:18:11 +00:00
Scott Bishel
806fce3030 MM-62760 - Allow Team Admins to view team email (#30170)
* allow team admins to view team email.

* Update server/channels/api4/team_test.go

Co-authored-by: Caleb Roseland <caleb@calebroseland.com>

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Caleb Roseland <caleb@calebroseland.com>
2025-02-24 11:05:17 -07:00
Doug Lauder
09ff43acc6 Remove channel export plugin from transitional plugins list. Channel export plugin is now prepackaged. (#30193)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-02-24 11:39:34 -05:00
Harshil Sharma
920b3301e5 [MM-63196] Channel sql store migrate select * to specific columns (#30255)
* Adde MySQL and Postgres migrations

* Replaced select * with column names

* removed all * from channel SQL store

* cleanup

* Fixed a duplicate column

* cleanup

* used channelname slice in a missed place

* WIP

* converted to query builder

* cleanupo

* Review fixes
2025-02-24 09:13:12 +05:30
Agniva De Sarker
fa9af97727 MM-63195: Enforce MFA requirement for non-self requests (#30290)
https://mattermost.atlassian.net/browse/MM-63195

```release-note
NONE
```
2025-02-22 12:54:52 +05:30
Agniva De Sarker
fd356b62b4 [AI assisted] MM-62837: (#30268)
We did not invalidate the cache after converting a user to bot.
That led to issues. See JIRA for more details.

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

```release-note
NONE
```
2025-02-20 21:45:44 +05:30
Claudio Costa
2f8c65a1ea Fix flaky TestGetMattermostLog (#29890) 2025-02-19 08:56:56 -06:00
Ibrahim Serdar Acikgoz
a7905541b8 [MM-62660] Makefile: add ability to run local file store tests as standalone (#30260)
* server/Makefile: add ability to test&benchmark local file store only

* remove benchmark
2025-02-19 10:18:07 +01:00
Devin Binnie
ce61ed8f52 [MM-55090] Threads created by users should not be auto-followed on reply by the creator when they've left the channel (#30181)
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Caleb Roseland <caleb@calebroseland.com>
2025-02-18 17:29:26 +00:00
Christopher Speller
89490a1093 Update Copilot plugin to v1.1.0 (#30098)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-02-18 07:16:11 -08:00
Christopher Speller
2b5275d871 chore: Update Playbooks plugin to v2.1.1 (#29996) 2025-02-18 12:18:36 +00:00
Amy Blais
ff566e243c Updated minimum supported Edge and Chrome versions (#30030)
Automatic Merge
2025-02-18 09:20:09 +02:00
Weblate (bot)
62a24aa91e Translations update from Mattermost Weblate (#30241)
* Translated using Weblate (Russian)

Currently translated at 96.8% (2519 of 2602 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (2602 of 2602 strings)

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

* Translated using Weblate (Turkish)

Currently translated at 100.0% (2602 of 2602 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (6071 of 6071 strings)

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

* Translated using Weblate (Turkish)

Currently translated at 100.0% (6071 of 6071 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (2602 of 2602 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (6071 of 6071 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (2602 of 2602 strings)

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

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (2602 of 2602 strings)

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

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (6071 of 6071 strings)

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

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 60.5% (3673 of 6071 strings)

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

* Translated using Weblate (Swedish)

Currently translated at 99.8% (6060 of 6071 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 99.8% (2599 of 2602 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 99.9% (6070 of 6071 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 99.2% (2583 of 2602 strings)

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

* Translated using Weblate (Polish)

Currently translated at 99.1% (6021 of 6071 strings)

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

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

---------

Co-authored-by: Konstantin <eleferen@gmail.com>
Co-authored-by: jprusch <rs@schaeferbarthold.de>
Co-authored-by: Kaya Zeren <kayazeren@gmail.com>
Co-authored-by: Martin Mičuda <micuda@rematiptop.cz>
Co-authored-by: master7 <marcin.karkosz@rajska.info>
Co-authored-by: ThrRip <coding@thrrip.space>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se>
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: Serhii Khomiuk <sergiy.khomiuk@gmail.com>
2025-02-17 19:09:54 +00:00
Ibrahim Serdar Acikgoz
3da6e7a75d server/Makefile: pin dbcmp (#30245) 2025-02-17 18:10:44 +01:00
Agniva De Sarker
32037706b5 MM-62960: Support both webhub iteration scopes properly (#30224)
When Channel iteration mode is enabled, we need to ensure that
channel scoped events do not fall through to the connIndex.All()
condition. This is possible because there are multiple hubs
in a given system. So a single event will flow through all of them
and in some hubs, a channel scoped event might not have any connections.

In that case, we need to stop processing further.

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

```release-note
NONE
```
2025-02-17 19:39:39 +05:30
Agniva De Sarker
e7a246c065 [AI assisted]: MM-62914: Added MFA authentication for plugin requests as well (#30160)
We wipe the token if MFA authentication is enabled. Also added a test case
to lock in the functionality.

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

```release-note
NONE
```
2025-02-17 12:20:21 +05:30
Agniva De Sarker
da7192246e MM-62960: Improve webConn remove performance from hubConnectionIndex (#30178)
When we added iteration by channelID, this was a known tradeoff during that.
However, it has been observed that the regular connection removal function
creates considerable blocking of the processing loop, leading to high
CPU usage and API latencies.

To fix this, we add a reverse mapping of channelIDs to connections
and their positions in the slice. This helps us to remove the connection
from the slice without iteration.

Unfortunately, this still needs to iterate through all channelIDs
during invalidation of the channel member cache. However, the user
cache invalidation is not a regular activity. So it should be an acceptable
tradeoff to make.

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

```release-note
A new config knob ServiceSettings.EnableWebHubChannelIteration which allows a user to control the performance of websocket broadcasting. By default, this setting is turned off. If it is turned on, it improves the websocket broadcasting performance at the expense of poor performance when users join/leave a channel. It is not recommended to turn it on unless you have atleast 200,000 concurrent users actively using MM.
```

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-02-14 09:19:36 +05:30
Julien Tant
06d8c92504 Using StringInterface instead of mapStringAny (#30211) 2025-02-14 03:14:08 +00:00
Caleb Roseland
68c11e9ecb MM-61375: Update file handling for bookmarks (#30034) 2025-02-13 17:11:13 -06:00
Caleb Roseland
2182b1eaf9 MM-62548: CPA Reordering - drag and drop (#30097) 2025-02-13 17:09:35 -06:00
Julien Tant
41e0f97176 Remove call for removed attribute Page (#30207) 2025-02-13 17:35:27 +00:00
Agniva De Sarker
1a58f923e0 [aider assisted] MM-61888: Add ClientSideUserIds field to MetricsSettings (#30127)
We add a new config setting to allow the admin to set a fixed
list of userIDs to track for all client side webapp metrics.

This gives the admin to get a deeper look at how the application
is behaving for a single user.

A new section in the system console is also added for the user
to edit this setting from the UI.

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

```release-note
A new config setting MetricsSettings.ClientSideUserIds is added
where you can set the user ids you want to track for client side webapp
metrics.
```

* fix lint errors

```release-note
NONE
```

* fixing tests

```release-note
NONE
```
2025-02-13 21:10:34 +05:30
Julien Tant
632a60b332 [MM-62553]+[MM-62554] Property Architecture: cursor based pagination (#30119)
* refactor: Replace pagination with cursor-based pagination for custom profile attributes

* remove pagination loop on property value retrieval for CPA

* add migrations to optimize pagination on property fields and values

* adapt test to remove pagination check

* update migrations list

* postgres: drop index concurrently

* concurrent index manipulation must be done outside of a Tx

* fix: Correct SQL index drop syntax from "OM" to "ON" in migration files

* test: Add CountForGroup test cases for property field store

* refactor: Add CountForGroup method to PropertyFieldStore interface and implementations

* Fix style and i18n

* feat: Add optional deleted property field filtering to CountForGroup method

* refactor: Update CountForGroup to support optional deleted property fields

* test: Add comprehensive tests for CountForGroup with includeDeleted parameter

* adapt test + gen layers

* rename property service method and set the includeDelete to false

* refactor: Remove redundant constant and use CustomProfileAttributesFieldLimit directly

* fix tests

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-02-13 15:23:50 +00:00
Miguel de la Cruz
f85a8c61a4 Adds websocket messages to Custom Profile Attributes (#30163)
* Adds websocket messages to Custom Profile Attributes

The app layer now fires a websocket event as part of the operations
over Custom Profile Attribute fields and values. It updates as well
the Patch method for CPA values so all the changes are commited as
part of the same transaction.

To be able to do this last operation, the change adds methods to
upsert CPA values in both the store and the property service.

* Fix i18n strings

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Miguel de la Cruz <miguel@ctrlz.es>
2025-02-13 11:21:46 +00:00
Miguel de la Cruz
5ba80d51ae Updates the property field and value update methods to use a single query for multiple entities (#30198)
* Updates the property field and value update methods to use a single query for multiple entities

* Update server/channels/store/sqlstore/property_field_store.go

Co-authored-by: Julien Tant <785518+JulienTant@users.noreply.github.com>

---------

Co-authored-by: Miguel de la Cruz (aider) <miguel@ctrlz.es>
Co-authored-by: Julien Tant <785518+JulienTant@users.noreply.github.com>
2025-02-13 11:12:51 +00:00