analytics/lib/workers
hq1 f755b20569
Lock traffic notifications (#3641)
* Update communication

* Remove an unreachable function (mistyped)

* [migration] Make accept_traffic_until a date

* Fix typo

* Set `accept_traffic_until` when creating a site

* Update sites `accept_traffic_until` on subscription change

* Add a note to yearly cancellation notification

* Rephrase annual e-mail for clarity

* Pass the small build test

* Add email notifications

* Fixup

* Implement `accept_traffic_until` notification worker

* Fixup - no need to test this for small build

* Update moduledoc

* Move moduletag

* s/sent_at/sent_on

* Use WHERE NOT EXISTS instead of LEFT JOIN

* Use upsert when tracking notifications sent

* Store sent marker before actually sending notification

* Prefer to keep `accept_traffic_until` on the user record

This gives us a single source of truth, addresses cases like
ownership transparently, simplifies the code and enables CRM toggles.
The only downside is that there's another join performed in the
Sites.Cache full refresh - in this case, small refreshes are
skipped - but this is fine, since the traffic will be let in
anyway.

* Expose `accepted_traffic_until` in the CRM

* Update lib/plausible/auth/user.ex

Co-authored-by: Adrian Gruntkowski <adrian.gruntkowski@gmail.com>

* Preload owner in CRM

* Use the offset parameter in trial over e-mail contents

* Format

* Harden cache test

---------

Co-authored-by: Adrian Gruntkowski <adrian.gruntkowski@gmail.com>
2023-12-28 08:42:27 +01:00
..
accept_traffic_until_notification.ex Lock traffic notifications (#3641) 2023-12-28 08:42:27 +01:00
check_usage.ex Clean up legacy trials code + displaying limits (#3620) 2023-12-13 10:47:50 +00:00
clean_invitations.ex Invitations (#1122) 2021-06-16 15:00:07 +03:00
expire_domain_change_transitions.ex Allow domain change (#2803) 2023-04-04 10:55:12 +02:00
import_google_analytics.ex Save city name when importing from GA (#2608) 2023-02-14 09:32:18 -03:00
lock_sites.ex Fix and refactor invitation logic (#3376) 2023-10-02 14:57:57 +02:00
notify_annual_renewal.ex Refactor enterprise plan upgrade and change-plan actions (#3397) 2023-10-10 20:35:17 +03:00
rotate_salts.ex Upgrades Oban to v2.6.1 (#967) 2021-04-26 11:32:18 +03:00
schedule_email_reports.ex Do not send email reports for locked sites 2021-06-17 10:20:54 +03:00
send_check_stats_emails.ex Do not report hard bounce e-mail errors to Sentry (#2361) 2022-10-24 07:13:23 -03:00
send_email_report.ex Small bugfix + refactor email reports (#3642) 2023-12-21 12:56:06 +00:00
send_site_setup_emails.ex Feature gates (#3401) 2023-10-11 09:40:01 -03:00
send_trial_notifications.ex Reapply "Define a better monthly pageview usage (#3564)" (#3574) 2023-11-30 13:30:04 +01:00
spike_notifier.ex add a test and fix rendering the dashboard link 2022-11-03 11:31:32 +02:00