Kailash Nadh
045f0ebf47
Fix broken language string on CAPTCHA settings on UI. Closes #2781 .
2025-12-01 00:33:39 +05:30
Kailash Nadh
570bb46d75
Add cron-based VACUUM ANALYZE support for DB maintenance.
...
- Add a new vacuum setting option on the UI in Admin -> Settings -> Maintenance.
- Also refactor frontend (lock-and-wait-for-restart) login on settings into
the global vue instance so that it can be reused across contexts.
Settings.vue and Maintenance.vue both now use it to wait for the backend
to restart.
2025-11-30 11:54:15 +05:30
Kailash Nadh
583f92a6fc
Add bulk deletion (by id or query) to lists and campaigns.
...
- Like subscribers, select one-or more or 'all' items and delete them
on the lists and campaigns UIs.
- New `DELETE /api/lists` and `DELETE /api/campaigns` endpoints that
take one or more `id` params or a single `query` param.
2025-11-28 16:37:20 +05:30
Kailash Nadh
2074604512
Add archival support to lists.
...
This patch adds a new `status` field (active, archived) to the lists table and
an 'Archived?' toggle on the UI that allows a list to be marked as archived.
This hides the lists from the lists page, campaigns list selection, list roles,
and public forms. A new "View archived lists" link on the lists UI allows
viewing the list of archived lists.
This is useful to hide/declutter lists by archiving historical, temporary lists
etc. This is largely a UX value addition.
Closes #2613 .
2025-11-23 15:39:17 +05:30
Kailash Nadh
12b80699d9
Remove incorrect settings dependency on Media UI.
...
The media UI was calling getSettings(), which requires the `settings:get`
permission to get the uploader type, which creates a bad permission dependecy.
This patch removes this dependecy and instead exposes the media provider
via `/api/config` (`serverConfig` in the frontend).
Fixes #2747 .
2025-11-23 11:45:33 +05:30
dependabot[bot]
60f7ac9351
Bump js-yaml from 4.1.0 to 4.1.1 in /frontend/email-builder ( #2767 )
...
Bumps [js-yaml](https://github.com/nodeca/js-yaml ) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1 )
---
updated-dependencies:
- dependency-name: js-yaml
dependency-version: 4.1.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-22 10:04:09 +05:30
Kailash Nadh
296245a1b3
Add 2FA TOTP support for authentication.
...
- Allow users to enable TOTP 2FA from the profile page by scanning a QR code.
- Create new `internal/tmptokens` in-memory token store for temp tokens for
temporary login -> 2FA flow.
- Refactor reset methods to use this package instead of inline locked map.
2025-11-20 23:23:54 +05:30
Meysam
a2bfc0b77e
feat: add subscriber activity tracking UI in admin panel ( #2756 )
...
* feat: add subscriber activity tracking UI in admin panel
* Apply minor cosmetic fixes to the subscriber activity forum.
- Remove dead icon references
- Remove new i18n language strings and reuse existing ones
- Refresh i18n languages with new strings
- Tweak styles
---------
Co-authored-by: Kailash Nadh <kailash@nadh.in >
2025-11-18 22:22:16 +05:30
dependabot[bot]
b3f60a957f
Bump js-yaml from 4.1.0 to 4.1.1 in /frontend ( #2761 )
...
Bumps [js-yaml](https://github.com/nodeca/js-yaml ) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1 )
---
updated-dependencies:
- dependency-name: js-yaml
dependency-version: 4.1.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 21:41:28 +05:30
Kailash Nadh
cdf0a5c153
Add CORS configuration to security settings.
...
This patch adds a new CORS config textbox in Settings -> Security that allows
configuring CORS origin domains per line.
Closes #2724
2025-10-25 14:33:25 +05:30
dependabot[bot]
827a2081b0
Bump vite from 5.4.20 to 5.4.21 in /frontend ( #2722 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 5.4.20 to 5.4.21.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.21/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v5.4.21/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 5.4.21
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-21 18:05:48 +05:30
dependabot[bot]
c666c4ff9e
Bump vite from 5.4.19 to 5.4.20 in /frontend ( #2691 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 5.4.19 to 5.4.20.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.20/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v5.4.20/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 5.4.20
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-02 22:49:36 +05:30
dependabot[bot]
fb60455d10
Bump vite from 5.4.18 to 5.4.20 in /frontend/email-builder ( #2660 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 5.4.18 to 5.4.20.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.20/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v5.4.20/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 5.4.20
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 20:23:14 +05:30
dependabot[bot]
27f58efae9
Bump axios from 1.8.2 to 1.12.0 in /frontend ( #2666 )
...
Bumps [axios](https://github.com/axios/axios ) from 1.8.2 to 1.12.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/v1.8.2...v1.12.0 )
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.12.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 20:23:04 +05:30
SweetPPro
a76099e9e5
incorrect ALTCHA Form challengeurl ( #2654 )
...
fixes incorrect ALTCHA Form challengeurl
2025-09-10 10:44:22 +05:30
Kailash Nadh
d4007d5148
Fix Go tpl expressions breaking in Visual editor HTML.
...
Closes #2593 .
Closes #2499 .
2025-09-09 22:29:46 +05:30
Kailash Nadh
81d05e4dd6
Suppress optin e-mail send errors on subscriber insert/edit APIs.
2025-09-09 21:12:01 +05:30
Kailash Nadh
fcbebc272b
Update Cypress trests on the campaign file attach UI.
2025-09-09 00:15:03 +05:30
Kailash Nadh
ad66878ea0
Fix list action icons not showing on the UI based on permissions. Closes #2640 .
2025-09-08 17:52:44 +05:30
Kailash Nadh
09d291e119
Add support for built-in ALTCHA CAPTCHA implementation.
...
The existing hCaptcha implementation as the only CAPTCHA option isn't ideal
as hCaptcha is a proprietary SaaS provider. This commit adds supports for
ALTCHA (altcha.org) a self-contained "proof-of-work" based CAPTCHA option.
Closes #2243 .
2025-08-16 16:48:20 +05:30
dependabot[bot]
4a93184c7e
Bump tmp from 0.2.3 to 0.2.4 in /frontend ( #2617 )
...
Bumps [tmp](https://github.com/raszi/node-tmp ) from 0.2.3 to 0.2.4.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.3...v0.2.4 )
---
updated-dependencies:
- dependency-name: tmp
dependency-version: 0.2.4
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-09 13:25:12 +05:30
Kailash Nadh
4d74cf4520
Tweak log viewer to optionally hide filename from log lines (on the import UI).
2025-08-03 19:17:53 +05:30
dependabot[bot]
26c61f8ea1
Bump form-data from 4.0.1 to 4.0.4 in /frontend ( #2587 )
...
Bumps [form-data](https://github.com/form-data/form-data ) from 4.0.1 to 4.0.4.
- [Release notes](https://github.com/form-data/form-data/releases )
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md )
- [Commits](https://github.com/form-data/form-data/compare/v4.0.1...v4.0.4 )
---
updated-dependencies:
- dependency-name: form-data
dependency-version: 4.0.4
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-03 18:56:51 +05:30
Kailash Nadh
fb39d6183c
Refactor media gallery UI.
...
- Replace table view with thumbnail gallery view, increasing display density.
- Hide upload form and move it to a toggle button
- Clean up pagination handles.
- Simplify and cleanup the overall page, making modal mode better.
2025-08-03 18:51:11 +05:30
Bowrna
ba24c64fae
Add subsriber blocklisting on the bounces UI ( #2409 )
...
Co-authored-by: Kailash Nadh <kailash@nadh.in >
2025-08-01 23:21:25 +05:30
Vivek R
c9c678c04f
Add support for OIDC user auto-creation ( #2578 )
...
This patch adds 3 new options to OIDC settings.
Toggle user auto-creation, and select default user/list roles
for auto-created users.
Co-authored-by: Kailash Nadh <kailash@nadh.in >
2025-07-20 16:11:45 +05:30
dependabot[bot]
70fe7cba6f
Bump vite from 5.4.18 to 5.4.19 in /frontend ( #2497 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 5.4.18 to 5.4.19.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.19/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v5.4.19/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 5.4.19
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-25 13:18:25 +05:30
Kailash Nadh
e49253bc9c
Fix name conflict in frontend JS util lib.
2025-05-25 12:17:52 +05:30
Kailash Nadh
86f808bc77
Allow @ in usernames. Closes #2478 .
2025-05-24 22:55:39 +05:30
Kailash Nadh
03285abf71
Display detailed d:h:m duration schedule on campaigns page. Closes #2460 .
2025-05-24 22:42:10 +05:30
Kailash Nadh
3895fbda12
Fix race in selected template reverting to default on the campaign page. Closes #2461 .
2025-05-24 22:17:53 +05:30
Kailash Nadh
9540d49a2b
Fix subscription status filter param not being picked up on subscribers page. Closes #2447 .
2025-05-24 22:03:31 +05:30
Kailash Nadh
2e563229da
Fix incorrect query check in bulk subscriber actions. Closes #2491 .
2025-05-24 18:07:57 +05:30
Kailash Nadh
9de19ea28c
Fix Codemirror Cypress tests in templates and form pages.
2025-04-28 18:05:10 +05:30
Kailash Nadh
0dc29b7d8a
Fix CSV example on the subscriber import UI.
2025-04-23 00:28:13 +05:30
Kailash Nadh
953deef412
Hide 'New' and 'Save' buttons on the templates UI if there's no manage permission.
2025-04-23 00:21:57 +05:30
Kailash Nadh
8fc3d27b63
Merge pull request #2423 from knadh/dependabot/npm_and_yarn/frontend/email-builder/vite-5.4.18
...
Bump vite from 5.4.10 to 5.4.18 in /frontend/email-builder
2025-04-23 00:10:31 +05:30
Kailash Nadh
3dfdf48d7a
Merge pull request #2424 from knadh/dependabot/npm_and_yarn/frontend/email-builder/babel/runtime-7.27.0
...
Bump @babel/runtime from 7.26.0 to 7.27.0 in /frontend/email-builder
2025-04-23 00:10:23 +05:30
Kailash Nadh
12bc79866f
Make OIDC provider name display on login button configurable. Closes #2211
2025-04-23 00:09:24 +05:30
dependabot[bot]
8885437671
Bump @babel/runtime from 7.26.0 to 7.27.0 in /frontend/email-builder
...
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime ) from 7.26.0 to 7.27.0.
- [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.27.0/packages/babel-runtime )
---
updated-dependencies:
- dependency-name: "@babel/runtime"
dependency-version: 7.27.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-21 14:24:04 +00:00
dependabot[bot]
6707b634a0
Bump vite from 5.4.10 to 5.4.18 in /frontend/email-builder
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 5.4.10 to 5.4.18.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.18/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v5.4.18/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 5.4.18
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-21 13:55:40 +00:00
Kailash Nadh
ed700d7a33
Add a Preview option to the campaign archive tab. Closes #2245 .
2025-04-21 18:17:46 +05:30
Kailash Nadh
b67fc5ea24
Replace CodeFlask code editor with CodeMirror on the UI.
...
Unfortunately, the tiny CodeFlask lib stopped getting updates 5+ years ago and
is buggy. The attempt to replace it with CodeInput (which itself seems to have
several open bugs) failed.
So, biting the bullet with CodeMirror, which is a robust, battle tested, albeit
large (~300KB) code editor library.
This patch replaces all code editor UIs (Campaign, Templates, Settings) with
CodeMirror.
2025-04-20 20:48:51 +05:30
Kailash Nadh
53d79297ca
Prepare first RC.
2025-04-20 20:48:51 +05:30
Kailash Nadh
445d7e53a4
Fix clone campaign by fetching campaign body on clone.
2025-04-20 20:48:51 +05:30
Kailash Nadh
1559c55aff
Add visual editor Cypress tests.
2025-04-20 20:48:51 +05:30
Kailash Nadh
ded0fcfae2
Fix broken visual template cloning on the templates UI.
2025-04-20 20:48:51 +05:30
Kailash Nadh
dcdef8ea38
Add format/content type selection to campaign creation UI.
2025-04-20 20:48:51 +05:30
Kailash Nadh
5207dff733
Fix visual editor change event/init/import sequences.
2025-04-20 20:48:51 +05:30
Kailash Nadh
968b366b43
Stop fetching bodies for all campaigns and explicitly fetch for visual campaign import.
2025-04-20 20:48:51 +05:30