summaryrefslogtreecommitdiffstats
path: root/plugin/hooks.go
diff options
context:
space:
mode:
authorJesse Hallam <jesse.hallam@gmail.com>2018-10-03 13:13:19 -0400
committerGitHub <noreply@github.com>2018-10-03 13:13:19 -0400
commit580b546862860ca389305d0d4614471095ec67fe (patch)
tree0af3d83f4c5a44f5c7b4d9379238afb7c1573330 /plugin/hooks.go
parentb6835ab984aece679cb0d6bea548d3f2ed1c9af2 (diff)
downloadchat-580b546862860ca389305d0d4614471095ec67fe.tar.gz
chat-580b546862860ca389305d0d4614471095ec67fe.tar.bz2
chat-580b546862860ca389305d0d4614471095ec67fe.zip
MM-12193: remove auto unmarshalling (#9519)
* MM-12193: remove auto configuration unmarshalling Since plugin hook events are called concurrently, there's no way for the plugin framework to coordinate safe access to the automatically unmarshalled configuration fields. Remove this functionality, and update documentation to illustrate a safe way to do this. * better Fprint example * fix unit tests * log when OnConfigurationChange fails through OnActivate * clarify lifecycle when OnConfigurationChange returns an error * call SetAPI even if OnConfigurationChange not implemented
Diffstat (limited to 'plugin/hooks.go')
-rw-r--r--plugin/hooks.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/plugin/hooks.go b/plugin/hooks.go
index 4af177c0d..b5cff6f6b 100644
--- a/plugin/hooks.go
+++ b/plugin/hooks.go
@@ -55,7 +55,9 @@ type Hooks interface {
// will stop receiving hooks just prior to this method being called.
OnDeactivate() error
- // OnConfigurationChange is invoked when configuration changes may have been made.
+ // OnConfigurationChange is invoked when configuration changes may have been made. Any
+ // returned error is logged, but does not stop the plugin. You must be prepared to handle
+ // a configuration failure gracefully.
OnConfigurationChange() error
// ServeHTTP allows the plugin to implement the http.Handler interface. Requests destined for