* 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
* [MM-62113] Force reload of team unreads when following/unfollowing a thread
* E2E test
* add test key
---------
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
* [MA-32]: Added logic to correctly give accessible name to channel header button
* [MA-32]: Fixed id name
* [MA-32]: Fixed failing e2e test case
* [MA-32]: Updated the aria-label attribute
* [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>
* [MM-59089] Add a compliance export constant (#27919)
* add a useful constant
* i18n
* another constant
* another i18n
* [MM-60422] Add GetChannelsWithActivityDuring (#28301)
* modify GetUsersInChannelDuring to accept a slice of channelIds
* add GetChannelsWithActivityDuring
* add compliance export progress message; remove unused custom status
* linting
* tests running too fast
* add batch size config settings
* add store tests
* linting
* empty commit
* i18n changes
* fix i18n ordering
* MM-60570 - Server-side changes consolidating the export CLI with server/ent code (#28640)
* add an i18n field; add the CLI's export directory
* int64 -> int
* Add UntilUpdateAt for MessageExport and AnalyticsPostCount
to merge
* remove now-unused i18n strings
* add TranslationsPreInitFromBuffer to allow CLI to use i18n
* use GetBuilder to simplify; rename TranslationsPreInitFromFileBytes
* [MM-59089] Improve compliance export timings (#1733 - Enterprise repo)
* MM-60422 - Performance and logic fixes for Compliance Exports (#1757 - Enterprise repo)
* MM-60570 - Enterprise-side changes consolidating the export CLI with server/ent code (#1769 - Enterprise repo)
* merge conflicts; missed file from ent branch
* MM-61038 - Add an option to sqlstore.New (#28702)
remove useless comment
add test
add an option to sqlstore.New
* MM-60976: Remove RunExport command from Mattermost binary (#28805)
* remove RunExport command from mattermost binary
* remove the code it was calling
* fix i18n
* remove test (was only testing license, not functionality)
* empty commit
* fix flaky GetChannelsWithActivityDuring test
* MM-60063: Dedicated Export Filestore fix, redo of #1772 (enterprise) (#28803)
* redo filestore fix#1772 (enterprise repo) on top of MM-59966 feature
* add new e2e tests for export filestore
* golint
* ok, note to self: shadowing bad, actually (when there's a defer)
* empty commit
* MM-61137 - Message export: Support 7.8.11 era dbs (#28824)
* support 7.8.11 era dbs by wrapping the store using only what we need
* fix flaky GetChannelsWithActivityDuring test
* add a comment
* only need to define the MEFileInfoStore (the one that'll be overridden)
* blank commit
* MM-60974 - Message Export: Add performance metrics (#28836)
* support 7.8.11 era dbs by wrapping the store using only what we need
* fix flaky GetChannelsWithActivityDuring test
* add a comment
* only need to define the MEFileInfoStore (the one that'll be overridden)
* performance metrics
* cleanup unneeded named returns
* blank commit
* MM-60975 - Message export: Add startTime and endTime to export folder name (#28840)
* support 7.8.11 era dbs by wrapping the store using only what we need
* fix flaky GetChannelsWithActivityDuring test
* add a comment
* only need to define the MEFileInfoStore (the one that'll be overridden)
* performance metrics
* output startTime and endTime in export folder
* empty commit
* merge conflict
* MM-60978 - Message export: Improve xml fields; fix delete semantics (#28873)
* support 7.8.11 era dbs by wrapping the store using only what we need
* fix flaky GetChannelsWithActivityDuring test
* add a comment
* only need to define the MEFileInfoStore (the one that'll be overridden)
* performance metrics
* output startTime and endTime in export folder
* empty commit
* add xml fields, omit when empty, tests
* fix delete semantics; test (and test for update semantics)
* clarify comments
* simplify edited post detection, now there's no edge case.
* add some spacing to help fast running tests
* merge conflicts/updates needed for new deleted post semantics
* linting; fixing tests from upstream merge
* use SafeDereference
* linting
* stronger typing; better wrapped errors; better formatting
* blank commit
* goimports formatting
* fix merge mistake
* minor fixes due to changes in master
* MM-61755 - Simplifying and Support reporting to the db from the CLI (#29281)
* finally clean up JobData struct and stringMap; prep for CLI using db
* and now simplify using StringMapToJobDataWithZeroValues
* remove unused fn
* create JobDataExported; clean up errors
* MM-60176 - Message Export: Global relay cleanup (#29168)
* move global relay logic into global_relay_export
* blank commit
* blank commit
* improve errors
* MM-60693 - Refactor CSV to use same codepath as Actiance (#29191)
* move global relay logic into global_relay_export
* blank commit
* refactor (and simplify) ExportParams into shared
* blank commit
* remove unused fn
* csv now uses pre-calculated joins/leaves like actiance
* improve errors
* remove nil post check; remove ignoredPosts metric
* remove unneeded copy
* MM-61696 - Refactor GlobalRelay to use same codepath as Actiance (#29225)
* move global relay logic into global_relay_export
* blank commit
* refactor (and simplify) ExportParams into shared
* blank commit
* remove unused fn
* csv now uses pre-calculated joins/leaves like actiance
* remove newly unneeded function and its test. goodbye.
* refactor GetPostAttachments for csv + global relay to share
* refactor global_relay_export and fix tests (no changes to output)
* improve errors
* remove nil post check; remove ignoredPosts metric
* remove unneeded copy
* remove unneeded nil check
* PR comments
* MM-61715 - Generalize e2e to all export types 🤖 (#29369)
* move global relay logic into global_relay_export
* blank commit
* refactor (and simplify) ExportParams into shared
* blank commit
* remove unused fn
* csv now uses pre-calculated joins/leaves like actiance
* remove newly unneeded function and its test. goodbye.
* refactor GetPostAttachments for csv + global relay to share
* refactor global_relay_export and fix tests (no changes to output)
* improve errors
* remove nil post check; remove ignoredPosts metric
* remove unneeded copy
* remove unneeded nil check
* PR comments
* refactor isDeletedMsg for all export types
* fix start and endtime, nasty csv createAt bug; bring closer to Actiance
* align unit tests with new logic (e.g. starttime / endtime)
* refactor a TimestampConvert fn for code + tests
* bug: pass templates to global relay (hurray for e2e tests, otherwise...)
* add global relay zip to allowed list (only for tests)
* test helpers
* new templates for e2e tests
* e2e tests... phew.
* linting
* merge conflicts
* unexport PostToRow; add test helper marker
* cleanup, shortening, thanks to PR comments
* MM-61972 - Generalize export data path - Actiance (#29399)
* extract and generalize the export data generation functions
* finish moving test (bc of previous extraction)
* lift a function from common -> shared (to break an import cycle)
* actiance now takes general export data, processes it into actiance data
* bring tests in line with correct sorting rules (upadateAt, messageId)
* fixups, PR comments
* turn strings.Repeat into a more descriptive const
amended: one letter fix; bad rebase
* MM-62009 - e2e clock heisenbug (#29434)
* consolidate assertions; output debuggable diffs (keeping for future)
* refactor test output generator to generators file
* waitUntilZeroPosts + pass through until to job = fix all clock issues
* simplify messages to model.NewId(); remove unneeded waitUntilZeroPosts
* model.NewId() -> storetest.NewTestID()
* MM-61980 - Generalize export data path - CSV (#29482)
* simple refactoring
* increase sleep times for (very) rare test failures
* add extra information to the generic export for CSV
* adj Actiance to handle new generic export (no difference in its output)
* no longer need mergePosts (yay), move getJoinLeavePosts for everyone
* adjust tests for new csv semantics (detailed in summary)
* and need to add the new exported data to the export_data_tests
* rearrange csv writing to happen after data export (more logical)
* linting
* remove debug statements
* figured out what was wrong with global relay e2e test 3; solid now
* PR comments
* MM-61718 - Generalize export data path - Global Relay (#29508)
* move global relay over to using the generalized export data
* performance pass -- not much can be done
* Update server/enterprise/message_export/global_relay_export/global_relay_export.go
Co-authored-by: Claudio Costa <cstcld91@gmail.com>
---------
Co-authored-by: Claudio Costa <cstcld91@gmail.com>
* MM-62058 - Align CSV with Actiance (#29551)
* refactoring actiance files and var names for clarity
* bug found in exported attachments (we used to miss some start/ends)
* changes needed for actiance due to new generic exports
* bringing CSV up to actiance standards
* fixing global relay b/c of new semantics (adding a note on an edge case)
* aligning e2e tests, adding comments to clarify what is expected/tested
* necessary changes; 1 more test for added functionality (ignoreDeleted)
* comment style
* MM-62059 - Align Global Relay with Actiance/CSV; many fixes (#29665)
* core logic changes to general export_data and the specific export paths
* unit tests and e2e tests, covering all new edge cases and all logic
* linting
* better var naming, const value, and cleaning up functions calls
* MM-62436 - Temporarily skip cypress tests that require download link (#29772)
---------
Co-authored-by: Claudio Costa <cstcld91@gmail.com>
* [MA-12]: Add label to form field in channel header
* [MA-12]: Update aria attributes and tests
* [MA-12]: Update snapshots, fix e2e test
* [MA-12]: Fix E2E tests
* [MA-12]: Fix type in test