* 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
* 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>
* 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
* Turn off form autocompletion for new shared links
Many browser autofill input fields based on their name, but here it makes no sense to use the user's name (email) or even password for the shared link.
* Update changelog
* 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.
* 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.
* Update the ticks on the X and Y axis of the main chart to be responsive
* Update the changelog for the graph responsiveness fix
* Invite existing user to a site
* Add invitation flow for non-existing users
* Accept and reject invitations
* Use invitation flow for existing users
* Locking mechanism for sites
* Authorization for site settings
* Show usage based on site ownership
* Add ability to remove members from a site
* Do not show settings link to viewer roles
* Ability to remove invitations
* Remove `Plausible.Sites.count_for/1`
* Fix tests
* Do not show the trial banner after the trial
* Correct trial emails
* Transfer ownership
* Send invitation email to existing user
* Add invitation email flows
* Add plug for role-based authorization
* Rename AuthorizeStatsPlug -> AuthorizeSiteAccess
* Add email flow for ownership transfer
* Fix URLs in emails
* Fix small copy issues
* Make 'People' its own section in site settings
* Notify user via email if their access has been removed
* Check site lock status when invitation is accepted
* Check lock status when user subscribes
* Make sure only admins and owners can create shared links
* Changelog
* Add LockSites to daily cron
* Clean invitations after 48 hours
* Add notices about expiry
* Add invitation expired page
* Add doc link
* 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
Currently, both are hard-coded to relatively small values.
This may cause an unnecessary high load on the Clickhouse instance.
It makes sense to make those configurable.
* 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
* 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
* 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
* 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>
* 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>
* 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
* 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
* 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>