* MM-64669 Fix keyboard navigation of settings sidebar and add Playwright test
* MM-64669 Revert changes to Cypress test which masked keyboard bug
The changes that were previously made caused Cypress to refocus the
sidebar repeatedly which stopped the test from failing without fixing
the bug.
* Ensure focus highlight is always visible on sidebar tabs
This may not have been broken by the changes that caused MM-64669, but I
noticed it while I was in there and wanted to fix it.
* Fix settings modal scrolling while changing sections using arrow keys
* Remove accidentally-added field
* [MM-63008] Make collapse button on search bar an actual button
* [MM-63004][MM-63020] Convert search box to floating-ui, fix some of the roles and labels that were incorrect
* [MM-63009] Add radiogroup and radio roles to the search box types
* [MM-63007] Ensure search box reads out number of results with suggestion items
* Fix playwright tests
* PR feedback
* Remove floating ui overlay
* Remove unnecessary .first() by being more specific about the search box
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-61173 - channel settings modal: base modal, initial commit, file creation and base component
* new enhancements to the base modal creation
* revert changes on textbox_links and edit channel header
* fix types and add back unintentioned deleted value
* add the preview textbox component
* extract logic for info tab into its own component
* add the purpose input to the window
* move other component logic to its own component and code clean up
* ability to update channel type
* more advances on the archive channel tab
* fix unit test in textbox
* fix translations
* do not show the archive modal in default channel
* fix issue with url editor not being resetted on undo action
* adjust text and styling for the header and purpose inputs
* remove textboxlinks and use button eye icon
* adjust test and preview button style
* add unit test to channel patch
* move logic from parent modal to info tab component
* fix border issues and focus back to preview textareas
* prevent saving changes when pressing enter when selecting an icon
* enhance input component to cover limits validations and enhances tests
* set default error message for save changes panel
* add props to provide custom value to the buttons
* remove channel input errors on reset button click
* create new component settings textbox
* rename component to advanced textbox and add unit tests
* styling of the info tab and add error state to advanced textbox
* add logic to prevent tab switch with unsaved changes
* adjust url error logic and code clean up
* code clean up and enhance comments
* add char min length to advanced textbox logic
* add the channel settings modal to the new menu
* add new test files and fix reset error
* remove unused error variables
* adjust translations and remove unncesary import
* enhance permissions for archive channels and manage channel settings
* Adjust permission tree so channel admins can convert from private to public
* enhance the test suit around channel conversion type
* fix some e2e tests and solve channel input name issue
* fix unit test by interacting first with the input element
* adjust e2e tests to channel settings modal changes
* remove commented tests and implement pr feedback
* adjust more pr feedback to the code
* more pr feedback enhancements
* further enhancements to tab navigation, and adjust more e2e tests
* remove unused components and fix e2e tests
* revert unnecessary permissions changes
* Add name label to textboxes
* adjust e2e and unit tests
* revert min lenght change value and adjust tests and snapshots
* Channel banner settings (#30721)
* Added channel banner setting header
* Updated section styling
* handled animation
* handled min and max lengths
* cleanup
* color change fix
* general improvements
* Fixed API test
* removed unused param className
* added e2e tests
* test: add channel settings configuration tab test file
* Based on the context, here's a concise commit message for this change:
feat: Add comprehensive tests for ChannelSettingsConfigurationTab
* added some more tests
* CI
* reverted package-lock.json changes in Playwright
* remove extra border from advaced textbox
* adjust styling for name label in advance texbox and restart preview state on modal close
* sync package.lock in playwright
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
Co-authored-by: Harshil Sharma <18575143+harshilsharma63@users.noreply.github.com>
* [MM-61647]: Upgraded react-select to v5
- Updated old type definitions with new v5 packaged type definitions.
- Removed some unused props
- Updated onBlur, onFocus and handleInputChange methods in user_input_email component
* Fix incorrect usage of handleInputChange in ChannelsInput
* Remove type assertions from dropdown_input_hybrid.tsx
* Simplify typing of users_emails_input.tsx
* [MM-61647][MM-61651]: Fixed some type definitions and e2e failing test case
* [MM-61647][MM-61651]: Fixed type error in dropdown_input_hybrid
* [MM-61647][MM-61651]: Fixed failing CI type error and e2e test cases
* [MM-61647][MM-61651]: Fixed failing e2e test case
* [MM-61647][MM-61651]: Updated the styles and reverted the test case changes
- Fixed the theme not getting correctly inherited
- Fixed the timezone and language settings getting saved on enter
---------
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MA-9]: Fixed the keyboard interactivity of tablist and added appropriate ARIA properties
* [MA-9]: Review Fixes: Added aria-level attribute to plugin preferences heading
* [MA-9]: Fixed failing e2e test case
* [MA-9]: Fixed styling in mobile view and fixed failing e2e test cases
* [MA-9]: Minor Refactoring
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-62288 - add e2e to RHS focus functionality
* remove describe only
* Use existence check before closing RHS
* modify close rhs function to not fail when rhs is not opened
* avoid body to not get found
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* 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>
* 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>
* Utilize free runners for E2E tests, report back to PR on run completion
* Increase test stability on smaller instances
* Merge worker reports
* merge start+prepare steps
* upgrade keycloak
* increase test timeouts
* Add video recording to report artifacts
Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
---------
Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
* Update make_emojis.mjs and remove unused field
* Remove skin tone translations from emojis.ts
* Remove category name translations from emojis.ts
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
- Adds a new section under settings/notifications for adding custom multi-word keywords that get highlighted without notification
- Adds a new classname for highlighting words although the styling is the same as mentions highlights
- Added a few components to the ReduxFromProps pattern
- Adds supported type for the hook of PluginComponent type
- Add upsell for highlight without notification
- Moved 'setting_item.tsx' to the components folder
- Improved prop names and function structure for setting_item, setting_item_max and setting_item_min
- Moved 'toggle_modal_button.tsx' to the components folder
- Removed t and utility messages from a few components
- Fixed bug where the tooltip was not getting rendered on restrictedButtons
- Improved the mobile view of the settings modal
- Adds E2E for the feature
* Remove all occurrences of ExperimentalTimezone in /server
This removes all uses of ExperimentalTimezone and makes all conditions using this setting being either removed (== false) or always used (== true)
* Remove timezone parameter for getChannelMemberByGroup
As timezone is always enabled this function no longer has a second parameter. The endpoint will always be called with includeTimezones set to true
* Remove all uses of ExperimentalTimezone in webapp
All conditions dependent of this are adjusted to always be true if experimentalTimezone should be true and vice versa
* Change all tests checking for correct usage of ExperimentalTimezone
As this parameter is no longer used, the tests which check for correct behaviour of this is no longer needed
* Fix type errors
Tests regarding types does now pass
'npm run check-types' will run successfully
* fix lint issues
Fix all current lint errors and now lint test goes through
* Fix test regarding profile popover
enableTimezone now is gone and all profile_popover.test.tsx can run successfully.
Added state.entities.users.profiles[] as it before threw an error without it.
* Fix tests where "April 1 2019" was changed to "April 01 2019"
Now it will show "April 1 2019" and "timeZone" will only show if its other than empty ("").
* Fix test where date was set to NaN
Now date will show correctly and will not be NaN
* fix minor test case that failed before
* fix linting in server
* Delete tests that are not valid with timeZoneEnabled removed
tests in advanced_create_comment and advanced_create_post had timeZoneEnabled
set to false as default. The tests that use this are now changed to once which are meant to have timeZoneEnabled set to true.
Adjust jest function in advanced_create_post to get correct stacktrace
* Parameter deleted
isTimeZoneEnabled is always true and therefore the parameter can be deleted
* adjust to prettier standard
* Remove all occurrences of ExperimentalTimezone in /server
This removes all uses of ExperimentalTimezone and makes all conditions using this setting being either removed (== false) or always used (== true)
* Remove timezone parameter for getChannelMemberByGroup
As timezone is always enabled this function no longer has a second parameter. The endpoint will always be called with includeTimezones set to true
* Remove all uses of ExperimentalTimezone in webapp
All conditions dependent of this are adjusted to always be true if experimentalTimezone should be true and vice versa
* Change all tests checking for correct usage of ExperimentalTimezone
As this parameter is no longer used, the tests which check for correct behaviour of this is no longer needed
* Fix type errors
Tests regarding types does now pass
'npm run check-types' will run successfully
* fix lint issues
Fix all current lint errors and now lint test goes through
* Fix test regarding profile popover
enableTimezone now is gone and all profile_popover.test.tsx can run successfully.
Added state.entities.users.profiles[] as it before threw an error without it.
* Fix tests where "April 1 2019" was changed to "April 01 2019"
Now it will show "April 1 2019" and "timeZone" will only show if its other than empty ("").
* Fix test where date was set to NaN
Now date will show correctly and will not be NaN
* fix minor test case that failed before
* fix linting in server
* Delete tests that are not valid with timeZoneEnabled removed
tests in advanced_create_comment and advanced_create_post had timeZoneEnabled
set to false as default. The tests that use this are now changed to once which are meant to have timeZoneEnabled set to true.
Adjust jest function in advanced_create_post to get correct stacktrace
* Parameter deleted
isTimeZoneEnabled is always true and therefore the parameter can be deleted
* adjust to prettier standard
---------
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>