Commit Graph

833 Commits

Author SHA1 Message Date
Uku Taht
6228995d4f Rate limit login attempts to 5 per minute 2021-05-25 11:32:54 +03:00
Uku Taht
edc77236c7 Some improvements to pagination in dark mode 2021-05-21 16:01:52 +03:00
Uku Taht
2cf0c1a456 Use forwarded header when X-Forwarded-For is missing 2021-05-21 14:57:00 +03:00
Uku Taht
5ee3167786 Add special plan 2021-05-21 12:06:12 +03:00
Uku Taht
f203eba7c0 Deprecate custom domains 2021-05-21 11:30:59 +03:00
Uku Taht
c55450c8d7 Include new testing script 2021-05-20 17:25:57 +03:00
Uku Taht
9d700a059c Include testing script as well 2021-05-19 16:53:29 +03:00
Vignesh Joglekar
5f42141e08
Adds time on page as a top stat when a page filter is active (#1051)
* Adds time on page as a top stat when a page filter is active

* Removes dangling debug statement
2021-05-19 10:21:43 +03:00
Uku Taht
e80fc7bb8e
Tracker script improvements (#1048)
* Use `document.currentScript` to get script host

* Add data-api
2021-05-18 15:24:45 +03:00
Vignesh Joglekar
41e4690116
Adds Time on Page metric to Top Pages report (#1007)
* First pass

Needs more testing & potentially cleanup

* Fixes tests, error handling

* Formatting

* Removes broken test

* Fixes inconsistent test

This was due to Clickhouse setup not inserting the sessions with the exact same timestamp consistently and making the test inconsistent

* Combines `include` param, asyncs time_on_page and bounce_rate

* Fixes CH error when no pageviews exist in period

* Format

* Changelog

* Increases await timeout to accomodate larger data sets

* Improves handling of timeout behavior

* Fixes session-based filtering on time on page queries

* Formatting

* Removes old forced entry page modal from top pages report
2021-05-18 15:14:33 +03:00
Vignesh Joglekar
7f3e55418b
Changes from static tracker script name assignments to dynamic (#786)
Co-authored-by: Uku Taht <Uku.taht@gmail.com>
2021-05-18 11:36:12 +03:00
Zero King
e37b39583c
Add :ok return to CleanEmailVerificationCodes (#1018) 2021-05-14 10:55:08 +03:00
Uku Taht
b2bbe06c90 Show net prices 2021-05-14 10:50:56 +03:00
Uku Taht
d10d8fb7dd Adjust new pricing date 2021-05-13 15:57:20 +03:00
Uku Taht
f16666e374 Localize billing screens 2021-05-13 12:42:01 +03:00
Uku Taht
547e888242 Localize change plan page 2021-05-13 12:16:31 +03:00
Uku Taht
88efccef2f Localize the /upgrade page 2021-05-13 11:59:33 +03:00
Uku Taht
f8e6a32fd8 Add VAT notice to upgrade page 2021-05-12 14:07:20 +03:00
Uku Taht
0e481efafe Use today as change of date 2021-05-11 11:57:33 +03:00
Uku Taht
7c520e16d2 Make discount notices more generic 2021-05-11 11:34:25 +03:00
Uku Taht
1b91909021 Grandfather old plans 2021-05-11 11:32:29 +03:00
Uku Taht
4935a62b22 Use JSON 2021-05-11 11:32:29 +03:00
Uku Taht
d1ef27ec9c Make sure upgrading to unlisted plans works OK 2021-05-11 11:32:29 +03:00
Uku Taht
885b1d271a Refactor current plan data format to make changing it easier 2021-05-11 11:32:29 +03:00
Uku Taht
09df65d5ec Improve password policy 2021-05-10 13:28:47 +03:00
Uku Taht
0fb8f09b41 Fix usage checking job 2021-05-10 12:57:07 +03:00
Uku Taht
e511c9663e
Pagination for sites listing (#994)
* Add simple pagination to sites index page

* Add changelog entry
2021-05-05 16:17:59 +03:00
Uku Taht
503916980e Remove no_limit_ids 2021-05-05 10:57:35 +03:00
Uku Taht
6492b61fa5 Add test for grandfathering 2021-05-05 10:48:42 +03:00
Uku Taht
c3b24342c6 Allow exemption list to be provided in config 2021-05-05 10:45:01 +03:00
Uku Taht
7f9057818d Protect the API endpoint from creating too many sites 2021-05-05 10:39:24 +03:00
Uku Taht
119b9514b2 Add limit of 20 sites 2021-05-05 10:30:05 +03:00
Uku Taht
5efa15f381 Use CF-Connecting-IP when present for remote IP address 2021-05-03 17:30:54 +03:00
Uku Taht
0799138622 Add nil check to hashing 2021-05-03 17:06:36 +03:00
Uku Taht
d30f6def0f Add presence check when unsubscribing from email reports 2021-05-03 16:56:46 +03:00
Uku Taht
cc2a34758c Remove embed support from password-protected shared links 2021-05-03 16:41:49 +03:00
Uku Taht
9d22ff9f94 Add dark styles for settings_visibility
Fixes #945
2021-05-03 16:38:45 +03:00
Uku Taht
07653079e8 Don't fail oban job when provision_ssl_certificates fails 2021-04-28 15:25:30 +03:00
Uku Taht
718aff1bdf Remove x-frame-options from shared link auth request 2021-04-28 14:06:31 +03:00
Uku Taht
6319e7f29d Update email signatures 2021-04-28 10:28:10 +03:00
Uku Taht
5c759dbfed Clean up Ecto changeset code for events 2021-04-27 11:38:56 +03:00
Uku Taht
f185d3736e Add hostname to user id hash 2021-04-27 11:10:37 +03:00
Uku Taht
5c77ec3f5d
Support multiple data-domain values (#968)
* Support multiple `data-domain` values

* Add changelog entry
2021-04-27 10:26:44 +03:00
Uku Taht
eed7990289 Fix join condition 2021-04-26 19:06:45 +03:00
Uku Taht
8d1039b8ce
Upgrades Oban to v2.6.1 (#967)
* Upgrades Oban to v2.6.1

* Use correct clickhouse_ecto
2021-04-26 11:32:18 +03:00
Uku Taht
b107717774
Additional metrics for timeseries API call and CSV export (#952)
* Add `metrics` option to timeseries call

* Add more metrics to csv export

* Add changelog entry
2021-04-23 15:27:50 +03:00
Uku Taht
4b321bdd37 Send user name and email correctly 2021-04-23 14:40:57 +03:00
Uku Taht
70b0184a37 Show sentry error page to capture user feedback 2021-04-23 12:04:26 +03:00
Uku Taht
7982c236c1 Better Sentry tracking 2021-04-23 11:56:41 +03:00
Uku Taht
fbe6ab9b61 Remove AppSignal 2021-04-23 11:42:05 +03:00
Uku Taht
b8baefee3b
Fix weekly report time range (#951)
* Fix weekly report time range

* Update changelog
2021-04-22 12:11:33 +03:00
Uku Taht
75126408f9 New script name 2021-04-21 16:58:05 +03:00
Uku Taht
6ca7425dc9
Send renewal notification for annual subscriptions (#949)
* Add background job to send renewal notification

* Use copy from Marko

* Add expiration email in case the user has cancelled

* Add queue config

* Use correct tag for expiration email
2021-04-21 15:57:38 +03:00
Uku Taht
e1bb436846 Show better error message when changing plans fails 2021-04-19 14:44:17 +03:00
Uku Taht
ef9ce7dbe2 Mix format 2021-04-16 10:15:15 +03:00
Uku Taht
a980a57de5 Use single source of truth for plans 2021-04-16 10:14:45 +03:00
Uku Taht
80c62cfdb2 Fix bad request call 2021-04-15 15:35:15 +03:00
Uku Taht
264b233ca6 Fix shared link creation with password 2021-04-15 15:31:57 +03:00
Uku Taht
edffe64a39 Merge branch 'provision-api' 2021-04-15 12:47:58 +03:00
Uku Taht
70f0657327 Update shared link API 2021-04-15 11:38:44 +03:00
Uku Taht
956e92f161 Change default timezone to Etc/UTC 2021-04-15 11:03:06 +03:00
Uku Taht
70cc25e8cd Increase ssh timeout in certbot call 2021-04-14 15:31:36 +03:00
Uku Taht
6ce7ad4e3f Update ssl provisioning script 2021-04-14 15:04:53 +03:00
Uku Taht
80abfa6ef6 Add validations 2021-04-14 15:04:25 +03:00
Uku Taht
d473accf40 Add API key scopes 2021-04-14 11:45:45 +03:00
Uku Taht
2fc136777c Add unique index to shared link name 2021-04-14 11:45:45 +03:00
Uku Taht
3ed964b45b Add API endpoints for site and shared link creation 2021-04-14 11:45:45 +03:00
Uku Taht
8ae4d46e5b Remove beta notice from the API keys section 2021-04-14 10:40:40 +03:00
Uku Taht
43efb03081 Remove failing DB restore query 2021-04-13 15:49:43 +03:00
Uku Taht
1d892ec890 Add plans 2021-04-13 15:36:54 +03:00
Uku Taht
48be0e3fda Revert "Add UTM tags to login links from email reports"
This reverts commit 091fc423f9.
2021-04-13 12:08:22 +03:00
Uku Taht
091fc423f9 Add UTM tags to login links from email reports 2021-04-13 11:47:01 +03:00
Uku Taht
83a759c60a
Use db-ip lite database for countries (#906)
* Use DBIP database for countries

* Add fake data for geolocation tests
2021-04-12 12:21:07 +03:00
Uku Taht
58cff47b6f
Add name to shared links (#910)
* Add name to shared links

* Add changelog entry
2021-04-06 14:32:38 +03:00
Uku Taht
968d280304 Fix crash when calculating visit duration with 0 sessions 2021-04-05 15:24:42 +03:00
Uku Taht
61676db4a7 Fix crash when querying bounce rate with 0 sessions 2021-04-05 14:56:24 +03:00
Niklaas Baudet von Gersdorff
f0725e2578
fix: truncate username on small screens (#866)
* fix: truncate username on small screens

caveat: adds suffix ' ...' to every (!) username.

* fix: truncate username via CSS

* chore: apply changes to separated layout for header
2021-04-05 10:57:57 +03:00
Tatsuyuki Ishi
d39fbc48c2
Disable self-tracking with self hosting (#907)
* Disable self-tracking with self hosting

* Update CHANGELOG.md
2021-04-02 13:31:30 +03:00
Uku Taht
c97043e191 Add ability to delete account and start over in activate flow
Fixes #581
2021-04-01 10:43:32 +03:00
Uku Taht
ec9134e14f Fall back to placeholder image when favicon request fails
Fixes #798
2021-03-31 17:14:09 +03:00
Uku Taht
e12b9fa42c Use GET instead of POST for logout
Fixes #730
2021-03-31 16:49:05 +03:00
Uku Taht
9ceb251491 Add frontend validation to email report recipients
Fixes #583
2021-03-31 16:26:27 +03:00
Uku Taht
0d07476e32 Add goal page: clear page path when configuring custom event goal
Fixes #796
2021-03-31 16:19:21 +03:00
Uku Taht
4cbebe8ac9 Remove old Sentry code 2021-03-31 11:38:14 +03:00
Uku Taht
3b8fad4942 Upgrade sentry to 8.0 2021-03-30 15:51:05 +03:00
Uku Taht
fa64a73d6e
Upgrade mailer dependency (#899)
* Upgrade mailer dependency

* Changelog
2021-03-30 15:05:08 +03:00
Uku Taht
1d4ae3d16f Fix tests 2021-03-29 14:53:34 +03:00
Uku Taht
e66c0a0aa4 Make tooltip styles more similar 2021-03-29 11:47:57 +03:00
Uku Taht
e315d0cf38
Fix shared link download link (#884)
* Fix shared link download link

* Add test and changelog entry

* Format
2021-03-26 13:48:06 +02:00
Uku Taht
c6309976f1 Fix upgrades 2021-03-26 10:30:52 +02:00
Uku Taht
01538c9907
WIP: add lazy loading for dashboard (#859)
* WIP: add lazy loading for dashboard

* Improve error handling

* WIP

* Implement lazy loading for most reports

* Add lazy loading to conversions
2021-03-25 11:55:15 +02:00
Uku Taht
c4c0bb2095 Various formatting improvements
* Format numbers over 1B
* Show full number when hovering
2021-03-24 12:08:05 +02:00
Uku Taht
2e16cdb15b Use UInt32 2021-03-24 11:52:32 +02:00
Uku Taht
fb64345e92 Format numbers larger than 100m 2021-03-24 11:52:07 +02:00
Uku Taht
3eb2f6d7a8
Add support for sampling (#875)
* Add support for sampling

* Use correct mix package

* Add notice about data sampling
2021-03-24 11:19:10 +02:00
Uku Taht
432ad2a606
Stats API improvements (#826)
* Show hourly data for a day

* Fix aggregations with long periods and comaprisons enabled

* Return Direct / None instead of empty string when missing source

* Fix/Align breakdown query with current queries in the UI

* Show correct number of days for 7d and 30d

* Wrap results of aggregate call in `results`

* Allow breakdown by event:name

* Ensure event:name filter works in all contexts

* WIP

* Add support for custom event props
2021-03-18 11:47:57 +02:00
Uku Taht
06177b84e6 Fix billing usage section 2021-03-17 15:03:41 +02:00
Uku Taht
4ea60f8f1c Add upgrade page for specific plan 2021-03-16 12:03:50 +02:00
Uku Taht
3ff97d27ad Revert to native background colour control 2021-03-16 10:40:25 +02:00
Uku Taht
8ab6edd73f Add max width to embed 2021-03-15 17:00:23 +02:00
Uku Taht
fef3eba0a4
Embed improvements (#839)
* Smoother resizing of the iframe

* Use bodyBackground with iframe-resizer
2021-03-15 15:56:12 +02:00
Victor Truong
c29bcc89b5
Fix typo with "succesfully" (#836) 2021-03-15 11:40:53 +02:00
Uku Taht
57b3b32444 Add frameborder="0" and loading="lazy" to iframe 2021-03-10 15:56:21 +02:00
Uku Taht
844af698ce
Embeddable dashboard (#812)
* Add embedded mode for shared links

* Add test for X-Frame-Options

* Improve embed code generator

* Add changelog entry

Co-authored-by: aymanterra <aymanterra@users.noreply.github.com>
Co-authored-by: Brad Kane <bradkane@users.noreply.github.com>
2021-03-10 14:41:17 +02:00
Uku Taht
d31779b07a Remove unsubscribe link from over limit email 2021-03-04 17:00:44 +02:00
Uku Taht
0ceb539a22 Reduce errors sent to Sentry 2021-03-03 11:36:39 +02:00
Vignesh Joglekar
61c3959626
Fixes goal filters for glob goals (#781)
* Fixes goal filters for glob goals

* Format

* Consolidates goal application
2021-03-03 10:37:18 +02:00
Vignesh Joglekar
b952053cee
Adds same glob patterns as exclusions for pageview goals (#750)
* First Pass - 90% wrong

* Second pass - basically done

* Swaps N+1 for multiMatchAllIndices & friends

* New version of query with just one regex computation

* Slight formatting, basic test

* Updates tests to match master new events

* Changelog

* Adds more sophisticated glob tests
2021-03-02 14:53:03 +02:00
Uku Taht
c7196afa32 Add a filter for exit pages 2021-03-02 12:00:33 +02:00
Uku Taht
cda031d453
Bookmarkable shared links (#752)
* Implement shared links with a static URL

* Separate sessio cookie from shared link cookie
2021-03-02 11:15:43 +02:00
Vignesh Joglekar
752236a429
Adds proper dark styles for API key issuance page (#771) 2021-03-02 10:21:36 +02:00
Uku Taht
7fe50c3ef2 Fix check_usage 2021-03-01 16:52:26 +02:00
Bhavin Gandhi
1bad9b0c50
Use auto generated copyright year (#762)
Signed-off-by: Bhavin Gandhi <bhavin7392@gmail.com>
2021-03-01 10:15:59 +02:00
Uku Taht
9db24f54d5 Enable over limit notifications 2021-03-01 10:11:49 +02:00
Vignesh Joglekar
ff32218bd0
Adds entry and exit pages to Top Pages module (#712)
* Initial Pass

* Adds support for page visits counting by referrer

* Includes goal selection in entry and exit computation

* Adds goal-based entry and exit page stats, formatting, code cleanup

* Changelog

* Format

* Exit rate, visit duration, updated tests

* I keep forgetting to format :/

* Tests, last time

* Fixes double counting, exit rate >100%, relevant tests

* Fixes exit pages on filter and goal states

* Adds entry and exit filters, fixes various bugs

* Fixes discussed issues

* Format

* Fixes impossible case in tests

Originally, there were only 2 pageviews for `test-site.com`,`/` on `2019-01-01`, but that doesn't make sense when there were 3 sessions that exited on the same site/date.

* Format

* Removes boolean function parameter in favor of separate function

* Adds support for queries that use `page` filter as `entry-page`

* Format

* Makes  loader/title interaction in sources report consistent
2021-02-26 11:02:37 +02:00
opdroad
98afadcb6d
Fix invisible text in dark mode (#759)
* Fix invisible text in dark mode

* Fix invisible text in dark mode

Co-authored-by: Joris <desktop@joris.biz>
2021-02-26 10:46:52 +02:00
Uku Taht
8a455dd191
Prevent user id collisions in session tracking (#744) 2021-02-26 10:42:19 +02:00
Uku Taht
65ac83f2ff Add notice about whether a subscription is yearly 2021-02-25 11:55:56 +02:00
Uku Taht
54b6acf6b0 Fix formatting of over limit email 2021-02-23 12:07:37 +02:00
Uku Taht
3c4931598b Fix breakdown call 2021-02-22 14:55:42 +02:00
Uku Taht
a29ac44434
Api improvements (#723)
* Require date parameter with custom period

* Validate format of the `date` param with custom period

* Return proper status codes for auth failures

* Add breakdown endpoint

* Fix pagination

* Add API validations for breakdown call

* Change the breakdown endpoint to return an object instead of an array

* Remove change to aggregate call

* Change timeseries call
2021-02-22 10:21:25 +02:00
Uku Taht
2bab36a438 Add usage checking to cron 2021-02-19 15:15:56 +02:00
Uku Taht
9eff6b03ed Send test billing upgrade notifications 2021-02-18 15:46:58 +02:00
Uku Taht
76d8dc588c Get paddle last payment from api call 2021-02-18 11:26:35 +02:00
Uku Taht
a8cb187e8d
Track billing cycles (#697)
* Add dummy check usage worker

* Add and persist last_bill_date

* Remove name clash

* Correct timing and suggestions for over limit emails

* Fix tests for trial upgrade notifications
2021-02-12 10:17:53 +02:00
Uku Taht
77628d04c9
Validate API query params (#703)
* Add validations for `date`, `period` and `metrics` variables

* Validate interval query parameter
2021-02-10 16:27:58 +02:00
Uku Taht
9453209023 Fix custom date format
Fixes #691
2021-02-08 17:17:03 +02:00
Uku Taht
45370824b1 Make API key management look good on dark mode 2021-02-05 11:48:20 +02:00
John Schmidt
ff1710591d
fix github icon color in dark mode (#672) 2021-02-05 11:24:33 +02:00
Uku Taht
5acb5b7039
Stats API (#679)
* WIP

* Add ability to filter by anything

* Add API keys

* Add version to api endpoint

* Fix API test route

* Fix API tests

* Allow 'date' parameter in '6mo' and '12mo'

* Rename session -> visit in API filters

* Filter expressions in the API

* Implement filters in aggregate call

* Add `compare` option to aggregate call

* Add way to manage API keys through the UI

* Authenticate with API key

* Use API key in tests
2021-02-05 11:23:30 +02:00
Uku Taht
8a815f57af Fix settings screen for large subscriptions 2021-01-29 10:08:36 +02:00
Uku Taht
bc44879bf8 Cascade site_membership deletion 2021-01-28 10:37:44 +02:00
Jon Uhlmann
8516e2c458
Fix: Re-add hash and outbound-links only options 2021-01-26 11:39:43 +01:00
Theodoor
2bd2adbb74
fix(register): disallow registration when registration is disabled (#640)
* fix(register): disallow registration when registration is disabled

* fix(register): moved disabling of registration logic to router

* Revert "fix(register): moved disabling of registration logic to router"

This reverts commit 9d7222d1
2021-01-26 11:44:48 +02:00
Uku Taht
d5a055797b Do not show changelog notification in selfhost mode 2021-01-26 11:17:52 +02:00
Uku Taht
a5ac5ddd16 Show changelog notification 2021-01-26 10:32:03 +02:00
Vignesh Joglekar
fb7a3fef89
Adds data-exclude support and localStorage.plausible_ignore support (#489)
* Adds data-exclude support and plausible_ignore support

* Splits exclusion into separate script option

* localStorage parsing upgrades

* Additional script type additions

I'm unsure about the formatting decision in tracker.ex - lmk.

* Adds new compiled files

This will certainly have conflicts with my other PRs related to the tracking scripts right now, I'll make one extra PR after both are done to ensure they're consolidated into the compiled scripts.

* Moves localStorage blocker out of special script

* Changelog

* Second thoughts on localStorage exclusion

* Updates `*` to not match `/` or whitespace

* Fix formatting

* Removes zero-length asterisks

* Adds support for double glob, zero-length replacements

* Update to reduce size+allow localStorage exclude

Co-authored-by: Uku Taht <Uku.taht@gmail.com>
2021-01-22 13:32:40 +02:00
Uku Taht
cb3e401dce Revert "Add Comparison Line and Improved Tooltip to Visitors Graph (#624)"
This reverts commit 979d2526d5.
2021-01-21 14:42:55 +02:00
Uku Taht
cfd439fd71 Clarify site creation copy 2021-01-20 16:16:33 +02:00
Sean Hill
53660ad18a
Visual updates to user dropdown and 'My sites' header (#623)
* Change datepicker caret from pink to indigo

* Update CHANGELOG.md

* Update CHANGELOG.md

* Updated filters dropdown caret/chevron to indigo

* Updated “My Sites” header and user name dropdown hover background

* Removed changlog note
2021-01-20 15:54:51 +02:00
Vignesh Joglekar
979d2526d5
Add Comparison Line and Improved Tooltip to Visitors Graph (#624)
* First pass

* Title Section of Tooltip+Formatting

* Cleanup, Formatting, Rest of Tooltip

* Fixes bug in "month" calculate_plot

Bug: where calculate_plot on "month" didn't correctly use the end date in the date range, and instead always used the current time - making requesting past chunks of 6 or 12 month data impossible

* Cleanup + Comments

* Cleanup+Percentage Formatting Changes

* Fixes Realtime Tooltip

* Prevent FE Crash

* Minor format, code cleanup

* Removes erroneous changes

* Github UI is bad at indenting
2021-01-20 15:49:39 +02:00
Uku Taht
5220f98476 Fix custom domain conditional 2021-01-19 22:56:36 +02:00
Vignesh Joglekar
d339fea686
Update References (#619) 2021-01-19 15:40:01 +02:00
Uku Taht
a4bf74a84c Do not allow duplicate spike notification to be created 2021-01-19 11:41:15 +02:00
Uku Taht
e02377509c Add 10m, 20m plan 2021-01-19 10:36:02 +02:00
Todd Resudek
888a54869b
#497 UX improvement - show my sites cog without hover on small screens (#600)
* uses tailwind breakpoint to not apply the opacity:0 to the cog on small screen sizes (<768px wide)

* Adds feature description to changelog

Co-authored-by: Uku Taht <Uku.taht@gmail.com>
2021-01-15 17:07:34 +02:00
Uku Taht
e7a7deef84
Clarify that custom events are billed separately from events (#607)
* Clarify that custom events are billed separately from events

* Fix for dark mode
2021-01-15 16:28:57 +02:00
Uku Taht
44fdef4669 Add notice about www 2021-01-15 11:29:10 +02:00
Uku Taht
e873d790e5
Self hosted improvements (#603)
* Introduce SELFHOST config. Enable cron by default for self hosters

* Fix cron, disable custom domain for selfhost

* Add github links

* Add notice about google search console on self hosted

* Enfore BASE_URL

* Set all selfhost users' trial expiry to 100 years from now

* Fix admin user creation
2021-01-15 10:12:00 +02:00
Uku Taht
563c8d99f4 Fix new configuration 2021-01-13 17:04:01 +02:00
Uku Taht
e786af648d
Fix session duration for out-of-order events (#593) 2021-01-13 11:50:09 +02:00
Oliver Kriska
4d4f8ba5c3
Elixir & Docker upgrade (#566)
* Elixir upgrade

 - upgraded Elixir to 1.11.2
 - upgraded Erlang to 23.2.1
 - upgraded Phoenix to 1.5.7
 - Upgraded:
  bamboo_postmark 0.6.0 => 0.7.0 (minor)
  bcrypt_elixir 2.2.0 => 2.3.0
  csv 2.3.1 => 2.4.1
  ecto 3.4.6 => 3.5.5
  ecto_sql 3.4.4 => 3.5.3
  elixir_make 0.6.0 => 0.6.2
  ex_machina 2.4.0 => 2.5.0
  excoveralls 0.12.3 => 0.13.4 (minor)
  file_system 0.2.8 => 0.2.10
  gettext 0.18.0 => 0.18.2
  httpoison 1.6.2 => 1.7.0
  nanoid 2.0.2 => 2.0.5
  phoenix_ecto 4.1.0 => 4.2.1
  phoenix_live_reload 1.2.2 => 1.3.0
  postgrex 0.15.5 => 0.15.7
  sentry 7.2.4 => 7.2.5
  timex 3.6.2 => 3.6.3
  tzdata 1.0.3 => 1.0.5
  yamerl 0.8.0 => 0.8.1

* Elixir & Docker upgrade

upgraded to 1.11.3

* Docker

 - fixed missing python3 package for newer Alpine linux
2021-01-13 10:31:16 +02:00
Uku Taht
e5ab45eb09 Fix layout issue on Safari 2021-01-11 16:58:40 +02:00
Uku Taht
564d07ec61 Show interval for free_10k 2021-01-08 17:02:13 +02:00
Uku Taht
a5135d34fa Add subscription info to admin panel 2021-01-08 15:47:26 +02:00
Uku Taht
e692afc20e Search sites by their members 2021-01-08 15:36:26 +02:00
Uku Taht
c4d7b5ae05 Fix user admin 2021-01-08 15:33:30 +02:00
Uku Taht
f0fa483501 Use marko's real email address for testing 2021-01-08 11:08:51 +02:00
Uku Taht
97df923c7f Do not allow logged out users to access crm 2021-01-07 16:53:29 +02:00
Uku Taht
229c51def4
In app release notes (#554)
* Remove warning

* Add in-app release notes

* Update changelog url
2021-01-07 15:22:51 +02:00
Oliver Kriska
ae42b86792
Dialyzer and Credo checks (#558)
* Checks

 - added Dialyzer
 - fixed Dialyzer errors
 - added Dialyzer check to GitHub Actions with cache
 - added Credo
 - fixed Credo Warnings
 - added Credo Warnings check to GitHub Actions with cache
 - added compile warnings check to GitHub Actions
 - reformated GitHub Actions YAML

* Dialyzer

 - allow it in test env

* Dialyzer

 - fixed test env
 - renamed GitHub actions steps

* AppSignal

 - upgraded deprecated version
 - Upgraded:
  appsignal 2.0.5 => 2.0.7
  certifi 2.5.2 => 2.5.3
  hackney 1.16.0 => 1.17.0
  idna 6.0.1 => 6.1.1
  parse_trans 3.3.0 => 3.3.1
  unicode_util_compat 0.5.0 => 0.7.0 (minor)

* Credo

 - fixed CRM plug
2021-01-07 15:16:04 +02:00
Uku Taht
650378f367
Add CRM for admin emails (#557) 2021-01-07 10:42:45 +02:00
Uku Taht
267e4042e3 Fix plan changes 2021-01-06 11:57:53 +02:00
Uku Taht
4715c88308 Remove warning 2021-01-05 15:17:50 +02:00
Uku Taht
4ba5fb5ead
Add cache for user-agent strings (#547) 2021-01-04 16:38:56 +02:00
Uku Taht
64a5b22e8c Add :ok return to spike notifier
Fixes #517
2020-12-29 15:23:24 +02:00
Uku Taht
81c12884cd
Add elixir action (#526)
* Add elixir action

* Format the codebase

* Add postgresql

* Postgres config

* Run postgres on localhost

* Add clickhouse to CI
2020-12-29 15:17:27 +02:00
Vignesh Joglekar
8174f1d135
Mobile/Filter Overflow UX Improvements (#503)
* Initial Implementation

Still needs clear all functionality, various styles and spacing, and overall cleanup

* Second pass

Most of the styling issues are still present, but collapsing/expanding logic should be complete

* Third pass

* Refactors, comments, cleans up filters code

* Flatpickr color+placement changes

* Last(?) pass on UI

* Actually fixes sticky dates without breaking navigation

* Changelog

* Puts this back where it goes

* Updates based on @ukutaht's comments

- Removes Screenclass hook in favor of simple viewport size storage
- Uses class-based component
- Removes recheck variable in favor of tri-state wrapped
- General formatting & code cleanup
2020-12-29 11:00:41 +02:00
Uku Taht
f9373e4d21 Convert datetime to date
Fixes #518
2020-12-29 10:22:12 +02:00
Uku Taht
1a87013514 Add ability to resend activation codes 2020-12-28 17:20:35 +02:00
Uku Taht
9f1eac005e Fixes calls to Query.shift_back/2 2020-12-23 11:18:45 +02:00
Vignesh Joglekar
55ecbbe04f
Typo (#502) 2020-12-23 10:42:56 +02:00
Vignesh Joglekar
e2599ffcc1
Changes "This Month" view to Month-to-date for current month (#491)
* Initial MTD

* Adds FE support

* Removes broken Day to Time, debug statements

* Changelog

* Cleans up conditional
2020-12-23 10:42:22 +02:00
Uku Taht
49c4ec2e9c Encode site domain when redirecting a shared link
Fixes #376
2020-12-22 17:37:45 +02:00
Vignesh Joglekar
f776c6bb30
Improves realtime top stats and conversion rate calculation (#500)
* Fixes goal conversion rate when period is realtime

* Adds unique visitors (30m) to realtime top stats

* Changelog

Co-authored-by: Uku Taht <Uku.taht@gmail.com>
2020-12-22 15:54:41 +02:00
Uku Taht
b7827fee6a Increase postmark timeout 2020-12-22 15:50:25 +02:00
Uku Taht
5dcb329744
Fix sessions bug (#496)
* Add sitekey to captcha

* Remove appsignal decorators

* Fix session write buffer
2020-12-21 14:37:39 +02:00
Vignesh Joglekar
d3f7c94ebe
Adds "Load More" functionality to pages modal (#480)
* Initial Feature Commit

* Changelog
2020-12-17 11:35:27 +02:00
Vignesh Joglekar
e98558fc2d
Extends "logged_in" cookie to 5000 years (#485) 2020-12-17 11:24:02 +02:00
Vignesh Joglekar
425975efec
Adds dark mode to entire dashboard (#467)
* Adds New Dark Mode Assets

* Moves triangle for dropdown to a reasonable position

* Majority .eex dark implementation

* Fixes Logo Positioning

* Adds theme flag to user schema, uses it

* Uses correct variables for theme applicator script

* Minor missed theme changes/fallbacks

* Individual Component Support + Theme Context

* Sources Tab Support

This was a pain to test D:

* Partial Stats Sections Support

* More of stats modules supported

* Modal +table support

* Improves some Flatpickr in light theme, supports dark theme

* Fixes missed settings tab colors

* Finishes Devices module support

* Fixes bar graph colors

* Better colorizes maps module

* Undoes colorized bars

(they looked bad, on second thought)

* Fixes loading indicator

* Finishes conversions module

* Adds changelog entry

The PR number could be wrong, will double check

* Fixes missed header color

* Fixes naming of migration and removes static alter

* Does migration correctly

As I said, my Elixir is pretty weak heh

* Adds support for spike notifications setting

* Improves contrast and visibility for email settings

* Resolves @ukutaht's comments on #467

* Fixes missing dark style

* Found one more missed dark element (shared links)

* Formatting fixes
2020-12-16 11:57:28 +02:00
Mackenzie
a50fd555cf
Prevent choosing a date before site was added in datepicker (#477)
Fixes #446
2020-12-16 11:52:47 +02:00
Uku Taht
9c4493de66 Send welcome email after first site creation 2020-12-15 12:09:03 +02:00
Uku Taht
aa7ae87811
Onboarding UX improvements (#441)
* WIP

* Actually activate the user

* Send email verification codes

* Send activation code with email

* Only show onboarding steps during first site creation

* Add worker to config

* Consistent form styles

* Send welcome email when user activates account

* Add changelog entry

* Use https in new site form

* Correct spelling in email
2020-12-15 11:30:45 +02:00
Uku Taht
3142e8e190 Add Appsignal instrumentation 2020-12-14 16:06:43 +02:00
Uku Taht
39e90a2c76 Update spike email 2020-12-14 10:29:10 +02:00
Uku Taht
acce144809 Show noref in notification email 2020-12-11 17:03:25 +02:00
Uku Taht
7f9525e805 Only send sources when there are sources to send 2020-12-11 17:03:25 +02:00
Uku Taht
49c3fa5650 Improve email styling 2020-12-11 17:03:25 +02:00
Uku Taht
35e4051016 Add more information to spike email 2020-12-11 17:03:25 +02:00
Uku Taht
f35ef2e0b1 Add settings UI for spike notifications 2020-12-11 17:03:25 +02:00
Uku Taht
f9a7e0d374 Remove unused schema functions 2020-12-11 17:03:25 +02:00
Uku Taht
11c9bdc328 Make sure a notification is not sent again within 12 hours 2020-12-11 17:03:25 +02:00
Uku Taht
54f70717c4 Add basic spike notifications
Co-authored-by: Jerod Santo <jerod@changelog.com>
2020-12-11 17:03:25 +02:00
Uku Taht
b24da98aee Add appsignal 2020-11-27 16:11:07 +02:00
Uku Taht
a92bca2c86 Fix sites list when user has no sites 2020-11-27 10:27:47 +02:00
Uku Taht
d879ef8458 Fix error handling for goals
Fixes #431
2020-11-27 09:54:29 +02:00
Uku Taht
00d39c5c13 Halt when redirecting to settings 2020-11-26 16:01:14 +02:00
Uku Taht
472889083d Order sites alphabetically 2020-11-26 10:19:26 +02:00
Uku Taht
8369f8d94f Add settings links on hover 2020-11-25 15:29:08 +02:00
Uku Taht
b5eae4ca76 Add nicer grid list for sites 2020-11-25 14:54:23 +02:00
Uku Taht
d27dad7299 Count Opera Mobile as Opera 2020-11-23 11:09:21 +02:00
Uku Taht
c7a21440a8 Fix spacing 2020-11-20 12:10:33 +02:00
Uku Taht
7b93d20221 Setup correct redirects 2020-11-20 12:05:11 +02:00
Uku Taht
cb8424b441 Fix tabs in mobile view 2020-11-20 11:57:33 +02:00
Uku Taht
ce77e3c939 Remove suggestion to contact support 2020-11-20 11:01:03 +02:00
Uku Taht
06e082ab23 Merge snippet in genral 2020-11-20 10:22:17 +02:00
Uku Taht
1579fd8bc6 Separate public dashboard and shared links 2020-11-20 10:19:28 +02:00
Uku Taht
6d35a4ffbf Update copy on general 2020-11-19 15:58:43 +02:00
Uku Taht
520ff286cd Add documentation links 2020-11-19 15:56:03 +02:00
Uku Taht
6911a983b7 Update styling of forms 2020-11-19 14:57:55 +02:00
Uku Taht
eca27283c1 Update TailwindCSS to 2.0 2020-11-19 14:34:37 +02:00
Uku Taht
b0bd564b56 Create unified template for settings 2020-11-19 14:34:37 +02:00
Uku Taht
d046773328 WIP 2020-11-19 14:34:37 +02:00
Uku Taht
0e667baaa9
Merge pull request #426 from gzuidhof/patch-1
Add Cross-Origin-Resource-Policy header to script
2020-11-19 10:56:01 +02:00
Uku Taht
d71e40f16f Validate domain format on site creation 2020-11-19 10:52:08 +02:00
Uku Taht
19a9e314fc Accept anything in prop value as long as it can to_string 2020-11-18 14:53:43 +02:00
Guido Zuidhof
2b1dcd99d3
Add Cross-Origin-Resource-Policy header to script
Hey Plausible devs,

I am trying to embed the `plausible.js` onto a page that has the [`require-corp`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy) header set, which means that for every resource that is loaded they must be clearly marked as cross-origin OK.

The tracker script response currently doesn't have that header set, so I can't load it right now. This would solve that.
2020-11-18 07:30:43 +01:00
Uku Taht
b0b5d92f6e Fix URL decoding 2020-11-17 14:40:22 +02:00
Gustavo Maronato
568f8fa8ab
Display domain's favicon on the home page (#407)
* Add domain icons to domain list

* update changelog
2020-11-11 11:35:42 +02:00
Uku Taht
d0d7b823f8
Browser and OS version (#397)
* Collect browser and OS version

* Display browser version

* Show operating system versions

* Device categorization

* Treat headless chrome like a bot

* Ignore events from automated browsers

* Only take major and minor of the version

* Add tests

* Add CHANGELOG entry

* Add changelog entry for bots

* Store empty value as browser when unknown
2020-11-10 15:18:59 +02:00
Uku Taht
039480a0d1 Fix bug when filtering for goal and session prop 2020-11-06 13:59:45 +02:00
Uku Taht
65befd751a Make sure removing email report offer doesn't inflate cookie 2020-11-06 13:34:57 +02:00
Uku Taht
d206ec85cf Add user email to notification 2020-11-05 10:02:18 +02:00
Uku Taht
8020e93052 Linkify custom props 2020-11-04 13:35:05 +02:00
Uku Taht
7685239204 Fix tracker plug configuration 2020-11-03 11:35:08 +02:00
Uku Taht
0a7684f3bc Mix format 2020-11-03 11:20:11 +02:00
Uku Taht
f0cbf33d7c
Add tracker feature to automatically track outbound links (#389)
* Add tracker feature to automatically track outbound links

* Precompute templates and allow aliases

* Fix /js/analytics.js

* Remove change to tracking code

* Update CHANGELOG
2020-11-03 11:09:50 +02:00
Uku Taht
b816d92020 Show conversion rates in conversions report 2020-10-30 11:26:16 +02:00
Uku Taht
0b6e645b44
Rename metadata -> properties (#390) 2020-10-30 10:49:41 +02:00
Uku Taht
ff515c641d
Improve event metadata (#385)
* Change from dropdown to tabs for metadata breakdown

* Add meta filter to base_query

* Refactor: use base_query_w_sessions in top_referrers_for_goal

* Do not allow individual metadata filter

* Fix conversions report when combining 3 filters: goal, metadata, country

* Remember selected metadata key

* Compress conversions component
2020-10-29 15:33:37 +02:00
Uku Taht
40900c7653
Ability to add event metadata (#381)
* Ability to add event metadata

* Close Dropdown on outside click

* Show (none) value in metadata breakdown

* Allow filtering for metadata key/val pairs

* Use correct clickhouse_ecto

* Better naming for meta filter

* Add tests

* Add changelog entry

* Remove change made for testing
2020-10-28 11:09:04 +02:00
Uku Taht
c533562eaa
Show correct stats when filtered for goal (#374)
* Show proper stats when filtered for goal

* Add changelog entry
2020-10-20 11:24:20 +03:00
Uku Taht
dd44bc803d
Do not error when activating an account that already exists (#370)
* Do not error when activating an account that already exists

* Add changelog entry
2020-10-16 15:48:22 +03:00
Uku Taht
e228fd1f85
Additional filters (#358)
* Filter by screen size

* Filter by browsers

* Add filter for Operating system

* Add changelog entry

* Add filter for countries

* Add tests for filters
2020-10-13 12:03:42 +03:00
Uku Taht
ceaf39c2b5
Start all apps when creating DB (#355)
* Start all apps when creating DB

* Add changelog entry
2020-10-13 10:18:31 +03:00
Uku Taht
ead4a7d560
Release selfhosted (#341)
* Optimize Dockerfile

* Update selfhosting documentation

* Remove unnecessary files

* Remove internal config stuff

* Update config

* WIP

* Use BASE_URL instead of HOST and SCHEME

* Add port to endpoint url config

* Make config/config.exs on par with config/releases.exs

* Add changelog entry

* Document configuration change
2020-10-05 15:01:54 +03:00
Preslav Rachev
431c02ad58
#332: Refactor stats controller (#337)
* #332: Refactor stats controller

* Simplify the conditional logic
2020-10-02 12:02:32 +03:00
Uku Taht
8d9667a949
Show utm_medium, utm_source, and utm_campaign in sources modal (#321)
* Show utm_medium, utm_source, and utm_campaign in sources modal

* Allow filtering by UTM tags

* Integrate filters with URL bar

* Add CHANGELOG entry

* Refresh modal when filter changes

* Remove Direct / None from campaign results

* Add UTM tabs to top sources report

* Add pagination

* Remove dropdown from top sources popup

* Fix bug in clickhouse_ecto

* Remove referrers_for_goal

* Make sure UTM tags work OK with goals

* Make source tab selection sticky

* Consistent styling for devices and source tabs

* Add noref in realtime to utm tabs

* Fix tests
2020-09-28 11:29:24 +03:00
Marko Saric
924c96f0a5
Update _footer.html.eex 2020-09-24 15:53:30 +02:00
Jake Howard
d04d1bae83
Link to docs site rather than current instance (#322)
* Link to docs site rather than current instance

Self-hosted instances don't serve the docs site anymore, correctly.

* Remove accidental wrapping
2020-09-23 14:47:48 +03:00
Uku Taht
21039de5e2 Fix goal name display in pageview goals 2020-09-21 10:52:05 +03:00
Uku Taht
9ad2075d6f Send confirmation email when user cancels their subscription 2020-09-18 15:35:21 +03:00
Uku Taht
122dd94327
Store utm_medium, utm_source, and utm_campaign (#318) 2020-09-18 11:37:32 +03:00
Uku Taht
4b36bb7138
Use clickhouse_ecto for db connection (#317)
* Use clickhouse-ecto for stats

* Use clickhouse ecto instead of low-level clickhousex

* Remove defaults from event schema

* Remove all references to Clickhousex

* Document configuration change

* Ensure createdb and migrations can be run in a release

* Remove config added for debug

* Update plausible_variables.sample.env
2020-09-17 16:36:01 +03:00
Uku Taht
645404e7ca Remove mention of ad-blockers in settings 2020-09-17 11:19:53 +03:00
Uku Taht
e23298bd7c Show 3 rows in snippet 2020-09-17 11:16:00 +03:00
Uku Taht
d7e1ba9da7 Fix typo in account settings 2020-09-17 11:06:27 +03:00
Uku Taht
e5fae1722b Fix trial information being included for subscribed users 2020-09-11 14:04:34 +03:00
Uku Taht
57c73e7174 Add notice about cloudflare in custom domains 2020-09-10 11:30:57 +03:00
Uku Taht
26da5f2218 Include flatpickr CSS in our own bundle 2020-09-10 10:51:14 +03:00
Uku Taht
49f153c380
Paginate referrers (#313)
* Add pagination for referrers

* Fix top referrers for goal
2020-09-10 10:42:43 +03:00
Uku Taht
33bf8e8b4d
Add 'This month' and 'Last month' options (#312)
* Add 'This month' and 'Last month'

* Remove 60d option

* Make datpicker transition similar to site switcher
2020-09-09 11:13:55 +03:00
Uku Taht
b930b82752 Do not fail when trial email errors 2020-09-03 11:52:02 +03:00
Uku Taht
9feda6a3d3
Add HCaptcha support (#304)
* Add HCaptcha support

* Actually verify password reset requests

* Fix password request when captcha not configured

* Add configuration for prod release
2020-08-28 15:00:16 +03:00
Uku Taht
4aa4dfdcaf
Hash mode (#299)
* Build tracker with hash mode

* Extract hash fragment in hash mode

* Serve new hash-based tracker
2020-08-25 10:56:36 +03:00
Uku Taht
d30f17c807
Extract utm_source on the server side (#298)
* Extract utm_source on the server side

* Build tracker scripts
2020-08-24 16:32:24 +03:00
Uku Taht
1519359bbf
Makes the tracker and its payload smaller (#296) 2020-08-24 15:16:07 +03:00
Uku Taht
76896f7cee
Show total conversions in addition to uniques (#294) 2020-08-20 14:57:49 +03:00
Uku Taht
01ef17abb0
Make sure all future URLs and sources are decoded (#292) 2020-08-19 15:02:16 +03:00
Uku Taht
6502c1615c Fix error with unset variable 2020-08-19 14:43:32 +03:00
Uku Taht
b749889279 Rename Active visitors -> Current visitors
For consistency
2020-08-18 14:27:54 +03:00
Uku Taht
43b56d6e61
Clarify subscription (#289)
* Add billing interval to subscription page

* Add test for subscription interval
2020-08-18 14:00:02 +03:00
Uku Taht
248d43ee47
Add page after upgrading to paid plan (#288) 2020-08-18 12:48:01 +03:00
Uku Taht
503dc60b30 Rename Total visitors -> Unique visitors 2020-08-17 16:35:55 +03:00
Uku Taht
fcae2620f2 Add status and forum to footer 2020-08-17 16:32:25 +03:00
Uku Taht
43ec88df60 Fix argument name typo 2020-08-17 16:02:58 +03:00
Uku Taht
9100bbf59d Do not error when api token refresh fails 2020-08-17 15:45:23 +03:00
Uku Taht
470216f2d8 Use updated auth in Google data 2020-08-13 14:13:49 +03:00
Uku Taht
ff64fccb18
Add site switcher (#281)
* WIP

* Add site switcher

* Run ci

* Highlight active site

* Do not show sites dropdown for logged out users

* Add site switcher to realtime view

* Remove blue border when logged out
2020-08-13 13:45:18 +03:00
Uku Taht
74b74a271e Fix configuration for firewall 2020-08-11 13:52:03 +03:00
Uku Taht
3a1c9e67cd Add ability to block certain IP addresses 2020-08-11 11:04:26 +03:00
Uku Taht
42ea7fe682 Fix subsciption cancel link 2020-08-11 10:39:57 +03:00
Uku Taht
8aa7e17f98 Fix typo 2020-08-11 10:39:57 +03:00
Uku Taht
0a2a2656aa
Page drilldown (#276)
* WIP

* Add filter option for page

* Use JOIN to get correct top numbers

* Filter google search terms by page

* Allow filtering by page from modal

* More robust base url for google search console integration

* Fix tests
2020-08-10 16:16:12 +03:00
Chandra Tungathurthi
c765cbf886
Sefhosting improvements/fixes (#275)
* 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>

* removed stale templates and permanently removed landing page

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

* WIP

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

* fixes form upstream merge

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

* added disabling subscription for selfhosted version

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

* updated doc

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

* formatting

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

* Remove reference to file that doesn't exist

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

* do not show direct traffic if there's no data

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

* addressing PR comments

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

* formatting

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

* Fixing broken links

- relative paths replaced with paths to cloud version
2020-08-10 11:14:20 +03:00
Uku Taht
1dd86204e1 Fosstodon -> Mastodon 2020-08-05 15:45:29 +03:00
Jake Howard
5e7044fe2c
Sort screen sizes by count (#269)
* Sort screen sizes by count

Sorting by a fixed list does make quick referencing slightly easier, but having them ordered looks much nicer, as the other tabs are also ordered.

* Add missing comma
2020-08-05 15:44:04 +03:00
Uku Taht
f781c5647c
Direct traffic improvements (#268)
* Direct traffic improvements

* Make sure an empty icon shows always

* Enable direct traffic drilldown
2020-08-05 14:45:20 +03:00
Uku Taht
0c947d2dc6
Add flags to prorate and bill immediately when changing plans (#271) 2020-08-05 14:31:25 +03:00
Felix Krull
f05dbe1a21
Fix init_admin and self-hosted sample vars (#262)
* Fix init_admin

* Fix DB url in sample vars
2020-08-04 15:21:43 +03:00
Uku Taht
b45e6aa3bb Add unubscribe link to transactional emails 2020-08-04 12:44:54 +03:00
Uku Taht
ac92fe4f3d Test postmark unsubscribe tag 2020-08-04 11:48:56 +03:00
Uku Taht
4fec432f83 Fix 'Learn more' link in live demo
Closes #264
2020-08-04 11:46:01 +03:00
Uku Taht
e2e901df98
Fix realtime conversion report (#260) 2020-08-03 15:56:14 +03:00
Uku Taht
ea504217c0
Escape single quote in CH query (#258) 2020-07-30 12:02:21 +03:00
Uku Taht
99bc20a8b3
Referrer drilldown (#252)
* Referrer drilldown

* Render external links for referrer drilldown modal

* Rename top pages to entry pages

* Add google keywords to referrer drilldown

* Fix link in source modal

* Remove back link from referrer drilldown

* Fix tests

* Mix format

* Remove unused function

* Get top stats from the events table

* Revert "Get top stats from the events table"

This reverts commit 67384e2d35.

* Fix pages modal title

* Improve pages report in referrer drilldown

* Fix label in referrer drilldown
2020-07-30 11:18:28 +03:00
Uku Taht
4cd9dd5e2d Use clean URL in email report unsubscribe link 2020-07-28 14:51:09 +03:00
Jake Howard
ff9e4b444b
Create the admin user as a separate command (#233)
This means the migrations can always be run on startup, meaning the database won't get out of sync with the running application. It also means users who don't set the credential variables in their compose files don't keep creating admin users every time the application starts.
2020-07-28 14:11:02 +03:00
Uku Taht
d266cfd60a
Remove comparison line (#232)
* Fix svg attributes in React

* Remove comparison line on visitor graph
2020-07-21 10:30:03 +03:00
Chandra Tungathurthi
f7b37fe9ea
Selhosted version Improvements and additional features (#209)
* 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>

* removed stale templates and permanently removed landing page

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

* WIP

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

* fixes form upstream merge

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

* added disabling subscription for selfhosted version

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

* updated doc

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

* formatting

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

* Remove reference to file that doesn't exist

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

* do not show direct traffic if there's no data

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

* addressing PR comments

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

* formatting

Signed-off-by: Chandra Tungathurthi <tckb@tgrthi.me>
2020-07-21 09:58:00 +03:00
Uku Taht
b254e943bc Add unique visitors to pages modal 2020-07-20 10:46:02 +03:00
Uku Taht
15f6594ddb Add healthcheck endpoint 2020-07-20 10:34:35 +03:00
Uku Taht
d0e6f37911 Remove reference to file that doesn't exist 2020-07-19 18:24:10 +03:00
Uku Taht
30f97275e0 Add about to footer 2020-07-17 16:58:03 +03:00
Uku Taht
f7fdacb7f3 Link to docs instead of feedback page 2020-07-17 14:46:36 +03:00
Uku Taht
c72b7cc1ad Inline svg icons from _svg_icons template 2020-07-17 14:06:43 +03:00
Uku Taht
dc6dfd1694 Add visit duration to referrer drilldown 2020-07-17 11:25:20 +03:00
Uku Taht
7e391fe05e
Visit duration (#227)
* Show average visit duration

* Better format for duration

* Clean up the code for visit duration
2020-07-17 11:09:54 +03:00
Uku Taht
82c7572ba8
Add ability to reset stats (#225)
* Add ability to reset stats

* Fix test
2020-07-16 13:07:45 +03:00
Uku Taht
73049c7e4f Update footer 2020-07-16 10:34:08 +03:00