dkforest

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

commit 18f4c3274c67fcdf0d31bca60efd80d1eef7379f
parent fb3a0628a176087d82a3a5f0e92e5cca19de4d5b
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Wed, 19 Feb 2025 14:45:56 -0800

allow to send raw messages

Diffstat:
Mpkg/web/handlers/interceptors/command/command.go | 1+
Mpkg/web/handlers/interceptors/msgInterceptor.go | 17++++++++++++-----
2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/pkg/web/handlers/interceptors/command/command.go b/pkg/web/handlers/interceptors/command/command.go @@ -42,6 +42,7 @@ type Command struct { Err error // Data that can be mutated + Raw bool // If true, will send raw message RedirectQP url.Values // RedirectURL Query Parameters OrigMessage string // This is the original text that the user input (can be changed by /e) DataMessage string // This is what the user will have in his input box diff --git a/pkg/web/handlers/interceptors/msgInterceptor.go b/pkg/web/handlers/interceptors/msgInterceptor.go @@ -104,11 +104,18 @@ func (i MsgInterceptor) InterceptMsg(cmd *command.Command) { return } - html, taggedUsersIDsMap, err := dutils.ProcessRawMessage(cmd.DB, cmd.Message, cmd.RoomKey, cmd.AuthUser.ID, cmd.Room.ID, cmd.Upload, cmd.AuthUser.IsModerator(), cmd.AuthUser.CanUseMultiline, cmd.AuthUser.ManualMultiline) - if err != nil { - cmd.DataMessage = cmd.OrigMessage - cmd.Err = err - return + var html string + var err error + taggedUsersIDsMap := make(map[database.UserID]database.User) + if !cmd.Raw { + html, taggedUsersIDsMap, err = dutils.ProcessRawMessage(cmd.DB, cmd.Message, cmd.RoomKey, cmd.AuthUser.ID, cmd.Room.ID, cmd.Upload, cmd.AuthUser.IsModerator(), cmd.AuthUser.CanUseMultiline, cmd.AuthUser.ManualMultiline) + if err != nil { + cmd.DataMessage = cmd.OrigMessage + cmd.Err = err + return + } + } else { + html = cmd.Message } if len(strings.TrimSpace(html)) <= len("<p></p>") {