Commit graph

1068 commits

Author SHA1 Message Date
Kailash Nadh
182795ec10 Refactor table stats field set styles. 2022-02-03 00:00:57 +05:30
Kailash Nadh
1b017c06e0 Merge branch 'master' of github.com:knadh/listmonk 2022-02-01 23:42:36 +05:30
Kailash Nadh
2614b072f2 Refactor campaign analytics to show unique / non-unique data.
The analytics page showed non-unique counts for views and clicks which
was misleading and source of confusion: #522, #561, #571, #676, #680
This commit changes this behaviour to pull unique views and clicks when
individual subscriber tracking is turned on in settings, and non-unique
counts when it is turned off (as `subscriber_id` in `campaign_views`
and `link_clicks` will be NULL, rendering unique queries dysfunctional).

This commit changes the stats SQL queries to use string interpolation
to either to SELECT `*` or `DISTINCT subscriber_id` on app boot based
on the setting in the DB. This involves significant changes to how
queries are read and prepared on init.

- Refactor `initQueries()` to `readQueries()` and `prepareQueries()`.
- Read queries first before preparing.
- Load settings from the DB using the read settings query.
- Prepare queries next. Use the privacy setting from the DB to apply
  string interpolation to the analytics queries to pull
  unique/non-unique before preparing the queries.

On the UI:
- Show a note on the analytics page about unique/non-unique counts.
- Hide the % donut charts on the analytics page in non-unique mode.

Closes #676, closes #680
2022-02-01 23:40:03 +05:30
Kailash Nadh
1c37732b34
Merge pull request #683 from sanketsaurav/master
Fix spelling for "compatible"
2022-01-31 16:26:05 +05:30
Sanket Saurav
0d88bd89d0
Fix spelling for "compatible" 2022-01-31 15:41:34 +05:30
Kailash Nadh
d0b32b95c1 Allow unsubscribed users to re-subscribe. Closes #588 2022-01-30 23:08:39 +05:30
Kailash Nadh
d2cf6e0f14 Fix TrackLink template code to accept Go template variables. Closes #667. 2022-01-30 22:41:45 +05:30
Kailash Nadh
9551f548ad Merge branch 'master' of github.com:knadh/listmonk 2022-01-30 21:43:36 +05:30
Kailash Nadh
636db204fc Fix editor HTML beautification in incorrectly adding breaks to links.
Closes #655
2022-01-30 21:43:23 +05:30
Kailash Nadh
f46ab23207
Merge pull request #679 from marcinkunert/patch-3
Added end of line config for git
2022-01-29 16:28:20 +05:30
Marcin Kunert
3b1614b0dc
Added end of line config for git
Eslint complains on Windows about linebreaks not being LF, because they are the default CRLF on Windows. This change allows git to clone it with the expected EOL
2022-01-26 09:50:06 +01:00
Kailash Nadh
6a5ed43275
Change Heroku button repo. 2022-01-21 09:25:23 +05:30
Kailash Nadh
5c2005d5d2
Merge pull request #668 from avanier/upkeep/spiffy-up-docker-dev-stack
Spiffy up containerized dev stack
2022-01-20 12:42:22 +05:30
Alexis Vanier
c7c04c561f Provide a default configuration file for containerized development 2022-01-19 09:30:23 -05:00
Alexis Vanier
5a6b338766 Use --idempotent and --yes flags when bootstrapping the dev db 2022-01-19 09:29:47 -05:00
Alexis Vanier
4ecd044788 Spiffy up the continerized dev README
- Fold lines at 80 chars
- Add more instructions to help bootstrap the stack
2022-01-19 09:29:04 -05:00
Kailash Nadh
64d2c5aeb9 Add support for custom public S3 URLs. Closes #505. 2022-01-15 21:20:32 +05:30
Kailash Nadh
7955a4fa27 Fix media upload S3 IAM init blocking outside non-AWS environments.
- Update `simples3` to a version that supports IAM timeout.
- On IAM error, fall back to key/secret mode (although with empty creds)
  so that the app still starts.
2022-01-15 20:45:17 +05:30
Kailash Nadh
4ddd3e803f Add 'View in browser' link to the default email template. Closes #540. 2022-01-15 17:25:45 +05:30
Kailash Nadh
c6d5d862e2 Warn of unsaved changes on the campaign editor on navigation. Closes #551. 2022-01-15 17:20:22 +05:30
Kailash Nadh
4c09cc1fc3 Auto-focus TinyMCE editor area on load. 2022-01-15 16:46:38 +05:30
Kailash Nadh
3f026090ca Add unsubscribe link to opt-in confirmation e-mail. Closes #573. 2022-01-15 16:41:48 +05:30
Kailash Nadh
28efe27cbe Merge branch 'master' of github.com:knadh/listmonk 2022-01-15 15:55:52 +05:30
Kailash Nadh
04ea18c87d Refactor opt-in confirmation behaviour in subscriber update API.
- Updating a subscriber no longer triggers an opt-in confirmation mail
  as `POST /api/subscribers/:id/optin` allows that.
- A "Send opt-in confirmation" option is added to the subscriber
  update UI.

Closes #656.
2022-01-15 15:50:13 +05:30
Kailash Nadh
740373d9d8
Merge pull request #664 from nikochiko/spaces-in-filenames
Fix #652: Replace whitespace with dash in names of uploaded files
2022-01-15 15:12:15 +05:30
Kaustubh Maske Patil
be1d048e7b Replace whitespace with dash in names of uploaded files 2022-01-15 13:23:58 +05:30
Kailash Nadh
c95427e299 Merge branch 'master' of github.com:knadh/listmonk 2022-01-15 12:59:35 +05:30
Kailash Nadh
a2458cf668
Merge pull request #663 from knadh/dependabot/npm_and_yarn/frontend/follow-redirects-1.14.7
Bump follow-redirects from 1.13.1 to 1.14.7 in /frontend
2022-01-15 11:38:12 +05:30
dependabot[bot]
a314eb5885
Bump follow-redirects from 1.13.1 to 1.14.7 in /frontend
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.13.1 to 1.14.7.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.13.1...v1.14.7)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-14 14:12:19 +00:00
Kailash Nadh
e62dc24576 Re-order SMTP auth protocols in the settings UI by popularity. 2022-01-06 23:14:36 +05:30
Kailash Nadh
2f56057fc3 Close burger 'menu' when clicking items in mobile view. 2022-01-05 20:20:55 +05:30
Kailash Nadh
b0787f7331
Merge pull request #649 from joeirimpan/fix/msgr-persist
fix(frontend): Persist messenger selection
2022-01-05 11:52:36 +05:30
Joe Paul
4c48c3240b fix(frontend): Persist messenger selection 2022-01-05 11:41:29 +05:30
Kailash Nadh
e200ab0dab Add support for additional POP3 mail charsets. Closes #644. 2022-01-04 22:46:42 +05:30
Kailash Nadh
f266f55981 Tidy go.mod 2022-01-04 22:34:51 +05:30
Kailash Nadh
e1d3dd4a65 Merge branch 'master' of github.com:knadh/listmonk 2022-01-04 22:33:58 +05:30
Kailash Nadh
d8ed40422e Make tls_enabled key migratin idempotent. 2022-01-04 22:30:43 +05:30
Kailash Nadh
583dab4bc6 Add support for per-campaign custom headers.
- Add new `headers[]` column to the campain table.
- Add new headers box to the campaign UI that takes a JSON array of
  custom headers like the headers on the SMTP settings UI.
- Headers are added to e-mails and messenger postback webhooks.
- Add cypress tests.

Closes #514.
2022-01-04 22:27:40 +05:30
Kailash Nadh
9e9ea0ef15 Refactor automatic camel casing of API response fields.
- Remove `humps` lib dependency with a new util function.
- Replace hacky way of excluding certain fields in responses with
  a proper key filtering mechanism.
2022-01-04 22:17:05 +05:30
Kailash Nadh
d42c676503
Merge pull request #646 from ldidry/add-autoheadingid-option-to-markdown-parser
Add AutoHeadingID option to Markdown parser
2022-01-04 19:02:34 +05:30
Luc Didry
73e6668d20
Add AutoHeadingID option to Markdown parser 2022-01-04 09:36:14 +01:00
Kailash Nadh
dd061f56d4 Add support for direct SSL/TLS (non-STARTTLS) SMTP connections.
- Add support for TLS in `smtppool` (v0.4.0) and upgrade the lib.
- Change `tls_enabled: bool` in the settings table to string
  `tls_type: STARTTLS|TLS|none` and on the settings UI.
- Add DB migrations and schema changes to apply the field change.

Closes #504.
2022-01-03 19:28:36 +05:30
Kailash Nadh
e46a5cdf78
Merge pull request #640 from rhnvrm/feat-s3-put
feat: switch from s3 POST to s3 put
2021-12-29 17:24:21 +05:30
Rohan
c003aec9c9 feat: switch from s3 POST to s3 put
This commit switches simples3 from issuing a POST to a PUT.

Ref #617
2021-12-29 15:13:23 +05:30
Kailash Nadh
d523d0a114
Merge pull request #639 from mr-karan/tz
feat: Add timezone config in app container
2021-12-29 11:53:48 +05:30
Karan Sharma
e4d8286535 feat: Add timezone config in app container
Adds `tzdata` in the `Dockerfile` of the app so that
user can pass a `TZ` env variable to the container to configure
their timezone information.
2021-12-29 11:42:04 +05:30
Kailash Nadh
b48a15cfa3 Fix incorrect 'nice date' formatting. Closes #635. 2021-12-27 18:55:13 +05:30
Kailash Nadh
e982e6bb25 Don't warn on format change when campaign content is empty. Closes #634. 2021-12-27 18:41:25 +05:30
Kailash Nadh
c1c2b67503 Add a link to more language packs to the language settings UI. 2021-12-18 21:50:17 +05:30
Kailash Nadh
fabe06e339 Add support for custom CSS/JS in settings for admin and public pages.
This feature was originally authored by @sweetppro in PR #438.
However, since the PR ended up in an unclean state with
multiple master merges (instead of rebase) from the upstream, there are
several commits that are out of order and can can no longer be be
squashed for a clean feature merge.

This commit aggregates the changes from the original PR and applies the
following fixes on top of it.

- Add custom admin JS box to appearance UI.
- Refactor i18n language strings.
- Add handlers and migrations for the new `appearance.admin.custom_js`
  field.
- Fix migration version to `v2.1.0`
- Load custom appearance CSS/JS bytes into global constants during boot
  instead of making a DB call on every request.
- Fix and canonicalize URIs from `/api/custom*` to `/public/*.css`
  and `/admin/*.css`. Add proxy paths to yarn proxy config.
- Remove redundant HTTP handlers for different custom appearance files
  and refactor into a single handler `serveCustomApperance()`
- Fix content-type and UTF8 encoding headers for different file types.
- Fix incorrect registration of public facing custom CSS/JS handlers
  in the authenticated admin URI group.
- Fix merge conflicts in `Settings.vue`.
- Minor HTML and style fixes.
- Remove the `AppearanceEditor` component and use the existing
  `HTMLEditor` component instead.
- Add `language` prop to the `HTMLEditor` component.

Co-authored-by: SweetPPro <sweetppro@users.noreply.github.com>
2021-12-18 15:38:42 +05:30