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
* 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
* Update contribution guidelines to include dependency installation
Now mentions the required system dependencies, and the step for installing Elixir deps
Erlang is used by the :gettext dependency, and ecto.create will fail if it is not present
* Make Clickhouse and PostgreSQL containers run in detached mode
This ensures that they run in the background so that they are present during the follow steps
* task: Add CONTRIBUTING.md with development setup instructions
* Add --prefix assets to npm install instructions
Co-authored-by: Dennis Tel <dennis@aiden.cx>
* 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
* 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
* 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