Commit graph

1176 commits

Author SHA1 Message Date
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
Viorel-Cosmin Miron
cb2a579252
Update ro.json (#1326)
Fixed and updated romanian translation.
2023-05-12 13:01:38 +05:30
Rohan Shetty
cbbbe402be
Fix missing fields in Swagger collection. Closes #1317. 2023-05-10 11:18:40 +05:30
Rohan Shetty
5a2627932d
Fix Swagger collection. Closes #1308. Closes #1313 (PR #1314) 2023-05-08 23:37:11 +05:30
Kailash Nadh
917696a543 Refactor Messenger interface.
Remove `messenger.go` and move the interface definition to `manager`
and the `Message` struct to the `models` package, removing superflous
and redundant message structs used in multiple places.
2023-05-08 22:43:25 +05:30
Kailash Nadh
9ffc912a2c Refactor media provider.
- Rename `Get()` to `GetURL()`.
- Add `GetBlob()` to retrieve the media file blobs in
  filesystem and and s3 media providers.

This enables reading media files inside listmonk paving the way to
campaign file attachments.
2023-05-08 20:28:25 +05:30
Kailash Nadh
be16297549 Fix incorrect assignment of subscriber in message struct. Closes #1307. 2023-05-06 13:41:21 +05:30
Rohan Shetty
e332622db9
Added remaining endpoints to the Swagger Collection (#1283)
* added swagger collection for APIs

* added remaining endpoints to the swagger collection
2023-04-25 22:17:43 +05:30
Kailash Nadh
39a627d839 Upgrade koanf lib to fix mapstructure []byte unmarshal bug. 2023-04-12 22:00:09 +05:30
Kailash Nadh
9381e086a1 Link the Swagger pages on the API doc. 2023-04-11 21:51:30 +05:30
Chinmay Pai
8c46b758ce
build: push docker image to ghcr.io (#1237)
with the new recent changes in dockerhub[1] we should
start pushing images to ghcr, and eventually phase out
the existing dockerhub setup.

[1]: https://blog.alexellis.io/docker-is-deleting-open-source-images/

Signed-off-by: Chinmay D. Pai <chinmay.pai@zerodha.com>
2023-04-11 21:42:41 +05:30
Chinmay Pai
101459f2f6
actions: generate swagger ui for github pages (#1281) 2023-04-11 21:39:40 +05:30
Kailash Nadh
81ac6276bd Add white background to logo in README for dark mode. Closes #1268. 2023-04-11 12:51:24 +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
Kailash Nadh
13ad9adb8b Upgrade koanf to v2. 2023-04-10 12:45:25 +05:30
Kailash Nadh
3baf18ea45 Add support for wildcards in the email domain blocklist.
Eg: *.example.com, *.mail.example.com etc.

Closes #1275. Closes #1276.
2023-04-09 14:04:02 +05:30
Kailash Nadh
98729f63df Refactor email domain blocklist config field in importer package. 2023-04-09 14:04:02 +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
peix187
0d4c1d1471
Fix portuges missing translations (#1278) 2023-04-08 08:48:03 +05:30
Kailash Nadh
7db3d7da0f Improve i18n editor.
- Add a one-click `download JSON` button.
- Add a `New language` button.

Add secondary editor InLang (remote service) to docs.

Closes #1266, #1267.
2023-04-06 11:57:57 +05:30
Kailash Nadh
71a9138b23 Add missing i18n languages to the editor 2023-04-06 11:29:58 +05:30
Marcin Kunert
ad53632be4
Expanded docs about PUT /api/subscribers/:id (#1269)
I've expanded the docs a bit, related to #995
2023-04-02 20:40:38 +05:30
Kailash Nadh
b433ef68ec Fix broken SES bounce type check. 2023-04-02 20:39:01 +05:30
Justin Beaty
a95510260d
Add functions to notification templates (#1263) 2023-03-26 12:00:35 +05:30
Kailash Nadh
d1d0922a8c Fix gh-pages workflow script to run on push to master. 2023-03-26 11:54:46 +05:30
Kailash Nadh
ec7a246afc Fix link to the docs repo. 2023-03-26 11:17:15 +05:30
Kailash Nadh
d4fb3a3399 Remove obsolete files. 2023-03-26 11:15:55 +05:30
Kailash Nadh
5d3c10d198 Add new README to the docs directory. 2023-03-26 11:13:25 +05:30
Kailash Nadh
684c15a404
Add static Hugo website and mkdocs documentation to docs directory. (#1261)
This commit merges the static website and docs that was on
https://github.com/knadh/listmonk-site repository into the main
listmonk repo.

It also adds a GitHub Actions workflow to public the sites on GitHub
Pages instead of Netlify.
2023-03-26 00:51:20 +05:30
Kailash Nadh
152bd37c22 Fix no opt-in mails when existing subscribers subscriber to new opt-in lists. Closes #1257. 2023-03-25 21:06:59 +05:30
Kailash Nadh
5aedc3a4f6 Make media upload file extension validation case insensitive. Closes #1256. 2023-03-25 11:46:23 +05:30
Rohan Shetty
bf72154727
Add Swagger collection for APIs (#1253) 2023-03-25 11:35:15 +05:30
Alfredo Sola
4821dd7c66
Update es.json (#1258) 2023-03-25 11:31:32 +05:30
Kailash Nadh
d87a01fad8 Include CAPTCHA in HTML form generation. 2023-03-25 11:21:06 +05:30
Navan Chauhan
eb1d4a3c2a
add support for arm binaries (#1249) 2023-03-21 18:01:30 +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
553a61b4d2 Update Go build version in GitHub workflow. 2023-03-19 23:17:08 +05:30
Kailash Nadh
1bb9123333 Fix Cypress tests (settings security tab, new default tpls). 2023-03-19 22:58:38 +05:30
Kailash Nadh
3646e6d20a Upgrade Go package deps. 2023-03-19 22:58:38 +05:30
Kailash Nadh
55f7eca2e8
Add support for file attachments in the transactional (tx) API. (#1243)
The original PR accepts files to the `/tx` endpoints as Base64 encoded
strings in the JSON payload. This isn't ideal as the payload size
increase caused by Base64 for larger files can be significant,
in addition to the added clientside API complexity.

This PR adds supports for multipart form posts to `/tx` where the
JSON data (name: `data`) and multiple files can be posted simultaenously
(one or more `file` fields).

--- PR: #1166
* Attachment model for TxMessage
* Don't reassign values, just pass the manager.Messgage
* Read attachment info from API; create attachment Header
* Refactor tx attachments to use multipart form files. Closes #1166.
---

Co-authored-by: MatiSSL <matiss.lidaka@nic.lv>
2023-03-19 15:50:44 +05:30
Samuel Stroschein
4181d8a0c5
Integrate inlang for easy i18n translations (#1189) 2023-03-19 14:03:30 +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
Kailash Nadh
aaf5080a27 Fix discrepency in SQL query/export queries. Closes #1241. 2023-03-19 12:53:05 +05:30
Margu
35ddf3c899
fixed weekday order to fix #1182 (#1227) 2023-03-06 19:04:04 +05:30
saginsa
5020bae77e
fix #1210 French day name (#1226) 2023-03-04 15:08:32 +05:30
Andrási István
09fe812dd7
Update hu.json (#1219)
I tried my best to fix the translation according to context, cultural analogies and technical jargon. While some of it was right, there were severe mistranslations, sometimes it crucial areas. I'm Hungarian.

Thanks!
2023-02-28 10:26:51 +05:30
Ronan LE MEILLAT
8d1f30c101
correct eslint "no-multiple-empty-lines" (#1179) 2023-02-27 14:46:57 +05:30