* Add report a problem type and allow logs config
* Improve device type logic
* Add tests and minor fixes
* Add texts
* Fix tests by avoiding circular dependencies
* Fix test
* Fix useexternallink updating mailtos, and changing the content of query parameters
* Fix texts
* Fix e2e test
* Fix tsc
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* pageup/pagedown button scroll for center post-list
* revert package.json
* changing id, using ? and returning in keyHandler
* added e2e test for pageup/pagedown scroll
* Fix dynamic-virtualized-list not being in lockfile and update path
Moving the package under the MM namespace wasn't necessary, but it stops
some warnings from NPM.
* Move E2E test from Cypress to Playwright
Cypress's cy.type doesn't seem to properly trigger browser functions
because it doesn't seem to use native keyboard events. A newer version
of Cypress has a new cy.press method which is supposed to use native
keyboard events, but it also only supports the tab key currently, so it
wouldn't be useful here.
* Fix new test on iPad
* Add page up/down support to RHS and Threads view
* Update type definitions for dynamic-virtualized-list
---------
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.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-63023] Conditionally make thread item elements focusable based on whether they have an interaction
* Fix i18n & PR feedback
* Remove focusability from the text preview div
* Fix tests
* add e2e tests for custom profile settings
* fix failed tests
* reorg folder and file convention, and add more details of the tests
* add e2e-tests for custom profile attributes in profile popover
* cleanup
* add test keys, move to folder of feature and move common function and constants to helper file
---------
Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-63313 Make theme setting radio buttons horizontal and update text
* MM-63313 Add Playwright test for a11y of theme settings
* Update snapshot
* Run prettier on E2E tests
* Address feedback
* Ensure new test reliably passes on Firefox
For whatever reason, Firefox lets you tab onto the Sidebar Styles panel
while it's expanding, possibly because it's a scrollable container with
overflowing content or because other browsers don't register the
children of that panel as visible while the panel is animating open.
Either way, we can look at the CSS on the panel to confirm when the
transition is done.
* Revert previous changes made to premade theme label alignment and size
In the last PR, these were changed from generic divs to buttons, and the
default browser style for buttons adds some extra padding and centres
the button text by default, so we have to override that.
* Adjust margins on inline radio group
* Fix playwright test code styling
* Fix bad import in E2E tests
* add e2e tests for custom profile settings
* fix failed tests
* reorg folder and file convention, and add more details of the tests
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* test PermissionView semantics
* change required ancillary permissions
`PermissionSysconsoleReadReportingTeamStatistics` doesn't strictly need `PermissionViewTeam`, but can work with whatever teams the user has access to.
* remove unnecessary timeouts
* remove redundant comment
* update snapshots
* Update e2e-tests/playwright/specs/functional/system_console/permissions/team_access.spec.ts
Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
---------
Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* move "e2e-tests/playwright/test" to "e2e-tests/playwright/test" and expose "ensurePluginsLoaded"
* add test setup, and expose ensurePluginsLoaded and ensureServerDeployment to pw
* MM-63451 Rely on MUI's MenuList to handle focus when opening menus
* MM-63451 Add E2E tests for keyboard accessibility in the account menu
* Run prettier on E2E tests
* And check in the rest of those changes
* Fix lint
* feat: Add package.json for Playwright library with dependencies
* feat: Add explicit exports for test.config in playwright-lib package
* feat: Add initialization setup for Mattermost E2E testing with admin and user client
* fix: Update package dependencies and resolve TypeScript build errors
* feat: Update package exports for test.config to support both CommonJS and ESM
* playwright shared library
* add README, fix pipeline
* keep file structures, move report up to playwright
* minimize API, use the prerelease versions of client and types
* bump version
* update package*.json
* resolve merge conflict
* update depedencies and merge conflicts
* update readme and fix ci
* remove unnecessary export and list all external packages
* fix import for Client4
* Add config settings for additional security features on mobile
* Add system console settings for mobile security
* Update svg and link
* Fix strings
* Add test for the discovery feature
* Fix tests
* Add permission migrations
* Add relevant e2e tests
* Fix key alignment
* fix tests
* Fix lint
* Mock new migration
* Fix playwright prettier
* Add new section to delegated permissions
* Update snapshots
* Fix flakyness in playwright test
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* feat: Add EnableCrossTeamSearch configuration option to ServiceSettings
* feat: Add EnableCrossTeamSearch configuration option to ServiceSettings
* feat: Enable cross-team search by default
* include old FF in client config
* New channel menu using new menu system
* fix e2e-tests
* remove extraneous separator
* lint fix
* fix test after merge
* update to pass properties to first menu item
* fix e2etest
* refactor: Update channel header menu items to use const event handlers
* refactor: Extract plugin item click handler in channel header menu
* refactor: Improve error handling and button click handlers in mobile channel header plugins
* lint fixes
* updates for code reveiw
* run i18n-extract
* fix unit test
* fix: Close channel dropdown menu by clicking channel header title
* fix: Use keyboard escape to close channel dropdown menu in e2e tests
* fix cypress test
* fix: Resolve MUI Menu component fragment rendering issue
* cleanup
* remove unneccessary css
* fixing testing issues
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Fixed a bug where escape would delete all typed content
* Fixed rootId and postID
* fixed tests
* Type fix
* Fixed a test
* Search result edit fix
* Removed a test change
* threads view isn't RHS
* Fixed a cypress test
* Fixed a cypress test
* Fixed a flaky playwighr test
* MM-62312 - modal focus management; revamp quick switch channel modal!
* get quick switch test working
* configure the generic modal to accept refs to focus within and onhide to the origin element
* apply pr feedback, get modal element get autofocus, use id instead of ref
* update more direct channels modal to use generic modal
* fix unit tests and snapshots
* fix unit tests
* fix modal margin top to fit in smaller screens
* fix e2e test
* remove unnecesary onexited extra call
* fix e2e tests
* set correct label
* fix snapshots
* create helper function for sending custom focus event
* migrate quick switch modal to use new approach to focus
* migrate more direct channels modal to new approach
* fix snapshots
* fix types
* fix modal closing behavior
* fix snapshots
* fix cypress tests
* remove only
* MM-62677 - migrate modals, invite modal work
* user settings modal
* fix snapshots
* finish user settings migration
* migrate confirm modal to use generic modal
* notification preferences migration
* implement focus back to trigger to channel notifications modal
* fix test snapshots
* initial self code review
* fix CI errors, translation and some types
* add modal location param and adjust test
* fix cypress test text
* fix cypress test text
* fix e2e test for invitation modal
* fix e2e test selector
* adjust modal height
* temp
* fix e2e tests
* fix snapshot
* fix e2e tests
* fix snapshots
* fix snapshots
* fix snapshots
* fix e2e tests
* update snapshots
* fix snapshots
* fix linter
* Implement PR feedback
* fix e2e tests
* adjust styling for channel notifications modal
* more fixes to e2e tests
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MA-13]: Updated the Theme list section in the settings modal
* [MA-13]: Fixed failing e2e test cases
* [MA-13]: Fixed accordion and removed aria-label from button
* [MA-13]: Fixed grouping of radio buttons
* [MA-13]: Updated the Theme list structure
* [MA-13]: Minor styling changes
---------
Co-authored-by: Mattermost Build <build@mattermost.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>
* MM-62312 - modal focus management; revamp quick switch channel modal!
* get quick switch test working
* configure the generic modal to accept refs to focus within and onhide to the origin element
* apply pr feedback, get modal element get autofocus, use id instead of ref
* update more direct channels modal to use generic modal
* fix unit tests and snapshots
* fix unit tests
* fix modal margin top to fit in smaller screens
* fix e2e test
* remove unnecesary onexited extra call
* fix e2e tests
* set correct label
* fix snapshots
* create helper function for sending custom focus event
* migrate quick switch modal to use new approach to focus
* migrate more direct channels modal to new approach
* fix snapshots
* fix types
* fix modal closing behavior
* fix snapshots
* fix cypress tests
* remove only
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MA-7]: Refactored the post priority menu and fixed the keyboard navigation issue in the menu
* [MA-7]: Updated the menu list structure and fixed menu not closing bug
* [MA-7]: Review fixes minor code structure fixes
* [MA-7]: Fixed failing e2e test cases
* [MA-7]: Fixed styling and Keyboard behaviour of menu
* [MA-7]: Minor changes after rebased with master
* [MA-7]: Fixed failing playwright test case
* [MA-7]: Fixed failing e2e test cases
* [MA-7]: Fixed reverting of selected priority to previous value on menu close
* [MA-7]: Fixed failing smoke test
* [MA-7]: Fixed submenu pointer event and failing playwright test cases
* [MA-7]: Fixed failing playwright test case
* fix playwright tests
* fix playwright tests
---------
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
* Set 'forwardRef' to 'true'
The Redux wrapper component not forwarding the ref to the parent resulted in the selected item ref being null.
* Add DM list test case
This test ensures the DM list scrolls items out of view into view when a user navigates using the Up and Down arrow keys.
* test(dm list): add zephyr test case number
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Convert EmojiPickerOverlay to functional component
* Convert EmojiPickerTabs to functional component
* Extract AddReactionButton from ReactionList
This is so that I can make part of it functional without rewriting
the whole thing.
* Convert PostReaction to functional component
* Add general version of useEmojiPicker and use for AddReactionButton
* Rename returned showEmojiPicker to emojiPickerOpen
* Add test for AddReactionButton
* Move showEmojiPicker state out of useEmojiPicker
I hoped to avoid this by just having the hook return the
show state, but unfortunately, too many of the existing places
rely on controlling the state themselves
* Change PostReaction to use useEmojiPicker
I ran into some trouble with this getting the hover state to properly
disappear from the PostComponent when clicking out of the picker. That
seems to be a downside of the browser's mouseenter/mouseleave not
handling cases where the component is covered up. It doesn't work 100%,
but it works at least as well as master by disabling pointer-events to
the FloatingOverlay (which I also think we could probably remove since
it's supposed to just be for darkening the backdrop behind the picker,
but it ended up being helpful for setting the z-index on mobile).
* Change AdvancedTextEditor to use new useEmojiPicker
I renamed its version of useEmojiPicker to useEditorEmojiPicker since it
still contains information about how to position the emoji or gifs in
the post text.
* Convert EditPost to use useEmojiPicker
* Convert CreateModalNameInput to use useEmoijPicker
* Convert CustomStatusModal to use useEmojiPicker
* Remove EmojiPickerOverlay and cleanup related code
* Remove unneeded translation string
* asdf Attempting to fix E2E test
* Improve how useEmojiPicker positions itself to stay on screen more
* Add offset between Emoji Picker and reference
* Add horizontallyWithin middleware and use it to right-align the emoji picker in the post textbox