0

Fix codeblocks in chat (#676)

* allowed codeblocks in chat (owncast#675)

* dont send empty chat messages back to frontend (owncast#675)
This commit is contained in:
Fabian Siegel 2021-01-31 23:57:50 +01:00 committed by GitHub
parent 89cf6115b3
commit 4bfdf0e667
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 4 deletions

View File

@ -117,11 +117,13 @@ func (s *server) Listen() {
// and standardize this message into something safe we can send everyone else.
msg.RenderAndSanitizeMessageBody()
if !msg.Empty() {
s.listener.MessageSent(msg)
s.sendAll(msg)
// Store in the message history
addMessage(msg)
}
case ping := <-s.pingCh:
fmt.Println("PING?", ping)

View File

@ -38,6 +38,10 @@ func (m *ChatEvent) RenderAndSanitizeMessageBody() {
m.Body = RenderAndSanitize(raw)
}
func (m *ChatEvent) Empty() bool {
return m.Body == ""
}
// RenderAndSanitize will turn markdown into HTML, sanitize raw user-supplied HTML and standardize
// the message into something safe and renderable for clients.
func RenderAndSanitize(raw string) string {
@ -111,5 +115,9 @@ func sanitize(raw string) string {
// Allow emphasis
p.AllowElements("em")
// Allow code blocks
p.AllowElements("code")
p.AllowElements("pre")
return p.Sanitize(raw)
}