* Migrate feature/wrangler to mono-repo
* Add wrangler files
* Fix linters, types, etc
* Fix snapshots
* Fix playwright
* Fix pipelines
* Fix more pipeline
* Fixes for pipelines
* More changes for pipeline
* Fix types
* Add support for a feature flag, but leave it defaulted on for spinwick usage for now
* Update snapshot
* fix js error when removing last value of multiselect, support CSV marshaling to string array for textsetting
* Fix linter
* Remove TODO
* Remove another TODO
* fix tests
* Fix i18n
* Add server tests
* Fix linter
* Fix linter
* Use proper icon for dot menu
* Update snapshot
* Add Cypress UI tests for various entrypoints to move thread modal, split SCSS out from forward post into its own thing
* clean up
* fix linter
* More cleanup
* Revert files to master
* Fix linter for e2e tests
* Make ForwardPostChannelSelect channel types configurable with a prop
* Add missing return
* Fixes from PR feedback
* First batch of PR Feedback
* Another batch of PR changes
* Fix linter
* Update snapshots
* Wrangler system messages are translated to each user's locale
* Initially translate Wrangler into system locale rather than initiating user
* More fixes for PR Feedback
* Fix some server tests
* More updates with master. Fixes around pipelines. Enforce Enterprise license on front/back end
* Add tests for dot_menu
* More pipeline fixes
* Fix e2etests prettier
* Update cypress tests, change occurrences of 'Wrangler' with 'Move Thread'
* Fix linter
* Remove enterprise lock
* A couple more occurrences of wrangler strings, and one more enterprise lock
* Fix server tests
* Fix i18n
* Fix e2e linter
* Feature flag shouldn't be on by default
* Enable move threads feature in smoke tests (#25657)
* enable move threads feature
* add @prod tag
* Fix move_thread_from_public_channel e2e test
* Fix e2e style
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
* [MM-55143] Disallow reacting with an emoji that does not exist
* WIP for server limit on emoji reactions
* WIP
* Implement default limit of 25 unique emoji reactions
* Add modal for reaction limit
* Fix test
* PR feedback
* Fix i18n
* Update admin string
* Merge'd
* Fixing some issues, check limits correctly based on other users reactions
* Fix typos
* Fix lint/test
* Add tests, fix other tests
---------
Co-authored-by: Mattermost Build <build@mattermost.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
* Remove all occurrences of ExperimentalTimezone in /server
This removes all uses of ExperimentalTimezone and makes all conditions using this setting being either removed (== false) or always used (== true)
* Remove timezone parameter for getChannelMemberByGroup
As timezone is always enabled this function no longer has a second parameter. The endpoint will always be called with includeTimezones set to true
* Remove all uses of ExperimentalTimezone in webapp
All conditions dependent of this are adjusted to always be true if experimentalTimezone should be true and vice versa
* Change all tests checking for correct usage of ExperimentalTimezone
As this parameter is no longer used, the tests which check for correct behaviour of this is no longer needed
* Fix type errors
Tests regarding types does now pass
'npm run check-types' will run successfully
* fix lint issues
Fix all current lint errors and now lint test goes through
* Fix test regarding profile popover
enableTimezone now is gone and all profile_popover.test.tsx can run successfully.
Added state.entities.users.profiles[] as it before threw an error without it.
* Fix tests where "April 1 2019" was changed to "April 01 2019"
Now it will show "April 1 2019" and "timeZone" will only show if its other than empty ("").
* Fix test where date was set to NaN
Now date will show correctly and will not be NaN
* fix minor test case that failed before
* fix linting in server
* Delete tests that are not valid with timeZoneEnabled removed
tests in advanced_create_comment and advanced_create_post had timeZoneEnabled
set to false as default. The tests that use this are now changed to once which are meant to have timeZoneEnabled set to true.
Adjust jest function in advanced_create_post to get correct stacktrace
* Parameter deleted
isTimeZoneEnabled is always true and therefore the parameter can be deleted
* adjust to prettier standard
* Remove all occurrences of ExperimentalTimezone in /server
This removes all uses of ExperimentalTimezone and makes all conditions using this setting being either removed (== false) or always used (== true)
* Remove timezone parameter for getChannelMemberByGroup
As timezone is always enabled this function no longer has a second parameter. The endpoint will always be called with includeTimezones set to true
* Remove all uses of ExperimentalTimezone in webapp
All conditions dependent of this are adjusted to always be true if experimentalTimezone should be true and vice versa
* Change all tests checking for correct usage of ExperimentalTimezone
As this parameter is no longer used, the tests which check for correct behaviour of this is no longer needed
* Fix type errors
Tests regarding types does now pass
'npm run check-types' will run successfully
* fix lint issues
Fix all current lint errors and now lint test goes through
* Fix test regarding profile popover
enableTimezone now is gone and all profile_popover.test.tsx can run successfully.
Added state.entities.users.profiles[] as it before threw an error without it.
* Fix tests where "April 1 2019" was changed to "April 01 2019"
Now it will show "April 1 2019" and "timeZone" will only show if its other than empty ("").
* Fix test where date was set to NaN
Now date will show correctly and will not be NaN
* fix minor test case that failed before
* fix linting in server
* Delete tests that are not valid with timeZoneEnabled removed
tests in advanced_create_comment and advanced_create_post had timeZoneEnabled
set to false as default. The tests that use this are now changed to once which are meant to have timeZoneEnabled set to true.
Adjust jest function in advanced_create_post to get correct stacktrace
* Parameter deleted
isTimeZoneEnabled is always true and therefore the parameter can be deleted
* adjust to prettier standard
---------
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* Cherry-pick test changes from #24243
* Add required change from Saturn's PR to make reminder menu accessible
* MM-53999 Flip provider order so that MUI props are passed
* MM-53999 Pass MUI props through custom MenuItem components
* Address feedback
* Update snapshots
* remove boards data-retention
* remove another variable
* update snapshots, to remove boards
* need to keep config settings until focalboard is updated
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-53124] Add optional Forgot Password custom link to override the default flow on the login page
* Fix i18n
* Fix test
* Added the enable/disable flag
* Fix test
* Fix e2e
* Add blockable link for the Customization navigation
* Remove global draft feature flag
* More removal - in progress
* Removed the rest in webapp
* Removed the rest in webapp
* Fix tests
* Update feature_flags.go
---------
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
* remove default (true) for channelExport and Apps plugin
* readd constant, still used
* more cleanup of constants
* revert usage, constants changes
* update tests expecting Apps on by default
* remove defaults from tests
* revert package-lock.json
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Prevent boards product from being included automatically
* Fix config diff test
* Update prepackaged plugin version
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
* Readd boards/dist to the gitignore
* Does not enable the focalboard plugin by default
* Update plugin version to v7.10.3
---------
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
* fix fileutils.TestFindFile on MacOS
* introduce model.ExternalServiceEnvironment
* pick license public key from external service env
* pick Stripe public key from external service env
* pick Rudder key from external service env
* configure Sentry DSN from external service env
* always log external_service_environment, Unsetenv
* clear faked BuildEnv, improve logging
* strip out unset GOTAGS
* fix Sentry tests
* simplify to just ServiceEnvironment
* relocate ServiceEnvironment in client config
* initialize CWS URLs based on service environment
* unset rudder key for boards dev
* harden service environment to avoid accidental production
* fix TestSentry again
* fix DEFAULT -> ENTERPRISE
* s/dev/test when naming playbooks rudder key
* simplify boards rudder key switch
* use uniform rudderKey variable names
* retain compatibility with existing pipeline
* reduce to just production/test
* unit test with valid test license
* simplify Playbooks telemetry initialization
* restore dev service environment
* emit ServiceEnvironment when running e2e tests
* create config setting to enable/disable playbooks product
* fix to config name
* fix typo
* revert changes to package-lock.json
* update name of test
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-46410: adds urgency on mention counts
We have introduced priority for posts in
https://github.com/mattermost/mattermost-webapp/pull/10951.
We do need to color the mention badges in the webapp with a prominent
color when a mention is posted in an urgent message.
A thread has urgent mentions if the root post is marked as urgent, and
the replies contain mentions to the user viewing the thread.
This PR adds two columns, urgentmentioncount, and isurgent, in
channelmembers, and threads tables respectively.
Furthermore when asking for team/thread mention counts, we also return
urgent mention counts for the user.
* Adds PostAcknowledgements table and apis
* job init and fetch mentions
* add-migrations
* delete-expired
* send-notifications
* Fetches post priority in batches
* stop-notifications
* stop-notification-on-reply
* MM-47750: Adds PostAcknowledgements table and apis
- Adds post acknowledgement api/app/store methods to be able to save and
delete post acknowledgements by users.
- Adds wesbsocket events for acknowledgement created/deleted
- Returns post acknowledgements in the post's metadata
* add-license-check
* add-pagination
* delete on channel and team
* validate guests
* add configs
* move create priority post check from app to api
* Add desktop notifications
* check status
* use config in job
* add IsUrgent check
* Add last-sent-at
* validate max recipients
* Update lastSentAt
* Validate min. recipient
* send email notification only once
* remove email notifications
* use latest time from config to run job
* Add notifications counter
* publish events to mentioned users only
* pickup license updates in scheduler
* don't allow post owner to stop notifications
* follow normal notifications behaviour
* Validates persistent notifications interval
* move logic of handling valid and expired posts into sql
* Adds persistent notifications in the webapp
---------
Co-authored-by: koox00 <3829551+koox00@users.noreply.github.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* Add unit tests for ChannelMentionProvider.handleCompleteWord
* Add a minimum length before the ChannelMentionProvider triggers
* MM-52173 Move delayed autcomplete behind a setting
* Fix e2e test type check
* Update Textbox tests
* Add new setting to server telemetry