4322 Коммитов

Автор SHA1 Сообщение Дата
Pablo Vélez
882654d898 MM-62226 - set focus back to search button (#29669)
* MM-62226 - set focus back to search button

* fix linter
2025-01-09 08:39:02 -05:00
M-ZubairAhmed
db3b72e46c [MM-62381] Move LinkTooltip from Popper to Floating-UI (#29727) 2025-01-09 16:18:23 +05:30
Saurabh Sharma
a3b2ecec19 [MM-61571]: Add label to form field in channel header (#29553)
* [MA-12]: Add label to form field in channel header

* [MA-12]: Update aria attributes and tests

* [MA-12]: Update snapshots, fix e2e test

* [MA-12]: Fix E2E tests

* [MA-12]: Fix type in test
2025-01-08 17:04:42 -05:00
Pablo Vélez
3a13dc2d5d MM-61411 - fix incorrect linking case sensitive issue (#29683) 2025-01-08 15:58:17 -05:00
Harrison Healey
e7c583f312 MM-62371 Add additional error handling to PerformanceReporter (#29774)
As in the comments I added, this is to fix an error introduced by changes made by either Firefox or
1Password due to accessing a performance metric's details field when we're not allowed to.
2025-01-08 15:44:21 +00:00
Scott Bishel
b74c2194b2 MM-61926 Channel Conversion Text and add test (#29498)
* update text, add tests

* remove commented lines

* lint fix

* i18n-extract

* add additional changes

* update test, change other text

* update test names

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-08 10:04:43 +02:00
M-ZubairAhmed
e0e24aaa6f [MM-62390] Combine the floating and transition styles into one in WithTooltip and other related minor improvements (#29730) 2025-01-07 18:40:01 +05:30
Weblate (bot)
06ce7b4a5a Translations update from Mattermost Weblate (#29715)
* Translated using Weblate (Italian)

Currently translated at 82.4% (2148 of 2605 strings)

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

* Translated using Weblate (Italian)

Currently translated at 56.2% (3385 of 6022 strings)

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

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 93.9% (2448 of 2605 strings)

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

* Translated using Weblate (Kazakh)

Currently translated at 16.1% (973 of 6022 strings)

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

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 60.3% (3635 of 6022 strings)

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

* Translated using Weblate (Kazakh)

Currently translated at 16.2% (978 of 6022 strings)

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

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 60.4% (3639 of 6022 strings)

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

* Translated using Weblate (Russian)

Currently translated at 97.4% (2538 of 2605 strings)

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

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

Currently translated at 100.0% (2605 of 2605 strings)

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

* Translated using Weblate (Russian)

Currently translated at 94.9% (5720 of 6022 strings)

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

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

Currently translated at 100.0% (6022 of 6022 strings)

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

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 95.8% (2497 of 2605 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (2605 of 2605 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (6022 of 6022 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (2605 of 2605 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (6022 of 6022 strings)

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

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 97.1% (2530 of 2605 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 99.9% (2603 of 2605 strings)

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

* Translated using Weblate (Kazakh)

Currently translated at 16.5% (999 of 6022 strings)

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

* Translated using Weblate (Kazakh)

Currently translated at 17.1% (1032 of 6022 strings)

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

* Translated using Weblate (Kazakh)

Currently translated at 17.2% (1038 of 6022 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 99.8% (2600 of 2605 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 99.9% (6021 of 6022 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 99.8% (2602 of 2605 strings)

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

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

Currently translated at 100.0% (6022 of 6022 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (2605 of 2605 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6022 of 6022 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (2605 of 2605 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (2605 of 2605 strings)

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

---------

Co-authored-by: Andrea <andrea.biasi@gmail.com>
Co-authored-by: Henrique Latorre <hpflatorre@gmail.com>
Co-authored-by: Akbar Abdrakhmanov <kz.akbar@gmail.com>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: Konstantin <eleferen@gmail.com>
Co-authored-by: ThrRip <coding@thrrip.space>
Co-authored-by: jprusch <rs@schaeferbarthold.de>
Co-authored-by: Martin Mičuda <micuda@rematiptop.cz>
Co-authored-by: Serhii Khomiuk <sergiy.khomiuk@gmail.com>
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: master7 <marcin.karkosz@rajska.info>
Co-authored-by: Massimo Marassi <backoffice@rematiptop.cz>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-07 18:57:40 +08:00
M-ZubairAhmed
7005a9eb40 [MM-61800] Email is cut off in profile popover (#29753) 2025-01-07 09:34:35 +05:30
M-ZubairAhmed
1db330c36f [MM-62403] Seperate MessageWithMentionsFooter into separate component in AdvancedTextEditor (#29754) 2025-01-06 19:29:26 +05:30
M-ZubairAhmed
56baba30ae [MM-62302] Edit message update "post too long" error message placement (#29731) 2025-01-06 15:52:58 +05:30
M-ZubairAhmed
854d0e8b25 [MM 62088] Browse channels modal: Clear 'x' button is misaligned and related ux improvements (#29729) 2025-01-06 00:50:44 +05:30
Harrison Healey
3c88f6695e MM-62344 Disable mouse-events-have-key-events ESLint rule (#29654)
This rule warns us if an element has an onMouseOver/onMouseLeave
attributes without corresponding onFocus/onBlur ones. It's helpful
for showing where we may be missing some accessible interactions,
and I've filed MM-62343 and MM-62345 to follow up on two of these.

In other cases, the component either has alternate accessibility support
(the emoji picker), it's something that may not make sense to be
accessible (the expanded view of the channel header), or something we're
already planning to review accessiblity for (the search component), so
I'm going to disable it to avoid introducing noise for the time being.
2024-12-24 05:28:23 +00:00
Harshil Sharma
2a6beb1237 Advanced text editor misc fixes (#29676)
* removed extra space

* Fixed border of edit box in mobile view

* Fixed test
2024-12-24 10:37:41 +05:30
Weblate (bot)
f95809ef5d Translations update from Mattermost Weblate (#29677) 2024-12-23 19:09:07 +00:00
Pablo Vélez
979522d309 Mm 62229 schmsg not removed on reconnect (#29623)
* MM-62229 - scheduled messages not updated on reconnect

* validate websocket connection-disconection time

* Add current team id

* remove debugging code

* remove debugging timeout

* remove unnecessary time in the logs

* remove unnecessary time in the logs

* remove unnecessary comment

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-12-19 12:20:20 -05:00
Pablo Vélez
a9efd0f6d5 MM-61968 - a11y rhs focus management (#29591)
* MM-61968 - a11y rhs focus management

* fix condition when rhs was already open and not getting focus

* fix typescript errors

* skip failing test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-12-19 12:07:27 -05:00
Caleb Roseland
09add85a51 MM-61525, MM-61868: Autohide channel bookmarks when empty (#29454) 2024-12-19 09:23:29 -06:00
Harshil Sharma
76a3af692f Updated emojipicker alignment (#29637) 2024-12-19 09:05:37 +05:30
ayush-chauhan233
eb3862f6eb [MM-61652]: Removed unnecessary role and aria-level from channel header (#29540)
* [BST-183]: Removed unnecessary role and aria-level from channel header

* [BST-183]: Fix failing E2E test case

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-12-18 17:38:21 -05:00
M-ZubairAhmed
fd6a662d76 [MM-62074] Move tooltips with withTooltip to new Tooltip component (#29528)
* replace inside of comp/withtooltip

* remove overlay trigger eslint rl

* update location of prev migrated new tooltips

* copy button

* shared_channel_indicator, shared_user_indicator.tsx, size_aware_image

* actions_menu, old_admin_settings, schema_admin_settings, admin_settings

* billing_summary, brand_image_setting, edit_section_edit_table_row, elapsed_duration_cell

* permissions_scheme_summary,secure_connections/controls,system_users_column_toggler_menu,system_users_export,group/group_users/users_to_remove_groups

* team_profile,user_grid_role_dropdown,priority_labels,toggle_formatting_bar,use_emoji_picker,formatting_icon

* show_formatting,alert_banner others

* more

* snap fix

* add disabled prop to menu

* test fix for avatar

feat: Add id to WithTooltip in Avatars component to fix test failures

* combine refs in withtooltip

* channel header title favorite test fix

* priority label comp changes

* types check for children

* Update avatar.tsx

* e2e fixes

* fix E2E tests

* Remove memo from WithTooltip

I found that the web app leaks a fair bit less memory when this is removed. See https://community.mattermost.com/core/pl/gwyyoww9gtbg8fddoic9meq84y for more information

* e2e lint fixes

* e2e fixes

* Fix test style issue

---------

Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2024-12-18 21:56:30 +00:00
Pablo Vélez
371e1b9bad MM-62197 - verify scheduled message do not exist before adding to list (#29604)
Co-authored-by: Mattermost Build <build@mattermost.com>
2024-12-18 14:23:07 -05:00
Harrison Healey
0635306f6e MM-62060/MM-62276 Remove video from onboarding checklist and turn iframe-has-title ESLint rule to error (#29634)
* MM-62276 Remove video from onboarding checklist

* MM-62060 Turn jsx-a11y/iframe-has-title ESLint rule to an error
2024-12-18 14:22:47 -05:00
Pablo Vélez
847fe73a1c fix restricted indicator icon (#29571)
* fix restricted indicator icon

* fix linter

* fix linter again
2024-12-18 10:01:14 -05:00
M-ZubairAhmed
6f73204448 [MM-56713] Show consistent markdown formatting buttons & keyboard shortcuts when editing messages (#29398)
* footer

* changes

* edit

* some changes

* form submit

* ci fixes

* rev fix 1

* ci fix

* Fixed some styles

* Added delete on empty post option

* fix E2E tests

* fix more tests

* Fixed UI isses when editing post in RHS

* Fixed formatting bar behjaviour

* Reset draft to original post when cancelling or escaping

* DFisplayed @mention warning

* fixed existing test

* Added test for @mention during editing

* Displayed long message warning during edit post

* Removed a console log:

* Handled message with image links when using image proxy

* Fixed a11y styling for button

* Fixed emoji picker keyboard shortcut

* Checnged edit box ID

* Added draft test

* Fixed edit text box id

* e2e fix

* e2e fix

* handled deleting empty fposts

* Fixed e2e test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Harshil Sharma <harshil.sharma@mattermost.com>
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
2024-12-18 13:17:42 +05:30
Harrison Healey
f11ed97a5c MM-62046 Associate most labels with controls and enable label-has-associated-control ESLint rule (#29510)
* Remove label from add_user_to_channel_modal.tsx

The label isn't needed here because it was incorrectly used for error
text. I had to add the display: block to the .modal__error class to
ensure the top margin was the same as before, but I could remove the
font-weight from that class since it was only needed to counteract
the weight that Bootstrap adds for labels.
:

* Remove label from bleve_settings.tsx and replace with SettingSet

It doesn't seem correct to use a label here because it isn't tied to a
single form field. Since this component is a set of fields (a fieldset,
if you will) that looks like a setting, it seemed like a good place to
use SettingSet.

* Remove label from brand_image_setting.tsx, replace with SettingSet, and improve a11y of upload button

Like the last commit for BleveSettings, this setting is multiple inputs,
so it makes more sense as a fieldset/SettingSet.

While doing that, I also changed how the file upload button in
BrandImageSetting works because the new HTML broke how it worked before.
Previously, we overlayed an transparent file input over the button for it,
but the sizing for that got messed up, and that causes some weird
accessibility and breaks some things like hover effects. Instead, the
file input is now fully hidden, and clicking on the button triggers the
file input programatically. The behaviour is otherwise the same, but the
button now shows the hover style and there's only one keyboard focus for
the button.

* Remove some more labels from PluginManagement and use SettingSet there

* Add for attribute to labels in compliance_reports.tsx

* Use SettingSet and add the for attribute to another label in DatabaseSettings

* Use SettingSet in ElasticsearchSettings

* Add for attribute to label in GroupProfile

* Don't use label for help text in TeamEditionRightPanel

For this, I had to add a new CSS class to make the element appear as if
it was a label element as affected by Bootstrap. There's likely some
cases that this won't work, but it applies the same margin and
font-weight.

* Don't use label for help text in TrialBanner

* Don't use label for a heading in PasswordSettings

* Don't use label element in table in ChannelModeration

This text is more like a legend element in SettingSet, but I didn't use
that because it's in a table. This could possibly be given its own
CSS class.

* Don't use label element for error text in AdvancedTextEditor and MessageSubmitError

* Don't use label for help text and add for attribute in RenameChannelModal

* Don't use label for error text in SelectTeam

* Add for attribute to labels in various components

* Turn jsx-a11y/label-has-associated-control to an error

* Fix E2E test
2024-12-17 16:50:06 -05:00
Pablo Vélez
ca72cdb445 MM-60733 - tap reply button loses focus on subsequent clicks (#29501)
* MM-60733 - tap reply button lost focus

* add pr feedback, have the own effect for selectedPostFocussedAt

* remove function from dep array
2024-12-16 23:35:18 +02:00
Weblate (bot)
93ed5c445a Translations update from Mattermost Weblate (#29619)
* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (2602 of 2602 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6021 of 6021 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 87.5% (5274 of 6021 strings)

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

* Translated using Weblate (Czech)

Currently translated at 97.7% (5887 of 6021 strings)

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

* Translated using Weblate (Kazakh)

Currently translated at 13.1% (794 of 6021 strings)

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

* 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 (German)

Currently translated at 100.0% (6021 of 6021 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 90.4% (5446 of 6021 strings)

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

* Translated using Weblate (Czech)

Currently translated at 99.5% (5994 of 6021 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 99.9% (6020 of 6021 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6021 of 6021 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 90.4% (5446 of 6021 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (6021 of 6021 strings)

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

* Translated using Weblate (Czech)

Currently translated at 78.0% (2032 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% (6021 of 6021 strings)

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

* Translated using Weblate (Kazakh)

Currently translated at 13.5% (817 of 6021 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 92.0% (5542 of 6021 strings)

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

* Translated using Weblate (Czech)

Currently translated at 80.1% (2086 of 2602 strings)

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

* Translated using Weblate (Czech)

Currently translated at 80.2% (2087 of 2602 strings)

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

* Translated using Weblate (Czech)

Currently translated at 85.0% (2213 of 2602 strings)

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

* Translated using Weblate (Czech)

Currently translated at 85.1% (2215 of 2602 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (2602 of 2602 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 92.6% (5578 of 6021 strings)

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

* Translated using Weblate (Czech)

Currently translated at 86.0% (2238 of 2602 strings)

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

* Translated using Weblate (Czech)

Currently translated at 86.1% (2242 of 2602 strings)

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

* Translated using Weblate (Kazakh)

Currently translated at 13.7% (830 of 6021 strings)

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

* 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 (Turkish)

Currently translated at 100.0% (6021 of 6021 strings)

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

* Translated using Weblate (Kazakh)

Currently translated at 13.8% (832 of 6021 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 93.0% (5605 of 6021 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6021 of 6021 strings)

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

* Translated using Weblate (Czech)

Currently translated at 86.9% (2262 of 2602 strings)

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

* Translated using Weblate (Kazakh)

Currently translated at 13.9% (839 of 6021 strings)

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

* Translated using Weblate (Czech)

Currently translated at 89.3% (2326 of 2602 strings)

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

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 53.7% (3236 of 6021 strings)

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

* 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: Serhii Khomiuk <sergiy.khomiuk@gmail.com>
Co-authored-by: master7 <marcin.karkosz@rajska.info>
Co-authored-by: Martin Mičuda <micuda@rematiptop.cz>
Co-authored-by: Akbar Abdrakhmanov <kz.akbar@gmail.com>
Co-authored-by: jprusch <rs@schaeferbarthold.de>
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: Kaya Zeren <kayazeren@gmail.com>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
2024-12-16 19:48:31 +00:00
Caleb Roseland
f556965a32 MM-62044: Always show title in create bookmark flow (#29476) 2024-12-16 11:31:04 -06:00
Harshil Sharma
e2020dc0d6 Fixed a bug where post reminder modal didn't close (#29615)
* Fixed  abug where post reminder modal didnt close

* Fixed a test
2024-12-16 14:52:55 +05:30
Harrison Healey
a21d470bee MM-62045 Enable eslint-plugin-jsx-a11y and fix occurrences of jsx-a11y/anchor-has-content (#29453)
* Enable eslint-plugin-jsx-a11y and add standard rules as warnings or errors

* Fix jsx-a11y/anchor-has-content in BooleanSetting and add SettingSet

The invisible anchor was presumably supposed to let people jump from one
setting's help text to another setting. That didn't work for boolean
settings because there's no element with the ID of the setting. Instead
of an empty anchor, we needed to give something else that ID.

To improve the semantics of those settings, I also put those settings
into a fieldset with a legend containing the setting's label text
instead of using an actual label element as per how it's done on the
MDN. We'll probably end up using the SettingSet for other settings as
well.

Finally, I also fixed the link used by admin.service.useLetsEncryptDescription.disabled
to point to the right place and made it so that the link would open in
the current tab. Ideally, I'd also remove the Markdown from that help
text, but there's a lot here already.

* Fix jsx-a11y/anchor-has-content in CheckboxSetting

* Use SettingSet in PasswordSettings to improve semantics and layout

The main reason for doing this is to use a proper legend and fieldset
for these settings, but it also has the benefit of removing the extra
spacing from in between these settings.

* Change CopyText to use a button and require an aria-label for it

This fixes two ESLint warnings:
- This was failing jsx-a11y/anchor-has-content because it was an empty
  anchor element. I fixed that by giving it an aria-label matching the
tooltip of the CopyText, but that required that the label was a string,
so I had to change how CopyText is used. I also made the label required
so that people give an accessible explanation of what is being copied.
- This was also failing jsx-a11y/anchor-is-valid because it should be a
  button instead of a link. I applied the btn-link class and made it so
that that doesn't override the link's height which hopefully doesn't
cause problems anywhere else.

This is to fix jsx-a11y/anchor-has-content and jsx-a11y/anchor-is-valid
in the component. The ESLint plugin is complaining that this component
is using an anchor instead of a button element, so I changed that

* Turn jsx-a11y/anchor-has-content to be an error

* Update snapshots

* Remove lingering reference to nested prop which has been removed

* Changing system console password settings to a list and update padding for alerts in it

* Fix typo in SettingSet

* Update E2E tests to enable Elasticsearch by ID and remove duplicate enableElasticSearch helper

* Update E2E test to look for a legend instead of a label

* Fix typo in snapshot
2024-12-13 22:04:36 +00:00
Harrison Healey
521abfb2e8 Change how Rudder is mocked in test (#29599) 2024-12-13 21:53:14 +00:00
Pablo Vélez
8b8d0a0a09 MM-61897 - fix duplicated role dialog in boostrap modals (#29507)
* MM-61897 - fix duplicated role dialog in modals

* fix linter
2024-12-13 15:07:58 -05:00
Jesse Hallam
7179a9d1d6 reduce usage of Utils.localizeMessage (#29282)
* reduce usage of Utils.localizeMessage

As we begin to transition to react-intl's `formatjs` for extraction, our custom wrappers like `Utils.localizeMessage` prevent an adoption roadblock.

This is the first in a series of PRs to begin to migrate away in favour of:
* `useIntl` when inside React functional component
* use `injectIntl` and use access the `intl` prop from class components
* use the new `getIntl`, leveraging a memoized `createIntl` and the store outside of React components

I'm pausing in this effort to get a feel from peers on both the substance of these changes and best practices in supporting them.

* prefer shallowWithIntl, renderWithContext, and local injectIntl wrapping

* revert unintentional whitespaces

* clarify getIntl, add minor unit test

* avoid triggering mmjstool

* update e2e tests

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-12-13 09:49:28 -04:00
Devin Binnie
c19e0ea0e7 [MM-61958] Always fetch team unreads for current team on reconnect (#29529) 2024-12-12 12:49:13 -05:00
Jesús Espino
b8efccae69 Migrate MM-53377 regression test from Cypress to Playwright (#29460)
* feat: Migrate MM-53377 regression test from Cypress to Playwright

* fix: Update mm_53377 regression test to use admin client for setup

* fix: Correct admin client usage in mm_53377 regression test

* refactor: Standardize mm_53377 Playwright test with consistent naming and imports

* fix: Mark MM-T53377 test as fixme for investigation

* Migrating mm_53377_regression_test_spec.js cypress test to playwright

* Fixing linter errors

* Addressing PR review comment

* Fixing broken test
2024-12-12 12:02:22 +01:00
Jesús Espino
4e1e7334d8 Migrate remaining javascript files in webapp/channels/src/plugins to typescript (#29386)
* feat: Migrate actions.js to TypeScript with type annotations

* feat: Migrate actions.js to TypeScript with correct action types

* feat: Add actions plugin for webapp channels

* feat: Migrate actions.js to TypeScript with type annotations

* feat: Add interactive dialog plugin for webapp channels

* feat: Migrate interactive_dialog.js to TypeScript with type definitions

* feat: Add export plugin module for webapp channels

* feat: Migrate export.js to TypeScript with type declarations

* feat: Add initial plugin index file for webapp channels

* feat: migrate plugins/index.js to TypeScript with type definitions

* test: Add export plugin test file

* feat: Migrate export.test.js to TypeScript with type assertions

* feat: Add emoji actions file to webapp channels

* feat: Migrate emoji_actions.js to TypeScript with full type support

* Fixing some issues

* Revert "feat: Migrate emoji_actions.js to TypeScript with full type support"

This reverts commit e64aabe9fc6d36938cbaa40b7acb3356729a6686.

* fixing linter errors

* Fixing CI

* Addressing pr review comments

* Apply suggestions from code review

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

* Fixing linter errors

* Fixing CI

---------

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
2024-12-12 10:03:13 +01:00
Caleb Roseland
f1cb9f1ec2 MM-52512 fix ability to exclude archived channels in system console (#29122) 2024-12-10 13:28:20 -06:00
Scott Bishel
2c52f09071 update text, add tests (#29485)
Co-authored-by: Mattermost Build <build@mattermost.com>
2024-12-10 08:06:05 -07:00
Jesús Espino
4c27e6ebfe Fixing accessiblity on search input (#29423)
Automatic Merge
2024-12-10 08:47:37 +01:00
Harrison Healey
69df5df878 Add placeholder MMAction and MMReduxAction types (#29484)
* Add dummy MMReduxAction type and use it in its ActionFunc types

* Use MMReduxAction in mattermost-redux reducers

I updated most reducers except for the following:

- I couldn't figure out how to type the request reducers because of
  handleRequest, and it wasn't worth spending time on because it's
  stable and we don't really use those.
- The typing reducers are weird because they use WS event names as
  constants. They should be given their own action types separate from
  the event names, and they probably shouldn't be in mattermost-redux.

There's also a few places that still use AnyAction, but those are for
helpers for individual reducers. In the future, we should probably pass
the data from the action directly into those.

* Add dummy MMAction type and use it in the web app ActionFunc types

* Use MMAction in web app reducers
2024-12-09 19:22:07 +00:00
Harrison Healey
e873e5c1ef Add web app versions of ActionFunc types (#29483)
* Re-export ActionFunc types from mattermost-redux from types/store

* Start using ActionFunc types from types/store instead of mattermost-redux

These are all the places where the type checker failed when I added the
web app version of ActionFunc. I'll move all the other files in a
separate commit.

* Use ActionFunc types from types/store everywhere outside mattermost-redux

* Make types/store versions of ActionFunc use web app GlobalState

* Stop passing GlobalState into ActionFunc explicitly

* Stop casting as GlobalState where it's no longer needed

* Prevent importing mattermost-redux version of ActionFunc in the rest of the app

* Fix no-restricted-imports applying incorrectly to mattermost-redux and types/store
2024-12-09 13:37:41 -05:00
M-ZubairAhmed
f80afad1b6 [MM-58441] Create a floating-ui Tooltip which will swap out ReactBootstrap tooltip (#29464)
Added a new tooltip
- components/team_sidebar/components/team_button.tsx
- components/post_view/reaction/reaction_tooltip/reaction_tooltip.tsx
- components/post_view/post_recent_reactions/post_recent_reactions.tsx
- components/common/comment_icon.tsx
2024-12-09 14:50:08 +00:00
Weblate (bot)
cf219b0e06 Translations update from Mattermost Weblate (#29518)
Automatic Merge
2024-12-09 14:47:37 +01:00
David Krauser
3224e0d3a2 MM-61991 Show server hostname in about modal (#29413)
This introduces a new entry in the `Main Menu -> About` modal with the hostname of the currently connected websocket. This will be used to aid debugging issues in clustered environments by showing which node in the cluster is servicing requests for a particular websocket.

This information is only visible in self-managed instances. It will not be visible on cloud instances.
2024-12-06 10:39:36 -05:00
Michele Lo Russo
b03409202e Use "transform: scale" to resize emoticons, and "zoom" when supported (#29276) 2024-12-05 16:22:55 -07:00
Alexandre Sollier
c67e5089c1 [MM-61946] Don't change the emoji picker search input text case (#29397)
This removes the search input text lowercasing from the
`EmojiPickerSearch` component, where it is used as the text displayed to
the user.

Instead, filter lowercasing is done in the `getFilteredEmojis` function
to make emoji search case-insensitive.

Signed-off-by: Kuruyia <github@kuruyia.net>
2024-12-05 13:16:56 -05:00
Ivy Gesare
bc6f162d20 Change: Make custom status clear after 'Today', clear at midnight (#29072) 2024-12-06 01:18:13 +08:00
Saturnino Abril
90c0235c4b upgrade playwright dependencies, screenshots and tests (#29466) 2024-12-04 19:52:18 +08:00
Michele Lo Russo
43d589be79 Fix bug when you press PgUp/PgDown on a long message with sidebar open (#29272)
Co-authored-by: Mattermost Build <build@mattermost.com>
2024-12-04 10:53:32 +05:30