Commit Graph

771 Commits

Author SHA1 Message Date
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