Kailash Nadh
bb1492b882
Merge branch 'query-performance'
2024-01-27 15:56:09 +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
dependabot[bot]
e42ab9c135
Bump vite from 5.0.10 to 5.0.12 in /frontend ( #1680 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 5.0.10 to 5.0.12.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v5.0.12/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v5.0.12/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-20 12:35:20 +05:30
dependabot[bot]
0935e9c136
Bump follow-redirects from 1.15.3 to 1.15.4 in /frontend ( #1664 )
...
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects ) from 1.15.3 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases )
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.4 )
---
updated-dependencies:
- dependency-name: follow-redirects
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-11 10:26:31 +05:30
Kailash Nadh
908173c4e0
Style the 'fix code' buttn on campaign archive tab.
2024-01-10 22:08:13 +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
3711bed98d
Fix clipboard copy prop on template form.
2024-01-06 19:19:27 +05:30
Kailash Nadh
bd2990fb02
Add F9 shortcut key for toggling campaign and template previews.
2024-01-06 19:17:27 +05:30
Kailash Nadh
234fd11f13
Fix incorrect label on maintenance UI. Closes #1652 .
2024-01-06 12:11:40 +05:30
Kailash Nadh
0c9dc07479
Add a ?v=hash
cache breaker (that changes on restart) to static assets.
2023-12-31 22:20:37 +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
b946c33e61
Fix broken chart components.
2023-12-30 23:00:20 +05:30
Kailash Nadh
2feb1b0fb8
Make the name part in from
e-mails optional. Closes #1602 .
2023-12-30 21:48:12 +05:30
Kailash Nadh
0d74619cac
Make providing name
in subscriber creation optional and assign internally. Closes #1630 .
2023-12-30 15:51:42 +05:30
Kailash Nadh
a9a715696a
Scroll TinyMCE richtext editor back to caret on dialog close. Closes #1635 .
2023-12-29 23:01:51 +05:30
Kailash Nadh
db17fa1451
Restore tab selection on campaign page on reload.
2023-12-29 22:51:53 +05:30
Kailash Nadh
ef77a7e10f
Replace c3js with chart.js for major dep size reduction.
2023-12-29 22:17:53 +05:30
Kailash Nadh
af8b420d53
Refactor and upgrade the frontend vue code to work with vite instead of webpack.
...
- Upgrade eslint and fix a massive number (~2500!) of linting errors from new rules.
- Upgrade babel core frontend dev dependency.
- Upgrade UI lib and other frontend deps.
- Refactor the Vue admin app to use `vite` instead of `webpack`.
- This was an extremely tedious and painstaking, trial-and-error
alchemy job. My disdain for the Javascript "ecosystem" grows.
- Re-add custom admin appearance endpoints to the refactored Vue page.
- Remove obsolete vue-cli config.
- Re-auto-format all .vue files again to work with new linters.
2023-12-25 19:26:08 +05:30
Kailash Nadh
51af75cfef
Add subscription status filter to subscriber list query and admin UI.
2023-12-23 16:43:28 +05:30
Kailash Nadh
8f12c03a8a
Fix newly created lists not showing up on other pages automatically. Closes #1589 .
2023-12-23 14:59:05 +05:30
Kailash Nadh
c468e7ae71
Upgrade Cypress to latest version.
2023-12-23 14:44:50 +05:30
dependabot[bot]
524be2753b
Bump tinymce from 5.10.8 to 5.10.9 in /frontend ( #1592 )
...
Bumps [tinymce](https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce ) from 5.10.8 to 5.10.9.
- [Changelog](https://github.com/tinymce/tinymce/blob/5.10.9/modules/tinymce/CHANGELOG.md )
- [Commits](https://github.com/tinymce/tinymce/commits/5.10.9/modules/tinymce )
---
updated-dependencies:
- dependency-name: tinymce
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-21 11:07:08 +05:30
Kailash Nadh
c59825f3a5
Fix broken sorting (lists -> subcount, subscribers -> status) in queries. Closes #1076 .
2023-11-12 10:29:32 +05:30
Kailash Nadh
06b4494200
Fix incorrect sanitisation of search queries on list/campaign frontend.
2023-11-12 10:29:32 +05:30
dependabot[bot]
d439ecfd84
Bump axios from 0.27.2 to 1.6.0 in /frontend ( #1587 )
...
Bumps [axios](https://github.com/axios/axios ) from 0.27.2 to 1.6.0.
- [Release notes](https://github.com/axios/axios/releases )
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md )
- [Commits](https://github.com/axios/axios/compare/v0.27.2...v1.6.0 )
---
updated-dependencies:
- dependency-name: axios
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-11 20:31:09 +05:30
Kailash Nadh
62be5e2181
Fix mysteriously broken frontend build by switching eslint parser dep.
2023-11-11 15:56:42 +05:30
dependabot[bot]
ccceaa6e92
Bump @babel/traverse from 7.21.3 to 7.23.2 in /frontend ( #1563 )
...
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse ) from 7.21.3 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases )
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md )
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse )
---
updated-dependencies:
- dependency-name: "@babel/traverse"
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-31 11:04:57 +05:30
dependabot[bot]
c7882bb220
Bump tinymce from 5.10.7 to 5.10.8 in /frontend ( #1564 )
...
Bumps [tinymce](https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce ) from 5.10.7 to 5.10.8.
- [Changelog](https://github.com/tinymce/tinymce/blob/5.10.8/modules/tinymce/CHANGELOG.md )
- [Commits](https://github.com/tinymce/tinymce/commits/5.10.8/modules/tinymce )
---
updated-dependencies:
- dependency-name: tinymce
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-31 11:04:51 +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
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