From 4f6c84085795b32b07a42e47dff1a8b8956ecbb9 Mon Sep 17 00:00:00 2001 From: bt Date: Sat, 16 May 2026 22:40:12 +0200 Subject: Return channel history only if user is connected to it --- storage/storage.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'storage') diff --git a/storage/storage.go b/storage/storage.go index 0103370..1dcea40 100644 --- a/storage/storage.go +++ b/storage/storage.go @@ -41,10 +41,13 @@ func (db *Database) Write(msg core.Message) (err error) { func (db *Database) Read(channel string, since time.Time, num int, offset int) (history []core.Message, err error) { rows, err := db.Query( - "SELECT source, target, timestamp, content FROM messages WHERE timestamp > ? LIMIT ? OFFSET ?", - since.Unix(), num, offset, + `SELECT source, target, timestamp, content FROM messages WHERE target = ? AND timestamp > ? LIMIT ? OFFSET ?`, + channel, since.Unix(), num, offset, ) defer func() { + if rows == nil { + return + } if err := rows.Close(); err != nil { log.Println("cannot close database row:", err) } -- cgit v1.2.3