summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-03-03 12:25:32 -0500
committerChristopher Speller <crspeller@gmail.com>2017-03-03 12:25:32 -0500
commite739a91c94049aa62cfe76b9c6686fb18184232b (patch)
tree37d7f65f9f3fd59daea9d80473fd595eacd8c0f9 /api
parent2e911b77c3386833f8f0cea82c7b6b3e5583a08e (diff)
downloadchat-e739a91c94049aa62cfe76b9c6686fb18184232b.tar.gz
chat-e739a91c94049aa62cfe76b9c6686fb18184232b.tar.bz2
chat-e739a91c94049aa62cfe76b9c6686fb18184232b.zip
Fix JS error when receiving reply during channel switch (#5582)
Diffstat (limited to 'api')
-rw-r--r--api/channel.go4
-rw-r--r--api/channel_test.go5
2 files changed, 8 insertions, 1 deletions
diff --git a/api/channel.go b/api/channel.go
index 2604cc5ce..9c11f073e 100644
--- a/api/channel.go
+++ b/api/channel.go
@@ -772,6 +772,10 @@ func autocompleteChannels(c *Context, w http.ResponseWriter, r *http.Request) {
func viewChannel(c *Context, w http.ResponseWriter, r *http.Request) {
view := model.ChannelViewFromJson(r.Body)
+ if view == nil {
+ c.SetInvalidParam("viewChannel", "channel_view")
+ return
+ }
if err := app.ViewChannel(view, c.Session.UserId, !c.Session.IsMobileApp()); err != nil {
c.Err = err
diff --git a/api/channel_test.go b/api/channel_test.go
index d8da3374b..93c79d416 100644
--- a/api/channel_test.go
+++ b/api/channel_test.go
@@ -903,7 +903,6 @@ func TestGetChannel(t *testing.T) {
if _, err := Client.GetChannels(""); err == nil {
t.Fatal("should have failed - wrong team id")
}
-
}
func TestGetMoreChannelsPage(t *testing.T) {
@@ -2003,6 +2002,10 @@ func TestViewChannel(t *testing.T) {
t.Log(rdata.Member.MsgCount)
t.Fatal("message counts don't match")
}
+
+ if _, err := Client.DoApiPost(Client.GetTeamRoute()+"/channels/view", "garbage"); err == nil {
+ t.Fatal("should have been an error")
+ }
}
func TestGetChannelMembersByIds(t *testing.T) {