Kailash Nadh
11f8e62cf1
Add subscriber count to the subscriber page heading
2018-12-18 13:34:23 +05:30
Kailash Nadh
5f0e3acfb9
Add bulk subscriber querying, segmentation, and management features
...
- Add a name / e-mail "quicksearch" input to the UI
- Implement row selection and aggregation at table level and a "select all" that selects all rows at the query level
- On selected subscribers, add bulk list management (add / remove / unsubscribe), blacklist, and delete
2018-12-18 10:54:55 +05:30
Kailash Nadh
755d3d2630
Refactor and add subscriber search and segmentation UI
2018-11-30 13:49:33 +05:30
Kailash Nadh
3867062002
Fix empty raw query in subscriber query response
2018-11-30 13:49:13 +05:30
Kailash Nadh
b7d5a4d8c8
Add no-cache header to pixel tracker image
2018-11-29 15:27:21 +05:30
Kailash Nadh
09b09d1378
Remove alt tag from tracking pixel image
2018-11-29 14:17:53 +05:30
Kailash Nadh
2a161a567a
Redesign the 'broken' warning page
2018-11-28 18:41:00 +05:30
Kailash Nadh
5662fac440
Refactor redirection on campaign creation
2018-11-28 18:37:39 +05:30
Kailash Nadh
ccd966a1f4
Refactor campaign 'save' button and add 'start' button to campaign page
2018-11-28 18:35:33 +05:30
Kailash Nadh
ca19b50126
Fix content tab redirection on campaign creation
2018-11-28 14:17:02 +05:30
Kailash Nadh
c24c19b120
Add admin e-mail notifications.
...
- Add notifications for campaign state change
- Add notifications for import state change
Related changes.
- Add a new 'templates' directory with HTML templates
- Move the static campaign template as a .tpl file into it
- Change Messenger.Push() to accept multiple recipients
- Change exhaustCampaign()'s behaviour to pass metadata to admin emails
2018-11-28 13:29:57 +05:30
Kailash Nadh
8a0a7a195e
Add support for importing unzipped CSV
2018-11-27 12:21:59 +05:30
Kailash Nadh
8e10bf3b16
Fix file extension check
2018-11-27 12:14:55 +05:30
Kailash Nadh
5ff0e446ed
Make the default template the default selection on the campaign form
2018-11-27 11:54:23 +05:30
Kailash Nadh
1673cba964
Fix campaign send rate calculation
2018-11-27 11:44:54 +05:30
Kailash Nadh
cf5df3e476
Fix counting unsubbed users in campaign stats counts
2018-11-26 19:06:11 +05:30
Kailash Nadh
c132af22b1
Add automatic unsub of users blacklisted from admin
2018-11-26 19:01:18 +05:30
Kailash Nadh
4cd66d1790
Fix duplicates in multi-list campaigns with overlapping subscribers.
2018-11-26 18:16:20 +05:30
Kailash Nadh
8a952c137b
Add regexp template tag validation
2018-11-26 17:36:05 +05:30
Kailash Nadh
a7614ebfe8
Change sample error value to a sane number
2018-11-26 17:16:18 +05:30
Kailash Nadh
a7954df70b
Add missing error key to sample config
2018-11-26 17:15:40 +05:30
Kailash Nadh
cbba955e57
Remove test script
2018-11-26 17:14:35 +05:30
Kailash Nadh
1a39ed15ec
Add support for campaign error tracking and auto-pause.
...
When a campaign exceeds N number of message send errors, for instance
SMTP errors, it is now auto-paused until there is manual intervention.
For this, the master goroutine in runner.Run() that was synchronising
between the tick based DB scanner and subscriber fetching has been
split into two. A new queue aggregates send errors from workers
again a threshold after which the campaign is paused.
2018-11-26 16:40:51 +05:30
Kailash Nadh
0577367d4f
Fix default values in the campaign dropdown
2018-11-26 16:38:09 +05:30
Kailash Nadh
a4e829136a
Log message push errors
2018-11-06 16:33:46 +05:30
Kailash Nadh
6d96986b3a
Add loadng spinner to dashboard
2018-11-06 16:33:04 +05:30
Kailash Nadh
08717528c5
Fix incorrect campaign counts on dashboard
2018-11-06 16:18:52 +05:30
Kailash Nadh
b333d05609
Fix merge conflicts
2018-11-06 15:59:13 +05:30
Kailash Nadh
dce6db7b73
Untrack yarn.lock
2018-11-06 15:57:50 +05:30
Kailash Nadh
e3a6ba3e28
Untrack yarn.lock
2018-11-06 15:57:39 +05:30
Kailash Nadh
9511a78d91
Add welcome dashboard
...
- Add a stats overview API to aggregate global stats
- Add bizcharts to the project to render visualisations
- WIP: Add stats widgets and visualisations to the dashboard
2018-11-06 15:14:26 +05:30
Kailash Nadh
c3d1813695
Add an error page for app config (window.CONFIG) not being loaded
2018-11-06 09:01:24 +05:30
Kailash Nadh
87873d0d33
Make subscriber fetching for previews random
2018-11-06 08:52:59 +05:30
Kailash Nadh
6a1ee77dcf
Fixed message rendering in test messages
2018-11-06 08:52:20 +05:30
Kailash Nadh
f334022cd6
Make duration stats visibility conditional
2018-11-05 23:27:44 +05:30
Kailash Nadh
ec7d398c21
Rearrange and move prominent action icons to the front
2018-11-05 23:07:10 +05:30
Kailash Nadh
d09a16d514
Add form blocking + spinner to the upload form
2018-11-05 23:06:38 +05:30
Kailash Nadh
f75f1cdd61
Fix hardcoded max_conns SMTP config
2018-11-05 19:44:21 +05:30
Kailash Nadh
0f56a5c1a5
Fix campaign stats cell width
2018-11-05 19:19:16 +05:30
Kailash Nadh
44442b2b62
Switch UI subscriber addition to a new insert-only query
2018-11-05 19:15:29 +05:30
Kailash Nadh
ec02921c25
Fix SVG logo (font to path)
2018-11-05 17:04:39 +05:30
Kailash Nadh
6761d1af23
Add missing placement param to all antd notification() calls
2018-11-05 17:03:25 +05:30
Kailash Nadh
f2c09e716c
Refactor the import process
...
- Add 'Subscribe' and 'Blacklist' modes to the importer
- Removed 'override status' and the support for the 'status' field in import files
2018-11-05 16:59:09 +05:30
Kailash Nadh
31e180089e
WIP: Add dashboard stats queries and endpoint
2018-11-05 11:19:08 +05:30
Kailash Nadh
9aa413013a
Update logo
2018-11-05 11:15:35 +05:30
Kailash Nadh
a82a64adc4
Fix broken TrackLink tag correction
2018-11-03 18:55:19 +05:30
Kailash Nadh
ac8c7ed93b
Add custom theme overhaul
...
- Use 'config-overrides.js' with less loader to load ant.design's less files instead of the compiled css to override theme variables
- Change logo, favicon, and primary theme colours
- Add pageTitle() to App() to let components set page titles
- Move all notifications to bottomRight to avoid blocking action items on the UI
2018-11-03 17:53:22 +05:30
Kailash Nadh
5d099ab10c
Make image inserts use full root URL
2018-11-02 23:57:44 +05:30
Kailash Nadh
de4e848e6d
Sanitize config paths
2018-11-02 23:57:07 +05:30
Kailash Nadh
ad8787cab3
Load global configuration into the frontend as a JS dict using a <script> inclusion
2018-11-02 23:33:00 +05:30