Commit Graph

200 Commits

Author SHA1 Message Date
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
07653079e8 Don't fail oban job when provision_ssl_certificates fails 2021-04-28 15:25:30 +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
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
b8baefee3b
Fix weekly report time range (#951)
* Fix weekly report time range

* Update changelog
2021-04-22 12:11:33 +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
86d73b68b8 Fix formatting 2021-04-15 14:05:28 +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
9de0902038 Fix test 2021-04-14 15:08:44 +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
3ed964b45b Add API endpoints for site and shared link creation 2021-04-14 11:45:45 +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
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
e12b9fa42c Use GET instead of POST for logout
Fixes #730
2021-03-31 16:49:05 +03:00
Uku Taht
1d4ae3d16f Fix tests 2021-03-29 14:53:34 +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
c4c0bb2095 Various formatting improvements
* Format numbers over 1B
* Show full number when hovering
2021-03-24 12:08:05 +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
Victor Truong
c29bcc89b5
Fix typo with "succesfully" (#836) 2021-03-15 11:40:53 +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
0ceb539a22 Reduce errors sent to Sentry 2021-03-03 11:36:39 +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
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
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
Uku Taht
8a455dd191
Prevent user id collisions in session tracking (#744) 2021-02-26 10:42:19 +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
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
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
a4bf74a84c Do not allow duplicate spike notification to be created 2021-01-19 11:41:15 +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
b7a2b3b423 Cascade deletion of site to spike notifications 2021-01-15 11:24:28 +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
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
9bbaa756b8 Fix user deletion 2020-12-30 11:00:37 +02:00