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.
* feat: add multiarch docker build support
adds docker build support for the following platforms:
- amd64 (default)
- arm64v8
- armv6
- armv7
also adds GOOS and GOARCH information to the buildString
utilizes docker manifest to store image architecture metadata
* chore: update goreleaser action to v4
* chore: update docker login action to v2
* chore: format buildstring
- `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.
- 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[] }`.
- Adds support for arbitrary file uploads with an admin setting to select allowed file extensions.
- Adds support for attaching media (files) to campaigns.
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.
- 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.
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>
- 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.
- 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>