Commit graph

908 commits

Author SHA1 Message Date
Kailash Nadh 3b0c8b3b15 Fix updated settings/config init routine on settings UI. 2022-03-02 21:31:00 +05:30
Kailash Nadh b4c716302f Don't show duration on scheduled campaigns that are finished. Closes #701. 2022-03-02 21:22:44 +05:30
Kailash Nadh 8d6e475479 Merge branch 'fix-i18n' 2022-03-02 21:00:07 +05:30
Kailash Nadh c4f1bed517 Add missing i18n strings to dayjs. Closes #717. 2022-03-02 20:58:12 +05:30
Kailash Nadh e87c80eee1 Refactor app init routines to load config/i18n before main app mount.
Move config/language loading outside the main Vue() instance mount
as the app dependencies require i18n before they are mounted.

This commit moves config/language loading outside the app routines
to plain API calls, which on success, initialize and mount the main
view App instance.
2022-03-01 22:23:54 +05:30
Kailash Nadh 174a48f252
Merge pull request #730 from ohyesgocool/fixtypos
Fixed Typos
2022-03-01 20:39:07 +05:30
Gokul Menon 04c4552a9c Fixed typos 2022-02-28 14:19:50 +01:00
Kailash Nadh 76a86fa34a Add i18n translation to document titles in the router. 2022-02-24 08:56:06 +05:30
Kailash Nadh 45878db35f Change list UI status counts to i18n plural. Ref: #717 2022-02-23 20:53:39 +05:30
Kailash Nadh 6fe36db477 Fix incorrect i18n tooltip in dashboard graph. 2022-02-23 20:50:35 +05:30
Kailash Nadh 09f97c40d7
Merge pull request #721 from knadh/dependabot/npm_and_yarn/frontend/url-parse-1.5.7
Bump url-parse from 1.5.3 to 1.5.7 in /frontend
2022-02-23 20:36:53 +05:30
Kailash Nadh 028377c7a4
Merge pull request #722 from rhnvrm/bump-simples3
feat: bump simples3 for digitalocean support
2022-02-22 13:14:48 +05:30
Rohan 5dd5cb1cc3 feat: bump simples3 for digitalocean support 2022-02-22 11:30:56 +05:30
dependabot[bot] 4835a956ec
Bump url-parse from 1.5.3 to 1.5.7 in /frontend
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.3 to 1.5.7.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.3...1.5.7)

---
updated-dependencies:
- dependency-name: url-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-19 04:38:16 +00:00
Kailash Nadh 3495af7712
Merge pull request #714 from knadh/dependabot/npm_and_yarn/frontend/ajv-6.12.6
Bump ajv from 6.12.2 to 6.12.6 in /frontend
2022-02-16 20:04:25 +05:30
Kailash Nadh caa27f30cf
Merge pull request #699 from yatish27/fix_typos
Fix typos
2022-02-16 20:04:03 +05:30
dependabot[bot] 0a6f28ae28
Bump ajv from 6.12.2 to 6.12.6 in /frontend
Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.12.2 to 6.12.6.
- [Release notes](https://github.com/ajv-validator/ajv/releases)
- [Commits](https://github.com/ajv-validator/ajv/compare/v6.12.2...v6.12.6)

---
updated-dependencies:
- dependency-name: ajv
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-16 14:33:53 +00:00
Kailash Nadh 17e723a050
Merge pull request #700 from knadh/dependabot/npm_and_yarn/frontend/follow-redirects-1.14.8
Bump follow-redirects from 1.14.7 to 1.14.8 in /frontend
2022-02-16 20:03:15 +05:30
Kailash Nadh 6e45b0be90
Merge pull request #710 from m3nu/issue/705/empty-logo-url
Use empty logo_url as default
2022-02-16 19:53:06 +05:30
Kailash Nadh 632373795e
Merge pull request #713 from marcinkunert/patch-4
Updated polish translations
2022-02-16 19:49:40 +05:30
Marcin Kunert 048fbc2e56
Updated polish translations
- Added missing translations
- Fixed typos and wrong context issues
2022-02-16 11:42:20 +01:00
Manu 9ed0ae747b Use empty logo_url as default 2022-02-16 12:09:38 +04:00
Kailash Nadh 516743673a
Merge pull request #709 from mannm123/patch-2
Create vi.json
2022-02-16 11:54:43 +05:30
mannm123 fcb413f71a
Create vi.json 2022-02-16 09:53:36 +07:00
dependabot[bot] afdaf46824
Bump follow-redirects from 1.14.7 to 1.14.8 in /frontend
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-13 17:28:55 +00:00
Yatish Mehta 6c903239dd Fix typos 2022-02-13 08:54:39 -08:00
Kailash Nadh d442de0444
Merge pull request #696 from candideu/master
Added correct link to repo for docs contribution
2022-02-13 12:48:20 +05:30
Kailash Nadh ea6acddff9
Merge pull request #698 from yatish27/patch-2
Fix typo in manager.go
2022-02-13 12:47:04 +05:30
Yatish Mehta dc4e3a6780
Fix typo in manager.go 2022-02-12 23:03:41 -08:00
Candide U e623088884
Added correct link to repo for docs contribution 2022-02-12 22:29:32 -05:00
Kailash Nadh 0ecfb89f19 Remember appearance sub tab in settings UI. 2022-02-12 17:13:45 +05:30
Kailash Nadh 481d6ef0a2 Move bundled fonts to a better location. 2022-02-12 13:24:18 +05:30
Kailash Nadh 93366f4e9e Remember last chosen tab on the settings UI.
This commit adds a UI setting that was accidentally lost from an
earlier PR.

It introduces `$utils.setPref()|getPref()` to save arbitrary key/value
preferences in a JSON blob under the app's namespace in localStorage.
2022-02-06 16:12:08 +05:30
Kailash Nadh 0f6a0376da Add accurate realtime message rate counter.
The `rate` field `/api/campaigns/running/stats` returned was computed
based on the total time spent from the start of the campaign to the
current time. This meant that for large campaigns, if there were
pauses or slowdowns in between, the rate would be skewed heavily
making it useless to figure out the current send rate.

This commit introduces a realtime running rate counter in the campaign
manager that returns accurate (running) send rates for the last minute.

The `rate` field in the API now shows the live running rate and a
new `net_rate` field shows the rate from the beginning of the campaign.
2022-02-06 11:38:02 +05:30
Kailash Nadh 1b163d1895 Fix next-subscribers batch query for a ~210x speedup.
It was observed that the next-campaign-subscribers query on an instance
with ~9 million subscribers had slowed down significantly. Fetching
a batch of 5k subscribers was taking around ~25 seconds.

After multiple hours of debugging and trial and errors, it turned out
that Postgres was doing very poor query planning on JOINs with CTEs
because of the dynamic cardinality of some CTEs (even with just 1 row).
Afer rewriting the query and adding a hack to overcome the CTE
cardinality issue, the same query now takes a few milliseconds,
a speed up of several orders of magnitude.
2022-02-05 22:41:43 +05:30
Kailash Nadh 02eaa661aa Fix lists test to accommodate new UI yes/no campaign prompts. 2022-02-05 18:51:22 +05:30
Kailash Nadh 8fb459dc48 Fix custom DB type scan failing when nil. 2022-02-05 18:48:41 +05:30
Kailash Nadh 48ef3dcb14 Support status in bulk subscriber list update API. Closes #604. 2022-02-05 00:03:28 +05:30
Kailash Nadh 251c1ea64f Fix campaign start throwing error when disabling schedule on the UI.
Closes #690
2022-02-04 22:43:42 +05:30
Kailash Nadh da30d4688e Add subscriber status counts to the lists UI.
- Change `query-lists` query to aggregate the subscriber count by
  status (confirmed, unsubscribed etc.) and expose them under a new
  `subscriber_statuses: {}` field in the `GET /lists` API.
- Display the statuses and counts in the lists table on the UI.

Closes #616
2022-02-03 00:03:31 +05:30
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