discourse/spec
Régis Hanol 5f6b6e9818 FIX: correctly compute the window for email summaries
In 958437e7dd we ensured that the email summaries are properly sent based on 'digest_attempted_at' for people who barely/never visit the forum.

This fixed the "frequency" of the email summaries but introduced a bug where the digest would be sent even though there wasn't anything new since for some users.

The logic we use to compute the threshold date for the content to be included in the digest was

```ruby
@since = opts[:since] || user.last_seen_at || user.user_stat&.digest_attempted_at || 1.month.ago
```

It was working as expected for users who haven never been seen but for users who have connected at least once, we would use their "last_seen_at" date as the "threshold date" for the content to be sent in a summary 😬

This fix changes the logic to be the most recent date amongst the `last_seen_at`, `digest_attempted_at` and `1.month.ago` so it's correctly handling cases where

- user has never been seen nor emailed a summary
- user has been seen in a while but has recently been sent a summary
- user has been sent a summary recently but hasn't been seen in a while.
2024-05-27 22:33:51 +02:00
..
fabricators FEATURE: Implement new required options in admin user fields UI (#27079) 2024-05-23 19:18:25 +08:00
fixtures FIX: avoid error from missing meta tags (#26927) 2024-05-14 11:41:53 -04:00
generator DEV: Silence the output of migration specs (#26365) 2024-03-26 11:32:44 +01:00
helpers FIX: Include HTML content for authenticated users with crawler UA (#26757) 2024-04-25 22:41:57 +01:00
import_export DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
initializers DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
integration Revert "FIX: Post uploads setting access_control_post_id unnecessarily (#26627)" (#26643) 2024-04-16 14:10:25 +10:00
integrity Enable Embroider/Webpack code spliting for Wizard (#24919) 2023-12-20 13:15:06 +00:00
jobs DEV: Catch missing translations during test runs (#26258) 2024-05-24 22:15:53 +08:00
lib DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
mailers FIX: correctly compute the window for email summaries 2024-05-27 22:33:51 +02:00
migrations DEV: Silence the output of migration specs (#26365) 2024-03-26 11:32:44 +01:00
models DEV: correctly delete custom scheme (#27203) 2024-05-27 16:35:42 +02:00
multisite DEV: Add S3 upload system specs using minio (#22975) 2023-08-23 11:18:33 +10:00
requests FIX: Apply crawler rate limits to cached requests (#27174) 2024-05-27 16:26:35 +03:00
script/import_scripts DEV: Catch missing translations during test runs (#26258) 2024-05-24 22:15:53 +08:00
serializers UX: Disable plugin list settings button for some plugins (#27124) 2024-05-23 12:04:26 +10:00
services DEV: Catch missing translations during test runs (#26258) 2024-05-24 22:15:53 +08:00
support DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
system DEV: Remove hashtag deprecations (#27195) 2024-05-27 14:00:36 +10:00
tasks DEV: Improve test coverage of themes:update rake task (#26764) 2024-04-26 10:04:15 +08:00
views FEATURE: Simplify crawler content for non-canonical post URLs (#26324) 2024-03-26 15:18:46 +00:00
rails_helper.rb DEV: Catch missing translations during test runs (#26258) 2024-05-24 22:15:53 +08:00
regenerate_swagger_docs
swagger_helper.rb DEV: Bump rswag-specs from 2.11.0 to 2.13.0 (#24654) 2023-12-07 08:16:47 +08:00