Commit graph

1737 commits

Author SHA1 Message Date
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
b04fe6b6b9 Fix bounces not being sorted by type field. Closes #2444. 2025-05-24 18:27:03 +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
00a7effe70 Enforce lowercasing of email in user creation. Closes #2482. 2025-05-24 17:50:07 +05:30
Kailash Nadh
4a132e0322 Fix broken template funcs in visual campaign update. 2025-05-24 17:22:41 +05:30
Mácsek Tamás
f687ac89fd
Fix incorrect order of translated day names in Hungarian locale (#2485)
The day names in the Hungarian translation were listed in the wrong sequence, causing the dashboard to display incorrect day labels. For example, "Monday" was incorrectly showing the Hungarian word for "Tuesday" instead.
2025-05-17 15:02:13 +05:30
Jef Theeuwes
ae55e64b53
Update Dutch i18n (#2449)
* update to constitantly use formal terms.
Make dutch more consistent and readable.

* update untranslated parts + extra check on formal

* template -> sjabloon

* transactioneel plural

* Uploaden -> Opladen
2025-05-07 09:44:11 +05:30
Shaun Warman
85ead710f4
docs: add listmonk and forward email for secure newsletter delivery guide (#2440) 2025-04-30 08:52:55 +05:30
Kailash Nadh
6336ec4f56 Update release details on the static homepage. 2025-04-29 00:47:28 +05:30
Kailash Nadh
3b8a8c23c5 Add email-builder/dist to .gitignore. 2025-04-29 00:17:16 +05:30
Kailash Nadh
8902320a4f Update screenshot on README. 2025-04-29 00:08:33 +05:30
Kailash Nadh
a7085cb594 Update homepage. 2025-04-29 00:01:51 +05:30
Kailash Nadh
11f52ee8a3 Switch migration version to v5 2025-04-28 23:32:29 +05:30
Kailash Nadh
47e8f8164f Default body_source to null instead of empty string in non-visual campaigns. 2025-04-28 22:56:59 +05:30
Kailash Nadh
925cdf282d Add visual template and new permissions to docs. 2025-04-28 22:54:08 +05:30
Kailash Nadh
1599957dca Add and auto-translate missing i18n strings in all language packs. 2025-04-28 21:16:30 +05:30
Kailash Nadh
db81dc1dad Remove default dummy admin notification email settings. 2025-04-28 18:12:58 +05:30
Kailash Nadh
9de19ea28c Fix Codemirror Cypress tests in templates and form pages. 2025-04-28 18:05:10 +05:30
hlassiege
92fc64694a
Update sdks.md: add client for java/kotlin (#2426) 2025-04-25 08:14:54 +05:30
Kailash Nadh
81b62a4aa9 Fix race condition in immediate campaign pause-start actions.
Pausing a campaign and starting it within the interval where campaign manager
pipe cleanup happens would cause a campaign to be marked as finished. This
patch addresses that by only doing the 'finished' state update if the campaign
wasn't stopped (cancel, pause) manually.

Potentially closes #2278 as this is the only reproducible scenario where a
campaign prematurely gets marked as finished.
2025-04-24 22:40:00 +05:30
Kailash Nadh
d3c8eca446 Upgrade Go deps. 2025-04-24 12:00:05 +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
7791327547 Make Must config variables non-Must so that the app doesn't panic on their absence. 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
5477c169fd
Merge pull request #2373 from knadh/feat-visual-editor
This is a mega patch with a massive number of significant, complex
changes integrating the visual, drag-and-drop block editor library,
email-builder: https://github.com/usewaypoint/email-builder-js

It adds a new template type (`visual`) to templates and integrates the editor
UI in Admin -> Templates and Admin -> Campaigns UIs. There are changes to
templates and campaign APIs, UI flows, and database table schemas.

`email-builder` is written in TypeScript and React (eww) and is a massive lib,
(2.3MB minified+gzipped), bigger than all of listmonk's own JS and other deps
combined, but alas, there is no other viable editor and it has been a popular
demand for a long time.

So, `email-builder` is built separately, and the static assets are copied along
with listmonk's assets. Since it's basically a separate "app" altogether,
it's loaded as an iframe on the editor pages, outside of the Vue app.

The visual editor integration is courtesy of @vividvilla who did all the
R&D and trial and error and sent the original PR to make this possible.

I really loathe the Javascript ecosystem. Sigh.
2025-04-21 18:43:55 +05:30
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
ffbda019e4 Add sample visual campaign template on install and upgrade. 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
d3da0be629 Fix `test campaign' sending wrong template for visual campaigns. 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
Kailash Nadh
20e4b100ca Fix DB state issues in visual campaign cloning. 2025-04-20 20:48:51 +05:30
Kailash Nadh
f4c0e66adb Refactor 'media upload' integration in campaign visual editor. 2025-04-20 20:48:51 +05:30
Kailash Nadh
3aba2b00b4 Fix frontend/email-builder Makefile build steps. 2025-04-20 20:48:51 +05:30
Kailash Nadh
343d405b0f Add Ctrl+S campaign save shortcut and add Ctrl+S and F9 to richtext editor. 2025-04-20 20:48:51 +05:30
Kailash Nadh
e4e735e0cd Update tsx formatting in email-builder. 2025-04-20 20:48:51 +05:30
Kailash Nadh
503e98551c Add support for converting all types to visual editor blocks. 2025-04-20 20:48:51 +05:30
Kailash Nadh
f1fbadf6a6 Fix incorrect template states in DB in campaign creation and broken preview. 2025-04-20 20:48:51 +05:30