Repository navigation
Conversation
|
Thanks for your contribution! Before we can merge it, please read our Contributor License Agreement and sign it by posting the exact comment below in this PR. I have read the CLA Document and I hereby sign the CLA You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot. |
There was a problem hiding this comment.
ℹ️ No critical issues — one coverage nit below.
Reviewed changes
- Host email templates —
BookingData.Answers([]BookingAnswer{Label,Value}) renders in the host plain-text and HTML confirmations only; the attendee templates don't reference it, so no leak path. - Answer loading — new
bookingAnswersForEmailjoinsbooking_answerstoevent_type_questions, ordered by question position, mirroring the existing adminGetBookingAnswersquery. - Wiring — invoked at the two host-notify sites:
dispatchBookingConfirmation(shared by REST + MCP) andreassign.go, with failures logged and the email still sent. - Tests — unit test pins host-only inclusion plus HTML escaping; integration test pins end-to-end host email content.
Verified: both new tests pass, go test ./internal/mailer/ ./internal/handler/ is green, and go vet / gofmt are clean. HTML is auto-escaped by html/template while the plain-text path correctly does not escape; the inner join is safe because booking_answers.question_id is ON DELETE CASCADE (migration 00014).
ℹ️ Nitpicks
- The reassignment call site (
internal/handler/reassign.go:216) is the second use of the new helper but has no test asserting answers reach the reassigned host, while the create path is covered end-to-end. Optional, but a small reassign-email assertion would close the gap.
deepseek-v4.1-flash | 𝕏
Added that assertion in f9d2e5d. It checks the saved answer in both the new host's plain-text and HTML email. |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Reassignment email coverage —
TestReassignBooking_movesHostnow seeds a question and answer, then waits for the email to the new host and asserts both label and value appear in text and HTML. It would fail without thereassign.go:216wiring, so it genuinely closes the prior review's coverage nitpick.
Verified: go test ./internal/handler/ passes, and the incremental delta is test-only — no production behavior changed since the prior review.
deepseek-v4.1-flash | 𝕏

Summary
Hosts now see a guest's saved intake responses in new-booking and reassignment emails. The responses were stored before, but the notifications omitted them.
Risks
Guest-provided text now appears in email to assigned hosts. HTML escapes that text, and attendee confirmations do not include it. If loading responses fails, the email still sends without them and logs the error.
Validation
make buildandgo test ./...passed on this branch.