430 Коммитов

Автор SHA1 Сообщение Дата
yasserfaraazkhan
e6b4764e0d Fix: Playwright e2e tests (#29768) 2025-01-08 09:54:38 +00:00
fume4mattermost
55a7993a11 [MM-T5139] Add Standard message priority and system setting test (#29526)
* add Standard message priority and system setting test

* Refactor message priority config and test.

* Refactor to use new priority dialog locators and checks, ensuring default standard option is correctly verified.

* Fix whitespace and formatting in message priority components.

---------

Co-authored-by: Fume <contact@fumedev.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-08 15:21:09 +08:00
Mario Vitale
0345cba209 [skip ci] Stabilize users_reactivation_spec.js E2E testcase (#29664) 2024-12-20 14:37:03 -04: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
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
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
Mario Vitale
bac251f312 Demote oauth_spec.ts (#29631)
* Demote oauth_spec.ts
* Remove single testcase skips for oauth_spec.ts
2024-12-17 18:41:22 +01:00
Caleb Roseland
f556965a32 MM-62044: Always show title in create bookmark flow (#29476) 2024-12-16 11:31:04 -06:00
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
Mario Vitale
70b14c37c7 Daily E2E test fixes (#29580)
* [skip ci] Stabilize testcases, clean reporting for nighly unstables

* [skip ci] Better output naming

* [skip ci] Fix testcase failure fatal condition

* [skip ci] Make linter happy

* [skip ci] Revert global beforeEach change

* [skip ci] Fix workflow file, skip unstable tests

* [skip ci] Fix testcase_failure_fatal templating
2024-12-14 04:44:25 +08: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
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
Mario Vitale
861fcfb032 [skip ci] Stabilize replies_spec.ts (#29564) 2024-12-11 14:10:55 +01:00
Mario Vitale
7263ba4bc1 Enforce 0-failures for E2E tests (#29521) 2024-12-09 17:03:55 +01: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
Mario Vitale
a90f19dc0f [skip ci] Fix/demote testcases (#29497) 2024-12-06 13:23:27 +01:00
Saturnino Abril
90c0235c4b upgrade playwright dependencies, screenshots and tests (#29466) 2024-12-04 19:52:18 +08:00
Harrison Healey
8533350a91 MM-61893 Replace usage of hasOwnProperty with Object.hasOwn (#29428)
* MM-61893 Replace usage of hasOwnProperty with Object.hasOwn

* Update type guard in messageToElement

* Replace a couple more hasOwnProperty calls
2024-12-03 21:53:23 +00:00
Jesse Hallam
7c6f1d4554 feat: Add tooltips to channel info RHS top buttons (#29170)
* feat: Add tooltips to channel info RHS top buttons

* style: address linting issues

* feat: Add accessibility ids to Tooltips in top_buttons.tsx

* leverage WithTooltip for standardized styling

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-12-02 10:16:20 -04:00
Julien Tant
dabf383d4c [MM-61969] Fix regression where search suggestion would break when using uppercase letters (#29400) 2024-11-27 10:53:14 -07:00
Harrison Healey
049aa42633 MM-59952/MM-61438 Fix web app not responding to WS events for status (#29371)
* MM-59952/MM-61438 Fix web app not responding to WS events for status

* Add E2E tests
2024-11-25 13:47:29 -05:00
Mario Vitale
37edbc8533 Stabilize and demote tests (#29367)
* Stabilize and demote tests
2024-11-25 17:05:35 +01:00
Mario Vitale
01b8359347 Add fixed testcase back in (#29345)
* Add fixed testcase back in
2024-11-21 14:00:23 +01:00
Mario Vitale
e80c5006c3 Add E2E retries support for Automation Dashboard (#29328)
* Add E2E retries support for Automation Dashboard
* Disable sneaky cypress testcase
2024-11-20 16:45:12 +01:00
Saturnino Abril
80289a0d8c Playwright/E2E: Add method to stub notification in Playwright and automate MM-T483 (#29203) 2024-11-19 22:16:33 +08:00
Mario Vitale
cf5b4610b1 Fix E2E test reporting message for webhook (#29304)
* Fix testcases failing  Webpack compilation
* Fix E2E test report message for webhook
* Demote more unstable tests
* Fix playwright reporting message, better test demotion

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-11-18 09:49:17 +01:00
Mario Vitale
d204083b12 Demote unstable tests (#29250)
* [skip ci] Demote unstable tests
* [skip ci] Further demotions, fix artifact jumbling
2024-11-14 22:38:29 +01:00
yasserfaraazkhan
38823603a3 E2E test for scheduled Draft feature (#28433) 2024-11-15 02:39:35 +05:30
Claudio Costa
3af3af0b25 [MM-60792] Add support for loading experimental (e.g., in progress) languages (#29009)
* Add support for loading experimental (e.g., in progress) languages

* Fix e2e config

* Improve language labels

* Improvements
2024-11-14 15:02:00 -06:00
Nadav Tasher
5e47c97db4 Added support for S3 storage classes (#28319)
* Added support for S3 storage classes

* Added missing translations for S3 storage class

* Changed default storage class values to preserve original behaviour

* Changed storage class description and example

* Fix translations ordering

* Change configuration defaults to empty strings

* Remove redundant empty string check

* Validate storage class variable against constants from S3 API docs

* Validate export storage class against constants

* Use slices for config validation

* Applied patch for translation ordering
2024-11-13 12:29:44 +05:30
Mario Vitale
572584937c Demote unstable tests from daily run (#29147)
* Demote unstable tests from daily run

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-11-12 12:04:32 +01:00
Daniel Espino García
118d0346ee Add test notification tool (#28334)
* Add test notification tool

* Add frontend styles

* Remove option from admin view

* Refactor create post and add translations

* Fix several CI errors

* Fix API and frontend snapshots

* Refactor trailing and leading icon on buttons

* Add different button states

* i18n-extract

* Fix wrong text

* Add tests

* Fix wrong string

* Fix test

* feat: E2E send test notifications (#28371)

* Refactor send desktop notification

* Address rest of the feedback

* Fix tests

* Add correct link

* Fix test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
2024-11-08 13:57:06 +01:00
Mario Vitale
2975e529d5 Enable Cypress and Playwright retries (#29056)
* Enable Cypress and Playwright retries
* Improve E2E commit status messages
* Demote unstable testcases, increase task timeout
2024-11-05 11:46:06 +01:00
yasserfaraazkhan
77862dd581 MM-61306: Cypress/E2E, fixed failed tests (#28959) 2024-11-01 13:25:08 +05:30
Angel Mendez
2aaa38b368 [MM-47303] Migrate /enterprise/extend_session/not_extended_when_disabled e2e tests to TypeScript (#28465) 2024-10-29 06:19:02 +00:00
Angel Mendez
a358bef3cd MM-47287 Refactor/migrate bot accounts to typescript (#28347)
* refactor: convert bot_api_1_spec.js to typescript

- convert file bot_accounts/bot_api_1_spec.js to typescript
- update related data types in order to fix argument issues

* refactor: convert bot_api_not_cloud_spec.js to ts

- convert file bot_accounts/bot_api_not_cloud_spec.js to typescript
- update related data types in order to fix argument issues

* refactor: convert bot_channel_intro_spec.js to ts

- convert file bot_accounts/bot_channel_intro_spec.js to typescript
- convert support/api/bots.js to typescript
- remove data type bot.d.ts and include docs and definitions in
 support/api/bots.ts

* refactor: convert bot_accounts files to ts

- convert files from js to typescript
- move declaration files to ts
- update js docs
- fix lint and type errors

Related to #21303

* fix: replace params undefined on client.createUser

- replace undefined params with empty strings as suggested in review

* fix: add types to variables on spec tags_spec.ts

- add types to variables

* fix: update args for apiCreateBot on api/bots.ts

- update args so that lint issue is fixed

* Apply suggestions from code review

update assertion to 401

---------

Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
2024-10-28 17:03:21 +08:00
Saturnino Abril
c7aec8c5c5 follow up to MM-61126 desktop landing page (#28888) 2024-10-24 05:10:18 +08:00
Caleb Roseland
da17205d0b MM-61197, MM-60615: Move Connected Workspaces to Site Configuration (#28887) 2024-10-22 08:16:52 -05:00
yasserfaraazkhan
1a28bc2c58 Feat(e2e): E2E test for Optional desktop app landing page (#28839) 2024-10-22 05:40:25 +05:30
Angel Mendez
318abef7d1 convert elasticsearch_autocomplete/ files to ts (#28484)
* convert elasticsearch_autocomplete/ files to ts

- convert js files to ts
- update types
- fix lint issues

Fixes: #21308

* fix: add missing exports elasticsearch_autocomplete

- add missing export on functions:
 - createEmail
 - searchForChannel

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-10-18 08:57:21 -07:00
Mario Vitale
0a14eb3d45 E2E Tests: unify compose files, support Opensearch (#28716)
* Unify docker-compose files, support opensearch and redis
* Support cypress/playwright bools, MM_SERVICE_OVERRIDES input
* Remove unused directives from E2E tests
* [skip ci] Fix ES tests, PR messages
* [skip ci] Fix service pruning on server restart
* [skip ci] Make services overrides a CSV, better param descriptions

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-10-18 16:51:24 +02:00
Caleb Roseland
fcded9559c MM-61032: Add default_team_id to accept invite flow (#28841)
* add default_team_id to accept invite api

* add team selector to accept invite flow UI

* e2e

* lint/i18n
2024-10-18 12:26:38 +02:00
Caleb Roseland
9ae2752593 MM-60616: Shared Channels - System Console E2E (#28379)
* fix rc content types

* api spec

* don't ignore content type when parsing body

* secure connections:
- create
- read
- update
- delete
- share
- accept

* title

* wip

* manage shared channels, other fixes

* revert

* revert old

* maxlines

* add team selector, tooltip fix, msg fixes

* cleanup

* remote disabled state admindef

* add team label to channels input, fix i18n

* add filter

* review fixes, other fixes

* cleanup

* refactor channel fetching

* move modals

* fix imports, fix collected id

* remove unused action

* tabs visibility

when connection pending, hide tabs if none from home are shared.
when connection is connected, always show tabs

* api docs invite/uninvite response type

* fix modal id ref

* Remove the generate invite option for confirmed clusters

* e2e: add empty state test

* e2e: add create flow test

* fix modal id ref

* rev: double negation

* rev: server side password for create flow

* rev: remote cluster type 0 token, delete_at

* testing a11y, ids

* e2e

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
2024-10-17 10:36:51 +02:00
Jesús Espino
5f8bdba459 Initial version of the new search interface (#27301)
* Initial version of the new search interface

* Fixing CI

* style tweaks

* tweaks to date picker in search

* change search input to button

* Addressing a lot of small problems

* Addressing current search visualization

* Fixing problem on filter autocompletion

* Adding some more fixes

* Tiny style ajustment

* Removing unnecessary slice call

* Adding search extensibility

* Improving the extensibility

* Fixing and refactoring a bit

* On clear click, clear the current search

* splitting components for simplicity

* tweaks to file ext search

* Addressing PR review comments and adding color to the extensions search icons

* Improving a bit the extension search

* Fixing CI

* Fixing some bugs

* Keep the focus on search input whenever we change the search type

* Adding SearchHint tests

* Adding search_box_type_selector tests

* Adding tests for the SearchBox component

* Adding tests for search box suggestions

* Adding SearchBoxInput tests

* Splitting extension suggestion component and provider

* ExtensionSuggestion tests

* Removing unneeded property

* Adding SearchBoxhints tests

* Adding tests for NewSearch component

* Adding tests for the extension suggestion provider

* Fixing linter errors

* Fixing tests

* Fixing linter errors

* Fixing linter errors

* Adding license check for plugins

* Addressing PR review comments

* Addressing PR review comments

* Addressing PR review comments

* Fixing tests

* Fixing some cypress tests

* More work around cypress tests for search

* Some accessibility changes

* more work on cypress tests

* fixing more cypress tests

* Fixing linter errors

* Fixing tests

* Fixing ctrl+f6 switching

* Fixing scrolling on small windows wheneve you are searching

* Improve editing in the middle of the search text

* Addressing some PR review comments

* Addressing some PR review comments

* Addressing some PR review comments

* Addressing some PR review comments

* Fixing tests and linter errors

* Fixingls tests and linter errors

* Fix type checks

* Clearer logic to render plugin or builtin suggestion

* Addressing PR review changes

* Addressing PR review changes

* Using selectors for plugin components

* Changing uppercase to lowercase on lists of components

* Updating tests

* Updating snapshots

* minor css tweaks

* minor css tweak

* Adding the search type and the clear button

* Fixing problem with the filetype selector

* fixing linter errors

* Some fixes

* More linter fixes

* Reverting prettier auto-formating

* Fixing CI

* Fixing CI

* Fixing chrome problem

* Fixing CI

* Addressing PR review comments

---------

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
Co-authored-by: Christopher Speller <crspeller@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2024-10-14 12:56:35 +02:00
Angel Mendez
ebcde8535e refactor: convert channels/ad_ldap files to ts (#28677)
- convert js spec files to ts
- convert ldap_server_commands.js to ts

fixes: 21302

Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2024-10-12 08:28:47 +08:00
Angel Mendez
3f59f05f3f refactor: convert file fetch_commands to ts (#28139) 2024-10-11 04:37:52 +00:00
Angel Mendez
4440ace6a9 refactor: migrate managing_bot_accounts_spec.js ts (#28368)
- convert file to ts
- fix lint issues
2024-10-10 14:09:09 +02:00