Commit graph

17 commits

Author SHA1 Message Date
Kailash Nadh f9120d9b80 Auto-translate one missing i18n key.. 2024-02-04 16:47:36 +05:30
Kailash Nadh 36e39e51b3 Auto-translate missing i18n scripts. 2024-02-04 16:26:54 +05:30
Kailash Nadh 74ef6f5033 Add a 'view' link on the lists page. Closes #1674. 2024-01-27 22:25:21 +05:30
Kailash Nadh 5a3664aee2 Add support for caching slow queries on large databases.
- Add materialized views for list -> subscriber counts, dashboard chart,
  and dashboard aggregate stats that slow down significantly on large
  databases (with millions or tens of millions of subscribers). These
  slow queries involve full table scan COUNTS().

- Add a toggle to enable caching slow results in Settings -> Performance.

- Add support for setting a cron string that crons and periodically
  refreshes aggregated stats in materialized views.

Closes #1019.
2024-01-27 15:51:12 +05:30
Kailash Nadh d8ca26e747 Add a 'template reference' docs link next to campaign editor. Closes #1405. 2024-01-10 22:07:40 +05:30
Kailash Nadh 0d319ad9fd Add 'slug' (permalink) support for campaign archives. Closes #1394. 2024-01-09 23:34:08 +05:30
Kailash Nadh a2629c2c31 Make all ID/UUID labels on the UI onclick -> clipboard copy. 2023-12-31 21:39:19 +05:30
Kailash Nadh 491fab38cb Update i18n language files. 2023-10-15 20:55:46 +05:30
Kailash Nadh 11f90b2f62 Fix typo in i18n S3 expiry description. 2023-09-19 13:51:26 +05:30
Kailash Nadh 2b95c88188
Add Postmark bounce webhook support (refactor #1385) (#1485)
Co-authored-by: Thomas Siebers <tom@tsiebers.de>
2023-08-31 21:27:34 +05:30
Kailash Nadh ad80c716f9 Add new privacy option 'Record opt-in IP' to record IP address of optin confirmation.
- Add new 'Subscriptions' table on the subscriber list form that shows subs,
  IP, and other data.
- Add new `meta` JSONB field to `subscriber_lsts` table.

Closes #1329.
2023-07-26 23:00:32 +05:30
Kailash Nadh a62851915c Mask passwords on the UI accurately with the actual passwords length.
This PR masks all the password fields in the UI with a pseudo dot character
retaining the rune length of the original password so that the password
fields on the UI appear to be containing the entered value as-is.

The earlier implementation would revert to a fixed length dummy password
confusing certain users and making it look like the password they entered
wasn't being saved.
2023-07-21 23:46:46 +05:30
Kailash Nadh 5fc28a733c Add support for variable bounce processing actions.
- Add support for `complaint` to the SES bounce processor.
- Add support for `hard/soft` to Sendgrid bounce processor.
- Add new bounce actions `None` and `Unsubscribe`.
- Add per type (`soft/hard/complaint`) bounce rule configuration to
  admin settings UI.
- Refactor Cypress bounce tests.
2023-04-11 11:33:40 +05:30
Justin Beaty 476d5bebf2
Add support for publishing full content in public archive RSS feed body (#1262)
- Introduces a new option on the settings UI to optionally publish the full campaign body in
  public archive RSS feeds.

Closes #1033 

Co-authored-by: Kailash Nadh <kailash@nadh.in>
2023-04-08 09:39:10 +05:30
peix187 146e8e7a63
Add missing translation message in maintenance page (#1279) 2023-04-08 08:48:40 +05:30
Kailash Nadh d6fd4ab586 Fix 'delete' -> 'clear' language on bounces UI. Closes #1072. 2023-02-26 13:19:00 +05:30
Erik Junsved 2c531eb1d6
(Public strings only) Add Swedish translation (#1194)
* Add swedish translation (public strings only)

* Fix spelling error in public.privacyWipeHelp
2023-02-20 20:03:13 +05:30