diff options
Diffstat (limited to 'server')
| -rw-r--r-- | server/channel/channel.go | 3 | ||||
| -rw-r--r-- | server/server/command.go | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/server/channel/channel.go b/server/channel/channel.go index ef066e5..3cdb76b 100644 --- a/server/channel/channel.go +++ b/server/channel/channel.go @@ -279,6 +279,9 @@ func (c *Channel) History(min, max int) []proto.Object { err := c.kind.db.View(func(tx *bolt.Tx) error { history := tx.Bucket([]byte("message history")) channel := history.Bucket([]byte(c.id)) + if channel == nil { + return nil + } for index := min; index < max; index++ { data := channel.Get([]byte(strconv.Itoa(index))) diff --git a/server/server/command.go b/server/server/command.go index 2dda9e3..bdc0282 100644 --- a/server/server/command.go +++ b/server/server/command.go @@ -232,6 +232,9 @@ func (s *server) SendRequest(r session.Request) { case "unread": include = c.Unread(r.From.UserId) } + if r.Cmd.Kind == "direct-channels" { + include = include && len(c.History(0, 1)) > 0 + } info := c.InfoFor(r.From.UserId) if include { list = append(list, info) |
