analytics/lib/plausible_web
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
..
components Move limit enforcement to accepting site ownership transfer (#3612) 2023-12-20 14:56:49 +00:00
controllers Lock traffic notifications (#3641) 2023-12-28 08:42:27 +01:00
live Move limit enforcement to accepting site ownership transfer (#3612) 2023-12-20 14:56:49 +00:00
mjml Small bugfix + refactor email reports (#3642) 2023-12-21 12:56:06 +00:00
plugins Plugins API exentsions (custom props, bulk goal delete, goal creation => ListResponse always) (#3593) 2023-12-06 12:33:33 +01:00
plugs rm Hammer (#3571) 2023-12-06 15:07:37 +01:00
templates Lock traffic notifications (#3641) 2023-12-28 08:42:27 +01:00
two_factor Implement UI for 2FA setup and verification (#3541) 2023-12-06 12:01:19 +01:00
views Move limit enforcement to accepting site ownership transfer (#3612) 2023-12-20 14:56:49 +00:00
captcha.ex Include tests for Captcha success/failure scenarios (#2344) 2022-10-17 08:16:59 -03:00
email.ex Lock traffic notifications (#3641) 2023-12-28 08:42:27 +01:00
endpoint.ex Add small build option (#3536) 2023-11-20 12:52:20 +01:00
refinspector.ex [Continued] Google Analytics import (#1753) 2022-03-10 15:04:59 -06:00
remote_ip.ex Parse bunny header 2022-01-15 08:57:25 -06:00
router.ex Remove business tier feature flag (#3632) 2023-12-14 11:25:46 -03:00