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

20861 Коммитов

Автор SHA1 Сообщение Дата
Devin Binnie
b99a22f175 [MM-63021] Modify input to have min/max length validation work the same as the validation around required, replace Create Team input with Input component (#31406) 2025-06-16 17:57:02 -04:00
Christopher Poile
548a47ae56 [MM-63152] LDAP Wizard (#31417)
* [MM-63717] LDAP Wizard skeleton (#31029)

* add ldap_wizard component to render its admin components

* i18n

* test adjustment

* keys and props fixes

* title fix

* fix placeholders

* fix value initialization

* linting

* remove all ...props (except custom component); any->unknown

* fix i18n (temp, will be changed in later PR)

* better return; simplify function checking/calling

* [MM-64259] Sections sidebar and navigation (#31059)

* initial sections list sidebar

* sidebar highlighting and scroll on click

* some tidying up

* add custom section titles for section sidebar

* i18n

* updating border on sections

* scss style lint

* color -> border-color

* simplify activeSectionKey initialization; remove trailing newline

* add useSectionNavigation; clean up ldap_wizard and scss; PR comments

* extract section of code into renderSidebar()

---------

Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>

* [MM-64296] Add test connection for connection settings panel (#31190)

* button -> ldap test connect api

* fix console error by sanitizing value in text component

* return detailed error as error; adjust button -> primary, flushLeft

* middle of redesigning how we do hover text, first button

* add hover text to bools and file uploads

* i18n

* add LdapSettings as api type; add new endpoint to api yaml

* allow testing without first enabling LDAP and saving config

* i18n id changes

* improve TestLdapConnection to current standards

* PR comments

* safeDereference; cleaner returns

* remove hover markdown; formatting and typing simplification

* use button for "More Info"; i18n

* finish renaming help_text_hover -> help_text_more_info

* fix error output

* only send bindpassword if it has been changed

* fix: don't send blank bindPassword when it is still *****

* merge conflict

* [MM-64480] Refactor Admin Definition (#31280)

* move ldap definition to its own file for simplicity & context

* refactor admin_definition to eliminate circular dependencies

* merge conflicts

* before: buggy userHasReadPermissinOnSomeResources; after: fix incorrect snapshot

* merge conflict: new bindPasssword definition was left behind; fixed.

* merge conflict

* [MM-63765] LDAP Wizard: User filter expandable section (#31286)

* add "more info" hover to user filter help texts; make wider

* add expandable_setting type and component

* use Dislosure show/hide pattern for accessibility

* fix tooltip scss selectors

* fix hover -> more_info; make sure translation files are correct

* use join('\n\n') instead of the eslint disable line

* Revert "use join('\n\n') instead of the eslint disable line"

This reverts commit 274667e875b34703f14fee0706cd28b0125cefc9.

* [MM-64482] LDAP Wizard - Test User filters (#31312)

* initial cut at UI and backend for test filters

* api definitions; mocks

* clean up to current standards

* [MM-64512] - Test user filters UI (#31355)

* result_count -> total_count

* json cannot marshal error, returning error as string as god intended

* render errors with icon, hover text, and better feedback texts

* gather the settings that may be in expandable sections

* remove success, use error == "" to indicate success

* [MM-64536] LDAP Wizard: Test user attributes (#31373)

* LdapFilterTestResult -> LdapDiagnosticResult; FilterName -> TestName

* implement test_attributes endpoint and limited frontend (first step)

* adding EntriesWithValue

* [MM-64550] LDAP Wizard: Test user attributes UI (#31374)

* [MM-64551] LDAP Wizard: Test group attributes (#31375)

* remove Test LDAP button (not needed); reused helptext for other btn

* implement test_group_attributes endpoint; button/client-side paths

* [MM-64552] LDAP Wizard: Test group attributes UI (#31376)

* implement Test Group Attributes button

* simplify helper functions (improves useCallback dependencies)

* show the default filter that was used on the backend in the tooltip

* show the icon when there's an error (e.g. required filter/attribute)

* fix infinite rerendering

* fix error after failed save; fix navigation unlocked after save

* empty

* Adjust message feedback given we don't test the schema anymore

* improve css; don't use inline styles

* removed unneccesary pointer indirection

* improved i18n strings and logic

* combining filters/attributes/group attributes endpoints

improve types

* improve help text for User Filter (it's tricky)

* AvailableAttrs -> AvailableAttributes

* fix for e2e tests (renamed title)

* more e2e fixes

* skip broken e2e test

---------

Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
2025-06-16 16:19:33 -04:00
Claudio Costa
4278296d45 Limit Codecov spam (#31582) 2025-06-16 14:04:33 -06:00
Serhii Khomiuk
9564185e75 Translated using Weblate (Ukrainian)
Currently translated at 96.8% (6111 of 6310 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/uk/
2025-06-16 16:53:08 +00:00
master7
a9e4a6012e Translated using Weblate (Polish)
Currently translated at 100.0% (6310 of 6310 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/
2025-06-16 16:53:08 +00:00
master7
3a0ffca814 Translated using Weblate (Polish)
Currently translated at 99.1% (2676 of 2700 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/pl/
2025-06-16 16:53:08 +00:00
Frank Paul Silye
d4ea86d729 Translated using Weblate (Norwegian Bokmål)
Currently translated at 82.9% (5233 of 6310 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-06-16 16:53:08 +00:00
master7
fa9256fb32 Translated using Weblate (Polish)
Currently translated at 100.0% (6310 of 6310 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/
2025-06-16 16:53:08 +00:00
Frank Paul Silye
674526183b Translated using Weblate (Norwegian Bokmål)
Currently translated at 82.8% (5225 of 6310 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-06-16 16:53:08 +00:00
master7
c2a53faa3e Translated using Weblate (Polish)
Currently translated at 99.6% (6290 of 6310 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/
2025-06-16 16:53:08 +00:00
Tom De Moor
3a8cd5c2c0 Translated using Weblate (Dutch)
Currently translated at 99.9% (6307 of 6310 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nl/
2025-06-16 16:53:08 +00:00
Tom De Moor
b099f2d67b Translated using Weblate (Dutch)
Currently translated at 99.7% (2693 of 2700 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/nl/
2025-06-16 16:53:08 +00:00
jprusch
1c6b256337 Translated using Weblate (German)
Currently translated at 99.9% (6309 of 6310 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/de/
2025-06-16 16:53:08 +00:00
Devin Binnie
0232a84c1b [MM-63038] Allow Invite Modal to scroll under very small screen sizes (#31397)
* [MM-63038] Allow Invite Modal to scroll under very small screen sizes

* Fix lint
2025-06-16 12:44:41 -04:00
Devin Binnie
3e1a0c8f0d [MM-62988] Add username prop to multi-avatar component (#31398)
* [MM-62988] Add username prop to multi-avatar component

* Fix the file preview avatar as well
2025-06-16 12:44:02 -04:00
Harrison Healey
408f6ec849 MM-64372 Fix onboarding checklist being rendered behind team sidebar (#31365) 2025-06-16 10:27:24 -04:00
catalintomai
ed3a6d6b91 MM-61033: [Shared Channels] Removing a shared channel on one end should make the other remove the shared channel too (#30738) 2025-06-16 16:25:00 +02:00
Devin Binnie
7fad136933 [MM-63048] Add aria-label to the file preview back/forward buttons (#31388) 2025-06-16 09:16:23 -04:00
Matthew Birtch
77e50cf110 MM-61382 Date/Time Picker Input Fix and Refactor (#31330) 2025-06-16 08:01:16 -04:00
Matthew Birtch
6f5c92fc79 MM-64591 Fix contact sales button in banner (#31425) 2025-06-16 08:00:17 -04:00
unified-ci-app[bot]
768caaadda chore: Update NOTICE.txt file with updated dependencies (#31561)
Automatic Merge
2025-06-16 14:46:06 +03:00
catalintomai
1b5a76af55 MM-61437: [Shared Channels] Disable DM button from profile for shared channel user (#30903) 2025-06-16 13:09:09 +02:00
catalintomai
85391de22a MM-57326: [Shared Channels] Message priority, acknowledgement and persistent notifications need to be synced (#30736) 2025-06-16 02:30:21 +02:00
catalintomai
fa1c77d9b0 MM-52600: [Shared Channels] Shared channels do not sync channel membership (#30976) 2025-06-15 10:07:56 +02:00
Jesse Hallam
0082e3e94d enforce License.IsSeatCountEnforced if set (#31354)
* enforce License.IsSeatCountEnforced if set

If a license sets `IsSeatCountEnforced`, enforce the user limit therein
as a hard cap.

Fixes: https://mattermost.atlassian.net/browse/CLD-9260

* remove duplicate tests

* Improve user limit error messages and display

- Add separate error messages for licensed vs unlicensed servers
- Licensed servers: "Server exceeds maximum licensed users. ERROR_LICENSED_USERS_LIMITS"
- Unlicensed servers: "Server exceeds safe user limit. ERROR_SAFETY_LIMITS_EXCEEDED"
- Remove redundant "Contact administrator" text from activation errors shown to admins
- Fix system console to display actual server error messages instead of generic "Failed to activate user"

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

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

* Add license nil check and test coverage

- Add license != nil check in GetServerLimits to prevent panic
- Add test case to verify graceful handling of license being set to nil
- Ensures fallback to hard-coded limits when license becomes nil

Co-authored-by: lieut-data <lieut-data@users.noreply.github.com>

* Fix user limits tests to expect license-specific error IDs

Update test expectations to use the new license-specific error IDs:
- app.user.update_active.license_user_limit.exceeded for licensed server user activation
- api.user.create_user.license_user_limits.exceeded for licensed server user creation

Also update frontend to show actual server error messages instead of generic ones in system console.

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

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

* Remove redundant license nil test

The test couldn't meaningfully verify nil license behavior since it relied on
hard-coded constants that can't be modified in the test.

Co-authored-by: lieut-data <lieut-data@users.noreply.github.com>

* Fix whitespace issue in limits_test.go

Remove unnecessary trailing newline to pass style checks.

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

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

* updated i18n

* s/ERROR_LICENSED_USERS_LIMITS/ERROR_LICENSED_USERS_LIMIT_EXCEEDED/, expand warning log

* Add 5% grace period for licensed user limits

- Add calculateGraceLimit() function with 5% or +1 minimum grace
- Apply grace period only to licensed servers with seat count enforcement
- Handle zero user licenses by returning zero grace limit
- Add comprehensive test coverage for grace period scenarios
- Unlicensed servers maintain existing hard-coded limits without grace

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

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

* Fix TestCreateUserOrGuestSeatCountEnforcement to account for 5% grace period

The test was failing because it expected user creation to fail at exactly
the license limit, but the implementation now includes a 5% grace period
before enforcement kicks in.

Changes:
- Update test cases to create users up to the grace limit (6 for a 5-user license)
- Add comments explaining the grace period calculation
- Both regular user and guest user creation tests now properly validate
  enforcement at the grace limit rather than the base license limit

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

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

* Fix TestUpdateActiveWithUserLimits to account for 5% grace period

Update test expectations to match the new grace period behavior:
- At base limit (100) but below grace limit (105): should succeed
- At grace limit (105): should fail
- Above grace limit (106): should fail

This aligns the tests with the license enforcement implementation
that includes a 5% grace period above the licensed user count.

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

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: lieut-data <lieut-data@users.noreply.github.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-06-13 17:12:05 -03:00
Stavros Foteinopoulos
f89326574f Add dispatch build (#31363)
Signed-off-by: Stavros Foteinopoulos <stafot@gmail.com>
2025-06-13 19:25:01 +00:00
Daniel Espino García
c1a0710ab5 Fix join private channel (#30875)
* Fix join private channel not showing on all needed scenarios

* Fix for other two instances of the logic

* Fix test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-06-13 17:42:21 +02:00
catalintomai
c46ed6c681 MM-62751: [Shared Channels] Allow remote users to be discoverable in the create DM/GM modal (#30918) 2025-06-13 16:51:12 +02:00
M-ZubairAhmed
476b46d1d7 [MM-64501] Upgrade to web-vitals v5.0.3 (#31404) 2025-06-13 17:56:16 +05:30
Daniel Espino García
0376bc7cc1 Fix license upload when already set by env variable (#30974)
* Fix license upload when already set by env variable

* Add tooltip

* Fix tests and texts

* Fix snapshots

* Add disabled styles to secondary button

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-06-13 13:07:20 +02:00
Miguel de la Cruz
43018759e5 Adds support for GMs in shared channels (#31403)
* Adds support for GMs in shared channels

* Fix linter

* Remove creatorID from slack call

---------

Co-authored-by: Miguel de la Cruz <miguel@ctrlz.es>
2025-06-13 10:43:30 +00:00
Devin Binnie
07edaa875b [MM-63045] Add root component to read arbitrary text globally, ensure thread menu reads its actions on execution (#31353)
* [MM-63045] Add root component to read arbitrary text globally, ensure thread menu reads its actions on execution

* PR feedback

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-06-12 21:20:45 +00:00
Devin Binnie
926c7f1e49 [MM-61623][MM-61632][MM-61635] Remove min-width for the RHS when window size <400px (#31389)
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
2025-06-12 16:37:52 -04:00
Devin Binnie
74258c3b7a [MM-64425] Add configurable account deletion link (#31396)
* [MM-64425] Add configurable account deletion link

* Fix types

* PR feedback

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-06-12 11:00:00 -04:00
Devin Binnie
6d7a8c6d72 [MM-63027] Add status region for the channel filter dropdown (#31390)
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
2025-06-12 10:44:47 -04:00
Jesse Hallam
2ddb8e5d0a Replace SELECT * with explicit column lists in sqlstore (#31356) 2025-06-11 18:16:05 -03:00
Devin Binnie
65d3d5984f [MM-63041] Convert many inputs to the Input component, replace clientError with more correct client-side validation that conforms to the input (#31279)
* [MM-63041] Convert many inputs to the Input component, replace clientError with more correct client-side validation that conforms to the input

* Fix line length

* PR feedback

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-06-11 17:02:32 -04:00
Devin Binnie
e6be282568 [MM-61562] Ensure emoji picker focus returns to button when not selecting an emoji (#31370)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-06-11 15:58:43 -04:00
Devin Binnie
d41e5184e0 [MM-62987] Fix timestamp not actually being read (#31386) 2025-06-11 15:58:11 -04:00
Devin Binnie
0635c8b3f6 [MM-63057][MM-63003] Set aria-hidden on decorative icons (#31387)
* [MM-63057] Set aria-hidden=true on EditIcon to mark it decorative

* [MM-63003] Mark search lightbulb icon as decorative

* Snaps
2025-06-11 15:57:27 -04:00
Devin Binnie
25a4839a9e Automatic channel category sorting (#30866)
* Automatic channel category sorting

* Fix types

* AIed

* Fix issue where categories are updated for all users

* Move all logic to server, clean up

* PR feedback

* Fix lint

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-06-11 14:29:36 -04:00
M-ZubairAhmed
c6a11763a8 [MM-63799] Fix the high number of detached nodes in post list in dynamic-virtualized-list (#30864) 2025-06-11 22:42:15 +05:30
Devin Binnie
ee5926f03c [MM-62996] Add focusability to react-select remove button in notifications settings (#31238)
* [MM-62996] Fix the readout for react-select instructions on user_settings_notifications

* Update webapp/channels/src/components/user_settings/notifications/user_settings_notifications.tsx

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
2025-06-11 15:35:28 +00:00
Devin Binnie
c47a84da39 [MM-63046] Have the draft actions labelled by their tooltip (#31369) 2025-06-11 09:27:11 -04:00
Chris Gibson
5e3a89d70c [GH-29960] Change behaviour for log messages that do not have a valid session (#30014)
Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2025-06-11 14:15:40 +02:00
Ibrahim Serdar Acikgoz
fcce46655a Skip flaky test TestUnassignPoliciesFromChannels (#31380) 2025-06-11 12:45:22 +02:00
Rajat Dabade
9fe44bfa6a Updated board prepackaged version to v9.1.3 (#31306)
Automatic Merge
2025-06-11 13:16:06 +03:00
sabril
3230eaf84c e2e(fix): custom status expiry spec (#31358) 2025-06-11 11:27:45 +08:00
sabril
d84f455ba0 e2e(fix): dm category spec (#31359) 2025-06-11 11:24:17 +08:00
sabril
c0ab40d644 e2e(fix): message reaction spec (#31357) 2025-06-11 11:22:58 +08:00