* Include user_name, team_domain and channel_name when clicking an interactive button
* Fixed api4's TestPostActionCookies test
* Moved team database request to improve concurrency.
Renamed TeamDomain to TeamName.
* Further optimizations to database requests
* Removed useless goroutine when fetching channel
* migrate tests to use testify
* check resp error
* require empty auth
* fix based on comment
* change to require
* change all assert to require
* remove line
Today, the server emits a system message containing one of `<username> left the channel.` or `<username> removed from the channel.` when such an event occurs.
While the client interprets this special kind of message to take into account the enduser's username display settings (e.g. to render `First Last left the channel.`), the server also processes this "message" to look for mentions.
With the user in question no longer in the channel, it incorrectly splits usernames containing a period into two tokens and tries to mentions users accordingly. So `christopher.poile` ends up trying to mention `christopher` and `poile`. If such a user exists, they receive a spurious mention for this event.
Change the message rendered by the server to explicitly prepend an `@`, which in turn is detected by the mention logic to avoid splitting. As above, this has no effect on the client-side rendered message.
* avoid swallowing errors from websocket_client.SendMessage
* Revert "avoid swallowing errors from websocket_client.SendMessage"
This reverts commit 5f223e0996f59f31792607c8a4fbf63bf42040ee.
* test against app.TotalWebsocketConnections instead of hardcoding assertion
* MM-17149 - Extend config.json for marketplace settings (#11933)
* MM-17149 - Extend config.json for marketplace settings
* Renamed MarketplaceUrl, tracking default marketplace url
* Added EnableMarketplace to the client config
* Revert "Added EnableMarketplace to the client config"
This reverts commit 0f982c4c661c2cd9bb96264e9a01a2363c40d9c5.
* MM-17149 - Added EnableMarketplace to the client config (#11958)
* Added EnableMarketplace to the client config
* Moved EnableMarketplace setting out of limited client configuration
* MM-17150, MM-17545, MM-18100 - Implement GET /api/v4/plugins/m… (#11977)
* MM-17150 - Implement GET /api/v4/plugins/marketplace proxying upstream
MM-17545 - Merge locally installed plugins into GET /api/v4/plugins/marketplace
* Replaced MarketplacePluginState with Installed
* Setting InstalledVersion instead of Installed
* marketplace client setting per_page if non zero
* Creating insecure client for marketplace url
* Fixed trailing slash for default marketplace url
* Adding filtering
* Fixed function names
* Renamed Manifest() to GetManifest(), added godoc for BaseMarketplacePlugin
* Handling plugin.ErrNotFound correctly
* Checking err == nil instead when a plugin is installed
* MM-18450 - Local-only plugin search (#12152)
* MM-17846: plugin icons (#12157)
* MM-17846: add support for plugin icons
Extend the model definitions to support plugin icons from the marketplace.
* s/IconURL/IconData
* MM-18475 - Converge on snake_case responses from the marketplace (#12179)
* MM-18520 - MM-Server should forward server version to marketplace server (#12181)
* Renamed request to filter client4.GetMarketplacePlugins
* Renamed request to filter
* Guarding against bad marketplace server response
* Add API endpoint to update channel privacy setting
* Fix language files
* Improve tests by making sure channel has been updated correctly
* Improve tests
* Add methods to handle include_total_count api parameter when permissions
for authenticated user is not sysadmin
* Add translations for app errors
* Add Mocks
* Add tests for new methods
* When running at the TeamStore testing level, the number of returned
teams is different than running tests individually. Fix for now and
submit help wanted do proper teardown after each test
* correct value when running test at the top level
* Add helper function to delete previous teams in db
* Instead of checking against numbers of teams returned, check against the
actual teams returned.
When creating test teams, use unique DisplaName values so the return
array will be sorted consistantly.
When testing private and public team counts, add teams that should not
be counted. Also create odd number of public/private teams for better
error protections. Don't want 1 of each type
* MM-17087 - Disable plugin on removal
* Updated documentation
* Got reid of notifyPluginEvents
* Updated documentation
* Added plugin installation/activatoin flow as a toplevel go doc in plugin_install.go
* Generating webapp bundle on plugin installation
* Fixed shadowing issue
* Updated doc to include unguarded race condition
* Renamed GenerateWebappBundle
* Added a debug log when peers are not ready to notify
* Updated docs
* Removed extra line
* Bumped http request timeout for plugin install from URL
* Added unit test for timeout higher than 30 seconds. Other minor PR feedback
* Fixed spacing