Skip to content

Commit 5d0bbe7

Browse files
committed
Merge branch 'release/v1.23.1'
2 parents 577461b + ff17513 commit 5d0bbe7

File tree

11 files changed

+82
-140
lines changed

11 files changed

+82
-140
lines changed

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22

33
Notable changes to Mailpit will be documented in this file.
44

5+
## [v1.23.1]
6+
7+
### Chore
8+
- Update node dependencies
9+
- Update Go dependencies
10+
- Replace PrismJS with highlight.js for HTML syntax highlighting
11+
12+
### Fix
13+
- Prevent cropping bottom of label characters in web UI ([#457](https://github.com/axllent/mailpit/issues/457))
14+
- Allow searching messages using only Cyrillic characters ([#450](https://github.com/axllent/mailpit/issues/450))
15+
16+
517
## [v1.23.0]
618

719
### Feature

go.mod

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ require (
2323
github.com/spf13/pflag v1.0.6
2424
github.com/tg123/go-htpasswd v1.2.3
2525
github.com/vanng822/go-premailer v1.23.0
26-
golang.org/x/net v0.35.0
27-
golang.org/x/text v0.22.0
28-
golang.org/x/time v0.10.0
26+
golang.org/x/net v0.37.0
27+
golang.org/x/text v0.23.0
28+
golang.org/x/time v0.11.0
2929
gopkg.in/yaml.v3 v3.0.1
3030
modernc.org/sqlite v1.36.0
3131
)
@@ -52,10 +52,10 @@ require (
5252
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
5353
github.com/valyala/bytebufferpool v1.0.0 // indirect
5454
github.com/vanng822/css v1.0.1 // indirect
55-
golang.org/x/crypto v0.35.0 // indirect
56-
golang.org/x/exp v0.0.0-20250228200357-dead58393ab7 // indirect
57-
golang.org/x/image v0.24.0 // indirect
58-
golang.org/x/sys v0.30.0 // indirect
55+
golang.org/x/crypto v0.36.0 // indirect
56+
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect
57+
golang.org/x/image v0.25.0 // indirect
58+
golang.org/x/sys v0.31.0 // indirect
5959
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
6060
modernc.org/libc v1.61.13 // indirect
6161
modernc.org/mathutil v1.7.1 // indirect

go.sum

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -128,19 +128,19 @@ golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+
128128
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
129129
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
130130
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
131-
golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
132-
golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
133-
golang.org/x/exp v0.0.0-20250228200357-dead58393ab7 h1:aWwlzYV971S4BXRS9AmqwDLAD85ouC6X+pocatKY58c=
134-
golang.org/x/exp v0.0.0-20250228200357-dead58393ab7/go.mod h1:BHOTPb3L19zxehTsLoJXVaTktb06DFgmdW6Wb9s8jqk=
135-
golang.org/x/image v0.24.0 h1:AN7zRgVsbvmTfNyqIbbOraYL8mSwcKncEj8ofjgzcMQ=
136-
golang.org/x/image v0.24.0/go.mod h1:4b/ITuLfqYq1hqZcjofwctIhi7sZh2WaCjvsBNjjya8=
131+
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
132+
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
133+
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw=
134+
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM=
135+
golang.org/x/image v0.25.0 h1:Y6uW6rH1y5y/LK1J8BPWZtr6yZ7hrsy6hFrXjgsc2fQ=
136+
golang.org/x/image v0.25.0/go.mod h1:tCAmOEGthTtkalusGp1g3xa2gke8J6c2N565dTyl9Rs=
137137
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
138138
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
139139
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
140140
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
141141
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
142-
golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM=
143-
golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
142+
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
143+
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
144144
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
145145
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
146146
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
@@ -153,17 +153,17 @@ golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8=
153153
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
154154
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
155155
golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
156-
golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8=
157-
golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk=
156+
golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
157+
golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
158158
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
159159
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
160160
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
161161
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
162162
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
163163
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
164164
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
165-
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
166-
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
165+
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
166+
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
167167
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
168168
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
169169
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -182,8 +182,8 @@ golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
182182
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
183183
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
184184
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
185-
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
186-
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
185+
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
186+
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
187187
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
188188
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
189189
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -205,18 +205,18 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
205205
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
206206
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
207207
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
208-
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
209-
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
210-
golang.org/x/time v0.10.0 h1:3usCWA8tQn0L8+hFJQNgzpWbd89begxN66o1Ojdn5L4=
211-
golang.org/x/time v0.10.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
208+
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
209+
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
210+
golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0=
211+
golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
212212
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
213213
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
214214
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
215215
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
216216
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
217217
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
218-
golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY=
219-
golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY=
218+
golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU=
219+
golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ=
220220
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
221221
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
222222
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

internal/storage/search.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,8 +265,8 @@ func searchQueryBuilder(searchString, timezone string) *sqlf.Stmt {
265265
lw = lw[1:]
266266
}
267267

268-
re := regexp.MustCompile(`[a-zA-Z0-9]+`)
269-
if !re.MatchString(w) {
268+
// ignore blank searches
269+
if len(w) == 0 {
270270
continue
271271
}
272272

package-lock.json

Lines changed: 19 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
"color-hash": "^2.0.2",
1717
"dayjs": "^1.11.10",
1818
"dompurify": "^3.1.6",
19+
"highlight.js": "^11.11.1",
1920
"ical.js": "^2.0.1",
2021
"mitt": "^3.0.1",
2122
"modern-screenshot": "^4.4.30",
22-
"prismjs": "^1.29.0",
2323
"rapidoc": "^9.3.4",
2424
"timezones-list": "^3.0.3",
2525
"vue": "^3.2.13",

server/ui-src/assets/styles.scss

Lines changed: 11 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -354,12 +354,19 @@ body.blur {
354354
}
355355
}
356356

357-
/* PrismJS 1.29.0 - modified!
358-
https://prismjs.com/download.html#themes=prism-coy&languages=markup+css */
357+
// HighlightJS for HTML rendering
358+
@import "highlight.js/styles/github.css";
359+
360+
@include color-mode(dark) {
361+
@import "highlight.js/scss/github-dark";
362+
363+
.hljs {
364+
background: transparent;
365+
}
366+
}
367+
359368
code[class*="language-"],
360369
pre[class*="language-"] {
361-
// color: #000;
362-
// background: 0 0;
363370
font-size: 0.85em;
364371
text-align: left;
365372
white-space: pre;
@@ -408,97 +415,10 @@ pre[class*="language-"] {
408415
white-space: normal;
409416
}
410417

411-
.token.block-comment,
412-
.token.cdata,
413-
.token.comment,
414-
.token.doctype,
415-
.token.prolog {
416-
color: #7d8b99;
417-
}
418-
.token.punctuation {
419-
color: #5f6364;
420-
}
421-
.token.boolean,
422-
.token.constant,
423-
.token.deleted,
424-
.token.function-name,
425-
.token.number,
426-
.token.property,
427-
.token.symbol,
428-
.token.tag {
429-
color: #c92c2c;
430-
}
431-
.token.attr-name,
432-
.token.builtin,
433-
.token.char,
434-
.token.function,
435-
.token.inserted,
436-
.token.selector,
437-
.token.string {
438-
color: #2f9c0a;
439-
}
440-
.token.entity,
441-
.token.operator,
442-
.token.url,
443-
.token.variable {
444-
color: #a67f59;
445-
// background: rgba(255, 255, 255, 0.5);
446-
}
447-
.token.atrule,
448-
.token.attr-value,
449-
.token.class-name,
450-
.token.keyword {
451-
color: #1990b8;
452-
}
453-
.token.important,
454-
.token.regex {
455-
color: #e90;
456-
}
457-
.language-css .token.string,
458-
.style .token.string {
459-
color: #a67f59;
460-
// background: rgba(255, 255, 255, 0.5);
461-
}
462-
.token.important {
463-
font-weight: 400;
464-
}
465-
.token.bold {
466-
font-weight: 700;
467-
}
468-
.token.italic {
469-
font-style: italic;
470-
}
471-
// .token.entity {
472-
// cursor: help;
473-
// }
474-
.token.namespace {
475-
opacity: 0.7;
476-
}
477418
@media screen and (max-width: 767px) {
478419
pre[class*="language-"]::after,
479420
pre[class*="language-"]::before {
480421
bottom: 14px;
481422
box-shadow: none;
482423
}
483424
}
484-
pre[class*="language-"].line-numbers.line-numbers {
485-
padding-left: 0;
486-
}
487-
pre[class*="language-"].line-numbers.line-numbers code {
488-
padding-left: 3.8em;
489-
}
490-
pre[class*="language-"].line-numbers.line-numbers .line-numbers-rows {
491-
left: 0;
492-
}
493-
pre[class*="language-"][data-line] {
494-
padding-top: 0;
495-
padding-bottom: 0;
496-
padding-left: 0;
497-
}
498-
pre[data-line] code {
499-
position: relative;
500-
padding-left: 4em;
501-
}
502-
pre .line-highlight {
503-
margin-top: 0;
504-
}

server/ui-src/components/NavMailbox.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export default {
6666
<template>
6767
<template v-if="!modals">
6868
<div class="text-center badge text-bg-primary py-2 my-2 w-100" v-if="mailbox.uiConfig.Label">
69-
<div class="text-truncate fw-normal">
69+
<div class="text-truncate fw-normal" style="line-height: 1rem">
7070
{{ mailbox.uiConfig.Label }}
7171
</div>
7272
</div>

server/ui-src/components/NavSearch.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export default {
5353
<template>
5454
<template v-if="!modals">
5555
<div class="text-center badge text-bg-primary py-2 my-2 w-100" v-if="mailbox.uiConfig.Label">
56-
<div class="text-truncate fw-normal">
56+
<div class="text-truncate fw-normal" style="line-height: 1rem">
5757
{{ mailbox.uiConfig.Label }}
5858
</div>
5959
</div>

0 commit comments

Comments
 (0)