Commit graph

409 commits

Author SHA1 Message Date
Karan Sharma
ad8f290dad feat: Set default values for DB connection parameters
- Configures `max_open` and `max_idle` in default configs to `25`.
  This changes the previous behaviour of connection pooling where both the
  values were unset (from default config) and causes unbounded connection
  limit and no connection reuse.
- Configures `db.SetConnMaxLifetime` which sets the maximum time the
  connection can be reused in a pool.
- Sets `max_conn_lifetime` in default config as `5 minutes`.

Closes https://github.com/knadh/listmonk/issues/225
2020-11-17 14:34:35 +05:30
Kailash Nadh
c60cc3525f
Remove alpha warning 2020-11-11 18:45:41 +05:30
Kailash Nadh
cde0b4b42a Add a DB setup check on boot 2020-11-10 22:21:25 +05:30
Kailash Nadh
7a9d11d426 Fix escaping {{ TrackLink }} in WYSIWYG editor UI 2020-11-08 19:47:10 +05:30
Kailash Nadh
1e8b533d45 Fix echo's URI routing race condition that caused random 404s. 2020-11-08 18:36:25 +05:30
Kailash Nadh
684c64ced1 Fix SQL ORDER BY compatibility issue in Postgres 12/13.
- Fix for `pq: SELECT DISTINCT ON expressions must match
  initial ORDER BY expressions` in Postgres 13.
2020-11-08 16:02:11 +05:30
Kailash Nadh
1aecd6f2e1 Add serverside sort to tables.
Lists, campaigns, and subscribers tables now support server-side
sorting from the UI. This significantly changes the internal
queries from prepared to string interpolated to support dynamic
sort params.
2020-10-24 20:00:29 +05:30
Kailash Nadh
a0b36bb01b Log subscriber UUID in message send errors 2020-10-24 14:24:22 +05:30
Kailash Nadh
a1aeba22bb Fix invalid link click registrations
The link_clicks.link_id table was NULLable incorrectly. Links that
do not exist should not register a tracking entry. Fix the query
and also update the schema + migration (breaking table change).
2020-10-24 14:03:37 +05:30
Kailash Nadh
7cecbbba34 Register missing settings/logs URL in the backend 2020-10-24 13:36:22 +05:30
Kailash Nadh
966954d8f4 Refactor log view UI into a component. 2020-10-24 11:42:28 +05:30
Kailash Nadh
b054ed5adc Fix inconsistent quotes in Vue config 2020-10-18 23:10:48 +05:30
Kailash Nadh
e9bf47b006 Fix --version string and duplicate printing 2020-10-18 22:59:22 +05:30
Kailash Nadh
aee1bfd92e Add (Open/Net/Free)BSD to cross-platform release builds. 2020-10-18 22:48:00 +05:30
Kailash Nadh
cfe66bb29d Fix and refactor Makefile and .goreleaser build commands.
The earlier goreleaser implementation was incorrect where every
build would trigger `make pack-release` with the list of all
cross-platform releases. Fix that to atomically run the packing
once per goreleaser build. In addition, add `make release-dry`
and `make release` for goreleaser.
2020-10-18 22:44:21 +05:30
Kailash Nadh
2e361c7371 Add v0.8.0 DB migrations. 2020-10-18 21:10:47 +05:30
Kailash Nadh
f6511b68d8 Update JS dep (security): node-forge 2020-10-18 18:07:26 +05:30
Kailash Nadh
1b279478fb Make individual subscriber tracking optional.
A new toggle switch in Settings -> Privacy, which is off by
default, allows campaign views (pixel) and link clicks to function
without registering the subscriber ID against view and click
events, anonymising tracking. When off, the subscriber UUIDs in
view and link tracking URLs are removed, anonymising subscriber
information from HTTP logs as well.
2020-10-18 17:49:46 +05:30
Kailash Nadh
50e488fc01 Fix 'Send test' not reflecting campaign body on first page load 2020-10-17 23:38:29 +05:30
Kailash Nadh
13aac1af28 Update smtppool lib adding support for Unicode in e-mail IDs 2020-10-17 23:35:03 +05:30
Kailash Nadh
669cb09a83
Merge pull request #205 from knadh/fix-email-validation
fix: use mail.ParseAddress to validate email instead of custom regex
2020-10-17 21:35:50 +05:30
Vivek R
86c618981f fix: use mail.ParseAddress to validate email instead of custom regex
According to [RFC6532](https://tools.ietf.org/html/rfc6532) unicode characters are supported in email address but the in-built custom regex was only validating ASCII characters.
2020-10-16 01:06:18 +05:30
Kailash Nadh
8dbe30cd26 Add new 'Logs' page to the UI to view stdout logs 2020-10-10 23:55:54 +05:30
Kailash Nadh
f81d75a787 Allow deleting of all campaigns irrespective of status 2020-10-10 22:08:13 +05:30
Kailash Nadh
409b259fd3 Fix settings UI copying SMTP values on 'new' 2020-10-10 21:35:09 +05:30
Kailash Nadh
f667935a82 Fix empty password save behaviour on settings.
The earlier logic for copying existing passwords from the DB to
SMTP and messenger settings when the frontend sent an empty
password was based on array positions (and flawed). This commit
introduces an internal UUID field to SMTP and Messenger settings
to keep track of password changes in the settings UI.
2020-10-10 21:25:59 +05:30
Kailash Nadh
6cf43ea674 Add generic HTTP postback Messenger support.
This is a major feature that builds upon the `Messenger` interface
that has been in listmonk since its inception (with SMTP as the only
messenger). This commit introduces a new Messenger implementation, an
HTTP "postback", that can post campaign messages as a standard JSON
payload to arbitrary HTTP servers. These servers can in turn push them
to FCM, SMS, or any or any such upstream, enabling listmonk to be a
generic campaign messenger for any type of communication, not just
e-mails.

Postback HTTP endpoints can be defined in settings and they can be
selected on campaigns.
2020-10-10 18:52:08 +05:30
Kailash Nadh
be9fbcd542
Merge pull request #200 from knadh/fix-incorrect-csv-example
fix: incorrect csv import example on frontend
2020-10-04 15:10:19 +05:30
Kailash Nadh
03338d5856
Merge pull request #199 from knadh/feat-inbuilt-dev-server
fix: use inbuilt frontend dev server to proxy API instead of Nginx
2020-10-04 15:09:41 +05:30
Kailash Nadh
2109ee16f6
Merge pull request #198 from knadh/fix-injected-version
fix: incorrect git tag being injected as version
2020-10-04 15:08:14 +05:30
Vivek R
025d54b64e fix: incorrect csv import example on frontend
Example given for CSV import on Import.vue is incorrect since
field `attributes` value is not a valid JSON. Previous example
copy pasted was throwing CSV parse error.
2020-10-03 17:52:56 +05:30
Vivek R
6c234f1b1d fix: use inbuilt frontend dev server to proxy API
Vue's inbuilt dev server can be configured to proxy API for
development instead of directing developers to setup Nginx proxy.
Additionally this commit also adds an option to configure frontend port
on which dev server runs. Sample env config file is under
`frontend/.env.sample`, it can be copied to either `frontend/.env` or `frontend/.env.local`.

Available options are

LISTMONK_FRONTEND_PORT - Configure frontend dev server port (defaults to 8080)
LISTMONK_API_URL - Configure API server URL (defaults to http://127.0.0.1:9000)

Since env variables are sourced to current session we are prefixing it with `LISTMONK_`.
2020-10-03 04:50:07 +05:30
Vivek R
584c3bd2aa fix: incorrect git tag being injected as version
Git tag version injected via Makefile is incorrect since `git describe`
doesn't consider annotated tags but all the recent releases are lightweight tags.
So instead use `git describe --tags` command which also considers recent lightweight tag.
2020-10-03 03:55:39 +05:30
Kailash Nadh
23d479e9c1
Add zerodha.tech badge 2020-09-21 23:46:57 +05:30
Kailash Nadh
fd05f8db21
Merge pull request #190 from rwilhelm/patch-1
Fix typo
2020-09-19 12:08:43 +05:30
René
d6279ed965
Update Settings.vue 2020-09-19 00:11:42 +02:00
Kailash Nadh
288164ea6a Remove 'required' from upload field that fails to recognize drag-drop 2020-09-02 11:48:56 +05:30
Kailash Nadh
d219f6549e Fix missing status column in import that affects auto-migrated
installations.

In v0.7.0's automatic DB migration, the default value 'enabled'
of subscribers.status was missed incorrectly, causing imports to
break on auto-upgraded versions. This is now fixed by explictly
inserting the status field in CSV imports.
2020-09-02 11:40:34 +05:30
Kailash Nadh
26390e9994 Merge branch 'master' of github.com:knadh/listmonk 2020-08-30 17:46:17 +05:30
Kailash Nadh
216c5736f9
Merge pull request #184 from pra85/patch-1
Typo in README
2020-08-30 12:44:44 +05:30
Prayag Verma
11b0bba8ae
Typo in README
configruation 🡢 configuration
2020-08-29 11:34:30 +05:30
Kailash Nadh
eaba083e1d
Merge pull request #182 from scmmishra/sidebar-toggle-fix
fix: inconsistent sidebar group toggle on navigation
2020-08-25 20:31:41 +05:30
Shivam Mishra
abe8c598fc fix: update toggle on update:active 2020-08-25 19:16:33 +05:30
Shivam Mishra
ed0d9ee431 chore: remove stray whitesapce 2020-08-25 19:15:32 +05:30
Kailash Nadh
9147a921d4
Merge pull request #181 from scmmishra/fix-sidebar
fix: inconsistent active link on sidebar navigation
2020-08-24 19:56:46 +05:30
Shivam Mishra
3b141bb100 style: remove stray tab indentation 2020-08-24 19:52:00 +05:30
Shivam Mishra
427fcf7efd fix: inconsistent active link on sidebar navigation 2020-08-24 19:15:28 +05:30
Kailash Nadh
8fe601aa4a Add pagination to lists 2020-08-22 19:58:21 +05:30
Kailash Nadh
1ef1c5a61c Fix incorrect default values and server response in list creation UI 2020-08-22 14:13:13 +05:30
Kailash Nadh
0f055eacb8 Fix build scripts (and static file embed) 2020-08-09 20:02:43 +05:30