Skip to content

feat: add Members.MemberNotify - #78

Merged
ysyneu merged 9 commits into
mainfrom
feat/member-notify
Sep 14, 2026
Merged

ysyneu merged 9 commits into
mainfrom
feat/member-notify

Conversation

@ysyneu

@ysyneu ysyneu commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds MembersService.MemberNotify(ctx, *MemberNotifyRequest) (*MemberNotifyResponse, *Response, error), generated from the POST /member/notify spec: email account members on the caller's behalf from an AI SRE session.

  • Syncs the vendored OpenAPI spec, including the notify description and the 102,400-byte html cap, and regenerates code.
  • MemberNotifyRequest has DryRun bool: when true, the server runs every check (validation, sanitize, membership, preferences, rate limit, duplicate) without sending, and MemberNotifyResponse.HTML carries the exact email that would have been sent.
  • Per-recipient outcomes are MemberNotifyResponse.Recipients (recipients on the wire). An items array beside scalar fields reads as a list page to clients that bound list output, which would withhold outcomes to fit a large dry-run html.
  • Recipients receive exactly the sanitized html as the email body, with nothing added around it — no platform layout, no session link, no subject prefix. Inline style attributes are kept as written.
  • Builds on feat: add a hand-written Prometheus label values method #77 (Prometheus label values), merged in so the coverage checks pass. Once feat: add a hand-written Prometheus label values method #77 merges, only the notify commits remain in this diff.

Tests

go build ./..., go vet ./..., go test -race ./... and make fmt pass.

@ysyneu
ysyneu merged commit eb18dee into main Sep 14, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant