summaryrefslogtreecommitdiffstats
path: root/app/post.go
diff options
context:
space:
mode:
authorChris <ccbrown112@gmail.com>2017-11-04 12:06:06 -0500
committerJoram Wilander <jwawilander@gmail.com>2017-11-04 13:06:06 -0400
commit48139656f1e925f0a5443e94445596fb238e0db8 (patch)
tree04b89edfa21f1eaeed341d24c321a9fc39ff6329 /app/post.go
parent85efdd6b5b94a4909ab30ae4c230fb515b91b22b (diff)
downloadchat-48139656f1e925f0a5443e94445596fb238e0db8.tar.gz
chat-48139656f1e925f0a5443e94445596fb238e0db8.tar.bz2
chat-48139656f1e925f0a5443e94445596fb238e0db8.zip
fix interactive message post username/icon behavior (#7776)
Diffstat (limited to 'app/post.go')
-rw-r--r--app/post.go18
1 files changed, 17 insertions, 1 deletions
diff --git a/app/post.go b/app/post.go
index 5e97f4443..844b660a9 100644
--- a/app/post.go
+++ b/app/post.go
@@ -736,9 +736,18 @@ func (a *App) DoPostAction(postId string, actionId string, userId string) *model
return model.NewAppError("DoPostAction", "api.post.do_action.action_integration.app_error", nil, "err="+err.Error(), http.StatusBadRequest)
}
+ retainedProps := []string{"override_username", "override_icon_url"}
+
if response.Update != nil {
response.Update.Id = postId
response.Update.AddProp("from_webhook", "true")
+ for _, prop := range retainedProps {
+ if value, ok := post.Props[prop]; ok {
+ response.Update.Props[prop] = value
+ } else {
+ delete(response.Update.Props, prop)
+ }
+ }
if _, err := a.UpdatePost(response.Update, false); err != nil {
return err
}
@@ -752,8 +761,15 @@ func (a *App) DoPostAction(postId string, actionId string, userId string) *model
if ephemeralPost.RootId == "" {
ephemeralPost.RootId = post.Id
}
- ephemeralPost.UserId = userId
+ ephemeralPost.UserId = post.UserId
ephemeralPost.AddProp("from_webhook", "true")
+ for _, prop := range retainedProps {
+ if value, ok := post.Props[prop]; ok {
+ ephemeralPost.Props[prop] = value
+ } else {
+ delete(ephemeralPost.Props, prop)
+ }
+ }
a.SendEphemeralPost(userId, ephemeralPost)
}