49ad3a08

Author: Michael Lynch <git@mtlynch.io>

Committer: Michael Lynch <mtlynch@noreply.codeberg.org>

Enforce typed Email on littlemoments.User and reject display-name format (#63)

Replace the string Email field on User with a typed Email struct.
NewEmail validates the input is a bare address (no display name or
angle brackets) and normalises it via net/mail. All callers in
convert.go and jsonfile.go now propagate parse errors. Adds unit
tests for NewEmail and Email.IsEmpty.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Reviewed-on: https://codeberg.org/mtlynch/little-moments/pulls/63
Co-authored-by: Michael Lynch <git@mtlynch.io>
Co-committed-by: Michael Lynch <git@mtlynch.io>

Suite timing

Time to Start Worker time Duration Time to finish
Config 0s 1s 1s 2s
Eval 2s 41s 41s 43s
Build 10m12s 23s 14s 10m26s
Test - - - -
Deploy - - - -
Suite 0s 1m06s 10m26s 10m26s

Timeline

0s10s20s30s40s10m20s