Ghost/ghost/email-service
Steve Larson 342b5512fc
🐛 Fix edge case resulting in duplicate emails for some recipients (#18941)
refs https://ghost.slack.com/archives/CTH5NDJMS/p1699359241142969

It's possible for `ObjectIDs` to have only numeric characters. We were
previously letting the type be inferred, which created a very rare but
possible edge case where the last recipient of an email batch had a
numeric ObjectID, resulting in a numeric comparison against alphanumeric
`ObjectIDs` in the database.
- updated the filter to add `'`'s around the `lastId` parameter
- updated tests to check for the type of the id filter parameter value
- can't fully test for numeric object IDs using what we have because
javascript cannot handle numerics of that size; may be able to look at
using fixture data loaded directly into the db
2023-11-10 01:24:56 +00:00
..
lib 🐛 Fix edge case resulting in duplicate emails for some recipients (#18941) 2023-11-10 01:24:56 +00:00
test 🐛 Fix edge case resulting in duplicate emails for some recipients (#18941) 2023-11-10 01:24:56 +00:00
.eslintrc.js Added email service package (#15849) 2022-11-21 10:29:53 +01:00
index.js Added eslint rule for file naming convention 2023-05-09 12:34:34 -04:00
package.json Enabled emoji picker in feature image caption (#18824) 2023-11-01 21:22:56 +00:00
README.md Added email service package (#15849) 2022-11-21 10:29:53 +01:00

Email Service

Manages how posts are sent via email

Usage

Develop

This is a monorepo package.

Follow the instructions for the top-level repo.

  1. git clone this repo & cd into it as usual
  2. Run yarn to install top-level dependencies.

Test

  • yarn lint run just eslint
  • yarn test run lint and tests