Create a new config setting, and migrate the old values to new.
https://mattermost.atlassian.net/browse/MM-63652
Skip-Enterprise-PR: true
```release-note
NONE
```
* fix i18n
also fix unit tests
```release-note
NONE
```
* For fresh installations, default to true
```release-note
NONE
```
* gofmt files
```release-note
NONE
```
* Fixing some more strings
```release-note
NONE
```
* Update e2e tests
```release-note
NONE
```
* [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-63717] LDAP Wizard skeleton (#31029)
* add ldap_wizard component to render its admin components
* i18n
* test adjustment
* keys and props fixes
* title fix
* fix placeholders
* fix value initialization
* linting
* remove all ...props (except custom component); any->unknown
* fix i18n (temp, will be changed in later PR)
* better return; simplify function checking/calling
* [MM-64259] Sections sidebar and navigation (#31059)
* initial sections list sidebar
* sidebar highlighting and scroll on click
* some tidying up
* add custom section titles for section sidebar
* i18n
* updating border on sections
* scss style lint
* color -> border-color
* simplify activeSectionKey initialization; remove trailing newline
* add useSectionNavigation; clean up ldap_wizard and scss; PR comments
* extract section of code into renderSidebar()
---------
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
* [MM-64296] Add test connection for connection settings panel (#31190)
* button -> ldap test connect api
* fix console error by sanitizing value in text component
* return detailed error as error; adjust button -> primary, flushLeft
* middle of redesigning how we do hover text, first button
* add hover text to bools and file uploads
* i18n
* add LdapSettings as api type; add new endpoint to api yaml
* allow testing without first enabling LDAP and saving config
* i18n id changes
* improve TestLdapConnection to current standards
* PR comments
* safeDereference; cleaner returns
* remove hover markdown; formatting and typing simplification
* use button for "More Info"; i18n
* finish renaming help_text_hover -> help_text_more_info
* fix error output
* only send bindpassword if it has been changed
* fix: don't send blank bindPassword when it is still *****
* merge conflict
* [MM-64480] Refactor Admin Definition (#31280)
* move ldap definition to its own file for simplicity & context
* refactor admin_definition to eliminate circular dependencies
* merge conflicts
* before: buggy userHasReadPermissinOnSomeResources; after: fix incorrect snapshot
* merge conflict: new bindPasssword definition was left behind; fixed.
* merge conflict
* [MM-63765] LDAP Wizard: User filter expandable section (#31286)
* add "more info" hover to user filter help texts; make wider
* add expandable_setting type and component
* use Dislosure show/hide pattern for accessibility
* fix tooltip scss selectors
* fix hover -> more_info; make sure translation files are correct
* use join('\n\n') instead of the eslint disable line
* Revert "use join('\n\n') instead of the eslint disable line"
This reverts commit 274667e875b34703f14fee0706cd28b0125cefc9.
* [MM-64482] LDAP Wizard - Test User filters (#31312)
* initial cut at UI and backend for test filters
* api definitions; mocks
* clean up to current standards
* [MM-64512] - Test user filters UI (#31355)
* result_count -> total_count
* json cannot marshal error, returning error as string as god intended
* render errors with icon, hover text, and better feedback texts
* gather the settings that may be in expandable sections
* remove success, use error == "" to indicate success
* [MM-64536] LDAP Wizard: Test user attributes (#31373)
* LdapFilterTestResult -> LdapDiagnosticResult; FilterName -> TestName
* implement test_attributes endpoint and limited frontend (first step)
* adding EntriesWithValue
* [MM-64550] LDAP Wizard: Test user attributes UI (#31374)
* [MM-64551] LDAP Wizard: Test group attributes (#31375)
* remove Test LDAP button (not needed); reused helptext for other btn
* implement test_group_attributes endpoint; button/client-side paths
* [MM-64552] LDAP Wizard: Test group attributes UI (#31376)
* implement Test Group Attributes button
* simplify helper functions (improves useCallback dependencies)
* show the default filter that was used on the backend in the tooltip
* show the icon when there's an error (e.g. required filter/attribute)
* fix infinite rerendering
* fix error after failed save; fix navigation unlocked after save
* empty
* Adjust message feedback given we don't test the schema anymore
* improve css; don't use inline styles
* removed unneccesary pointer indirection
* improved i18n strings and logic
* combining filters/attributes/group attributes endpoints
improve types
* improve help text for User Filter (it's tricky)
* AvailableAttrs -> AvailableAttributes
* fix for e2e tests (renamed title)
* more e2e fixes
* skip broken e2e test
---------
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
* MM-63411 Don't focus thread textbox automatically when it has a draft
* Add E2E test
* Add test files forgotten in previous commit
---------
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>
* 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>
* 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>
* 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>
* 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>
* [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>
* 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>
* 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>
* 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
* 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>
* 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>
* 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>
* refactor: convert channels/channel/ files to ts
- convert js files to typescript
- update types
- fix lint issues
Fixes: 21299
* fix: solve lint issues channels/channel
- fix lint issues
- udpate types
* fix: adjustment to test case MM-T1687
- code reorganization for test case MM-T1687
* fix: update types on function apiCreateCustomAdmin
- update types for apiCreateCustomAdmin on user.d.ts so that
lint issue is solved
* refactor: migrate collapsed_reply_threads to ts
- migrate collapsed_reply_threads e2e tests to typescript
- update matterpollPlugin plugin constant so that it matches
with apiUploadAndEnablePlugin argument
Fixes: #21296
* refactor: use PostMessageResp on channel_notifications_spec
- use type PostMessageResp
- convert cy.wrap to regular for loop
* refactor: update types on collapsed_reply_threads
- add missing types to variables
- update types on current variables
- remove unnecessary commands on following_spec.ts
* fix: solve issue with non callable function
- move wait call to next line
* refactor: remove functions from global scope
- keep functions as helper functions
- fix lint issue
* refactor: convert channel_moderation files to ts
- convert js files to ts
- update data types accordingly
- fix lint issues
Fixes: #21332
* fix: update argument type for visitChannel
- update type
- fix types issues
* refactor: change return type for getAdminAccount()
- change return type to getAdminAccount as UserProfile
* Add descriptions to test cases for getNeededAtMentionedUsernames
* MM-59854 Load users who are at-mentioned in message attachment fields
* MM-59854 Add server support for at-mentioning users in message attachment fields
* Migrate support/external_commands from JS to TS
* MM-59584 Ensure that at-mentions never show in other message attachment fields
* MM-59584 Add E2E tests for how we load users based on at mentions
* Use new E2E test helpers in other places
* Update snapshots
* refactor: migrate database/users_spec.js to ts
- migrate file autocomplete/database/users_spec.js to typescripts
- udpate system.d.ts data type adding type
for shouldHaveElasticsearchDisabled
* refactor: migrate users_in_channel_switcher_spec.js
- migrate file users_in_channel_switcher_spec to typescript
- fix issue with data type on file autocomplete/helpers.ts
function verifySuggestionAtChannelSwitcher
- fix issue with data type on file autocomplete/common_test.ts
function doTestQuickChannelSwitcher
* refactor: migrate users_in_message_input_box_spec to ts
- migrate file database/users_in_message_input_box_spec.js to typescript
- migrate file support/ui/suggestion_list.js to typescript and update
docs and type definitions
- update references to doTestPostextbox function
- update references to verifySuggestionAtPostTextbox function
---------
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>
* Add isPostFlagged selector
* Remove unused code for actions_menu preferences
* Improve types of Preference and getPreference
* MM-58111 Change makeGetCategory to take category name once
* Use shouldShowJoinLeaveMessages everywhere
* Change makeGetCategory to better memoize its result
* Fix test that needs EnableJoinLeaveMessageByDefault to be set
* Remove more references to action_menu preferences