Commit graph

435 commits

Author SHA1 Message Date
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 acca61f2ca Fix race conditions in Cypress tests (sigh). 2023-08-06 21:25:19 +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 534c87509a Ignore common on-reload xhr errors in Cypress. 2023-07-20 23:41:53 +05:30
dependabot[bot] 7dd7166bcf
Bump word-wrap from 1.2.3 to 1.2.4 in /frontend (#1403)
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-19 15:03:17 +05:30
dependabot[bot] 1894af121f
Bump semver from 5.7.1 to 5.7.2 in /frontend (#1398)
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-12 10:24:56 +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
Vivek R c668523c57
upgrade frontend dev deps to support node v17+ (#1247)
Used `vue-cli` to upgrade all the dev deps from node v16 or lower. Here
are the steps followed

- `vue upgrade` to upgrade all deps to latest.
- remove `node_modules` directory and `yarn.lock` file.
- `yarn install` to install dependencies again.
2023-03-20 17:57:51 +05:30
Kailash Nadh 1bb9123333 Fix Cypress tests (settings security tab, new default tpls). 2023-03-19 22:58:38 +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
dependabot[bot] fd655312ab
Bump decode-uri-component from 0.2.0 to 0.2.2 in /frontend (#1084)
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-28 14:00:18 +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
dependabot[bot] e71c060b69
Bump express from 4.17.1 to 4.18.2 in /frontend (#1091)
Bumps [express](https://github.com/expressjs/express) from 4.17.1 to 4.18.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.1...4.18.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-09 11:54:30 +05:30
dependabot[bot] 12b2bdf70a
Bump tinymce from 5.10.0 to 5.10.7 in /frontend (#1090)
Bumps [tinymce](https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce) from 5.10.0 to 5.10.7.
- [Release notes](https://github.com/tinymce/tinymce/releases)
- [Changelog](https://github.com/tinymce/tinymce/blob/5.10.7/modules/tinymce/CHANGELOG.md)
- [Commits](https://github.com/tinymce/tinymce/commits/5.10.7/modules/tinymce)

---
updated-dependencies:
- dependency-name: tinymce
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-09 09:58:53 +05:30
Kailash Nadh 93260396c6 Silence health check error in Cypress tests. 2022-11-27 22:12:05 +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 c2d41e0671 Remove redundant test code. 2022-11-09 23:30:13 +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 95b8df2918 Add tests for new subscription form. 2022-10-29 15:23:28 +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