release: 0.3.0: PTR fix via public resolvers; monitoring URLs and nav icons

panel: the PTR (reverse DNS) check no longer reports a correctly published
Fixed:
  - panel: the PTR (reverse DNS) check no longer reports a correctly published
Changed:
  - panel: the three monitoring pages now live at URLs that match their nav
  - panel: each entry in the navigation bar now carries an icon beside its label,
  - panel: the navigation bar is laid out as two rows on purpose — the signed-in

Full detail: CHANGELOG.md (0.3.0).
This commit is contained in:
mix
2026-09-22 15:24:51 +03:00
parent 981b95718e
commit af9f89b628
25 changed files with 412 additions and 84 deletions
+4
View File
@@ -30,6 +30,10 @@ services:
SELFPOST_HOSTNAME: mail.e2e.test
# Plain HTTP panel for the test client — no reverse proxy in this stand.
PANEL_COOKIE_SECURE: "false"
# The panel's deliverability checks query resolvers directly rather than
# the container's own (see internal/dnscheck), so the fake zone has to be
# named here too — `dns:` below only redirects the system resolver.
SELFPOST_DNS_RESOLVERS: 10.77.0.10:53
# High enough that the whole suite's other ~10 sends (positive path,
# level-2 test, the various rejected attempts) never trip it by
# accident — only the dedicated level-1 test (negative check 4, which
+2 -2
View File
@@ -187,10 +187,10 @@ func (c *panelClient) setRateLimit(path, allowedIP string, maxMessages, windowSe
return nil
}
// sendLogRows returns the raw /sendlog/rows HTML fragment, filtered to one
// sendLogRows returns the raw /deliveries/rows HTML fragment, filtered to one
// domain, for polling a row's status without parsing full HTML into structs.
func (c *panelClient) sendLogRows(domain string) (string, error) {
_, body, err := c.get("/sendlog/rows?domain=" + url.QueryEscape(domain))
_, body, err := c.get("/deliveries/rows?domain=" + url.QueryEscape(domain))
return body, err
}