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

20937 Коммитов

Автор SHA1 Сообщение Дата
Christopher Speller
c11df2ff7a Update Agents plugin to v1.2.4 (#33273) 2025-07-04 08:28:48 +03:00
Harrison Healey
5b6320b7dc MM-62744 Change how custom URLs are autolinked to fix remote user at-mentions (#32080)
* Stop explicitly passing autocompleteUrlSchemes into text formatting code

This is the first part of changing how autocompleteUrlSchemes works so
that it can be moved to be part of the parser like in mobile instead of
happening in the renderer.

I'm not a fan of using the global store directly in utils/markdown, but
this seems like the only way to have this apply to all the Markdown
that's rendered in various helpers throughout the app. Ideally, we'd
have some getMarkdownParser selector and a hook which provides the
config, but that's a future improvement to make"

* MM-62744 Move URL filtering to the Markdown parser instead of the renderer

MM-62744 is caused by two things:

1. URL autolinking takes place in the Markdown parser which occurs
   before at-mention parsing which (despite the "parsing" part) happens
   in the Markdown renderer in the web app.
2. The autolinking in marked is very aggressive and identifies anything
   that looks like some:text as a link.

Those lead to remote mentions like `@user:server` being incorrectly
parsed by Markdown as a link to `user:server`. It isn't renderered as a
link because the URL filtering logic in the Markdown parser blocks that,
but at that point, the Markdown renderer won't check if it's an
at-mention.

By moving the URL filtering to occur earlier, like it does in the mobile
app, the Markdown code won't autolink `@user:server` (unless the server
has `user` configured as a custom URL scheme for some reason), so it's
free to be turned into an at-mention by the renderer code.

* MM-62744 Ensure various regexes and features support remote mentions

* Update marked back to master
2025-07-03 11:05:12 -04:00
Sven Hüster
0d4c2b72f1 Improve clarity of channel notification limit messages (#32160)
* Improve clarity of channel notification limit messages

- Update user-facing messages to explain performance reasoning and provide guidance
- Enhance admin setting descriptions to be more informative about user experience  
- Change admin setting title to better reflect purpose

Fixes #32159

Co-authored-by: Sven Hüster <svelle@users.noreply.github.com>

* Update webapp/channels/src/i18n/en.json

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update server/i18n/en.json

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update server/i18n/en.json

* Update server/i18n/en.json

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Sven Hüster <svelle@users.noreply.github.com>
Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>
Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
2025-07-03 09:33:17 -04:00
Christopher Poile
55eb63a367 [MM-64735] Add defensive fallback for userHasReadPermissionOnSomeResources (#33072)
* Add defensive fallback for userHasReadPermissionOnSomeResources

When called with a string instead of an object, the function now falls back
to checking a single resource permission instead of failing.

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

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

* Revert "Add defensive fallback for userHasReadPermissionOnSomeResources"

This reverts commit f9c32bc3e2598467e7c8a520319ac5ae49135cbf.

* simpler fix -- remove string as a possible parameter

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-03 08:47:09 -04:00
yasser khan
5cd3a3f745 Fix(cypress): Fix e2e failing on master (#32494) 2025-07-03 10:19:58 +05:30
Harrison Healey
6004d15f9e MM-61595 Use dedicated popover component for post actions menu when empty (#31656)
* Link post actions menu button to existing menu

That menu isn't fully accessible because it uses the old Menu widget,
but the readout will at least be correct when tabbing through the post
controls.

* MM-61595 Use dedicated popover component for post actions menu when empty

* Update unit tests

* Split out ActionsMenuEmptyPopover to start of separate Popover component
2025-07-02 16:23:22 -04:00
Christopher Poile
9ad0f1e070 [MM-64708] Fix custom data retention policy navigation (#33011)
Fix navigation to custom data retention policy form by correcting permission
checking functions. The routes for creating and editing custom data retention
policies were using userHasReadPermissionOnSomeResources() with a single
string resource key, causing permission checks to fail and routes to be
hidden.

Changed both custom_policy_form and custom_policy_form_edit routes to use
userHasReadPermissionOnResource() instead, making them consistent with
other working data retention routes.

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-02 14:03:49 -04:00
Maria A Nunez
466e3c3502 Fix accessibility issue with dropdown options (#30715)
* Added getOptionLabel to fix dropdown accessibility for options

* Fix tests

* Revert unnecessary cases

* Other unnecessary case

* Linting

* PR Feedback

* Cleanup

* Cursor assisted - unit tests

* Linting

* Linting i18n

* Fix test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-07-02 13:19:48 -04:00
M-ZubairAhmed
0d9c4810f4 [MM-64618] ResizeObserver callback fires after component unmount during channel switching (#32668) 2025-07-02 22:30:17 +05:30
Jesse Hallam
d2188ce1dd remove spurious user limits log (#33038)
Only log a warning when the created user exceeds the `MaxUserLimits` if
`MaxUsersLimit > 0`. This was showing up spuriously on licensed servers
for which no limit applied.

Note that this is distinct from blocking user creation past
`MaxHardUsersLimit`.
2025-07-02 13:29:48 -03:00
Jesse Hallam
ebe03c1d45 Channel Store: No SELECT * (#32167)
* Replace SELECT * with explicit column lists in channel store

Migrates channel_store.go away from SELECT * patterns to explicit column
lists for better performance, maintainability, and schema safety.

- Replace GetPinnedPosts raw SQL with query builder using postSliceColumns()
- Replace "cc.*" in group channel search with channelSliceColumns()
- Replace GetChannelsBatchForIndexing raw SQL with query builder
- Replace channel member and team queries with respective column helpers
- Use SelectBuilder helper instead of manual ToSql() calls

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

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

* Replace SELECT * with COUNT(*) in user_test.go

Replaces unnecessary SELECT * queries with SELECT COUNT(*) in
TestPermanentDeleteUser bot count verification. Only needs to check
the count of bots, not retrieve full bot records.

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

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-02 15:35:54 +00:00
Nick Misasi
fb9b05b764 Add preview specific UTM parameters (#32509)
Automatic Merge
2025-07-02 17:52:01 +03:00
Pablo Vélez
e99aa4e430 MM-64428 - user tag invite filtering (#31226)
* MM-64428 - user tag invite filtering

* fix lint issues

* remove unnecesary line

* update translations and skip mysql tests

* simplify the solution so in abac channels the invitation link is never shown

* finish clean up of unnecessary code

* clean up and remove no longer necessary translations

* remove leftover props and remove no longer needed tests after simplification

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-07-02 14:55:02 +02:00
Pablo Vélez
f1893e4837 MM-64707 - abac channels should not list user groups in invite modal (#32574)
* MM-64707 - abac channels should not list user groups in invite modal

* fix linter
2025-07-02 12:30:46 +02:00
Ibrahim Serdar Acikgoz
0809ce7a62 [MM-64630] Fix an issue where multiple channels can't be removed from policies (#32164)
* Fix an issue where multiple channels can't be removed from policies

* actually fix the issue

* use hardcoded limit

* simplify removal
2025-07-01 20:48:57 +02:00
Miguel de la Cruz
d8758f8984 Improve response on team restore (#32118)
Co-authored-by: Miguel de la Cruz <miguel@ctrlz.es>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-07-01 16:54:30 +00:00
Christopher Poile
0832bf8fd4 [MM-64696] LDAP Wizard: Add help text for slow LDAP queries (#32161) 2025-07-01 10:14:33 -04:00
Daniel Espino García
1b7d27707d Fix MM64178 (#30957)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-06-30 16:43:59 -05:00
sabril
edbfc3d933 upgrade playwright dependencies (#32405) 2025-06-30 23:38:24 +08:00
Nick Misasi
db56476d51 Update subtitle for boards preview (#32168) 2025-06-30 11:12:51 -04:00
Hosted Weblate
d6072ff245 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/
2025-06-30 14:17:02 +00:00
Tom De Moor
f8918360ff Translated using Weblate (Dutch)
Currently translated at 99.9% (6383 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nl/
2025-06-30 14:17:02 +00:00
Frank Paul Silye
21277e4755 Translated using Weblate (Norwegian Bokmål)
Currently translated at 82.2% (5253 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-06-30 14:17:02 +00:00
Tom De Moor
71cb8cdfcc Translated using Weblate (Dutch)
Currently translated at 99.6% (6361 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nl/
2025-06-30 14:17:02 +00:00
jprusch
6b5c4aef01 Translated using Weblate (German)
Currently translated at 100.0% (6386 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/de/
2025-06-30 14:17:02 +00:00
Tom De Moor
63c034ec77 Translated using Weblate (Dutch)
Currently translated at 98.7% (6304 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nl/
2025-06-30 14:17:02 +00:00
master7
2d46a1dc6b Translated using Weblate (Polish)
Currently translated at 99.6% (6363 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/
2025-06-30 14:17:02 +00:00
Manuela Silva
ff48b53e81 Translated using Weblate (Portuguese)
Currently translated at 22.2% (1422 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pt/
2025-06-30 14:17:02 +00:00
Manuela Silva
8323fec996 Translated using Weblate (Portuguese)
Currently translated at 18.6% (1191 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pt/
2025-06-30 14:17:02 +00:00
Sharuru
c9d7c73ad6 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (6386 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/zh_Hans/
2025-06-30 14:17:02 +00:00
Sharuru
8e41f66817 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (2717 of 2717 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/zh_Hans/
2025-06-30 14:17:02 +00:00
Frank Paul Silye
f58b2aef49 Translated using Weblate (Norwegian Bokmål)
Currently translated at 82.2% (5252 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-06-30 14:17:02 +00:00
Frank Paul Silye
04a27801c7 Translated using Weblate (Norwegian Bokmål)
Currently translated at 4.2% (116 of 2717 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/nb_NO/
2025-06-30 14:17:02 +00:00
master7
f01d9ec5dc Translated using Weblate (Polish)
Currently translated at 99.3% (6342 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/
2025-06-30 14:17:02 +00:00
Tom De Moor
898df23ac2 Translated using Weblate (Dutch)
Currently translated at 99.8% (2713 of 2717 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/nl/
2025-06-30 14:17:02 +00:00
Manuela Silva
8618e3988b Translated using Weblate (Portuguese)
Currently translated at 14.3% (919 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pt/
2025-06-30 14:17:02 +00:00
Manuela Silva
ad8ee664ef Translated using Weblate (Portuguese)
Currently translated at 1.1% (30 of 2717 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/pt/
2025-06-30 14:17:02 +00:00
Matthew Williams
73b67f2a66 Translated using Weblate (English (Australia))
Currently translated at 100.0% (6386 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/en_AU/
2025-06-30 14:17:02 +00:00
jprusch
8fee4caa3c Translated using Weblate (German)
Currently translated at 98.8% (6311 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/de/
2025-06-30 14:17:02 +00:00
Matthew Williams
2bbbc44649 Translated using Weblate (English (Australia))
Currently translated at 100.0% (2717 of 2717 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/en_AU/
2025-06-30 14:17:02 +00:00
jprusch
6ee1896ffc Translated using Weblate (German)
Currently translated at 100.0% (2717 of 2717 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/de/
2025-06-30 14:17:02 +00:00
master7
42914a6646 Translated using Weblate (Polish)
Currently translated at 98.9% (6322 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/
2025-06-30 14:17:02 +00:00
Matthew Williams
4aa65f17d1 Translated using Weblate (English (Australia))
Currently translated at 96.3% (6152 of 6386 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/en_AU/
2025-06-30 14:17:02 +00:00
Vicktor
efa3b3b8db feat(function component migration): migrate QuickInput to a function component (#31492)
* Initial commit

* feat(function component migration): migrate QuickInput to a function component

* fix: add missing export keyword

* Revert "Initial commit"

This reverts commit e40909c6d0590b67e00f62283f6e5a622fbaf9bb.

* refactor: reposition 'showClearButton' variable so tests pass

* refactor: ignore eslint warnings and rename props

Removed 'deleteProperty' calls since some props are destructured.

* refactor(quick_input): wrap functions in useCallback

Updated snapshots, tests, and removed dead code.

* fix(quick_input): add dependencies to useCallback

Restored quick_input.test.tsx to its initial state and made the value prop optional instead.
2025-06-30 16:05:25 +02:00
Christopher Speller
b3724d1151 Update Agents plugin to v1.2.2 (#32481) 2025-06-30 05:45:34 -07:00
Pablo Vélez
cd1e312190 MM-64690 - fix channel name input label (#32157)
* MM-64690 - fix channel name input label

* add correct font-weight

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-06-27 23:03:59 +02:00
Harrison Healey
fec77c26a1 Increase line height in RHS header (#32081) 2025-06-27 18:14:16 +00:00
Harrison Healey
5ffb7607cc MM-64669 Fix keyboard navigation of settings sidebar (#32098)
* MM-64669 Fix keyboard navigation of settings sidebar and add Playwright test

* MM-64669 Revert changes to Cypress test which masked keyboard bug

The changes that were previously made caused Cypress to refocus the
sidebar repeatedly which stopped the test from failing without fixing
the bug.

* Ensure focus highlight is always visible on sidebar tabs

This may not have been broken by the changes that caused MM-64669, but I
noticed it while I was in there and wanted to fix it.

* Fix settings modal scrolling while changing sections using arrow keys

* Remove accidentally-added field
2025-06-27 14:01:53 -04:00
Nick Misasi
62a4ce920e [CLD-9318] Button to re-open Preview Modal after closing (#32121)
* Remove pricing modal. Adjust everywhere to instead open mattermost.com/pricing. When air gapped, don't show buttons to view plans.

* Fix lint

* Further clean up of unused code. Fixes for linter

* Remove onboarding tasklist for previews, add Cloud previer banner

* Fixes for linter, i18n

* Revert dev lines

* Fix lint

* When below one minute, switch to seconds

* fix linter

* Add scaffolding for new Cloud Preview Modal

* Style updates

* Fix tests

* fixes for PR feedback

* useExternalLink for opening pricing modal with enriched params

* Fix i17n

* fix style

* Fix style, tests

* Fix linter, types

* Add file

* Make types even more fixed

* fix: correct test case for SKU label not provided scenario

The test "should not render SKU label when not provided" was incorrectly using baseContent which includes a SKU label. Fixed by creating contentWithoutSku that explicitly sets skuLabel to undefined to properly test the scenario where no SKU label is provided.

Co-authored-by: Nick Misasi <nickmisasi@users.noreply.github.com>

* Fine I'll do it myself

* fix linter

* Refactors

* Adjustments from PR review. Adjustments to video experience (poster/play button) and starting to translate

* Fix i18n

* Wrap translation strings with defineMessage for i18n extraction

- Add import for defineMessage and MessageDescriptor from react-intl
- Update type definition to use MessageDescriptor for better type safety  
- Wrap all skuLabel, title, and subtitle objects with defineMessage() calls
- This ensures the i18n-extract tool can properly detect translation strings

Co-authored-by: Nick Misasi <nickmisasi@users.noreply.github.com>

* Fix i18n

* Use regular modal close button

* Fix pipelines

* Fix i18n

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_content.scss

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_content.scss

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_content.scss

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_content.tsx

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_content.scss

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_content.scss

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_controller.tsx

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_controller.tsx

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_controller.scss

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_controller.tsx

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_controller.tsx

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_controller.tsx

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_controller.tsx

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_controller.scss

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_controller.scss

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_content.scss

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_content.scss

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_content.scss

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_content.scss

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_content.scss

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Update webapp/channels/src/components/cloud_preview_modal/preview_modal_content.scss

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>

* Remove unnecessary CSS properties from preview modal content

Remove display: flex, height: 100%, and flex-direction: column from .preview-modal-content selector as they have no effect per code review feedback.

Co-authored-by: Nick Misasi <nickmisasi@users.noreply.github.com>

* Fixes for PR review

* Fix linter

* Fix i18n

* fix linter

* sticky button in bottom left to re-open preview modal when previously closed

* fix linter

* Resize to better fit in place when multiple teams are present

* Changes to address Harrison's feedback

* change file name, remove index.tsx

* Add the new files

* Rename to fix conflicts

* Add the new files

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Nick Misasi <nickmisasi@users.noreply.github.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
2025-06-27 10:35:47 -04:00
Ibrahim Serdar Acikgoz
037bff9aa3 [MM-64491] Fix system attributes section not appearting w/o a license (#32133) 2025-06-27 09:37:58 +02:00