* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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