From e85058daf7019777ac017a84253298390bcf2745 Mon Sep 17 00:00:00 2001 From: raven Date: Tue, 17 Feb 2026 15:22:23 -0600 Subject: only list nonempty direct channels --- server/channel/channel.go | 3 +++ server/server/command.go | 3 +++ 2 files changed, 6 insertions(+) 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) -- cgit v1.2.3