During server start, runLicenseExpirationCheckJob was being called
from a goroutine which would eventually call SetLicense and iterate
through the ps.licenseListeners.
But at the same time doElasticsearchFixChannelIndex would also
call AddLicenseListener and try to edit the ps.licenseListeners map,
leading to a race condition.
To fix this, we simply move the runLicenseExpirationCheckJob
to be synchronous. This fixes the race, and also improves
the correctness because after 1f431bf722
there was no license check being done synchronously during server boot.
So theoretically, the server might go on doing some stuff
until the Go runtime decides to run the license check goroutine.
https://mattermost.atlassian.net/browse/MM-56611
```release-note
NONE
```
* migrating team_channel_settings/group/index.js to .tsx
* fixing CI/Lint issues
* Fixed eslint issues, changed Props export and usage structure in index.ts and group_list.tsx
* Remove empty array in getData call
* Update promise to void in AbstractList and response to unknown Group | Team
* remove bindActionCreators and dispatch Type from team_channel_settings/group/index.ts
---------
Co-authored-by: Kapil Dutta <duttakapil@Kapils-MacBook-Pro.local>
Co-authored-by: Mattermost Build <build@mattermost.com>
* Only use RhsSuggestionList for RHS advanced text editor
- Prevents issues with suggestion list growing downwards on the post editor on small screen sizes
* Makes RhsSuggestionList grow using different breakpoints for mobile
- Allows RhsSuggestionList to flip directions at smaller breakpoints than desktop
- Adds new Constant MOBILE_SUGGESTION_LIST_SPACE_RHS
---------
Co-authored-by: Nathan Geist <ngeist@spiria.com>
Co-authored-by: M-ZubairAhmed <m-zubairahmed@protonmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
We take a second stab at fixing the issue. Last time,
we were a bit too aggressive in trying to fix a lot of stuff.
I believe changing the cluster event handler had an edge case
somewhere which caused things to fail. Taking a very conservative
approach this time to only fix what is obviously wrong.
Also tested locally in a HA setup.
https://mattermost.atlassian.net/browse/MM-53879
```release-note
NONE
```
Co-authored-by: Mattermost Build <build@mattermost.com>
We were incorrectly excluding deactivated users
while getting channel members for a DM channel, whereas
we were actually exporting all users in the users array.
We fix this and also correctly honor the includeArchivedChannels
flag as well.
https://mattermost.atlassian.net/browse/MM-55524
```release-note
Include deactivated members in a favorited DM channel export.
```
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Update text for activated users in team statistics
* Fix lint
* Generalize tooltip and make it show according to the designs
* Fix lint
* Fix test
* Generalize even more overlay trigger
* Update snapshot
* Update link
After moving only contributor PRs to free tier it was
observed that the tests actually finish faster in free tier
than with larger runners. We have let the change soak for about
a month now without any issues.
Therefore we move to free tier runners for all PRs.
```release-note
NONE
```
Co-authored-by: Mattermost Build <build@mattermost.com>
* Adjustments to cloud annual renewal announcement bar
* Add exclusion for trials
* Add more exceptions for when on trial during renewal period
* Add support for simulated_current_time_ms
* A few more changes to allow us to test this post-merge
* Fix tests, pipeline
* Final fix around emails
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* option for auto inviting plugin to all shared channels.
* auto-invite remotes to shared channels when flag set
* fix unit test
* immediately ping new remotes; fix unique siteurl bug
* make i18n-extract
* fix translations
* plugin hooks for file attachments
* hook for profile image sync
* fix profile image sync
* fix unit test
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Error text updated to `A channel with that name already exists on the same team.`
MM-T882 Channel URL validation works properly
Co-authored-by: Mattermost Build <build@mattermost.com>
* Remove t function from schema_admin_settings
* i18n
* Fix import
* Use always string or descriptor and more improvements
* i18n-extract
* Remove t function for roles
* Remove more t functions
* Address feedback
* i18n-extract fix
* Fix tests
* Fix tests
* Remove translation of team edition notice
* Remove unexpected file in the commit
* Address feedback
* Fix search in admin console
* Fix test