Commit Graph

247 Commits

Author SHA1 Message Date
Vignesh Joglekar
645069271a
Fixes React errors+crash when system theme changes on loaded dashboard (#1123)
* Fixes crash on theme change

* Changelog
2021-06-14 16:44:46 +03:00
Uku Taht
c0678cd2f7
Chartjs v3 (#1111)
* WIP

* Implement graph with Chart.js v3
2021-06-07 11:29:42 +03:00
Uku Taht
c37a2de627 Revert "Adds manual filters on FE, capability for exclusion filters (and the globbing we're used to) for path-based filters (#1067)"
This reverts commit b6eeb40472.
2021-06-02 14:35:17 +03:00
Uku Taht
55030b837d Fix external referrer link
Fixes #1009
2021-05-26 10:52:25 +03:00
Vignesh Joglekar
b6eeb40472
Adds manual filters on FE, capability for exclusion filters (and the globbing we're used to) for path-based filters (#1067)
* First pass on manual filter & path regex/negated filters

Still needs:
- Form structure on filter modal
- Edit filter button
- Filter dropdown UI improvement
- Filter modal mount data collection
- Tests
- Potentially negating other filters

* Second pass - mostly everything user-facing is done

Still needs:
- Tests
- Potentially negating other filters
- Potentially some code cleanup

* Bugfix in realtime view, formatting

* Fixes editing UX on list view

* Adds tests for exclusions and wildcards

* Various UI Improvements

- Makes edit buttons full-length & properly sized
- Adds remove filter button in edit menu

* Changelog

* Makes requested changes, adds different version of filter button

* Makes colorings on top bar elements consistent
2021-05-26 10:34:04 +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
Uku Taht
255b4b2325
Don't use localStorage when the browser doesn't support it (#971)
* Wrap localStorage with support checks

* Add changelog
2021-04-28 11:31:10 +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
28d293e2d2 Fix console errors when using shared links 2021-04-07 11:06:33 +03:00
Uku Taht
1120ede0b4 Add missing return 2021-04-01 10:25:24 +03:00
Uku Taht
ced4f75395 Fix entering number in custom range picker
Fixes #831
2021-04-01 10:12:01 +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
8ccccc782c Fix long page url links
Fixes #545
2021-03-31 16:38:02 +03:00
Uku Taht
ef0efa2d63 Clean up pinned-header-hoc
Fixes  #639
2021-03-31 16:08:30 +03:00
Uku Taht
2e70a8f8b5 Prevent text wrapping on small screens
Fixes #845
2021-03-31 15:18:49 +03:00
Uku Taht
3e33385afd Fix 'last month' link option
Fixes #898
2021-03-31 15:14:10 +03:00
Uku Taht
629be8cc20 Fix loading of referrer report 2021-03-29 11:50:23 +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
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
6b277baed9 Fix pluralization for exact numbers 2021-03-24 15:14:17 +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
e8cb4ddefb Fix syntax error in JS 2021-03-16 15:06:58 +02:00
Uku Taht
3ff97d27ad Revert to native background colour control 2021-03-16 10:40:25 +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
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
Vignesh Joglekar
a271ce5477
Fixes zero-shortcut leading to undefined page (#788) 2021-03-04 09:50:15 +02:00
Vignesh Joglekar
7753f72d82
Fixes MoreLink for UTM tags (#782) 2021-03-03 10:14:12 +02:00
Uku Taht
fc70e7ef2b Fix spelling 2021-03-02 16:26:29 +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
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
Vignesh Joglekar
09658810b8
Fixes overflow on long site urls (#749) 2021-02-24 09:50:06 +02:00
Vignesh Joglekar
524b4c52f6
Adds site switching keybindings (#735)
* Changes 30d and 6mo keybinds, adds site switch keybinds

* Fixes datepicker helpers

* Changelog
2021-02-23 15:49:56 +02:00
Uku Taht
e58ab08b7b Improve external link generation for domains with subfolder 2021-02-23 15:19:38 +02:00
Vignesh Joglekar
e55c2213a9
Fixes case-sensitivity and residual keys in date-keybinds (#709)
* Fixes case-sensitivity and residual keys

* Adds 30d and 6mo shortcuts

* Changelog, rename function appropriately
2021-02-18 11:18:54 +02:00
Uku Taht
015eeefe68 Made changelog notification dark-mode ready 2021-01-26 11:11:36 +02:00
Uku Taht
a5ac5ddd16 Show changelog notification 2021-01-26 10:32:03 +02:00
Vignesh Joglekar
e47518d5fc
Adds date selection keybindings (#630)
* Main Pass

* Changelog

* Resolves comments
2021-01-22 13:29:16 +02:00
Vignesh Joglekar
da7ccc45e4
Allow for Esc to clear all filters (#625)
* Allow for `Esc` to clear all filters

* Changelog

* Change duplicated ctrlKey (in DatePicker too)
2021-01-21 15:11:48 +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
Vignesh Joglekar
f6aefa9643
Add "Add Site" button to site switcher (#626) 2021-01-20 15:54:08 +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
Sean Hill
6ab2126ab8
Change datepicker caret from pink to indigo (#618)
* Change datepicker caret from pink to indigo

* Update CHANGELOG.md

* Update CHANGELOG.md

* Updated filters dropdown caret/chevron to indigo
2021-01-19 15:41:22 +02:00
Vignesh Joglekar
d339fea686
Update References (#619) 2021-01-19 15:40:01 +02:00
Mackenzie
27b60894bb
disable date navigation arrows when date is invalid for site (#483)
* Prevent choosing a date before site was added in datepicker

Fixes #446

* change date navigation arrows to real buttons and disable them when date is invalid for site

* simplify. ditch LinkButton and just use button. make lint a little happier

* put back dark mode for date nav buttons

* enforce line length limit

* fix a11y lint errors

* correct event/e
2021-01-07 15:24:59 +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
Vignesh Joglekar
bbb6bae4a2
Adds fallback for countries missing in DataMap (#533) 2020-12-30 10:38:18 +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
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
Vignesh Joglekar
b64f9de51a
Adds sticky header row (site selection, date, filters) (#472)
* 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

* Add initial implementation for sticky header

* Minor mobile formatting improvements

* Finishes (probably) pinned header feature

* Adds changelog entry for pinned header

* Updates PR number in sticky header changelog entry

* Wraps up code cleanup + feature

* Merge conflicts are hard, apparently

* Removes extraneous tailwind variants

* Fixes mentioned issues

* Removes option to unsticky
* py-3
* Tailwind in CSS
2020-12-22 15:39:14 +02:00
Vignesh Joglekar
1174801255
Fixes couple of Flatpickr related issues (#495)
* Navigates to day when same day is chosen in flatpickr

* Ensures that erroneous from and to params are removed when re-navigating

* Changelog
2020-12-21 15:26:37 +02:00
Vincent Dörig
df9767dbdc
fix: low contrast text in dark mode (#490) 2020-12-21 15:00:04 +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
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
Mackenzie
3524d13c70
Fix overly-sticky date in query parameters (#470)
The date param was sticking around even when not specified
resulting in Last Month -> This Month still having last month's
date.

Fixes #439
2020-12-15 12:29:12 +02:00
Uku Taht
54aaeb2ae0 Use uppercase M for million 2020-11-23 11:08:16 +02:00
Uku Taht
1ec4dca33f
Merge pull request #412 from plausible/settings-design
Settings design
2020-11-20 12:56:35 +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
birjolaxew
b9ac695d97 Fix usages of Link that failed to specify pathname
This would break things like opening the link in a new tab, or previewing the href in the browser
2020-11-13 01:53:03 +01:00
birjolaxew
f95f310eb7 Fix QueryLink not linking to the correct URL format
This caused the href view in browsers to show the incorrect URL, and also broke stuff like opening the link in a new tab
2020-11-13 01:49:27 +01:00
birjolaxew
7f1f3a00ec Remove queryWithPeriod from DatePicker
It has been made redundant after the implementation of QueryLink
2020-11-13 01:44:38 +01:00
birjolaxew
9719c83364 Prioritize order of props when using QueryLink for readability 2020-11-13 01:37:59 +01:00
birjolaxew
2f6d58a8e5 Rename QueryLink's 'data' prop to 'to'
This fits the existing naming convention from Link better
2020-11-13 01:35:09 +01:00
birjolaxew
b4f530f492 Connect QueryLink to React Router using withRouter
This means history no longer has to be passed as property
2020-11-13 01:33:01 +01:00
birjolaxew
ccc89ab4b1 Implement QueryLink to make it easier to transition from Link 2020-11-13 01:26:53 +01:00
birjolaxew
a05f3eb6d6 Remove stray semicolons to conform with existing code style 2020-11-11 11:58:05 +01:00
birjolaxew
21b88b996d Update Countries to use new navigation function 2020-11-11 11:38:49 +01:00
birjolaxew
53ac7d3bc7 Update Filters to use new navigation function 2020-11-11 11:38:36 +01:00
birjolaxew
3524a89fb3 Update VisitorGraph to use new navigation function 2020-11-11 11:31:42 +01:00
birjolaxew
8e9349e1d8 Update DatePicker to use new navigation function 2020-11-11 11:30:29 +01:00
birjolaxew
0a565025d2 Implement function for updating current page query
This centralizes updating the search parameters
It's needed in order to implement proper history handling
Previously navigating to a new period filter would not revert if going back in history
The new function will update history entry to include the period if a new period is navigated to
This way going back in history will correctly revert the period filter
2020-11-11 11:23:42 +01: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
8020e93052 Linkify custom props 2020-11-04 13:35:05 +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
Chad Whitacre
73375b8289
Add weekday to the visitor graph (#386)
* Add weekdays to the visitor graph

Abbreviate both weekday and month in order to keep horizontal spacing
roughly the same as it's been.

Closes #175.

* Add note to CHANGELOG
2020-10-29 15:43:58 +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
63a236508d Improve colour range of countries map 2020-10-19 13:46:08 +03:00
Uku Taht
8e9459ba99
Ignore arrow keys when modifier keys are pressed (#371) 2020-10-19 10:56:03 +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
aa915215f0 Format counts in country report 2020-10-13 10:41:49 +03:00
Uku Taht
13de259cd4 Format device numbers 2020-10-13 10:40:19 +03:00
Uku Taht
ff0cb5d2cf Add referrerpolicy=no-referrer to DDG favicons
Fixes #343
2020-10-13 10:31:32 +03:00
Uku Taht
27fd18bea0
Linkify top pages (#350)
* Linkify top pages

* Add changelog entry

* Make automated build push :dev tag to Dockerhub
2020-10-09 15:23:08 +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
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
76896f7cee
Show total conversions in addition to uniques (#294) 2020-08-20 14:57:49 +03:00
Uku Taht
a7f3aa430e
Show real counts along percentages (#293) 2020-08-20 11:16:26 +03:00
Uku Taht
843f3e166e Do not cut off long page urls 2020-08-18 15:04:00 +03:00
Uku Taht
b749889279 Rename Active visitors -> Current visitors
For consistency
2020-08-18 14:27:54 +03:00
Uku Taht
8ca08d8177
Improvements for Source: Google (#287)
* Extract referrers report

* Use new sourcs report in realtime

* Show appropriate messages for error conditions
2020-08-17 15:13:30 +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