Commit Graph

883 Commits

Author SHA1 Message Date
Uku Taht
4d55c4657a
Rotate salts on a daily basis (#224)
* Add daily salt rotation for user ids

* Rotate salts on a cron schedule daily

* Keep old salt fo 48 hours

* Double write for plausible.io to test salt rotation

* Rotate salts for every site
2020-07-15 11:47:24 +03:00
Uku Taht
d808feb21d Use mailer_from in weekly report 2020-07-14 16:52:42 +03:00
Uku Taht
232298d327
Realtime dashboard (#212)
* Auto-updating dashboard with realtime info

* Remove extra route

* Draw list of countries next to the map

* Nice animations

* Do not show bounce rates in realtime modals

* Update countries and devices in realtime

* Remove unused component

* Show total pageviews in the last 30 minutes

* Show proper labels

* Remove unnecessary z-index

* Fix label for main graph

* Fix compiler warnings

* Add tests

* Fix copy pluralizations

* Fix copy in countries modal

* Real-time -> Realtime

* Looser test assertion

* Show last 30 minutes conversions on realtime report

* Remove EventTarget API because it doesn't work on Safari

* Get referrer drilldown from sessions table

* Fix failing tests
2020-07-14 16:52:26 +03:00
Uku Taht
230578d08c Make custom domain copy consistent 2020-07-13 15:32:36 +03:00
Uku Taht
7683839de1
Fix billing bugs (#208)
* Show past due subscription in user settings

* Users who are past due keep their access

* Add more info in the past due banner

* Show cancelled subscription plan

* Add init admin back into test suite

* Make sure users have access to their stats until the end of billing
cycle

* Fix free subscription bug

* Ensure the latest subscription is loaded
2020-07-07 16:36:06 +03:00
Uku Taht
90cc229d9b Only attempt ssl provisioning once 2020-07-03 11:33:43 +03:00
Uku Taht
1f35fbe239 Log domain not the whole struct 2020-07-03 11:06:06 +03:00
Uku Taht
6d2a0914d1 Require logger in ssl job 2020-07-03 11:01:07 +03:00
Uku Taht
1bf0a372ba Add error log to ssl certificate job 2020-07-03 10:58:01 +03:00
Uku Taht
93e21af510 Use old feedback and roadmap links 2020-07-03 10:40:27 +03:00
Uku Taht
12163cc333 Wrap top-level flex items in block containers
Fixes layout issue on Safari (https://twitter.com/jordelver/status/1278412853553369089)
2020-07-03 10:21:24 +03:00
Chandra Tungathurthi
517d4db262
Selfhosted version improvements (#89)
* first commit with test and compile job

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding 'prepare' stage

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated ci script to include "test" compile phase

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding environment variables for connecting to postgresql

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated ci config for postgres

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* using non-alpine version of elixir

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* re-using the 'compile' artifacts and added explict env variables for testing

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* removing redundant deps fetching from common code

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* formatting using mix.format -- beware no-code changes!

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* added release config

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding consistent env variable for Database

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* more cleaning up of environment variables

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding releases config for enabling releases

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* cleaning up env configs

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Cleaned up config and prepared config for releases

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated CI script with new config for test

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Added Dockerfile for creating production docker image

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding "docker" build job yay!

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* using non-slim version of debian and installing webpack

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding overlays for migrations on releases

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* restricting the docker built to master branch only

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* typo fix

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding "Hosting.md" to explain hosting instructions

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* removed the default comments

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Added documentation related to env variables

* updated documentation and fixed typo

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated documentation

* Bumping up elixir version as `overlays` are only supported in latest version

read release notes: https://github.com/elixir-lang/elixir/releases/tag/v1.10.0

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding tarball assembly during release

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated HOSTING.md

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Added support for db migration

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* minor corrections

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* initializing admin user

Admin user has been added in the "migration" phase. A default user is automatically created in the process. One can provide the related env variables, else a new one will be automatically created for you.

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Initial base domain update - phase#1

These changes are only meant for correct operating it under self-hosting. There are many other cosmetic changes, that require updates to email, site and other places where the original website and author is used.

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Using dedicated config variable `base_domain` instead

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding base_domain to releases config

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* removing the dedicated config "base_domain", relying on endpoint host

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Removed the usage of "Mix" in code!

It is bad practice to use "mix" module inside the code as in actual release this module is unavailable. Replacing this with a config environment variable

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Added support for SMTP via Bamboo Smtp Adapter

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Capturing SMTP errors via Sentry

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Minor updates

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding junit formatter -- useful for generating test reports

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding documentation for default user

* Resolve "Gitlab Adoption: Add supported services in "Security & Compliance""

* bumping up the debian version to fix issues

fixing some vulnerabilities identified by the scanning tools

* More updates for self-hosting

Changes in most of the places to suit self-hosting. Although, there are some which have been left-off.

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* quick-dirty-fix!

* bumping up the db connect timeout

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* bumping up the db connect timeout

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* bumping up the db connect timeout

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* bumping up timeout - skipping MRs :-/

* removing restrictions on watching for changes

this stuff isn't working

* Update HOSTING.md

* renamed the module name

* reverting formatting-whitespace changes

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* reverting the name to release

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding docker-compose.yml and related instructions

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* using `plausible_url` instead of assuming `https`

this is because, it is much to test in local dev machines and in most cases there's already a layer above which is capable for `https` termination and http -> https upgrade

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* WIP: merging changes from upstream

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* wip: more changes

* Pushing in changes from upstream

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* changes to ci for testing

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* cleaning up and finishing clickhouse integration

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updating readme with hosting details

* removing deleted files from upstream

* minor config adjustments

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* formatting changes

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* changing the connection strategy for clickhouse during release

since clickhouse integration doesn't have an ecto support, we need to prepare the db _before_ the clickhouse migration. One workaround is to connect to a default db on init and then create a db

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* formatting

* cleanup and added separated migration to setup

* Big improvements to selfhosting

- added ability for disabling
  - authentication completely
  - registration
  - landing page

- formatting cleanups

* Big improvements to selfhosting

- added ability for disabling
  - authentication completely
  - registration
  - landing page

- formatting cleanups

* changing smtp auth  to optional

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* removed stale templates and permanently removed landing page

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* removed stale templates and permanently removed landing page

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>
2020-07-02 11:21:11 +03:00
Uku Taht
29f22788e2 Add apple-touch-icon.png 2020-07-01 10:22:26 +03:00
Uku Taht
0e17a4ecfd Remove google auth from a site 2020-06-30 11:11:47 +03:00
Uku Taht
9a91c6d901 Allow custom domain to be deleted 2020-06-30 11:00:19 +03:00
Uku Taht
9edbf394f7 Redirect to dashboard after site deletion 2020-06-29 11:17:15 +03:00
Uku Taht
80b98762f4
More robust scheduling for email reports (#189)
* More robust scheduling for email reports

* Update config for new email report jobs

* Only build docker on master

* Use Postgres 12 in travis

* Cache elixir files

* use Postgres 12 in travis

* Specify env on one line

* Wrong postgres version
2020-06-28 13:24:54 +03:00
Uku Taht
77e8276673 Ignore malformed referrer URL 2020-06-25 17:54:11 +03:00
Uku Taht
44510167a4 Do not stop email report if one email fails to send 2020-06-25 12:57:15 +03:00
Uku Taht
c5e4fb50d5 Include new plans in trial upgrade email 2020-06-25 12:32:16 +03:00
Uku Taht
5e376766ac Only attempt trial notifications once 2020-06-20 20:33:12 +03:00
Uku Taht
0bcc389e73 Change 1m plan 2020-06-19 14:45:14 +03:00
Uku Taht
f65df5fb0c Add 200k and 500k plans 2020-06-18 17:08:29 +03:00
Uku Taht
6af6538a01 Fix tests 2020-06-17 11:18:23 +03:00
Uku Taht
0b8a9fb80e Query referrer data from sessions table instead of events 2020-06-17 11:02:20 +03:00
Uku Taht
56054ab86b Add 2m & 5m plans to upgrade and change plan UI 2020-06-17 09:41:00 +03:00
Uku Taht
192bc4e956 Add extra context in Sentry 2020-06-16 16:21:08 +03:00
Uku Taht
788596230b Redirect to settings after succesful payment 2020-06-15 15:41:07 +03:00
Uku Taht
0fbf9a2d70 Add name to weekly report 2020-06-15 11:20:05 +03:00
Uku Taht
b9231b0cd0 Fix email reports 2020-06-15 10:32:45 +03:00
Uku Taht
c42f8ea5c6 Guard for nil in result country 2020-06-12 18:44:16 +03:00
Uku Taht
6a4a116689 Do not throw error on huge accounts 2020-06-12 18:05:48 +03:00
Uku Taht
d5e8d91420 Add content-type to tracker script. Fixes #79 2020-06-12 16:38:43 +03:00
Uku Taht
06e2a9e9c7 Use consistent database ID 2020-06-12 11:15:19 +03:00
Uku Taht
a12cfa8a8f
Maxmind (#80)
* Add maxmind Geolite2 database

* Look up the actual country from MaxMind

* Fix test for country lookup
2020-06-12 09:51:45 +03:00
Uku Taht
bb36bae15c
Inject base url to tracker at runtime (#78)
* Inject base url to tracker at runtime

* Cache tracker script for 1 hour
2020-06-11 09:30:00 +03:00
Uku Taht
1c9ad7e778 Remove initial referrer from Clickhouse 2020-06-10 10:23:57 +03:00
Uku Taht
225d6e0927 Read environment at runtime in Slack config 2020-06-10 09:57:13 +03:00
Chandra Tungathurthi
e20bf7f20f
Changing connection strategy of clickhouse during "release" (#76) 2020-06-09 20:00:40 +03:00
Uku Taht
25cd4301c3 Configure ref_inspector and ua_inspector at runtime 2020-06-09 18:24:08 +03:00
Uku Taht
91dd199fe2 Use clickhouse config when connecting to it 2020-06-08 17:41:45 +03:00
Chandra Tungathurthi
b4b7532f07
Formatting only changes - No code change (#75)
* first commit with test and compile job

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding 'prepare' stage

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated ci script to include "test" compile phase

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding environment variables for connecting to postgresql

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated ci config for postgres

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* using non-alpine version of elixir

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* re-using the 'compile' artifacts and added explict env variables for testing

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* removing redundant deps fetching from common code

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* formatting using mix.format -- beware no-code changes!

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* added release config

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding consistent env variable for Database

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* more cleaning up of environment variables

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding releases config for enabling releases

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* cleaning up env configs

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Cleaned up config and prepared config for releases

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated CI script with new config for test

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Added Dockerfile for creating production docker image

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding "docker" build job yay!

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* using non-slim version of debian and installing webpack

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding overlays for migrations on releases

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* restricting the docker built to master branch only

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* typo fix

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding "Hosting.md" to explain hosting instructions

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* removed the default comments

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Added documentation related to env variables

* updated documentation and fixed typo

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated documentation

* Bumping up elixir version as `overlays` are only supported in latest version

read release notes: https://github.com/elixir-lang/elixir/releases/tag/v1.10.0

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding tarball assembly during release

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated HOSTING.md

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Added support for db migration

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* minor corrections

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* initializing admin user

Admin user has been added in the "migration" phase. A default user is automatically created in the process. One can provide the related env variables, else a new one will be automatically created for you.

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Initial base domain update - phase#1

These changes are only meant for correct operating it under self-hosting. There are many other cosmetic changes, that require updates to email, site and other places where the original website and author is used.

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Using dedicated config variable `base_domain` instead

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding base_domain to releases config

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* removing the dedicated config "base_domain", relying on endpoint host

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Removed the usage of "Mix" in code!

It is bad practice to use "mix" module inside the code as in actual release this module is unavailable. Replacing this with a config environment variable

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Added support for SMTP via Bamboo Smtp Adapter

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Capturing SMTP errors via Sentry

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Minor updates

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding junit formatter -- useful for generating test reports

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding documentation for default user

* Resolve "Gitlab Adoption: Add supported services in "Security & Compliance""

* bumping up the debian version to fix issues

fixing some vulnerabilities identified by the scanning tools

* More updates for self-hosting

Changes in most of the places to suit self-hosting. Although, there are some which have been left-off.

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* quick-dirty-fix!

* bumping up the db connect timeout

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* bumping up the db connect timeout

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* bumping up the db connect timeout

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* bumping up timeout - skipping MRs :-/

* removing restrictions on watching for changes

this stuff isn't working

* Update HOSTING.md

* renamed the module name

* reverting formatting-whitespace changes

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* reverting the name to release

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding docker-compose.yml and related instructions

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* using `plausible_url` instead of assuming `https`

this is because, it is much to test in local dev machines and in most cases there's already a layer above which is capable for `https` termination and http -> https upgrade

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* WIP: merging changes from upstream

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* wip: more changes

* Pushing in changes from upstream

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* changes to ci for testing

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* cleaning up and finishing clickhouse integration

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updating readme with hosting details

* removing deleted files from upstream

* minor config adjustments

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* formatting changes

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>
2020-06-08 10:35:13 +03:00
Uku Taht
389f10d254 Remove CH hydration task 2020-06-05 16:47:14 +03:00
Uku Taht
933cff6fe0
Remove stats from postgres (#74)
* Remove stats code related to postgres events and sessions

* Use Clickhouse events in fetch tweets worker
2020-06-05 16:14:17 +03:00
Uku Taht
390a4577b5 Fetch config options at runtime 2020-06-05 11:15:26 +03:00
Uku Taht
6b8cfbe676 Use password for sshh 2020-06-04 20:25:13 +03:00
Uku Taht
4793893eaf Use ssh in app directory 2020-06-04 16:51:12 +03:00
Uku Taht
06b70f765d Add user_dir to ssl command 2020-06-04 16:39:04 +03:00
Uku Taht
34d7d12229 Use SSH in Elixir for custom domains 2020-06-04 14:47:30 +03:00
Uku Taht
761072d285 Fix bug with has_pageviews? 2020-06-02 16:13:12 +03:00
Uku Taht
ad1a39dbde Fix shared link 2020-06-02 14:17:28 +03:00
Uku Taht
25d8f2f3f9
Schedule regular jobs with Oban (#69)
* Use oban for work

* Remove mix task for email reports

* Convert remaining tasks to Oban workers

* Add crontab for scheduled jobs

* Only enable cron if configured to do so
2020-06-02 13:37:38 +03:00
Liz
262e74c0a9
Fixed small typo. (#70) 2020-05-31 13:36:56 +03:00
Uku Taht
01bc5911d1 Remove APP_ENV completely, use ENVIRONMENT instead 2020-05-28 21:31:54 +03:00
Uku Taht
7916e6f44e URL generation and configuration 2020-05-28 10:41:09 +03:00
Chandra Tungathurthi
5eb8929929
Support for docker based self-hosting (#64)
* first commit with test and compile job

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding 'prepare' stage

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated ci script to include "test" compile phase

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding environment variables for connecting to postgresql

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated ci config for postgres

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* using non-alpine version of elixir

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* re-using the 'compile' artifacts and added explict env variables for testing

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* removing redundant deps fetching from common code

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* formatting using mix.format -- beware no-code changes!

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* added release config

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding consistent env variable for Database

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* more cleaning up of environment variables

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding releases config for enabling releases

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* cleaning up env configs

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Cleaned up config and prepared config for releases

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated CI script with new config for test

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Added Dockerfile for creating production docker image

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding "docker" build job yay!

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* using non-slim version of debian and installing webpack

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding overlays for migrations on releases

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* restricting the docker built to master branch only

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* typo fix

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding "Hosting.md" to explain hosting instructions

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* removed the default comments

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Added documentation related to env variables

* updated documentation and fixed typo

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated documentation

* Bumping up elixir version as `overlays` are only supported in latest version

read release notes: https://github.com/elixir-lang/elixir/releases/tag/v1.10.0

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding tarball assembly during release

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updated HOSTING.md

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Added support for db migration

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* minor corrections

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* initializing admin user

Admin user has been added in the "migration" phase. A default user is automatically created in the process. One can provide the related env variables, else a new one will be automatically created for you.

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Initial base domain update - phase#1

These changes are only meant for correct operating it under self-hosting. There are many other cosmetic changes, that require updates to email, site and other places where the original website and author is used.

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Using dedicated config variable `base_domain` instead

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding base_domain to releases config

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* removing the dedicated config "base_domain", relying on endpoint host

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Removed the usage of "Mix" in code!

It is bad practice to use "mix" module inside the code as in actual release this module is unavailable. Replacing this with a config environment variable

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Added support for SMTP via Bamboo Smtp Adapter

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Capturing SMTP errors via Sentry

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Minor updates

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* Adding junit formatter -- useful for generating test reports

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding documentation for default user

* Resolve "Gitlab Adoption: Add supported services in "Security & Compliance""

* bumping up the debian version to fix issues

fixing some vulnerabilities identified by the scanning tools

* More updates for self-hosting

Changes in most of the places to suit self-hosting. Although, there are some which have been left-off.

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* quick-dirty-fix!

* bumping up the db connect timeout

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* bumping up the db connect timeout

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* bumping up the db connect timeout

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* bumping up timeout - skipping MRs :-/

* removing restrictions on watching for changes

this stuff isn't working

* Update HOSTING.md

* renamed the module name

* reverting formatting-whitespace changes

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* reverting the name to release

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* adding docker-compose.yml and related instructions

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* using `plausible_url` instead of assuming `https`

this is because, it is much to test in local dev machines and in most cases there's already a layer above which is capable for `https` termination and http -> https upgrade

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* WIP: merging changes from upstream

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* wip: more changes

* Pushing in changes from upstream

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* changes to ci for testing

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* cleaning up and finishing clickhouse integration

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>

* updating readme with hosting details
2020-05-26 16:09:34 +03:00
Uku Taht
34de4d5d2e Log any error from clickhouse 2020-05-26 12:35:03 +03:00
Uku Taht
43b46e7607 Show last touch referrer for drilldown 2020-05-25 14:52:20 +03:00
Uku Taht
bda08df7b5 Get goal referrers from sessions table 2020-05-25 14:29:41 +03:00
Uku Taht
a228c6162f Default to empty pathname 2020-05-25 12:25:41 +03:00
Uku Taht
0524ac92c2 Fix error loggin in Clickhouse 2020-05-25 11:57:11 +03:00
Uku Taht
b31c0114c5 Use Clickhouse everywhere 2020-05-22 12:33:17 +03:00
Uku Taht
439a4a80c7 Escape quote in event name 2020-05-21 19:14:45 +03:00
Uku Taht
ee4f604712 Update hydrate command 2020-05-21 19:08:39 +03:00
Uku Taht
578523170f Query via clickhouse 2020-05-21 18:59:07 +03:00
Uku Taht
4800cc6cf7 Escape everything 2020-05-21 16:19:28 +03:00
Uku Taht
1087742fea Clean after itself 2020-05-21 15:55:46 +03:00
Uku Taht
d83ec7b6a1 Report progress 2020-05-21 14:53:09 +03:00
Uku Taht
a8c1fa2ea6 Escape quote in sessions 2020-05-21 14:30:04 +03:00
Uku Taht
ea53daeaac Hydrate historical data 2020-05-21 14:06:14 +03:00
Uku Taht
0ccb893c04 Ingest with new CH schema 2020-05-21 13:36:53 +03:00
Uku Taht
d94a8dbc7e
Clickhouse (#66)
* Get stats from clickhosue

* Pull stats from clickhouse

* Use correct Query namespace

* Use Clickhouse in unit tests

* Use Clickhouse in stats controller tests

* Use fixtures for unit tests

* Add Clickhouse to travis

* Use Clickhouse session store for sessions

* Add garbage collection to session store

* Reload session state from Clickhouse on server restart

* Query from sessions table

* Trap exits in event write buffer

* Run hydration without starting the whole app

* Make session length 30 minutes

* Revert changes to fingerprint schema

* Remove clickhouse from fingerprint sessions

* Flush buffers before shutdown

* Use old stats when merging

* Remove old session schema

* Fix tests with CH sessions

* Add has_pageviews? to Stats

* Use CH in staging

* Update schema

* Fix test setup
2020-05-21 13:03:39 +03:00
Uku Taht
f7180f9620 Don't track wrong password page 2020-05-19 16:20:21 +03:00
Uku Taht
e7cd441a43 Skip tracking on share email 2020-05-19 16:18:26 +03:00
Uku Taht
f587e348cd Update contact form and email addresses 2020-05-18 16:20:00 +03:00
Uku Taht
c27119b03e Fix price in email 2020-05-18 13:08:18 +03:00
Uku Taht
d1b703f007
Clickhouse (#63)
* Get stats from clickhosue

* Pull stats from clickhouse

* Use correct Query namespace

* Use Clickhouse in unit tests

* Use Clickhouse in stats controller tests

* Use fixtures for unit tests

* Add Clickhouse to travis

* Use Clickhouse session store for sessions

* Add garbage collection to session store

* Reload session state from Clickhouse on server restart

* Query from sessions table

* Trap exits in event write buffer

* Run hydration without starting the whole app

* Make session length 30 minutes

* Revert changes to fingerprint schema

* Remove clickhouse from fingerprint sessions

* Flush buffers before shutdown

* Use old stats when merging

* Remove old session schema

* Fix tests with CH sessions

* Add has_pageviews? to Stats
2020-05-18 12:44:52 +03:00
Uku Taht
d366dee08a Do not track header 2020-05-11 14:27:20 +03:00
Uku Taht
6b53b4fbb5 Fix email login link 2020-05-09 00:25:57 +03:00
Uku Taht
a712a583ee Fix typo 2020-05-07 16:22:10 +03:00
Uku Taht
3faec27c82 Fix clickhouse buffer inserts 2020-05-07 14:53:06 +03:00
Uku Taht
b76f5e728a Log write buffer as info 2020-05-07 14:31:34 +03:00
Uku Taht
5d1dc0d27c
Clickhouse DB (#62)
* WIP

* Get all stats from Clickhouse

* Use https dependency

* Do not namespace db tables in hydrate task

* Update hydration task

* Ingest data to clickhouse

* Double-write to both Clickhouse and Postgres

* Add test setup

* Keep old stats module

* Prepare for live ingestion test
2020-05-07 14:28:41 +03:00
Uku Taht
9f7b5b9533 Only delete subscription if it exists
Fixes #61
2020-05-07 14:26:22 +03:00
Uku Taht
4a1a5f9b3b Allow paused subscription status 2020-04-25 08:53:49 +03:00
Uku Taht
2db1289c92 Fix button styling on Safari 2020-04-22 11:42:53 +03:00
Uku Taht
9476ccf95c
Yearly billing (#58)
* Add yearly billing options

* Add new subscription names

* Add note about yearly billing in the email

* Add a test for change_plan function

* Add allowance function back in

* Test billing controller endpoint
2020-04-21 14:11:38 +03:00
pmhoudry
f52aac6a31
Correctly position websites list on mobile (#57)
On mobile, the website list at /sites does not have any X padding. The
elements touch the screen left and right. This corrects it by wrapping
the list in a div with "px-4" on it.

This could also be achieved by setting "px-4" and "md:px-0" on every
element but it is unecessarily complex and if some more elements
appeared on this screen, it would be easy to forget this. A container
should be in charge of this, which is what is proposed here.
2020-04-21 10:56:12 +03:00
Uku Taht
454feec36e Fix email link 2020-04-15 10:05:19 +03:00
Uku Taht
4163d2a9ba
Authentication updates (#54)
* Use separate cookie for shared link auth

* Remove CSRF protection from login and register pages

* Add AuthorizeStats Plug

* Fix tests
2020-04-14 14:04:35 +03:00
Uku Taht
75ac1dcc3a Use plausible.nolt.io 2020-04-13 17:54:47 +03:00
Uku Taht
da2f01e9e3 Remove device ID from session 2020-04-13 15:14:45 +03:00
Uku Taht
1fc7442ad0 Don't set session if user isn't logged in 2020-04-13 15:14:16 +03:00
Uku Taht
989e3330a1 Remove acquisition tracking 2020-04-13 14:45:47 +03:00
Uku Taht
5697da77c2 Add link to setup success email 2020-04-08 15:26:59 +03:00
Uku Taht
fec2016935 Remove myself from email bcc 2020-04-06 14:00:14 +03:00
Uku Taht
1e66bde1d0 Add CTA to the demo page 2020-04-02 15:50:42 +03:00
Uku Taht
2b50c6cf2a Use correct headers 2020-04-02 13:43:06 +03:00
Uku Taht
d3c770a6da Remove log 2020-04-02 13:38:01 +03:00
Uku Taht
d8936888e6 Inspect headers 2020-04-02 13:32:36 +03:00
Uku Taht
7b9f2a31ef Fix svg 2020-04-01 12:27:26 +03:00
Uku Taht
8a8792a7d3 Require logged out 2020-04-01 12:20:46 +03:00
Uku Taht
869b11296c Use home dest in navbar 2020-04-01 11:18:39 +03:00
Uku Taht
074e895204 redirect users to /sites after login 2020-04-01 10:37:30 +03:00
Uku Taht
4c934e2737 Make navbars equal height 2020-03-31 16:56:02 +03:00
Uku Taht
bb765f9c0c Change home destination 2020-03-31 16:23:46 +03:00
Uku Taht
d9d43160d0 Add sites route 2020-03-31 16:16:21 +03:00
Uku Taht
1b9cc038a3 Make cookie accessible to JS 2020-03-31 16:08:00 +03:00
Uku Taht
1397cb0e76 Set logged in cookie in required account plug 2020-03-31 15:49:56 +03:00
Uku Taht
9b9735dd0b Keep a cookie for whether the user is logged in 2020-03-31 15:47:34 +03:00
Uku Taht
2cf57a795f Drop session 2020-03-31 15:38:42 +03:00
Uku Taht
e14001664c Fix tests 2020-03-31 15:01:27 +03:00
Uku Taht
9b9160ae86 Tweak colours 2020-03-26 15:43:55 +02:00
Uku Taht
2ee5646a7c Update logos 2020-03-26 15:36:57 +02:00
Uku Taht
c40d532880
New landing page (#47)
* Fix typo

* Update landing page with components from TailwindUI

* Update copy

* Update FAQ and testimonials

* Add feature section

* Update copy for integration

* Implement feedback

* Remove github button JS

* Update headings

* Update gray values

* Update CTA section

* Add copy
2020-03-26 14:22:48 +02:00
Uku Taht
41e04d9594 Fix tracker 2020-03-24 15:43:31 +02:00
Uku Taht
3642168197 Correct email title 2020-03-24 15:29:44 +02:00
Uku Taht
7755b8b188 Make sure pageviews can be inserted 2020-03-24 15:29:35 +02:00
Uku Taht
02e72f0167 Add space below link 2020-03-24 15:09:50 +02:00
Uku Taht
594b085467
Analytics without using cookies (#44)
* Use fingerprints instead of user_id

* Fix tests
2020-03-24 10:50:16 +02:00
Uku Taht
6d1f7afde5 Do not send check stats email to someone who has weekly report enabled 2020-03-23 11:45:04 +02:00
Uku Taht
ee92ed5213
Email flows (#46)
* Update activation email

* Update trial upgrade emails

* Remove feedback emails

* Remove feedback email test

* Update welcome email (and send it earlier)

* Site setup emails

* Add create site emails for trialers

* Add check stats email

* Remove dead code

* Adjust site setup emails for users who are not on trial

* BCC myself on all new emails

* Use old phrasing in the welcome email
2020-03-23 11:34:25 +02:00
Uku Taht
e3373724c7 Homepage SEO tags 2020-03-20 11:41:50 +02:00
Uku Taht
8af1714ea0 Add alt tags to images 2020-03-19 11:22:04 +02:00
Uku Taht
973f20c6d6 Use h1 2020-03-19 11:08:56 +02:00
Uku Taht
2ff0a90123 Push conversions on the register screen 2020-03-19 09:51:13 +02:00
Uku Taht
aff20ebbc5 Use better flatpickr theme cdn 2020-03-18 16:28:00 +02:00
Uku Taht
3fc17a51d5
Add field to track trial expiry date (#45) 2020-03-18 16:27:46 +02:00
Uku Taht
8db9a83cf7 Don't allow google to index the stats page 2020-03-17 15:14:50 +02:00
Uku Taht
05d24bf493 Fix spelling 2020-03-09 15:45:27 +01:00
Uku Taht
51dadbecc2 Remove unused scripts 2020-03-06 11:27:43 +02:00
Uku Taht
32937c53d1
Upgrade tailwind to 1.2.0 (#42)
* Upgrade config file

* Upgrade grey colour

* Update styles for dashboard

* Update styles for new site flow

* Update styles for user settings

* Update site setting styles

* Update other pages

* Adjust spacing

* Update last grey rules

* Purge css
2020-03-06 11:11:38 +02:00
Uku Taht
a2ed7514d7
Improve datepicker (#41)
* Update datepicker dropdown style

* Add custom range for datepicker
2020-03-04 17:24:18 +02:00
Uku Taht
cc5722050a
Show favicons for referrers (#39) 2020-03-03 14:32:32 +02:00
Uku Taht
ddd7640de8 Fix cookie SameSite policy 2020-03-02 13:06:54 +02:00
Uku Taht
d701f221fe Add line break 2020-03-02 13:04:59 +02:00
Uku Taht
1d21ce144e Skip plausible tracking on pages with customer site domains 2020-03-02 11:12:11 +02:00
Uku Taht
90a2c67825 Remove debug code 2020-03-02 10:48:11 +02:00
Uku Taht
c0f686b3d0 Fix trailing slash in referrer 2020-03-02 10:47:25 +02:00
Uku Taht
7fae8b9606 Change custom domain javascript filename to index.js 2020-03-02 10:44:44 +02:00
Uku Taht
36c08b989d Debug bad referrer 2020-03-02 09:54:00 +02:00
Uku Taht
caf5424cb3 Add samesite strict to cookie 2020-02-27 16:03:19 +02:00
Uku Taht
b937a1507a Update instructions for custom domains 2020-02-27 15:49:49 +02:00
Uku Taht
b7f65352ba Update explainer in settings 2020-02-27 15:33:40 +02:00
Uku Taht
9a53c776d9 Configure webhook in secret 2020-02-27 12:35:34 +02:00
Uku Taht
ae68437e00 Update slack webhook url 2020-02-27 12:30:02 +02:00
Uku Taht
7d5443396f Use fingerprint 2020-02-27 12:04:13 +02:00
Uku Taht
aaa9c67e47
Add fingerprint sessions (#36) 2020-02-27 11:46:48 +02:00
Uku Taht
fadb55c9c5 Update webhook URL 2020-02-26 16:12:29 +02:00
Uku Taht
08eba461df Fix issue with snippet code 2020-02-26 11:46:28 +02:00
Uku Taht
1be43a6ce6 Update webhook 2020-02-26 11:40:16 +02:00
Uku Taht
99370c778c Update webhook URL 2020-02-26 11:37:43 +02:00
Uku Taht
79b9f72b52
Custom domains (#34)
* UI to create custom domains

* Only call ssh once per domain

* Update copy for custom domain setup

* Use correct user for ssh
2020-02-26 10:54:21 +02:00
Uku Taht
da58d8d87e Update slack webhook url 2020-02-25 14:59:36 +02:00
Uku Taht
656525bdbe Fix spelling 2020-02-21 11:49:44 +02:00
Uku Taht
bfb7620120 Add user to Sentry context 2020-02-17 13:22:31 +02:00
Uku Taht
0788558b2b Get twitter author url with https 2020-02-12 16:03:14 +02:00
Uku Taht
5495e53454
Backfill fingerprints for returning users (#33) 2020-02-12 14:42:34 +02:00
Uku Taht
4f1ec6a2c2 Remove query against new_visitor 2020-02-12 11:14:26 +02:00
Uku Taht
ed3110a6ea
Introduce initial referrer and initial referrer source (#32)
* Introduce initial referrer and initial referrer source

* Add test
2020-02-12 11:11:02 +02:00
Uku Taht
7bb5d98956 Remove raw fingerprint 2020-02-11 11:02:44 +02:00
Uku Taht
759c21fff0 Use cloudflare header for fingerprint 2020-02-11 10:52:59 +02:00
Uku Taht
16b2dbf023 Store raw fingerprint for testing 2020-02-11 10:10:53 +02:00
Uku Taht
158dd3f822 Strip www from domain 2020-02-10 16:07:34 +02:00
Uku Taht
0875d57b59 Track fingerprint 2020-02-10 16:00:19 +02:00
Uku Taht
8a4d0a91d1
WIP: New UI updates (#19)
* WIP: New UI idea

* Remove hover styling if things are not clickable

* Improve mobile view

* Remove dead code

* Fade in tabs

* Update landing page with new style

* Fix countries test

* Fix alignment in conversions report
2020-02-10 15:17:00 +02:00
Uku Taht
10f7beb1e0 Only include tracking module when mix env is prod 2020-02-06 15:20:33 +02:00
Uku Taht
c3bcf40ced Fix typo 2020-02-06 15:18:37 +02:00
Uku Taht
e1ed9d59d9
Simple script format (#31)
* New script format

* Add popstate listener to p.js

* Render site creation error with focus
2020-02-06 11:25:24 +02:00
Uku Taht
1e417f03a9 Update script with plausible.js 2020-02-05 16:08:34 +02:00
Uku Taht
3679a7351f Remove www from domain 2020-02-05 13:53:57 +02:00
Uku Taht
7dbbc8ba22
Configurable site id (#30)
* Use site id instead of hostname for events

* Use site id in domain status check

* Revert change to tracking module

* Catch more places where link generation needed updating

* Rename site_id to domain

* Drop hostname index from events
2020-02-04 15:44:13 +02:00
Uku Taht
ccbc04f6bd Fix crash when you have no google properties 2020-01-30 11:45:16 +02:00
Uku Taht
f9724bf9f1 Delete user subscription when deleting the user 2020-01-29 16:00:18 +02:00
Uku Taht
7440bff86a Update copyright year 2020-01-29 15:42:12 +02:00
Uku Taht
94598f14f4 Ignore another backend task in coveralls 2020-01-29 11:36:31 +02:00
Uku Taht
9b0bd2162c Remove unused socket code 2020-01-29 11:34:47 +02:00
Uku Taht
58eae6cd4d Ignore backend task in coveralls 2020-01-29 11:32:22 +02:00
Uku Taht
5f62025176
Shared links (#29)
* Create shared links UI

* Show shared links in a list on settings page

* Show dropdown for each shared link

* Show icon actions for shared links

* Log user in when they click non-password-protected shared link

* Actually authenticate using a password

* Delete shared links
2020-01-29 11:29:11 +02:00
Uku Taht
3fc1b6d952 Remove tracking 2020-01-22 16:13:27 +02:00
Uku Taht
c96f364ad8
Add and remove recipients for email reports (#28)
* Add and remove recipients for email reports

* Remove unused google_settings controller action

* Background job sends email reports to multiple recipients

* Add a way to unsubscribe for recipients who cannot log in

* Fix view on plausible link

* Include bounce rate in email report
2020-01-22 11:16:53 +02:00
Uku Taht
f97d170eeb Remove trailing slash from google urls 2020-01-20 12:05:09 +02:00
Uku Taht
423db302f7 Only count new visitors in referrer report 2020-01-16 15:40:06 +02:00
Uku Taht
9df398b663 Use group by for grouping tweets 2020-01-16 15:13:03 +02:00
Uku Taht
b02cb74181
Fetch and display tweets (#27) 2020-01-16 13:39:47 +02:00
Uku Taht
94a20fb0a2
Add exit page to sessions (#25) 2020-01-15 11:00:42 +02:00
Uku Taht
9f30e9eb1c
Export main graph as csv (#24)
* Export main graph as csv

* Remove unused deps from mix-lock

* Update bamboo dependency
2020-01-13 15:16:35 +02:00
Uku Taht
0f6d742ae1 Show 6 months instead of 3 2020-01-08 11:25:46 +02:00
Uku Taht
5631367aef Add 'last year' instead of '6 months' 2020-01-08 11:23:03 +02:00
Uku Taht
254d34d0a4 Trim trailing slash from referrer 2020-01-08 10:53:08 +02:00
Uku Taht
29ae3a2c21 Show bounce rate for referrers and pages 2020-01-07 14:53:04 +02:00
Uku Taht
df1ba2cd82 Remove session length from the UI 2020-01-06 15:31:43 +02:00
Uku Taht
980275092d Show bounce rate and session length 2020-01-06 14:36:55 +02:00
Uku Taht
9377a26a5d Fix email reports 2019-12-30 14:52:24 +02:00
Uku Taht
82d7f05e48 Update meta description 2019-12-20 13:57:10 +08:00
Uku Taht
3548c57710 Capture session start 2019-12-20 12:30:29 +08:00
Uku Taht
ddac5685a2 Add unload event to the tracking script 2019-12-18 16:06:01 +08:00
Uku Taht
f7d752988a Add sessions 2019-12-18 15:23:53 +08:00
Uku Taht
a1f61d1a8b Show goals to anon vistitors 2019-11-28 12:44:31 +08:00
Uku Taht
8888c86820 Launch goals & conversions 2019-11-28 12:01:07 +08:00
Uku Taht
3c35ddae6e Fix weekly email reports 2019-11-26 16:35:22 +08:00
Uku Taht
69eba6b0f2 Revert "Track visits to public sites"
This reverts commit 7a9a0f9ea0.
2019-11-26 12:08:33 +08:00
Uku Taht
29404816cb Fix comparison graph for hourly stats 2019-11-26 11:48:27 +08:00
Uku Taht
e17632e363 Remove unused function 2019-11-25 17:27:14 +08:00
Uku Taht
5ee2d908f2 Show conversion rate in the top stats when filtered for goal 2019-11-25 17:17:18 +08:00
Uku Taht
3b533fae21 Compare graph when filtering for goal 2019-11-25 11:37:50 +08:00
Uku Taht
c540c70e87 Show conversion rate when filtering for goal 2019-11-22 16:37:44 +08:00
Uku Taht
4245a6d1bd Fix query shift 2019-11-22 16:08:49 +08:00
Uku Taht
529d4f3018 Fix offset in react 2019-11-21 16:59:06 +08:00
Uku Taht
b5797c8b10 Test getting conversions with a goal filter 2019-11-20 16:54:21 +08:00
Uku Taht
f71f98a521 Test Google referrer drilldown 2019-11-20 16:42:45 +08:00
Uku Taht
7d55cdd2a2 Remove unused code in query 2019-11-20 16:32:00 +08:00
Uku Taht
96abfc4ea1 Click on goal to see conversions for it 2019-11-20 13:48:27 +08:00
Uku Taht
4f23dd1553 Remove dead router code 2019-11-19 22:52:41 +08:00
Uku Taht
a55ffb216d Load Chart.js only for dashboard 2019-11-19 12:43:28 +08:00
Uku Taht
e8f20e67cc
React (#17)
* Load dashboard with react

* Rename stast2 to dashboard

* Save timeframe on the frontend

* Implement current visitors

* Implement comparisons

* React to route changes

* Add modals

* Show number of visitors on hover

* Show 'Today' for today

* Add 30 days

* Show referrer drilldown

* Arrow keys to go back and forward

* Improve comparisons UI

* Fix dropdown when clicking on it

* Verify API access in a memoized fashion

* Test API access

* Test stats through controller

* Move map formatting from stats controller to stats

* Remove unused code

* Remove dead code from query

* Remove dead code from stats templates

* Add stats view test back in

* Render modal inside the modal component

* Implement google search terms

* Add explanation for screen sizes

* Separate dashboard JS from the app js
2019-11-19 12:30:42 +08:00
Uku Taht
eb0c62ce2b Update welcome email 2019-11-18 23:54:15 +08:00
Uku Taht
daaf5ff615 Update the welcome email 2019-11-18 23:49:00 +08:00
Uku Taht
696cc3eb6b Print user name who got a free subscrioption 2019-11-18 16:27:27 +08:00
Uku Taht
10840f9e10 Create free subscriptions 2019-11-18 16:13:54 +08:00
Uku Taht
2d68b6df0f Remove wild \ 2019-11-14 15:40:56 +08:00
Uku Taht
7a9a0f9ea0 Track visits to public sites 2019-11-12 16:16:37 +08:00
Uku Taht
0ae5448a2b Show percentages for most stats 2019-11-06 12:41:06 +08:00
Uku Taht
9f2cdea503 Fix timezone display 2019-11-01 20:38:16 +08:00
Uku Taht
03e6ffaba5 Remove exceptions for beta users 2019-10-31 15:16:08 +08:00
Uku Taht
3031464610 Better explanation for the Goal removal 2019-10-31 14:39:40 +08:00
Uku Taht
0ef068b36e Revert changes to tracking module 2019-10-31 14:38:22 +08:00
Uku Taht
0b96ed3b6c Remove goal name 2019-10-31 14:36:16 +08:00
Uku Taht
71f6ccc73c Add tests for site controller 2019-10-31 14:25:16 +08:00
Uku Taht
bf8443d028 Test goal_conversions function 2019-10-31 14:14:06 +08:00
Uku Taht
c7ed0d54ce Add goals and conversions 2019-10-31 13:39:51 +08:00
Uku Taht
05911f2a20 Add function in SDK to trigger custom events 2019-10-31 12:08:55 +08:00
Uku Taht
d687663b80 Use new /event endpoint for pageviews 2019-10-31 11:49:46 +08:00
Uku Taht
4adfa6bdfa Add tests for untested parts of stats.ex 2019-10-30 14:23:23 +08:00
Uku Taht
c5704c4e09 Add travis and coveralls 2019-10-25 14:30:54 +08:00
Uku Taht
3ea64de42b Add name to events 2019-10-25 14:06:11 +08:00
Uku Taht
0c453be08c Rename pageviews to events 2019-10-24 14:58:17 +08:00
Uku Taht
74ee0a163c Make main graph more friendly on mobile 2019-10-15 15:48:54 +08:00
Uku Taht
7c7bdc6ef6 Proper timestamp 2019-10-15 15:37:55 +08:00
Uku Taht
71edf2c86d Remove unused fields from pageviews 2019-10-15 15:34:41 +08:00
Uku Taht
815ce02136 Add personal Annual plan to plan ids 2019-10-15 12:08:34 +08:00
Uku Taht
b458b5a392 Fix webhook 2019-10-15 11:30:02 +08:00
Uku Taht
1bb756362d Use email if user id is not known 2019-10-15 10:51:43 +08:00
Uku Taht
335da649db Correct email address 2019-10-15 10:33:51 +08:00
Uku Taht
c93c97c458 Remove bcc to uku@plausible.io 2019-10-10 20:32:58 +08:00
Uku Taht
2203dfa093 Improve mobile experience 2019-10-10 13:13:58 +08:00
Uku Taht
370e87ed43 Remove appsignal 2019-10-10 12:27:14 +08:00
Uku Taht
731407f7b2 Configure Google Search Console property 2019-10-10 12:12:15 +08:00
Uku Taht
8d7e86c912 Add open source to page title 2019-10-08 14:56:15 +08:00
Uku Taht
0cdbaca38c Remove climate banner 2019-09-24 11:41:28 +01:00
Uku Taht
dc13e0f228 Set from-address as Plausible Insights 2019-09-23 13:40:12 +01:00
Uku Taht
d4230ce5b6 Remove double minus from email 2019-09-23 13:33:46 +01:00
Uku Taht
e508f0f3fd Add climate strike banner 2019-09-12 18:19:50 +01:00
Uku Taht
a20b5592f7 Show trial timing in navbar 2019-09-11 17:04:37 +01:00
Uku Taht
1417ed1927 Add missing label to form 2019-09-11 16:42:07 +01:00
Uku Taht
2d2cca2b06 Send monthly reports 2019-09-11 16:35:30 +01:00
Uku Taht
ac267c5f69 Manage monthly reports 2019-09-09 12:37:57 +01:00
Uku Taht
17e4dc96ef Rename email settings to weekly report 2019-09-09 12:19:21 +01:00
Uku Taht
12b91ab242 Offer new sites to set up weekly reports 2019-09-10 16:51:34 +01:00
Uku Taht
7b8b48982b Customize email address for email reports 2019-09-10 16:18:17 +01:00
Uku Taht
dfcbf9cc98 Fix typo 2019-09-09 18:10:42 +01:00
Uku Taht
0b753cc851 Improve landing page pricing structure 2019-09-09 17:07:16 +01:00
Uku Taht
123e60eff0 Add more benefits 2019-09-09 16:16:44 +01:00
Uku Taht
4991b696bf Add plus and minus to change pageviews 2019-09-09 15:59:38 +01:00
Uku Taht
68bc3bc5ba terge branch 'email-reports' 2019-09-09 15:19:12 +01:00
Uku Taht
acd04af592 Fix mailto link 2019-09-09 15:17:58 +01:00
Uku Taht
b46cca6bdc Remove bcc from 14 day trial notification 2019-09-09 13:13:55 +01:00
Uku Taht
1da9ba38c9 Hide link from email clients 2019-09-09 13:06:52 +01:00
Uku Taht
1ee5147ffb Add + and - to changes in email report 2019-09-09 12:58:57 +01:00
Uku Taht
cc75974821 Allow user to change email settings from settings page 2019-09-07 15:01:37 +01:00
Uku Taht
5d2b7de30f Cut off graph in the future 2019-09-06 17:44:43 +01:00
Uku Taht
0dd7be2742
Merge pull request #10 from plausible-insights/email-reports
Add weekly email report template
2019-09-06 16:12:12 +01:00
Uku Taht
8397944a11 Only delete google auth if it exists 2019-09-06 10:50:46 +01:00
Uku Taht
7cdf4c4a10 Get vendor auth code from env 2019-09-05 15:23:35 +01:00
Uku Taht
49e71c9f78 Remove flatpickr 2019-09-04 17:30:21 +01:00
Uku Taht
00d02faad0 Show current visitors 2019-09-04 16:08:01 +01:00
Uku Taht
9868392818 Fix Google Search Console white page 2019-09-04 12:40:08 +01:00
Uku Taht
d2855210de Fix bug with screen size 2019-09-04 10:50:56 +01:00
Uku Taht
f3985903b3 Add 7 days as an option 2019-09-03 12:06:06 +01:00
Uku Taht
dc201f0b57 Remember timeframe period for next time 2019-09-02 20:12:30 +01:00
Uku Taht
d065f33bbd Update landing page 2019-09-02 18:52:23 +01:00
Uku Taht
f3dd5d696e Add weekly email report template 2019-09-02 13:11:37 +01:00
Uku Taht
779d64e19a Initial commit 2019-09-02 12:29:19 +01:00