From 721c3ce3eb41e76b0fddd2f5d42b0bfd99439bdd Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Wed, 18 Dec 2019 16:11:45 +0100 Subject: [PATCH] Resize e-mail iframe with content --- plugins/base/public/assets/script.js | 8 ++++++++ plugins/base/public/foot.html | 1 + plugins/base/public/message.html | 3 ++- plugins/base/routes.go | 3 +++ 4 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 plugins/base/public/assets/script.js diff --git a/plugins/base/public/assets/script.js b/plugins/base/public/assets/script.js new file mode 100644 index 0000000..84c353e --- /dev/null +++ b/plugins/base/public/assets/script.js @@ -0,0 +1,8 @@ +var emailFrame = document.getElementById("email-frame"); +if (emailFrame) { + var resizeFrame = function() { + emailFrame.style.height = emailFrame.contentWindow.document.documentElement.scrollHeight + "px"; + }; + emailFrame.addEventListener("load", resizeFrame); + emailFrame.contentWindow.addEventListener("resize", resizeFrame); +} diff --git a/plugins/base/public/foot.html b/plugins/base/public/foot.html index b605728..284d779 100644 --- a/plugins/base/public/foot.html +++ b/plugins/base/public/foot.html @@ -1,2 +1,3 @@ + diff --git a/plugins/base/public/message.html b/plugins/base/public/message.html index 6ce633b..cfb0169 100644 --- a/plugins/base/public/message.html +++ b/plugins/base/public/message.html @@ -114,7 +114,8 @@

Reply

{{if .IsHTML}} - + + {{else}}
{{.Body}}
{{end}} diff --git a/plugins/base/routes.go b/plugins/base/routes.go index 02518cc..7b02f11 100644 --- a/plugins/base/routes.go +++ b/plugins/base/routes.go @@ -247,6 +247,9 @@ func handleGetPart(ctx *koushin.Context, raw bool) error { isHTML := false if strings.EqualFold(mimeType, "text/html") { p := bluemonday.UGCPolicy() + // TODO: be more strict + p.AllowElements("style") + p.AllowAttrs("style") body = p.Sanitize(body) isHTML = true }