Fix JS error when receiving reply during channel switch (#5582)
Этот коммит содержится в:
коммит произвёл
Christopher Speller
родитель
2e911b77c3
Коммит
e739a91c94
@@ -772,6 +772,10 @@ func autocompleteChannels(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
func viewChannel(c *Context, w http.ResponseWriter, r *http.Request) {
|
func viewChannel(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||||
view := model.ChannelViewFromJson(r.Body)
|
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 {
|
if err := app.ViewChannel(view, c.Session.UserId, !c.Session.IsMobileApp()); err != nil {
|
||||||
c.Err = err
|
c.Err = err
|
||||||
|
|||||||
@@ -903,7 +903,6 @@ func TestGetChannel(t *testing.T) {
|
|||||||
if _, err := Client.GetChannels(""); err == nil {
|
if _, err := Client.GetChannels(""); err == nil {
|
||||||
t.Fatal("should have failed - wrong team id")
|
t.Fatal("should have failed - wrong team id")
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGetMoreChannelsPage(t *testing.T) {
|
func TestGetMoreChannelsPage(t *testing.T) {
|
||||||
@@ -2003,6 +2002,10 @@ func TestViewChannel(t *testing.T) {
|
|||||||
t.Log(rdata.Member.MsgCount)
|
t.Log(rdata.Member.MsgCount)
|
||||||
t.Fatal("message counts don't match")
|
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) {
|
func TestGetChannelMembersByIds(t *testing.T) {
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
package api4
|
package api4
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
"testing"
|
"testing"
|
||||||
@@ -504,6 +505,16 @@ func TestViewChannel(t *testing.T) {
|
|||||||
_, resp = Client.ViewChannel(th.BasicUser2.Id, view)
|
_, resp = Client.ViewChannel(th.BasicUser2.Id, view)
|
||||||
CheckForbiddenStatus(t, resp)
|
CheckForbiddenStatus(t, resp)
|
||||||
|
|
||||||
|
if r, err := Client.DoApiPost(fmt.Sprintf("/channels/members/%v/view", th.BasicUser.Id), "garbage"); err == nil {
|
||||||
|
t.Fatal("should have errored")
|
||||||
|
} else {
|
||||||
|
if r.StatusCode != http.StatusBadRequest {
|
||||||
|
t.Log("actual: " + strconv.Itoa(r.StatusCode))
|
||||||
|
t.Log("expected: " + strconv.Itoa(http.StatusBadRequest))
|
||||||
|
t.Fatal("wrong status code")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Client.Logout()
|
Client.Logout()
|
||||||
_, resp = Client.ViewChannel(th.BasicUser.Id, view)
|
_, resp = Client.ViewChannel(th.BasicUser.Id, view)
|
||||||
CheckUnauthorizedStatus(t, resp)
|
CheckUnauthorizedStatus(t, resp)
|
||||||
|
|||||||
@@ -99,11 +99,11 @@ class PostStoreClass extends EventEmitter {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
const posts = postInfo.postList;
|
const postList = postInfo.postList;
|
||||||
let post = null;
|
let post = null;
|
||||||
|
|
||||||
if (posts.posts.hasOwnProperty(postId)) {
|
if (postList && postList.posts && postList.posts.hasOwnProperty(postId)) {
|
||||||
post = posts.posts[postId];
|
post = postList.posts[postId];
|
||||||
}
|
}
|
||||||
|
|
||||||
return post;
|
return post;
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user