add 'nothreads' option, fixes #4

This commit is contained in:
Aine
2022-08-26 16:00:37 +03:00
parent 41a52c1eca
commit 42c9e15619
4 changed files with 14 additions and 1 deletions

View File

@@ -112,7 +112,7 @@ func (b *Bot) Send(ctx context.Context, email *utils.Email) error {
contentParsed := format.RenderMarkdown(text.String(), true, true)
var threadID id.EventID
if email.InReplyTo != "" {
if email.InReplyTo != "" && !settings.NoThreads() {
threadID = b.getThreadID(roomID, email.InReplyTo)
if threadID != "" {
contentParsed.SetRelatesTo(&event.RelatesTo{

View File

@@ -71,6 +71,13 @@ var (
optionNoHTML,
),
},
{
key: optionNoThreads,
description: fmt.Sprintf(
"Get or set `%s` of the room (`true` - ignore email threads; `false` - convert email threads into matrix threads)",
optionNoThreads,
),
},
}
// sanitizers is map of option name => sanitizer function
@@ -79,6 +86,7 @@ var (
optionNoSender: utils.SanitizeBoolString,
optionNoSubject: utils.SanitizeBoolString,
optionNoHTML: utils.SanitizeBoolString,
optionNoThreads: utils.SanitizeBoolString,
}
)

View File

@@ -25,6 +25,7 @@ const (
optionNoSender = "nosender"
optionNoSubject = "nosubject"
optionNoHTML = "nohtml"
optionNoThreads = "nothreads"
)
var migrations = []string{}

View File

@@ -64,6 +64,10 @@ func (s settings) NoHTML() bool {
return utils.Bool(s.Get(optionNoHTML))
}
func (s settings) NoThreads() bool {
return utils.Bool(s.Get(optionNoThreads))
}
// Set option
func (s settings) Set(key, value string) {
s[strings.ToLower(strings.TrimSpace(key))] = value