dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit e42ebdeb70cce872d559641424e0d5271e9bad86
parent 65e15ad4b6ff172337b33a232624a508fd07d8d5
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Sat, 30 Dec 2023 15:31:27 -0500

self refresh to also refresh menu

Diffstat:
Mpkg/web/handlers/api/v1/chat.go | 10+++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/pkg/web/handlers/api/v1/chat.go b/pkg/web/handlers/api/v1/chat.go @@ -468,7 +468,11 @@ func ChatStreamMenuHandler(c echo.Context) error { var menuID int var once utils.Once - sub := database.MsgPubSub.Subscribe([]string{"refresh_loading_icon_" + string(authUser.Username)}) + selfRefreshTopic := "refresh_" + string(authUser.Username) + sub := database.MsgPubSub.Subscribe([]string{ + database.RefreshTopic, + selfRefreshTopic, + "refresh_loading_icon_" + string(authUser.Username)}) defer sub.Close() send(GenerateStyle(authUser, ChatMessagesData{})) @@ -479,6 +483,10 @@ Loop: case <-once.Now(): case <-time.After(5 * time.Second): case p := <-sub.ReceiveCh(): + if p.Msg.Typ == database.ForceRefresh || p.Topic == selfRefreshTopic { + send(`<meta http-equiv="refresh" content="0" />`) + return nil + } if p.Msg.Typ == database.CloseMenu { return nil }