Skip to content

Commit

Permalink
Merge branch 'release/v1.14.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
axllent committed Mar 9, 2024
2 parents 9c95300 + 026d676 commit c1b0321
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 11 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@

Notable changes to Mailpit will be documented in this file.

## [v1.14.2]

### Chore
- Allow setting of multiple message tags via plus addresses ([#253](https://github.com/axllent/mailpit/issues/253))

### Fix
- Prevent runtime error when calculating total messages size of empty table ([#263](https://github.com/axllent/mailpit/issues/263))


## [v1.14.1]

### Chore
Expand Down
4 changes: 2 additions & 2 deletions internal/storage/settings.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ func getDeletedSize() int64 {

// The total raw non-compressed messages size in bytes of all messages in the database
func totalMessagesSize() int64 {
var result int64
var result sql.NullInt64
err := sqlf.From("mailbox").
Select("SUM(Size)").To(&result).
QueryAndClose(nil, db, func(row *sql.Rows) {})
Expand All @@ -60,7 +60,7 @@ func totalMessagesSize() int64 {
return 0
}

return result
return result.Int64
}

// AddDeletedSize will add the value to the DeletedSize setting
Expand Down
18 changes: 9 additions & 9 deletions internal/storage/tags.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import (
)

var (
addressPlusRe = regexp.MustCompile(`^(.*){1,}\+(.*)@`)
addressPlusRe = regexp.MustCompile(`(?U)^(.*){1,}\+(.*)@`)
)

// SetMessageTags will set the tags for a given database ID
Expand Down Expand Up @@ -246,25 +246,25 @@ func (d DBMailSummary) tagsFromPlusAddresses() string {
tags := []string{}
for _, c := range d.To {
matches := addressPlusRe.FindAllStringSubmatch(c.String(), 1)
if len(matches) == 1 && config.ValidTagRegexp.MatchString(matches[0][2]) {
tags = append(tags, matches[0][2])
if len(matches) == 1 {
tags = append(tags, strings.Split(matches[0][2], "+")...)
}
}
for _, c := range d.Cc {
matches := addressPlusRe.FindAllStringSubmatch(c.String(), 1)
if len(matches) == 1 && config.ValidTagRegexp.MatchString(matches[0][2]) {
tags = append(tags, matches[0][2])
if len(matches) == 1 {
tags = append(tags, strings.Split(matches[0][2], "+")...)
}
}
for _, c := range d.Bcc {
matches := addressPlusRe.FindAllStringSubmatch(c.String(), 1)
if len(matches) == 1 && config.ValidTagRegexp.MatchString(matches[0][2]) {
tags = append(tags, matches[0][2])
if len(matches) == 1 {
tags = append(tags, strings.Split(matches[0][2], "+")...)
}
}
matches := addressPlusRe.FindAllStringSubmatch(d.From.String(), 1)
if len(matches) == 1 && config.ValidTagRegexp.MatchString(matches[0][2]) {
tags = append(tags, matches[0][2])
if len(matches) == 1 {
tags = append(tags, strings.Split(matches[0][2], "+")...)
}

return strings.Join(tags, ",")
Expand Down

0 comments on commit c1b0321

Please sign in to comment.