Commit Graph
21407 Commits
Author SHA1 Message Date
Jesse Hallam 3241b43f7c ugprade to go 1.24.6 (#34004) 2025-09-30 19:22:02 -03:00
Alejandro García Montoro 7c89fbb668 Mirror Postgres 14 docker image (#34009) 2025-09-30 16:19:52 +00:00
Devin BinnieandMattermost Build 47aa32f0fc [MM-61899] Properly restrict users who previously shared a team from DMs/GMs when they no longer share a team. (#30094)
* [MM-61899] Properly restrict users who previously shared a team from DMs/GMs when they no longer share a team.

* Fix checks

* Fix test

* Fix i18n

* Added E2E tests

* Merge'd

* Add restricted DM check to more places

* Merge'd

* Restrict patching the channel (updating the channel)

* Update verbiage in the admin console

* Fix lint

* More tests

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-09-30 11:41:14 -04:00
Ibrahim Serdar Acikgoz 0f4d5136f8 workflows/server-ci-report.yml: security fixes by validating inputs (#33892) 2025-09-30 12:53:54 +02:00
Pablo VélezandMattermost Build 477f71c739 MM-65677 - prevent modals to close via save changes panel (#33913)
* MM-65677 - prevent modals to close via save changes panel

* add proper testing

* implement pr feedback and give warning before modal close

* address tests pr feedback

* fix e2e tests and prevent race condition in team settings modal

* increase the timeout to avoid flaky test

* remove unnecessary space

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-09-30 10:13:09 +02:00
JG HeithcockandMattermost Build a41db04d27 MM 65084 server-side (#33861)
* MM-65084: (server-side) PKCE code-exchange for SSO

Server side changes needed for MM-65084. Guarded by MobileSSOCodeExchange feature flag.

* Update users.yaml for vet-api testing

* Change error for not saving SAML token to existing generic 'can't save token' message

* Restricting to sha256 only PKCEs

* Change out PKCE terminology to SAML

This came out as Claude used "PKCE" as a shorthand for the style and I did not know better. SAML is the correct term here.
This also fixes a linter issue where we were assigning `codeVerifier` to `computed` but then overwriting it in all cases (so that was misleading and unecessary)

* Adding ConsumeTokenOnce and IsExpired as suggested by security review

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-09-29 14:29:32 -07:00
Jesse HallamandMattermost Build a95be3d76e Fix RHS reply input focus issues (#33965)
* extend shift+up e2e-test

* fix: MM-T203 Focus does not move when it has already been set elsewhere

* focus_move_spec: add coverage for replying to a reply

* Fix RHS reply input focus issues

- Addresses focus not shifting to RHS reply input when replying to messages
- Fixes issue where focus remains in center channel instead of RHS
- Related to MM-64520

* use requestAnimationFrame

* simplify

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-09-29 18:18:59 +00:00
Maria A Nunez 828c5040ef Mattermost Entry links update (#33992)
* Fixed Entry CTAs

* Removed unused translation

* Fix tests

* Fix tests
2025-09-29 10:40:45 -04:00
Doug Lauder ab516db964 MM-65962: remove plugin-msteams (aka msteams-sync) from prepackaged plugins (#33994) 2025-09-29 10:22:35 -04:00
Devin Binnie b47baeb6ee [MM-64964] Show Desktop App version on About modal, allow click to copy for both server and desktop app versions (#33960)
* [MM-64964] Show Desktop App version on About modal, allow click to copy for both server and desktop app versions

* Fix lint

* PR feedback

* Fix i18n
2025-09-29 14:10:22 +00:00
Hosted Weblate a92f418661 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/
2025-09-29 14:32:46 +02:00
Frank Paul Silye d6972199a6 Translated using Weblate (Norwegian Bokmål)
Currently translated at 81.1% (5303 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-09-29 14:32:46 +02:00
Josef Kolář d153a30b88 Translated using Weblate (Czech)
Currently translated at 96.4% (6299 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/cs/
2025-09-29 14:32:46 +02:00
Abdulaziz c8b40abbbe Translated using Weblate (Arabic)
Currently translated at 0.1% (8 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ar/
2025-09-29 14:32:46 +02:00
Abdulaziz 263e5c10ac Translated using Weblate (Arabic)
Currently translated at 0.1% (4 of 2693 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ar/
2025-09-29 14:32:46 +02:00
Frank Paul Silye 9f944c7e9b Translated using Weblate (Norwegian Bokmål)
Currently translated at 4.5% (123 of 2693 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/nb_NO/
2025-09-29 14:32:46 +02:00
Kaya Zeren c2d25b7164 Translated using Weblate (Turkish)
Currently translated at 100.0% (6534 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/tr/
2025-09-29 14:32:46 +02:00
Kaya Zeren 09345b8a44 Translated using Weblate (Turkish)
Currently translated at 100.0% (6534 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/tr/
2025-09-29 14:32:46 +02:00
Kaya Zeren 4f46ed6ed9 Translated using Weblate (Turkish)
Currently translated at 100.0% (6534 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/tr/
2025-09-29 14:32:46 +02:00
Kaya Zeren 308b7eda98 Translated using Weblate (Turkish)
Currently translated at 100.0% (6534 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/tr/
2025-09-29 14:32:46 +02:00
Frank Paul Silye 7b4fd96572 Translated using Weblate (Norwegian Bokmål)
Currently translated at 81.0% (5293 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-09-29 14:32:46 +02:00
Frank Paul Silye ca09cda960 Translated using Weblate (Norwegian Bokmål)
Currently translated at 4.5% (123 of 2693 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/nb_NO/
2025-09-29 14:32:46 +02:00
Kaya Zeren 0749aea493 Translated using Weblate (Turkish)
Currently translated at 100.0% (6534 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/tr/
2025-09-29 14:32:46 +02:00
Kaya Zeren f2849b39e7 Translated using Weblate (Turkish)
Currently translated at 100.0% (2693 of 2693 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/tr/
2025-09-29 14:32:46 +02:00
Kaya Zeren 20d758875e Translated using Weblate (Turkish)
Currently translated at 100.0% (6534 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/tr/
2025-09-29 14:32:46 +02:00
Kaya Zeren 91f8baece4 Translated using Weblate (Turkish)
Currently translated at 100.0% (2693 of 2693 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/tr/
2025-09-29 14:32:46 +02:00
master7 eb12a9483e Translated using Weblate (Polish)
Currently translated at 100.0% (6534 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/
2025-09-29 14:32:46 +02:00
Kaya Zeren 3a27a4abe3 Translated using Weblate (Turkish)
Currently translated at 100.0% (6534 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/tr/
2025-09-29 14:32:46 +02:00
Kaya Zeren 6ff3b9e216 Translated using Weblate (Turkish)
Currently translated at 100.0% (2693 of 2693 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/tr/
2025-09-29 14:32:46 +02:00
Kaya Zeren e036728dda Translated using Weblate (Turkish)
Currently translated at 100.0% (6534 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/tr/
2025-09-29 14:32:46 +02:00
Takuya N 4d16c75a9d Translated using Weblate (Japanese)
Currently translated at 98.6% (6446 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ja/
2025-09-29 14:32:46 +02:00
Tom De Moor 346eec558f Translated using Weblate (Dutch)
Currently translated at 100.0% (6534 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nl/
2025-09-29 14:32:46 +02:00
Takuya N edc0437a48 Translated using Weblate (Japanese)
Currently translated at 99.9% (2692 of 2693 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ja/
2025-09-29 14:32:46 +02:00
master7 431956a5c3 Translated using Weblate (Polish)
Currently translated at 100.0% (6534 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/
2025-09-29 14:32:46 +02:00
Ondřej Nový 69ff14bede Translated using Weblate (Czech)
Currently translated at 96.4% (6299 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/cs/
2025-09-29 14:32:46 +02:00
Tom De Moor 7b087ba5b6 Translated using Weblate (Dutch)
Currently translated at 99.9% (6532 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nl/
2025-09-29 14:32:46 +02:00
Vlastimil Pecinka 652a2b104d Translated using Weblate (Czech)
Currently translated at 96.4% (6299 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/cs/
2025-09-29 14:32:46 +02:00
Vlastimil Pecinka be1bf52f41 Translated using Weblate (Czech)
Currently translated at 100.0% (2693 of 2693 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/cs/
2025-09-29 14:32:46 +02:00
Frank Paul Silye e97cf9806f Translated using Weblate (Norwegian Bokmål)
Currently translated at 80.4% (5259 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-09-29 14:32:46 +02:00
Ondřej Nový 274ff1f3fc Translated using Weblate (Czech)
Currently translated at 96.3% (6295 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/cs/
2025-09-29 14:32:46 +02:00
Ondřej Nový 3a1531c6dc Translated using Weblate (Czech)
Currently translated at 96.8% (2608 of 2693 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/cs/
2025-09-29 14:32:46 +02:00
GJ\" Guenjun Yoo 3e18485cf4 Translated using Weblate (Korean)
Currently translated at 70.4% (1898 of 2693 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ko/
2025-09-29 14:32:46 +02:00
master7 920a7c3f29 Translated using Weblate (Polish)
Currently translated at 100.0% (6534 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/
2025-09-29 14:32:46 +02:00
Josef Kolář 34375ee17a Translated using Weblate (Czech)
Currently translated at 96.3% (6296 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/cs/
2025-09-29 14:32:46 +02:00
Ondřej Nový 9519dcb9fe Translated using Weblate (Czech)
Currently translated at 96.3% (6296 of 6534 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/cs/
2025-09-29 14:32:46 +02:00
Miguel de la CruzandMiguel de la Cruz a9b894b7c3 Move mmctl cpa subcommands under mmctl user attributes (#33975)
Co-authored-by: Miguel de la Cruz <miguel@ctrlz.es>
2025-09-29 11:29:30 +00:00
Jesse Hallam 9a61760bcb Fix OnBoardingTaskList appearing during organization setup flow (#33961)
Hide the "Welcome to Mattermost" onboarding task list when users are on
the `/preparing-workspace` route to prevent conflicting UI during the
"What's the name of your organization" flow.

This fixes a regression introduced in MM-64380 where the removal of
theme-based conditional rendering caused OnBoardingTaskList to appear
on all logged-in routes, including the preparing-workspace flow where
it conflicts with the organization setup screen.

The fix adds route-based conditional rendering to restore the original
intended behavior while maintaining the simplified component structure.

Fixes MM-65812
2025-09-28 23:03:20 -03:00
VicktorandMattermost Build 6e19e50b5c feat(openid_convert): migrate OpenIdConvert to function component (#33734)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-09-27 08:11:02 +00:00
f8b3ce4e3b Add multiform functionality to Interactivedialog (#33076)
* Implement Interactive Dialog field refresh and multi-step form functionality

- Add field refresh capability to interactive dialogs
- Implement multi-step form support
- Add comprehensive E2E tests for new features
- Enhance InteractiveDialogAdapter with server-side error handling
- Optimize form validation and performance
- Add internationalization support for error messages
- Maintain backward compatibility with existing dialogs

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

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

* fixes and cleanup

* Enhance field refresh e2e tests with improved field ordering and form submission

- Reverse field order: project name first, then project type (with refresh)
- Ensure all tests enter project name to verify value preservation
- Add form submission to MM-T2540B test to verify complete workflow
- Update webhook server to preserve project name values during refresh
- Add submission handler for field refresh dialog callback
- Update introduction text to reflect new field ordering workflow

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

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

* code review updates

* Simplify apps form value preservation by always merging previous values

- Remove AppFormUpdateType enum and updateType props throughout apps form system
- Simplify getDerivedStateFromProps to always preserve existing values via spread operator
- Remove restoreFormFieldValues function and manual value restoration logic
- Eliminate conditional refresh vs submit behavior in favor of consistent value preservation

This change makes apps form behavior consistent regardless of whether it's a
multi-step submission or field refresh, improving reliability and reducing complexity.

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

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

* Add server-side validation for SubmitDialogResponse

- Add SubmitDialogResponseType enum with OK, Form, Navigate, and Empty types
- Implement IsValid() method with fail-fast validation logic
- Validate type field and ensure Form field consistency based on type
- Add comprehensive test coverage for all validation scenarios
- Integration validates responses in SubmitInteractiveDialog handler

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

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

* lint fixes

* Fix test case for multierror format in Dialog.IsValid()

The Dialog.IsValid() method returns multierror format, so the test
expectation needs to match the actual error format with line breaks.

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

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

* i18n-extract

* log dialog errors, allow invalid dialog

* Fix interactive dialog test assertions for undefined values

Handle cases where dialog elements have undefined default values or
placeholders by providing empty string fallbacks. This resolves CI
test failures where undefined values were expected but empty strings
were returned from DOM elements.

🤖 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: Mattermost Build <build@mattermost.com>
2025-09-26 11:09:50 -06:00
sabril b93245b679 MM-63699 E2E/Playwright (accessibility): Notifications settings (#33969) 2025-09-26 21:23:04 +08:00