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

20395 Коммитов

Автор SHA1 Сообщение Дата
Sharuru
916c8ee95c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (6134 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/zh_Hans/
2025-04-22 09:22:29 +00:00
Sharuru
c525fa1c88 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (2649 of 2649 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/zh_Hans/
2025-04-22 09:22:29 +00:00
Sharuru
fdb9c00ccb Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.7% (2617 of 2649 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/zh_Hans/
2025-04-22 09:22:29 +00:00
Frank Paul Silye
10d02f9591 Translated using Weblate (Norwegian Bokmål)
Currently translated at 78.0% (4790 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-22 09:22:29 +00:00
Bohdan
d6e0421fc8 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (6134 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/uk/
2025-04-22 09:22:29 +00:00
kaakaa
7d734a382f Translated using Weblate (Japanese)
Currently translated at 100.0% (6134 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ja/
2025-04-22 09:22:29 +00:00
kaakaa
c5421a693e Translated using Weblate (Japanese)
Currently translated at 100.0% (2649 of 2649 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ja/
2025-04-22 09:22:29 +00:00
jprusch
f0cddc4b57 Translated using Weblate (German)
Currently translated at 100.0% (6134 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/de/
2025-04-22 09:22:29 +00:00
jprusch
57f0e8d0ca Translated using Weblate (German)
Currently translated at 100.0% (2649 of 2649 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/de/
2025-04-22 09:22:29 +00:00
jprusch
75d04a3941 Translated using Weblate (German)
Currently translated at 99.6% (6111 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/de/
2025-04-22 09:22:29 +00:00
Frank Paul Silye
fc39127cea Translated using Weblate (Norwegian Bokmål)
Currently translated at 78.0% (4785 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-22 09:22:29 +00:00
Frank Paul Silye
efe604c05a Translated using Weblate (Norwegian Bokmål)
Currently translated at 77.7% (4772 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-22 09:22:29 +00:00
Frank Paul Silye
998448880c Translated using Weblate (Norwegian Bokmål)
Currently translated at 77.2% (4738 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-22 09:22:29 +00:00
master7
5f404a8426 Translated using Weblate (Polish)
Currently translated at 100.0% (6134 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/
2025-04-22 09:22:29 +00:00
Serhii Khomiuk
8a15346fe2 Translated using Weblate (Ukrainian)
Currently translated at 99.4% (2634 of 2649 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/uk/
2025-04-22 09:22:29 +00:00
Frank Paul Silye
24be88f411 Translated using Weblate (Norwegian Bokmål)
Currently translated at 77.1% (4735 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-22 09:22:29 +00:00
Agniva De Sarker
d8dbb6cc22 MM-56548: [AI assisted]Add support for incremental thread loading using UpdateAt timestamp (#30486)
Every time we load the RHS, we used to load the FULL thread always. Although
the actual ThreadViewer React component is virtualized, and the server side
API call is paginated, we still went through all the pages, to get the full
thread and passed it on to the ThreadViewer. This would be for first loads,
and subsequent loads of the same thread.

This was a bug originally, but then it was a necessity after we applied websocket event scope because
now we won't get emoji reactions of a thread if the user is not on the thread.

To fix that, we enhance the thread loading functionality by adding support for fetching
thread updates based on the UpdateAt timestamp. Now, for subsequent loads,
we only get the changed posts in a thread. The implementation:

- Adds new API parameters: fromUpdateAt and updatesOnly to the GetPostThread endpoint
- Updates database queries to support sorting and filtering by UpdateAt
- Implements thread state management to track the last update timestamp
- Adds client-side support to use incremental loading for improved performance
- Ensures proper validation for parameter combinations and error handling

This change enables more efficient thread loading, particularly for long threads
with frequent updates, by only fetching posts that have been updated since the
last view.

Caveats: For delta updates, the SQL query won't use the best index possible
because we have an index for (CreateAt, Id), but no index for (UpdateAt, Id).
However, from my tests, it is not as bad as it looks:

```
[loadtest] # EXPLAIN (ANALYZE, BUFFERS) SELECT * FROM Posts WHERE Posts.DeleteAt = 0 AND Posts.RootId = 'qbr5gctu9iyg8c36hpcq6f3w8e' AND Posts.UpdateAt > 1623445795824 ORDER BY UpdateAt ASC, Id ASC LIMIT 61;
                                                                   QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------------
 Limit  (cost=8.31..8.31 rows=1 width=216) (actual time=0.047..0.049 rows=0 loops=1)
   Buffers: shared hit=2
   ->  Sort  (cost=8.31..8.31 rows=1 width=216) (actual time=0.044..0.045 rows=0 loops=1)
         Sort Key: updateat, id
         Sort Method: quicksort  Memory: 25kB
         Buffers: shared hit=2
         ->  Index Scan using idx_posts_root_id_delete_at on posts  (cost=0.28..8.30 rows=1 width=216) (actual time=0.031..0.032 rows=0 loops=1)
               Index Cond: (((rootid)::text = 'qbr5gctu9iyg8c36hpcq6f3w8e'::text) AND (deleteat = 0))
               Filter: (updateat > '1623445795824'::bigint)
               Buffers: shared hit=2
 Planning:
   Buffers: shared hit=3
 Planning Time: 0.508 ms
 Execution Time: 0.106 ms
(14 rows)
```

We still get an index scan with index cond. Although there's a filter element, but atleast we get the whole thread with the index.
My thinking is that while the whole thread might be large, but after that, updates on a thread should be incremental.
Therefore, we should be okay without adding yet another index on the posts table.

This is just the first step in what could be potentially improved further.

1. We shouldn't even be loading the full thread always. But rather let the virtualized viewer
load more posts on demand.
2. If a post has been just reacted to, then we need not send the whole post down, but just the
reaction. This further saves bandwidth.

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

TBD: Add load-test coverage to update the thread loading code

```release-note
NONE
```
---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-22 10:43:13 +05:30
Saturn Abril
d631974e88 MM-63820 chore(e2e): update dependencies and docs (#30807)
* chore(e2e): update dependencies and docs

* update the use of postMessage, expose 8065 on test server and fix flakiness on profile popover
2025-04-22 02:02:55 +08:00
Alejandro García Montoro
de46d798e4 MM-60780: Reject emails within angle brackets (#29661)
* Reject emails within angle brackets

mail.ParseAddress is RFC-compliant, which means that it accepts emails
with names, as in "Billy Bob <billy@example.com>". It even accepts this
form *without* a name; e.g. "<billy@example.com>". We want to store the
plain address, so we compare the user input with the Address field of
the result from mail.ParseAddress, which should contain only
"billy@example.com", thus only accepting emails that do not contain
names nor angle brackets.

* Log a warning for admins with clear next steps

* Fix wording of comment

* And a typo

* Add specific command example to log message

* Add input email to log message

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-21 19:22:15 +02:00
M-ZubairAhmed
502506a517 [MM-55277] Team's menu doesn't follow standard accessible keyboard behavior (#29917) 2025-04-18 19:18:54 +05:30
Jesse Hallam
b59f10cbbd MM-62158: Group Store, explicit aliases (#30741) 2025-04-17 17:37:28 -03:00
Jesse Hallam
4a93939359 MM-63728: Add license load metric endpoint and UI indicator (#30700)
* Add license load metric endpoint and UI indicator

Adds an API endpoint to calculate and return license usage as a load metric, and displays this metric in the About dialog. The metric is calculated as (MAU/licensed users)*100.

Additionally:
- Renamed function to be consistent with API endpoint name
- Added proper i18n strings for error messages and UI elements

* Fix TypeScript null check in about_build_modal.tsx

* MM-63728: Update OpenAPI documentation for license load metric

Update the OpenAPI documentation and code comments to correctly describe the license load metric calculation as using a multiplier of 1000 instead of percentage.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* MM-63728: Use float for license load metric calculation

Modify the license load metric calculation to use floats throughout the computation process while still returning an integer result. This maintains the existing API but improves the precision of the calculation.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* improve tests manually

* Update server/channels/api4/license_test.go

Co-authored-by: Doug Lauder <wiggin77@warpmail.net>

* Update server/channels/api4/license_test.go

Co-authored-by: Doug Lauder <wiggin77@warpmail.net>

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
2025-04-17 17:29:46 -03:00
Scott Bishel
10bff401ee MM-63587 Custom Profile Attributes E2E Profile Popover Test (#30777)
* add e2e tests for custom profile settings

* fix failed tests

* reorg folder and file convention, and add more details of the tests

* add e2e-tests for custom profile attributes in profile popover

* cleanup

* add test keys, move to folder of feature and move common function and constants to helper file

---------

Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-17 13:20:04 -06:00
Harrison Healey
e8685a5802 MM-63313 Make theme setting radio buttons horizontal and update text (#30584)
* MM-63313 Make theme setting radio buttons horizontal and update text

* MM-63313 Add Playwright test for a11y of theme settings

* Update snapshot

* Run prettier on E2E tests

* Address feedback

* Ensure new test reliably passes on Firefox

For whatever reason, Firefox lets you tab onto the Sidebar Styles panel
while it's expanding, possibly because it's a scrollable container with
overflowing content or because other browsers don't register the
children of that panel as visible while the panel is animating open.
Either way, we can look at the CSS on the panel to confirm when the
transition is done.

* Revert previous changes made to premade theme label alignment and size

In the last PR, these were changed from generic divs to buttons, and the
default browser style for buttons adds some extra padding and centres
the button text by default, so we have to override that.

* Adjust margins on inline radio group

* Fix playwright test code styling

* Fix bad import in E2E tests
2025-04-17 12:05:35 -04:00
Scott Bishel
b19ce98a74 get custom profile fields after login (#30665)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-17 09:59:33 -06:00
Matthew Birtch
3eb007fc82 MM-63704 Hide priority label if message is deleted (#30718)
* hide priority label if message is deleted

* added unit test

* fix lint issue

* Update panel_body.test.tsx.snap

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-17 08:27:17 -04:00
Ben Schumacher
00a242b879 [MM-62412] Block login of SAML users if no connected LDAP user is found (#29786) 2025-04-17 14:06:23 +02:00
Eva Sarafianou
b548a8f336 feat: Switch from Redoc to Stoplight Elements for API documentation (#30591) 2025-04-17 12:31:56 +03:00
Agniva De Sarker
e00cccd33f Bump up test runners after Elasticsearch move (#30778)
When Elasticsearch/Opensearch was in enterprise repo,
we had to bump up the runners: 9b151defcc.

However, the ES code was move inside server repo,
but the test runners were not changed. This led to frequent
test failures. So we are bumping up the test runners.

This will unfortunately lead to an increased cost, but
we have also cut down in other places viz. the build phase
uses the free runner now (https://github.com/mattermost/mattermost/pull/29297).
And the enterprise build also uses free runner (https://github.com/mattermost/enterprise/pull/1792).

```release-note
NONE
```
2025-04-17 10:23:37 +05:30
Weblate (bot)
ecd92e4896 Translations update from Mattermost Weblate (#30727)
* Translated using Weblate (Polish)

Currently translated at 100.0% (2632 of 2632 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Swedish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 8.4% (222 of 2632 strings)

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

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 76.3% (4673 of 6117 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 99.1% (6062 of 6117 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (2632 of 2632 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Finnish)

Currently translated at 48.5% (1277 of 2632 strings)

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

* Translated using Weblate (Finnish)

Currently translated at 48.5% (1277 of 2632 strings)

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

* Translated using Weblate (Finnish)

Currently translated at 48.5% (1277 of 2632 strings)

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

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 76.5% (4684 of 6117 strings)

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

* Translated using Weblate (Russian)

Currently translated at 97.1% (2557 of 2632 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (2632 of 2632 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 76.8% (4698 of 6117 strings)

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

* Translated using Weblate (Russian)

Currently translated at 97.5% (2568 of 2632 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 99.1% (6068 of 6117 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 99.8% (2627 of 2632 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 99.7% (2625 of 2632 strings)

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

* Translated using Weblate (Swedish)

Currently translated at 100.0% (2632 of 2632 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 99.9% (6116 of 6117 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Swedish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 77.1% (4722 of 6117 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 77.7% (4754 of 6117 strings)

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

* 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: master7 <marcin.karkosz@rajska.info>
Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se>
Co-authored-by: evituzas <evita.svegzdaite@gmail.com>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: Takuya N <takninnovationresearch@gmail.com>
Co-authored-by: Arusekk <floss@arusekk.pl>
Co-authored-by: jprusch <rs@schaeferbarthold.de>
Co-authored-by: Ricky Tigg <ricky.tigg@gmail.com>
Co-authored-by: Konstantin <eleferen@gmail.com>
Co-authored-by: Bohdan <bshumylo@yahoo.com>
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-16 16:05:19 -03:00
Scott Bishel
583ba80c7e revert css changes, add new css (#30699)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-16 08:21:00 -06:00
Miguel de la Cruz
3df7bfca88 Improves validation and sanitization for CPA fields and values (#30694)
This change automatically removes options and sync attributes when
sanitizing fields that don't support them. As per values, it returns
an error when the value for a text type field is longer than the 64
characters limit we're currently applying.

The PR fixes a bug on the create CPA field endpoint that was causing
the attrs of the CPAField not to be decoded correctly.

Co-authored-by: Miguel de la Cruz <miguel@ctrlz.es>
2025-04-16 16:04:30 +02:00
Nick Misasi
495a49b896 Feature/audit certificate upload (#30223)
* feat: Add certificate upload option for audit logging settings

* Commit current changes

* Additions

* MM-62944 Fix fileupload settings not being clickable

* Support for uploading a cert for experimental audit logging cert. Pre cloud implementation in the backend

* Forgot to add new hook

* Add support for setting custom audit log certifcates in Cloud

* Permissions

* I18n

* Change order

* Linter fixes

* Linter fixes, add openapi spec

* additions for openapi

* More openapi fixes because it won't run locally

* Undo, cursor went rogue

* newline fix

* Align types properly

* Fix i18n

* Fix i18n AGAIN

* Fix error

* Update api/v4/source/audit_logging.yaml

---------

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-16 09:34:18 -04:00
Matthew Birtch
e113b3cfc8 MM-59038 Fix markdown inconsistencies in preview mode (#30719)
* fix inconsistency with markdown image sizes in preview mode

* fix preview mode in RHS so it shows HR

* Update _markdown.scss

* fix css linting issue

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-16 08:48:28 -04:00
Saturn Abril
49d3a1f472 MM-62558 Add E2E tests for custom profile settings (#30722)
* add e2e tests for custom profile settings

* fix failed tests

* reorg folder and file convention, and add more details of the tests

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-16 10:32:27 +08:00
Claudio Costa
90953e9ee9 Prepackage Calls v1.7.0 (#30742) 2025-04-15 14:45:19 -06:00
Felipe Martin
1140ee17d6 fix: allow plugins when embedding mattermost (#30739) 2025-04-15 17:18:57 +02:00
Julien Tant
77bf047c55 [MM-63664] Fix mentions not paginating (#30671) 2025-04-15 08:06:27 -07:00
Claudio Costa
5b793ad11d Update bep/imagemeta to latest v0.11.0 (#30670) 2025-04-15 07:26:24 -06:00
Ben Schumacher
efd17a37ea [MM-28948] Fix errcheck linter issues in import_functions.go (#30615)
Co-authored-by: Claude <noreply@anthropic.com>
2025-04-15 09:53:38 +02:00
Ben Schumacher
b7f89984db [MM-61076] Fix errcheck issues in server/channels/web/saml.go (#30612)
Co-authored-by: Claude <noreply@anthropic.com>
2025-04-15 09:52:28 +02:00
Ben Schumacher
b8ad438c0a [MM-61515] Fix errcheck linter issues in webhook_test.go (#30684) 2025-04-15 09:50:22 +02:00
Harrison Healey
964678fc45 MM-62005 Remove FloatingFocusManager from PluginLinkTooltip (#30663)
* MM-62005 Remove FloatingFocusManager from PluginLinkTooltip

* Update tests to define more realistic plugin components

* Revert "Update tests to define more realistic plugin components"

This reverts commit c23307112c2bc5091b931980885cc79e4b945ff8.

* Revert changes to DeepPartial

* Use class component for test component
2025-04-14 14:18:26 -04:00
Jesse Hallam
6f33b721de MM-63378: Test and fix permission issues with System Manager team access (#30672)
* test PermissionView semantics

* change required ancillary permissions

`PermissionSysconsoleReadReportingTeamStatistics` doesn't strictly need `PermissionViewTeam`, but can work with whatever teams the user has access to.

* remove unnecessary timeouts

* remove redundant comment

* update snapshots

* Update e2e-tests/playwright/specs/functional/system_console/permissions/team_access.spec.ts

Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>

---------

Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-14 12:43:56 -03:00
Agniva De Sarker
848bac2bae MM-53739: replace store.NewErrNotFound with errors.Wrap in category queries (#30712)
It was a mistake to return ANY error as NewErrNotFound. Because this
can be a DB timeout, or any other network error.

Returning NewErrNotFound would categorize it as 404, eventually printing
the error in the DEBUG level. Changing it to normal error fixes this.

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

```release-note
NONE
```
2025-04-14 21:11:59 +05:30
Jesse Hallam
ae971225a5 stop reporting flaky tests (#30731) 2025-04-14 10:56:20 -03:00
Jesse Hallam
b84d913243 flaky test: Avoid team names that start with "A". (#30651)
This avoids a non-zero chance we append "pi" from the `model.NewId` and
end up with an invalid prefix "Api".

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-14 12:47:38 +00:00
Jesse Hallam
949a19efc1 MM-62156: Avoid SELECT * in retention_policy_store.go (#30458)
* MM-62156: Avoid SELECT * in retention_policy_store.go

- Modified subQueryIN function to use specific column name instead of SELECT *
- Improved code comments to explain the change
- Maintained same functionality while avoiding SELECT *

Fixes: https://mattermost.atlassian.net/browse/MM-62156

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>

* simplify subQueryIN comments

* inline part of subQueryIN for greater clarity

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-14 09:21:13 -03:00
Arya Khochare
0f860f0512 Fixed errcheck issues in server/channels/app/integration_action.go (#29040)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2025-04-14 13:56:05 +02:00
catalintomai
7789223494 MM-62930: Add validation of LDAP attribute values. (#30419) 2025-04-14 13:29:42 +02:00