* Adding interplugin communication.
* Naming changes and moving ResponseTransfer to own file.
* Fix.
* Tests and moving to buffering bytes.
* Switching API to passing plugin ID through path rather than a header.
* Review feedback.
* Add SetWithOptions
* Avoid passing two structs to the functions
* Rename ExpiryInSeconds -> ExpireInSeconds
* Use t.Run for the tests
* Fix build
* Address feedback
* Update log message
* Update docs and use KVSetWithOptions in KVCompareAndSetJSON
* Improve code style
* Use struct instead of pointer to struct
* Fix minimum server versions
* Update documentation
* Address feedback
* Revert new implemention of kv helpers
* Adress feedback
* When patching a bot, perform these two additional steps:
1. Update the user.UpdateAt value for the user/bot.
2. send the websocket event so all clients know a user update has
occured. This will tell clients to update the displayname
* Add check for UpdateAt. Check that createdBot.UpdateAt is not equal
to patchedBot.UpdateAt
* re-add unintentional empty line delete in previous commit
* Don't create a fake updateAt time. Let the Update() method handle the
change. User the returned updateUser for sending updated user event
* 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
This changes the bulk import so when it needs to generate a password
because no password or auth data was supplied, it now takes into account
the configured minimum length, as well as assuming all other distinct
character types are configured to be required. It should now generate
valid passwords regardless of the password policy configuration in the
Mattermost configuration file.
- Add stringutils with method that "stringify" object slices
- "stringify" means convert each object to its string representation
- Move plugin.Log* implementations to client_rpc, use stringify method before calling server method
- Exclude Log* methods from generated RPC methods
- No signature change for plugin.Log* API
- Add test in plugin_api_test to use plugin.Log* methods with RPC
* [MM-13704] Updated CLI to set DeleteAt in groupmemebrs
* [MM-13704] Updated Mock Test
* [MM-13704] Refactored to use current pattern to write function
* [MM-13704] Small text change
* [MM-13704] updated translation
* [MM-13704] Updated params of error function
* [MM-13704] Fixed confusion between channel and group store
* [MM-13704] Addressed PR comments
* [MM-13704] Added test case
* [MM-13704] Fixed err declaration
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.
* add ability to upload other plugins to the plugin API
* generated client rpc glue code
* fix UploadPlugin API signature
* generated plugin mocks
* added upload plugin test
* removed unused comment
* using single line to call InstallPlugin with file Reader
* fix minimum server version
* added successful plugin upload test
* renamed UploadPlugin to InstallPlugin
* chore: refactor to use structured logging
- change fmt.sprintf method used in the logger to appropriate mlog
method
* implement suggested changes by removing added line during merge conflict
* chore: refactor to use structured logging
- remove the unsed fmt package
- convert the fmt.sprintt to the structured logging
* implement requested changes from iomodo
* implement feedback from willfrog
* [MM-19007] Migrate tests from "app/job_test.go" to use testify
- Use 'require' and 'assert' methods instead of 't.Fatal'
* [MM-19007] Change 'assert' to 'require' to keep 't.Fatal' behavior