* Fix notification message for posts with no text
Changed the default notification message from "did something new" to
"posted a message" for better clarity when receiving notifications
from posts with no readable text content.
Fixes: MM-61948
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* address feedback from code review
---------
Co-authored-by: Claude <noreply@anthropic.com>
* initial implementation of test documentation in spec file with AI-assisted prompt from Claude and linter script
* update snapshots
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-62980] Set aria-describedby for Input component when again custom message is set
* [MM-62970] Change password reset send link input to Input
* Fix i18n
* Fix e2e
* fix snapshots
---------
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
* [MM-62973] Fix order of Close button and other buttons in the header
* [MM-63028] Add aria-live status area when searching for channels
* [MM-63027] Add announcement that channel is joined
* [MM-63034] Add role=checkbox and reformat HTML to have correct custom checkbox code
* Update snapshots from generic_modal change
* PR feedback
* PR feedback
* PR feedback
* First set of texts updated for Enterprise Adv upsells and trial
* Updated upsell message for all tiers
* Linting translation file
* Linting
* Reverting unintended styling changes
* my ide making lint more
* Fix tests
* More default texts updated
* Trial banner title
* Make advantages list translatable
* Text updates
* Fix tests
* More text tweaking
* Linting
* Reodered translations
* Fixed e2e test
* More linting
* Removed incorrect new test
* Fix test typo
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-62986] Ensure focus goes back to the inputs after an error for Login/Create Account/MFA
* [MM-63011] Show outline on Mattermost logo link when focused
* [MM-63018] Remove tabindex from the login/signup cards and use <form> element for submit
* [MM-63014] Toggle aria-label when show/hide password is pressed
* [MM-63013] Mention the field name when showing an error message about the password field
* Fix lint
* Update screenshots and fix tests
* Update screenshots and fix tests
* Fix tests
* Update webapp/channels/src/components/mfa/setup/setup.tsx
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
* update screenshots
---------
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
* MM-63649 - fix preview embeded images
* enhance utils function and simplify validations in file preview modal component
* add new test for proxied images without extension
* simplify logic; apply DRY unifying it via helper function
* if extension is available in file info, use it first
* add extra validation for the extension lenght if fileInfo.extension is present
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* 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