Commit graph

21 commits

Author SHA1 Message Date
Kailash Nadh
1c8ac0f866 Add 'preconfirm subscription' option to subscriber UI. Closes #526. 2021-10-27 20:46:37 +05:30
Kailash Nadh
b163b1305b Add a "Back" button the public subscription/message page.
On a successful form submission, error message etc., check if there's
browser history and render a button that takes the user back to
a meaningful origin from the dead-end message page.

Closes #527.
2021-10-23 11:39:39 +05:30
Kailash Nadh
93c7c8727c Replace TinyMCE source editor with Flask HTML editor. 2021-09-27 23:11:19 +05:30
Kailash Nadh
98ed4fb384 Add a landing login page and a logout option.
BasicAuth without an explicit landing page or a logout option has
sometimes been confusing to users. This commit adds a static
landing page on / with a login link and a logout option in the admin
that "logs out" BasicAuth session by posting invalid credentials to
the server to obtain a 401.
2021-09-26 23:42:57 +05:30
Kailash Nadh
d86438bde9 Introduce @TrackLink shorthand for generating tracking links.
The default `{{ TrackLink "https://listmonk.app" }}` template function
is clumsy to write and does breaks WYSIWYG editors and HTML syntax
highlighting because of the quotes. The new syntax doesn't break HTML
and is easier to write.

Eg: `<a href="https://listmonk.app@TrackLink">Link</a>`

- Introduce @TrackLink shorthand.
- Add first-class support for tracking links in the WYSIWYG (TinyMCE)
  editor by introducing an on/off checkbox on the link dialog.
- Improve default dummy campaign content to highlight this.
2021-09-26 16:03:05 +05:30
Kailash Nadh
7aee36eab1 Add support for blocklisting e-mail domains.
E-mails in the domain blocklist are disallowed on the admin UI, public
subscription forms, API, and in the bulk importer.

- Add blocklist setting that takes a list of multi-line domains on the
  Settings -> Privacy UI.
- Refactor e-mail validation in subimporter to add blocklist checking
  centrally.
- Add Cypress testr testing domain blocklist behaviour on admin
  and non-admin views.

Closes #336.
2021-09-25 15:39:09 +05:30
Kailash Nadh
e71115db26 Add option to toggle sending opt-in confirmation. Closes #363. 2021-09-25 10:38:13 +05:30
Kailash Nadh
9f9425c408 Refresh i18n files. 2021-09-19 15:05:15 +05:30
Kailash Nadh
61e88681ed Add campaign analytics APIs and UI 2021-09-17 21:41:25 +05:30
Kailash Nadh
d6d1883587 Add custom S3 backend support (eg: Minio) to media uploads
- Introduce a new S3 backend URL on the settings UI
- Add DB migration to populate S3 URL for existing S3 settings
- Refactor and fix URL formatting

Closes #139
2021-08-15 16:09:00 +05:30
Kailash Nadh
59c897645d Normalize i18n files with new bounce keys.
- Rename some 'settings.smtp' keys to `settings.mailserver` so that
  they can be reused across SMTP and bounce settings UIs.
2021-08-14 15:56:43 +05:30
Kailash Nadh
868fae6ac2 Refactor subsbscription status option on the import page.
- Refactor subimporter New*() funcs to take opt structs.
- Refactor and simplify Vue code.
- Remove redundant i18n entries and use existing ones.
- Remove redundant subimporter constants and use existing ones.

- Consider 'overwrite' option for subscription status as well.
- Write Cypress integration tests for the new feature.
2021-06-06 17:33:23 +05:30
Kailash Nadh
95a81d17ce Add option on UI to toggle update checks.
Closes #326
2021-05-16 16:54:55 +05:30
Kailash Nadh
620271bec4 Normalize and merge missing keys into all i18n files 2021-04-14 13:52:56 +05:30
Joice
4d681f053e fix: typo corrections to malayalam localization 2021-03-14 13:26:42 +05:30
Kailash Nadh
8a6ed2ac2e Fix incorrect week day name logic in translation 2021-03-07 12:36:10 +05:30
Kailash Nadh
2f05d4ef5b Fix broken opt-in campaign template 2021-02-13 13:28:39 +05:30
Kailash Nadh
c7500f9be3 Fix campaign update email title i18n 2021-02-02 17:06:27 +05:30
Kailash Nadh
a226e49f74 Fix incorrect language weekday keys 2021-01-30 18:39:25 +05:30
Joice
ade6ecd2d9 localized newly added strings 2021-01-28 22:31:08 +05:30
Joice
cc81369f9f finished Malayalam localization 2021-01-28 21:22:31 +05:30