Commit Graph

257 Commits

Author SHA1 Message Date
Matt Colligan
3380685d40
Fix custom property total conversions value not displayed & Export custom properties (#1456)
* Fix custom property total conversions value not displayed

The custom property conversion metrics are not consistent with the other
metrics resulting in the total conversions not being displayed in the
dashboard. This fixes that.

* Export custom props of current goal when filtering dashboard for goal

This makes the CSV export also output a `prop_breakdown.csv` file which,
for the currently filtered goal, contains the conversion data for each
of its configured properties.

* Add test for goal-filtered CSV export
2021-11-10 16:53:38 +02:00
Matt Colligan
29e37c8342 More improvements for CSV export (#1446)
* Round time_on_page metric returned by 'pages' API

This rounds the `time_on_page` metric returned as part of the `pages`
API to the nearest second. While this shows no apparent change in the
web UI, it removes the decimal from the exported data in `pages.csv`.

* Tidy up export tests

* Round time_on_page in db query

* Add goal to CSV export tests

* Display CSV export spinner until download is ready

The mechanism used to make the page aware that the download is ready is:

- Client code sets a cookie and requests download.
- Server code handles download and removes cookie when complete.
- Client code polls every 1s to check the cookies, removing spinner when
  the export cookie is removed.
2021-11-09 09:51:38 +02:00
Matt Colligan
945bf82c72
Fix conversions metrics (#1447)
f576fa2 should have updated the conversion metric names so that
`unique_conversions` and `total_conversions` are the two metrics
returned by the conversions API. This updates those so that the CSV
export outputs the correct data.
2021-11-05 15:18:59 +02:00
Matt Colligan
f576fa2a2c
Improvements to CSV export (#1427)
* Add details=True to export API parameters

This makes the ZIP export add `%{"details" => "True"}` to the query's
`params` when fetching data internally for packaging in the ZIP.

This adds bounce_rate and time_on_page to the data in pages.csv, and
bounce_rate and visit_duration to sources.csv.

* Make API return data with consistent names

Some of the data types returned via the JSON or CSV API use inconsistent
naming, and some have redundant name changes (i.e. count -> visitors ->
count). This makes these all consistent and removes the redundancy.

This addresses #1426, fixes some of the CSV headers, and unifies the
JSON and CSV return data labels.

* Update changelog

* Test should use Timex.shift, not relative time

* Return full country names in CSV export

This also replaces the " character with ' in two country names, as those
are the characters used in the names, yielding a more predictable and
'correct' output.

* Fetch CSV exported data concurrently

* Use spinner to indicate when export has started

* Use 300 as default number of brekadown entries for export

Higher numbers (e.g. 1000) seem to cause clickhouse errors when there
many pages to request. It is unclear what is causing the error, as
clickhouse returns an "unknown" error code and an empty error message.
2021-11-04 14:20:39 +02:00
Janosh Riebesell
e7593ce94f
Additional pre-commit hooks (#1428)
* add 1st-party langauge agnnostic pre-commit hooks

* white space fixes from pre-commit run -av

* fix CI test/plausible_web/controllers/stats_controller_test.exs#L153

* Revert "fix CI test/plausible_web/controllers/stats_controller_test.exs#L153"

This reverts commit 85c9450efe.

* git checkout 94f476eb~1 -- priv/ref_inspector priv/ua_inspector
2021-11-03 15:46:12 +01:00
Matt Colligan
8138a6e3a5
Start putting together means to export all aggregate data (#1387)
* Export all dashboard data in zip

This packages all data currently visible in the dashboard into
individual CSVs and downloads them together in a zip.

* Also export conversions in zip of CSVs

* Update export test with zip file response

* Add zip file download to changelog
2021-10-26 15:54:50 +02:00
Vignesh Joglekar
0c982a8670
Adds list-based country report option (#1381)
* Adds list option for countries report

* Changelog

* Renames Geo to Locations

* Lint

Co-authored-by: Uku Taht <Uku.taht@gmail.com>
2021-10-14 10:55:43 +02:00
Vignesh Joglekar
7e9d83d62e
Adds pagination for custom props & fixes an issue with errant (none) return values (#1382)
* Adds pagination for custom props, fixes errant (none) being returned in the middle of a dataset

* Formatting

* Fixes errant (none) value correctly

* Changelog

* Adds tests
2021-10-14 09:45:47 +02:00
Vignesh Joglekar
688e195e27
Fixes custom prop tab wrapping & spacing on smaller viewports (#1383)
* Fixes custom prop tab wrapping & spacing on smaller viewports

* Changelog

Co-authored-by: Uku Taht <Uku.taht@gmail.com>
2021-10-13 10:39:44 +02:00
Vignesh Joglekar
b4445b1f7c
Adds various dark mode missing styles (#1367)
* Swaps issue template to new issue form syntax

* Indentation update

* Indentation update?

* More indentation

* Intendation is hard

* Finalized indentation?

* Github indentation

* Missing fields

* Formatting changes

* Checkbox changes

* Fixes various dark mode issues

* Couple more dark mode issues
2021-10-12 11:50:24 +02:00
Mackenzie
9c2fd9aca5
1. Remove the "airbnb" eslint plugin since it conflicts with prettier (#1374)
and so was just annoying
2. Get rid of all existing ESLint errors.
2a. Turned off `react/display-name` because I couldn't figure out how to
make that wrapped component have a display name. If anyone can figure it
out, that'd be great, because that makes things nicer when using the
React debugger.
2b. The part where it says `plausible()` is undefined in `app.js` is
bothering me. I disabled the check because I can't figure out where that
actually comes from to put in the proper import.
2c. Told ESLint we're using Babel.
3. Added `npm run format` and `npm run lint` commands.
2021-10-11 14:48:19 +02:00
Uku Taht
bd7de59a9c Show total visitors when filtered for goal 2021-09-29 13:28:29 +02:00
Uku Taht
4c77df477f Eslint improvements 2021-09-27 16:16:25 +02:00
Uku Taht
3315b8cce5 Fix external URLs for entry and exit pages 2021-09-27 16:07:29 +02:00
Uku Taht
c7035271ef Fix z-index bug with long site list
Fixes #1346
2021-09-21 11:08:00 +02:00
Uku Taht
f5a7fd2819
Fix links in new tab (#1348)
* Fix links in new tab

* CHANGELOG
2021-09-21 10:44:51 +02:00
Ro Savage
b3bc796d50
Add conversion_rate to sources api and source table (#1299)
* Add conversion_rate to sources api and source table

* Remove percentageFormatter

* Update source tests to include conversionat rate

* Add CR to detals modal

* Correct formatting with linter

* Add change log

* Add CR to Pages, Device and Countries panels
2021-09-20 16:17:11 +02:00
Муравьёв Семён
7d36c980c8
fix(dashboard): Page names truncate in pages modal (#1270) 2021-08-26 09:33:13 +03:00
Uku Taht
021cffaf11 Fix custom prop url detection 2021-08-24 15:23:34 +03:00
Ru Singh
6e997e7e5d
Condense and show all site nav/options on mobile (#1256)
* chore(docker): improve repeat contributions workflow

* This change adds two new commands to gracefully stop and remove the Postgres and Clickhouse docker containers. To do so, it also gives them a recognizable name.

* Additionally, the Postgres container is updated to use a named volume for its data. This lower friction for repeat contributions where one would otherwise sign up and activate their accounts again and again each time.

* Format countries modal

* Remove unused imports
* Run ESLint and make related fixes

* ESlint formatting for entry pages modal

* WIP: proof of concept for scrollable modals on mobile

* Revert "Merge branch 'feature/details-modal-mobile' of github.com:hirusi/analytics"

This reverts commit 87e9fb92d0, reversing
changes made to beea6a07c7.

* Condense and show all site nav/options on mobile
2021-08-23 12:39:43 +03:00
Ru Singh
5ee7445375
All sources component's details button to stick to the bottom when too few items and on mobile (#1255)
* chore(docker): improve repeat contributions workflow

* This change adds two new commands to gracefully stop and remove the Postgres and Clickhouse docker containers. To do so, it also gives them a recognizable name.

* Additionally, the Postgres container is updated to use a named volume for its data. This lower friction for repeat contributions where one would otherwise sign up and activate their accounts again and again each time.

* Format countries modal

* Remove unused imports
* Run ESLint and make related fixes

* ESlint formatting for entry pages modal

* WIP: proof of concept for scrollable modals on mobile

* Revert "Merge branch 'feature/details-modal-mobile' of github.com:hirusi/analytics"

This reverts commit 87e9fb92d0, reversing
changes made to beea6a07c7.

* Fix issue with details button not sticking to the bottom

On "All Sources", the details button wouldn't stick to the bottom when there are too few sources for the date period selected. This was due to a missing class.
2021-08-23 12:27:54 +03:00
Uku Taht
f9ea3cda6b Fix custom props in conversions 2021-08-19 11:03:41 +03:00
Uku Taht
128f8dbf2e Fix favicons and spelling in top sources 2021-08-18 15:21:47 +03:00
Uku Taht
96df035285 Fix dotted line 2021-08-18 12:24:23 +03:00
Uku Taht
219bdc1573 Fix sampling icon on mobile 2021-08-18 12:17:45 +03:00
Uku Taht
4fef567623 Fix goal filter 2021-08-17 11:01:00 +03:00
Uku Taht
ecbc68f05b Fix entry pages 2021-08-16 11:58:36 +03:00
Uku Taht
79f6756ba2 Make is not filter work 2021-08-16 10:39:13 +03:00
Ru Singh
dd20fc8a17
Feature/details modal mobile (#1211)
* chore(docker): improve repeat contributions workflow

* This change adds two new commands to gracefully stop and remove the Postgres and Clickhouse docker containers. To do so, it also gives them a recognizable name.

* Additionally, the Postgres container is updated to use a named volume for its data. This lower friction for repeat contributions where one would otherwise sign up and activate their accounts again and again each time.

* Format countries modal

* Remove unused imports
* Run ESLint and make related fixes

* ESlint formatting for entry pages modal

* WIP: proof of concept for scrollable modals on mobile

* Fix modals being too wide on desktop

* Make modals truly responsive

This fixes the desktop behaviour completely now.

* Update changelog with modals responsiveness

* Update desktop modal width to 860px

It was an oversight to set it at 800px in the first place.

Co-authored-by: Uku Taht <Uku.taht@gmail.com>
2021-08-13 11:00:42 +03:00
Uku Taht
7e78157c4b
Merge branch 'master' into stats-module 2021-08-04 16:11:40 +03:00
Uku Taht
6758931431 Add plug for source favicons 2021-08-04 12:01:50 +03:00
Uku Taht
7d1b1214e2 Implement dashboard with new stats module 2021-08-02 15:46:30 +03:00
Ru Singh
f179b253b4
Hotfix/bar overflow (#1202)
* chore(docker): improve repeat contributions workflow

* This change adds two new commands to gracefully stop and remove the Postgres and Clickhouse docker containers. To do so, it also gives them a recognizable name.

* Additionally, the Postgres container is updated to use a named volume for its data. This lower friction for repeat contributions where one would otherwise sign up and activate their accounts again and again each time.

* Break words early to maintain spacing; truncate on larger screens

* Update changelog entry on UI bars

* Truncate bar text from md breakpoint
2021-07-29 09:54:52 +03:00
Uku Taht
5d8d21f685 Fix search select font size and eslint 2021-07-23 11:22:33 +03:00
Uku Taht
7dfbd9308c Add a way to clear filters in the modal 2021-07-23 10:29:46 +03:00
Uku Taht
d6662f1f69 Remove datepicker arrows on mobile 2021-07-22 11:27:10 +03:00
Uku Taht
66ee8c84fe Correct pluralization 2021-07-22 10:37:37 +03:00
Uku Taht
10bc09ca8d Fix realtime view 2021-07-22 10:33:16 +03:00
Uku Taht
fc518af8c5 More consistent text size 2021-07-22 09:20:23 +03:00
Uku Taht
1bdc27d9cb Fix dropdown filter spacing 2021-07-22 09:20:16 +03:00
Uku Taht
b3bb663aa9 Default to empty path in url helper 2021-07-22 09:20:10 +03:00
Uku Taht
43ba2a8b98 Show current visitors 2021-07-22 09:20:02 +03:00
Uku Taht
0de89bad82
Add filter groups (#1167)
* Add filter groups

* New flow for filters

* Visual consistency

* Mobile improvements to dropdown

* Do not let filters wrap on a new line

* Fix country filter

* Add mix format to pre-commit configuration

* Make eslint happy

* Fix formatting

* Use transition from headlessUI
2021-07-21 16:50:26 +03:00
Ru Singh
9ce9264144
Feature/goals bar text (#1165)
* chore(docker): improve repeat contributions workflow

* This change adds two new commands to gracefully stop and remove the Postgres and Clickhouse docker containers. To do so, it also gives them a recognizable name.

* Additionally, the Postgres container is updated to use a named volume for its data. This lower friction for repeat contributions where one would otherwise sign up and activate their accounts again and again each time.

* Improve bar component to work in a variety of situations

This fixes two issues from #972

- Goals area has display issues depending on the name of your custom events
- It is not possible to view labels for outbound links, 404 and custom props

* Update changelog entry

* Move content to children for Bar component

* Remove redundant fallback width

* Fix text color on root conversion texts

Hyperlinks (<a>) inherit their color. In the case of the root conversion text, we needed to specify the color somewhere.

The same color as the breakdown texts has been chosen.

The Bar component no longer needs to take in text classes.
2021-07-08 09:42:30 +03:00
Uku Taht
a02adcb920 Add the concept of secondary filters 2021-06-30 15:38:14 +03:00
Uku Taht
99554c36cf Dark mode for filters 2021-06-30 10:13:29 +03:00
Uku Taht
5f8c50d08b Add hint about searching for different time range 2021-06-30 10:08:25 +03:00
Uku Taht
574ec78653 Remove dead code 2021-06-29 15:13:30 +03:00
Uku Taht
06aaae6314 Add hint for page filters 2021-06-29 12:13:09 +03:00
Uku Taht
8b93ac59d4 Make country search case insensitive 2021-06-29 11:51:15 +03:00