May 11, 2026

Saved-Search Emails No Longer Lie About the Count

If you have a saved search, you can ask it to email you when new matches show up. That email used to be a little odd: the subject said something like "3 new matches" but the body said "0 new matches" with an empty table.

Three independent bugs were all happening at once:

  • The sailing IDs we use (e.g. ST07E486_2026-05-03) are strings, but the email builder was casting them to int when looking up each sailing. Every cast produced 0, every lookup missed, the matches array was always empty.
  • Even when a sailing did load, the email template used the wrong property name (ship_name instead of ship) -- so the ship column fell back to a generic "Sailing" placeholder.
  • The metadata fields linking the email back to the saved-search row used lowercase id where our models expose uppercase ID. Both were always null.

All three are fixed. The body now actually shows what changed, with the right ship names and a working link back to the search.