There were multiple issues at play here.
1. If the plugin was disabled in ch.syncPlugins,
then the prepackaged plugin would not be processed.
Therefore, if there was an earlier version of the plugin
that remained in S3, that would show up instead.
Therefore, we have to let the full plugin extraction
procedure go ahead, but not enable focalboard.
2. We also need to send the disablePlugin signal
to the other node. But the signal won't be sent
until the cluster leader is elected and inter-node
communication is set up. Therefore, we need to listen
to the ClusterLeaderChanged event and send out
a disable plugin event as well.
When both these issues are taken care of,
then we would correctly see the version of the plugin
from the prepackaged_plugins directory in the disabled
state.
https://mattermost.atlassian.net/browse/MM-49485
```release-note
NONE
```
* MM-49048: do not omit needed wsbroadcast vars
It seems that we are omitting ContainsSanitizedData, and
ContainsSensitiveData variables in WebsocketBroadcast.
This created a bug in cluster mode, in which we were sending duplicate
events to users whereas normally they would have access to only one of those.
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-49813 - validate members invitation permissions to private channels
* Validate on the receiver side that the sender id still has permissions to invite
* add translations
* fix texts
* simplify implementation
* remove local test hardcoded data
* add test to user_test
* fix vet warning
* Add comments to validate user permissions function
Co-authored-by: Martin Kraft <martin@upspin.org>
* regenerate app layer iface
* fix unit test
* fix app user_tests
---------
Co-authored-by: Martin Kraft <martin@upspin.org>
* MM-49845: fixes acknowledgements in getpostsince
GetPostsSince returns posts updated after a user requested date.
If a user acknowledges a post the post's update at won't change thus not
getting that post returned from GetPostsSince. This is troublesome
particularly for the mobile client since it relies a lot to
GetPostsSince for keeping the data up to date.
This commit updates the post's update_at when a user
acknowledges/un-acknowledges a post fixing this way the issue above.
* Fixes linter
* Apply suggestions from code review
style changes
Co-authored-by: Jesse Hallam <jesse@thehallams.ca>
* Rename ack to acknowledgement
Co-authored-by: Jesse Hallam <jesse@thehallams.ca>
* remove limits we do not listen to anymore
* add back boards property for focalboard project compatibility
* remove boards cards as paid feature
* remove lingering unlimited integrations paid feature
https://mattermost.atlassian.net/browse/MM-39215
```release-note
We now have Grafana metrics for DB connection metrics.
They are:
max_open_connections
open_connections
in_use_connections
idle_connections
wait_count_total
wait_duration_seconds_total
max_idle_closed_total
max_idle_time_closed_total
max_lifetime_closed_total
```
* Fix plugin /public handling for subpaths
Plugins support a `public` folder in the bundle automatically being accessible at `<site_url>/plugins/<plugin_id/public/`, but it seems support for a `site_url` with a subpath has been broken for some time.
I tried to figure out when this stopped working, but gave up after a while and just focussed on the requisite changes plus tests.
* simplify comment
* more testing coverage, and simpler diff
* try cleaning up plugins after tests
* skip TestServePluginPublicRequest to isolate build issue
* Revert "skip TestServePluginPublicRequest to isolate build issue"
This reverts commit 62d0e4e427c7cf7b7f9b09202ce10cd5f1a56bca.
* do th.TearDown last by using t.Cleanup vs. defer
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
If a bulk export is triggered via a job, then
we update the metadata field of the job as it
progresses through the records.
https://mattermost.atlassian.net/browse/MM-49374
```release-note
Now you can monitor the progress of the bulk export job
via its metadata field. It is available at
`mmctl export job show <jobID>`.
```
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>