Commit graph

288 commits

Author SHA1 Message Date
Kailash Nadh
06b4494200 Fix incorrect sanitisation of search queries on list/campaign frontend. 2023-11-12 10:29:32 +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
83c88d73d7 Escape search query in list search. Closes #1471. 2023-08-27 14:35:42 +05:30
Kailash Nadh
6af904dbd4 Lowercase email search on UI to match lowercase email index in DB. Closes #1464. 2023-08-27 12:17:50 +05:30
Kailash Nadh
79ff7293ea Fix broken dummy password warning on SMTP test UI. Closes #1450. 2023-08-15 20:57:58 +05:30
Kailash Nadh
0562e5de8d Apply minor fixes to the admin maintenance page template. 2023-08-08 00:07:21 +05:30
Kailash Nadh
1164afac5e Fix private lists being unsubscribed from public form and re-factor subscription status view in admin. 2023-08-06 21:09:16 +05:30
Kailash Nadh
93db7c45bc Fix incorrect Buefy checkbox colour. 2023-07-26 23:15:20 +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
b26950c427 Add new subscription list table to the subscriber edit UI modal. 2023-07-22 16:23:57 +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
0be5901df7 Fix lists UI queries overriding full lists in selections elsewhere. Closes #1400. 2023-07-20 23:46:00 +05:30
Kailash Nadh
0b2da4c664 Add support for streaming async events via HTTP serverside events.
- `GET /api/events?type=error` opens a long-lived HTTP server side
  event connection that streams error messages.
- async (typically SMTP) errors are now streamed to the frontend and
  disaplyed as an error toast on the admin UI.
2023-05-27 15:44:59 +05:30
Kailash Nadh
d359ad27aa Refactor media management.
- Change tiled UI to table UI.
- Add support for search and pagination.
- Important: This breaks the `GET /api/media` API to introduce pagination
  fields. Media items are now moved into `{ data: results[] }`.
2023-05-21 15:19:12 +05:30
Kailash Nadh
3b9a0f782e
Add support for file attachments on campaigns (#1341)
- Adds support for arbitrary file uploads with an admin setting to select allowed file extensions.
- Adds support for attaching media (files) to campaigns.
2023-05-18 16:55:59 +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
d87a01fad8 Include CAPTCHA in HTML form generation. 2023-03-25 11:21:06 +05:30
Kailash Nadh
6cf82347bf Add support for SVG files to media. Closes #1217.
- Add support for SVG in media uploader.
- Add provision to exclude vector formats from thumbnail creation.
- Increase default thumb size to 120px from 90px.

Co-authored-by: Ronan <ronan.le_meillat@sctg.eu.org>
2023-03-19 13:58:41 +05:30
Ronan LE MEILLAT
8d1f30c101
correct eslint "no-multiple-empty-lines" (#1179) 2023-02-27 14:46:57 +05:30
Kailash Nadh
d6fd4ab586 Fix 'delete' -> 'clear' language on bounces UI. Closes #1072. 2023-02-26 13:19:00 +05:30
Kailash Nadh
8985e5c24a
Add hCaptcha.com support to public subscription form. (#1152)
Bots easily bypass the simple `nonce` hack. This commit adds support
for the hcaptcha.com widget.

- New `Security` tab in the admin settings UI.
- Enable/disable CAPTCHA.
- Render CAPTCHA on the public subscription form.

Closes #1116.
2023-01-23 21:50:10 +05:30
p_0g_8mm3_
c773dc0abc
Fix maintenance settings title (#1096) 2022-12-11 10:07:47 +05:30
Kailash Nadh
d30ef227ad Include archive params when cloning campaigns on the UI. Closes #1026. 2022-11-20 11:14:13 +05:30
Kailash Nadh
73bb6081fc Add helper button on campaign UI to fill default archive meta JSON. 2022-11-20 11:14:13 +05:30
Kailash Nadh
4f2f419ae2 Include send_at when cloning campaigns on the UI. Closes #1027. 2022-11-19 17:01:07 +05:30
Kailash Nadh
6fcb4ff978 Add archive page link icon next to campaign archive toggle on UI. Closes #1028. 2022-11-18 23:45:49 +05:30
Kailash Nadh
2761a5e033 Fix modal overflow issue on bulk list popup UI. Closes #1030. 2022-11-18 23:25:49 +05:30
Kailash Nadh
832a426f4c Fix settings Cypress test. 2022-11-10 23:51:19 +05:30
Kailash Nadh
818f2c9d8e Add public archive on/off toggle to settings. 2022-11-10 23:30:53 +05:30
Kailash Nadh
438568eeb0 Add global site name setting to render name on public pages. 2022-11-10 23:30:53 +05:30
Kailash Nadh
ebf63b5bed Disable archiving on opt-in campaigns. 2022-11-10 23:30:53 +05:30
Kailash Nadh
9add728b08 WIP: Add support for publishing campaigns to publish archives. 2022-11-10 23:30:11 +05:30
Kailash Nadh
d613bb5a44 Make font size of certain on the settings UI consistent. 2022-11-09 23:29:29 +05:30
Kailash Nadh
fd70776166 Fix table cell content alignment in campaign list. Closes #742. 2022-11-01 22:54:40 +05:30
Kailash Nadh
d8e3e25f06 Add preconfirm optin option to bulk list management UI. Closes #935. 2022-11-01 21:39:02 +05:30
Kailash Nadh
ef1f84ee7c Add new description field to lists. Closes #925. 2022-11-01 21:04:35 +05:30
Kailash Nadh
3b0083190e Add ability for subscribers to manage preferences on the unsub form.
- Ability to change name.
- Ability to unsubscribe from individual lists.
- Toggle option to enable this in Admin Settings -> Privacy.

Closes #455.
2022-10-29 15:23:28 +05:30
Kailash Nadh
372a144322 Display template IDs on the list UI and popup editor. Closes #986. 2022-10-22 17:29:31 +05:30
Kailash Nadh
bea1680360 Fix incorrect day-of-week on the UI. Closes #942. 2022-10-01 14:12:07 +05:30
Kailash Nadh
5b8c705f03 Fix headers not being copied in campaign clone. Closes #948. 2022-09-16 23:19:15 +05:30
Kailash Nadh
6d820f4f6e Add maintenance options.
- Add new maintenance UI with options to garbage collect (delete)
  orphan subscriber and analytics records.
2022-09-03 14:58:25 +05:30
Kailash Nadh
cd09c5a59d Remove MailerSend (no config available) from SMTP settings UI. 2022-07-30 21:05:58 +05:30
Kailash Nadh
57dbb9e5db Add explicit warning on empty password to SMTP test UI. 2022-07-30 20:42:17 +05:30
Kailash Nadh
df31426566 Add button to insert HTML snippets into WYSIWYG editor. 2022-07-13 22:24:27 +05:30
Kailash Nadh
9107edf867 Add SMTP config shortcuts for popular providers in the settings UI. 2022-07-11 21:17:23 +05:30
Kailash Nadh
278d5bf74e Merge branch 'test-smtp' 2022-07-11 19:46:03 +05:30
Kailash Nadh
ee448170ef Add support for testing SMTP connections in the settings UI. 2022-07-11 19:44:44 +05:30
Kailash Nadh
e99c8ed86b Disable template type updation after creation to prevent breaking of campaign relations. 2022-07-09 10:36:12 +05:30