Part of #323. Governing: ADR-0026, SPEC-0015 REQ "Email Content" / "SMTP Configuration". Depends on: #324 (server.base_url).
Requirements
Acceptance Criteria
- Test email and real notification link to the Spotter instance URL
- Subjects match the spec'd format; SMTP-disabled runs emit the debug skip log
Branch
feature/345-email-content-fixes
PR Convention
PR title references the story; body ends with Closes #345, references the parent epic and governing artifacts above.
🤖 Posted on behalf of @joestump by Claude.
Part of #323. Governing: ADR-0026, SPEC-0015 REQ "Email Content" / "SMTP Configuration". Depends on: #324 (
server.base_url).Requirements
cfg.Navidrome.BaseURL, so the email's "open preferences" link points at the user's Navidrome server, not Spotter (cmd/server/main.go:131; internal/notifications/templates.go:62; notifier.go:162). Use the newserver.base_urlsanitizeErrorcollapses every fatal error to "Authentication failed (fatal)" — misleading for non-auth fatals; keep credential-safety but reflect the failure class (templates.go:37-45)Acceptance Criteria
Branch
feature/345-email-content-fixesPR Convention
PR title references the story; body ends with
Closes #345, references the parent epic and governing artifacts above.🤖 Posted on behalf of
@joestumpby Claude.