* feat: Migrate actions.js to TypeScript with type annotations
* feat: Migrate actions.js to TypeScript with correct action types
* feat: Add actions plugin for webapp channels
* feat: Migrate actions.js to TypeScript with type annotations
* feat: Add interactive dialog plugin for webapp channels
* feat: Migrate interactive_dialog.js to TypeScript with type definitions
* feat: Add export plugin module for webapp channels
* feat: Migrate export.js to TypeScript with type declarations
* feat: Add initial plugin index file for webapp channels
* feat: migrate plugins/index.js to TypeScript with type definitions
* test: Add export plugin test file
* feat: Migrate export.test.js to TypeScript with type assertions
* feat: Add emoji actions file to webapp channels
* feat: Migrate emoji_actions.js to TypeScript with full type support
* Fixing some issues
* Revert "feat: Migrate emoji_actions.js to TypeScript with full type support"
This reverts commit e64aabe9fc6d36938cbaa40b7acb3356729a6686.
* fixing linter errors
* Fixing CI
* Addressing pr review comments
* Apply suggestions from code review
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
* Fixing linter errors
* Fixing CI
---------
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
* Re-export ActionFunc types from mattermost-redux from types/store
* Start using ActionFunc types from types/store instead of mattermost-redux
These are all the places where the type checker failed when I added the
web app version of ActionFunc. I'll move all the other files in a
separate commit.
* Use ActionFunc types from types/store everywhere outside mattermost-redux
* Make types/store versions of ActionFunc use web app GlobalState
* Stop passing GlobalState into ActionFunc explicitly
* Stop casting as GlobalState where it's no longer needed
* Prevent importing mattermost-redux version of ActionFunc in the rest of the app
* Fix no-restricted-imports applying incorrectly to mattermost-redux and types/store
This introduces a new entry in the `Main Menu -> About` modal with the hostname of the currently connected websocket. This will be used to aid debugging issues in clustered environments by showing which node in the cluster is servicing requests for a particular websocket.
This information is only visible in self-managed instances. It will not be visible on cloud instances.
* 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>
* Custom user settings
* Implement error boundary, fix validation
* Extraction tests
* Tests
* Bring back refresh option for failed pluggable
* [MM-51514] Allow plugins to open user settings modal (#27742)
* Allow plugins to open user settings modal
* [MM-51514] Improvements to custom plugin user settings (#27754)
* Allow compass icon to be used
* Pass props to custom plugin settings
* Export react-select
* Revert "Export react-select"
This reverts commit 6b026c4eb789d298b721494a70e0e860a704d428.
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Update ChannelHeaderPlug tests to not use snapshots
* Change HeaderIconWrapper to always set aria-label based off tooltip
* Re-add shortcut to Recent Mentions button
* Remove unneeded div
* Explicitly have the client tell the server when it should expect an ACK
* Don't count missing profile errors for your own posts, added comment
* Fix test
* Make postedAck a parameter in WebSocketClient
* Snapshot fixes
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Deprecate Self Serve: First Pass
* Fix ci
* Fix more ci
* Remmove outdated server tests
* Fix a missed spot opening purchase modal in Self Hosted
* Fix i18n
* Clean up some more server code, fix webapp test
* Fix alignment of button
* Fix linter
* Fix i18n server side
* Add back translation
* Remove client functions
* Put back client functions
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* admin_console/license_settings/trial_banner
* invitation_modal and associated utils
* overlay trigger
* Change TrialBanner to not use makeGetCategory
* Address feedback
* Fixing unit tests D:
* Address further feedback
* Fix one last test
* tweaked dark themes and quartz theme
* refinements to themes
* tweaked denim global header color
* updates to quartz and sapphire themes
* tweaked quartz theme
* tweaks to indigo theme
* minor tweaks to themes
* update snapshots
* updated hex colors to consistent casing and updated snapshots
* Remove non-functional code from Login component
* Remove remaining usage of useDispatch<DispatchFunc>
* Remove usage of DispatchFunc from actions/file_actions
* actions/global_actions
* Remove usage of DispatchFunc from actions/marketplace
* Remove DispatchFunc from actions/post_actions
* Remove DispatchFunc from actions/storage
* Remove DispatchFunc from actions/user_actions
* Remove DispatchFunc from actions/views/channel
* Remove DispatchFunc from actions/views/channel_sidebar
* Remove DispatchFunc from actions/views/create_comment
* Remove DispatchFunc from actions/views/lhs.ts
* Remove DispatchFunc from actions/views/rhs.ts
* Remove DispatchFunc from actions/views/onboarding_tasks
* Remove DispatchFunc from actions/views/root
* Remove DispatchFunc from components/logged_in
* Remove DispatchFunc from components/msg_typing
* Remove DispatchFunc from components/permalink_view
* Remove DispatchFunc from components/suggestion
* Remove DispatchFunc from mattermost-redux/actions/posts
* Remove DispatchFunc from mattermost-redux/actions/roles
* Remove DispatchFunc from mattermost-redux/actions/threads
* Remove DispatchFunc from mattermost-redux/actions/timezone
* Remove DispatchFunc from plugins/products
* Make DispatchFunc into Dispatch
* Fix how dispatch is mocked in test for toggleSideBarRightMenuAction
* Always dispatch thunk actions instead of calling them
* Properly dispatch actions in SwitchChannelProvider
* Fix tests relying on bad types
* Properly pass actions into ManageTokens
* Make other logic changes to support new types
* Do the big type migrations without any logic changes
* Revert "Properly dispatch actions in SwitchChannelProvider"
This reverts commit 28c8c7af2ef324c6814087a81baca66c60477daa.
* Revert "Revert "Properly dispatch actions in SwitchChannelProvider""
This reverts commit 47115c5217ae90547040e7b7de32979a33f0845b.
* Create Desktop API module, migrate message passing code
* Changes to use new API
* Use Desktop API to notify when mentions/unreads/expired changes
* Expose Desktop App module to plugins
* Fix lint
* PR feedback
* Fixed an issue where I forgot to check if the method exists first
* Slight API changes
* Fix package
* Convert all to class, add comments, small reworks for PR feedback
* feat: add link to teams dropdown menu
* fix: refactor link to separate component and update styles
* feat: add academy link to team's join page and settings modal
* fix: i18n and update test snapshots
* fix link styles & update test snapshot
* add state for unit tests
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
* MM-54814: Convert ./components/widgets/menu/menu_group.tsx from Class Component to Function Component
Signed-off-by: Nicolas Le Cam <niko.lecam@gmail.com>
* review: Don't rerender component if props are unchanged
Signed-off-by: Nicolas Le Cam <niko.lecam@gmail.com>
* Fix tests
Signed-off-by: Nicolas Le Cam <niko.lecam@gmail.com>
---------
Signed-off-by: Nicolas Le Cam <niko.lecam@gmail.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
* Export thread components
* Exporting AdvancedCreateComment
* Expose components needed for the ai plugin new interface
* Exporting the placeholder for the plugin CreatePost component, and simplify the export
* Fixing linter errors
* Fixing type errors
* Reverting typescript related changes
* Cheating typescript to keep the changes as minimal as possible
* Fix linter errors
* #24774 Converted ./plugins/rhs_plugin/rhs_plugin.tsx to Function Component
* Fixed the lint errors and removed explicit FC type
* Added memo to make the functional component pure.
* Migrating some files to typescript
* Some other files migrated
* Migrating more javascript to typescript
* Migrating more javascript to typescript
* Fixing types
* Fixing linter errors
* Fixing some imports
* Fixing linter errors
* Renaming the snapshots
* Addressing PR review comments
* Enable import order
* Add new order groups and add consistent-type-imports
* Remove types group, move react to top and fix issues
* Add store and reducers to the redux group and move imports from types folder to the end
* Fix tsc
* Remove react rule
* Fix test
* Fix eslint disable
* Add support for actions in the unreads bar from plugins
* Adding channelId as parameter
* Fixing linter errors
* Changing the extensibility to the new messages separator
* Making everything work with the plugin
* Fixing linter and types errors
* Fixing unit test
* Tiny improvement in the styles
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Adding PostAction plugin hook
* Adding missing doc string
* WIP
* Simplifying it
* Adding support for selected text
* fixing linter errors
* Adding support for the plugin editor action in the thread view
* Fixing ci check-types
* Addressing PR review comments
* Fix linter error in CI
* Fixing tests
* calls will notify in GM/DM channels for call started posts
* fix types
* add registerDesktopNotificationHook
* remove callsWillNotify
* cleanup unused types
* use an args object to shorten params
* add CUSTOM_CALLS_RECORDING to constants
* prevent media keys from controlling calls ring sounds
* stop ring on pause
* expose notifyMe as sendDesktopNotificationToMe
* Revert "stop ring on pause"
This reverts commit 83d62ad02db9acc7684a1f352d798ffc74e665d8.
* Revert "prevent media keys from controlling calls ring sounds"
This reverts commit 6d4ff63936674034adda84fc258bcafe71734cab.
* move into WebappUtils
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Remove build references
* Remove playbooks webapp and server, and add the prepackaged plugin
* Remove translations
* Add ProductSettings to the playwright type
* Restore playbooks as a prepackaged plugin for cypress e2e tests