Commit Graph

179 Commits

Author SHA1 Message Date
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
Kailash Nadh 09b7fc8d0c Refactor and move FirstName LastName functions to the Subscriber model 2018-11-02 16:08:54 +05:30
Kailash Nadh ae2ca2cb5d Fix routes not remounting with keys 2018-11-02 16:02:48 +05:30
Kailash Nadh a9f976ad81 Add tracking tag to default template 2018-11-02 15:42:32 +05:30
Kailash Nadh 5bede7ac02 Remove binary 2018-11-02 15:39:47 +05:30
Kailash Nadh 6c5cf0da7a Add support for campaign view tracking with {{ TrackView }} pixel tag 2018-11-02 13:20:32 +05:30
Kailash Nadh c96de8d11f Refactor template previewing with better dummy data 2018-11-02 13:19:18 +05:30
Kailash Nadh 027bc02a83 Fix re-rendering of iframe by removing state dependency for spinner 2018-11-02 13:17:18 +05:30
Kailash Nadh 0fee76a88e Add loading spinner to preview modal 2018-11-02 00:14:43 +05:30
Kailash Nadh 595bdb241a Set all campaign templates to default when a used template is deleted 2018-11-02 00:07:02 +05:30
Kailash Nadh 67d65b3a8b Add new template functions and rename Track to TrackLink 2018-11-01 22:00:07 +05:30