Age | Commit message (Collapse) | Author |
|
* inject client hints in js
* use client hints for detection
* don't use catch, as yui compressor can't parse it
* rebuilt js files
* use new version of device detector
* more code adjustments
* updates expected test files
* improve js
* fix header detection
* improve cache key handling
* fix tests
* use a separate queue to wait for client hints if needed
* try to fix js tests
* also consider X_HTTP_REQUESTED_WITH header as client hints
* updates expected test files
* Extend demo detection with client hints
* code improvements
* use new version of matomo-php-tracker
* Adds test case for client hints set through matomo php tracker
* apply review feedback
* submodule update
* fix test
|
|
* extend request with options and method
when options header and method is options do not record in the database.
* update function
update function
* update tests
update tests
* update tests
adjust code only trigger on option request
* remove class variable
remove server
* Update Request.php
add check request method
* drop option request
drop prefight request
* update reset
update reset
* return 204 on prefight
return 204 on prefight
* Update Tracker.php
accept cors
* fix typo & add type hint
* Update core/Tracker/RequestSet.php
* apply PSR12 code formatting
* adds test
Co-authored-by: sgiehl <stefan@matomo.org>
|
|
* Forbid unused use statements
* Fix some incorrect classnames
* fix tests
* remove unused use statements
|
|
* Allow tracker config to be customized per site (for some configs)
* Update Response.php
* allow few more settings to be overwritten on a per site basis
* idsite parameter may not be specified during Tracker\Request::__construct() (eg, during bulk tracking)
* Fix another test.
* Just make idsite optional for TrackerConfig::getConfigValue() calls.
* try to fix remaining failure
* forgot to add test file
Co-authored-by: Thomas Steur <tsteur@users.noreply.github.com>
|
|
* Require polyfill for mbstring and iconv
* remove mbstring methods from upgrade.php
* remove checks for some php extensions
* deprecate Common::mb_* methods, as we can directly use mb_* functions instead
* updates expected test files
* Directly use mb_* methods in favor of Common::mb_*
* Update expected screenshot
Co-authored-by: diosmosis <diosmosis@users.noreply.github.com>
|
|
tracking error (#17127)
* Custom tracking timestamp should return an integer to prevent HTTP 500 tracking error
Eg
```
curl -i -X POST -d '{"requests":["?idsite=1&rec=1&idgoal=21&apiv=1&_id=50d60fcd18ff0c7e&cdt=1610168419&revenue=0&send_image=0","?idsite=1&rec=1&idgoal=21&apiv=1&_id=50d60fcd18ff0c7e&cdt=1610168419&revenue=0&send_image=0"]}' http://your.site/matomo.php
```
Can trigger an HTTP 500 error when the request is authenticated (or when using a recent timestamp). That's because when for example A/B tests are configured, then it does a `Date::factory($request->getCurrentTimestamp))` where the timestamp is a `string` and thus the Date class would trigger an exception.
Making sure we return an integer will fix all possible uses.
* fix tests
Co-authored-by: diosmosis <diosmosis@users.noreply.github.com>
|
|
* Add system and measurable setting to enable cookie less tracking
* Never return a visitor id if cookieless tracking is forced
* Adds custom tracker.js to prevent cookies
* ignore exceptions
* cache setting in site attributes for faster tracking
* updates expected test files
* ensure getVisitorId also works without idSite in request
* fix js tests
* store global cookie flag in config to avoid failures when building tracker js
* use config instead of systemsetting
* use a new event to update the tracker file
* Fix handling in Request::getVisitorId()
* improve setting descriptions
* Revert "use config instead of systemsetting"
This reverts commit 1fdfb6808415d2984726cedfe2644de31086f927.
* Revert "store global cookie flag in config to avoid failures when building tracker js"
This reverts commit 2587dbb851d3e44f2740e39c91af3213930cad6f.
* code improvements
* Reset storage to ensure it's not filled with invalid database objects
* updates expected test files
* Remove measurable setting again
* move setting from systemsettings to ip anonymization settings
* Show a warning if tracker file is not writable
* updates expected test file
* apply some review feedback
* fix test
* updates expected screenshot
* apply review feedback
* submodule update
|
|
|
|
* JS Offline tracking
* minor tweaks
* add some tests
* add some tests
* apply review feedback
|
|
|
|
|
|
* Backport userId to overwrite visitorId feature
* fix ui test
|
|
* By default userId should overwrite the visitorId
* handle new visits
* Update Request.php
* fix some tests
* fix tests
* fix more tests
* add more tests, fix tests
* Update global.ini.php
* add better tests
* update screenshot
* update test file
Co-authored-by: diosmosis <diosmosis@users.noreply.github.com>
|
|
* Removes CustomVariables plugin
* removes CustomVariables plugin from core list
* Move methods to get custom variables from request to the plugin
* define visit fields to persist in plugin
* do not use custom variables plugin if not available
* adjust test requirements for CustomVariables plugin
* Only execute update if plugin is installed
* do not consider custom variables widget as api in tests
* move autosuggest tests for custom variables to plugin
* do not use custom variable segments in core tests
* move multi column segment test to custom variables plugin
* do not use custom variable segment in archive cron test
* update access log to use new product view parameters instead of custom variables
* move some custom variables based tests to plugin
* Use Contents API instead of CustomVariables for CSV export tests
* skip some tests if CustomVariables plugin is not available
* Adjust tracker code generator tests to work without custom variables plugin
* [TEMP] remove custom variables from system test output
* adjust some tests to run without custom variables plugin
* apply some review feedback
* Readds Custom Variables as submodule (#16104)
* Adds CustomVariables as submodule
* Revert "[TEMP] remove custom variables from system test output"
This reverts commit 30b56dc135b6c130c841306f739dbcd7d9f4a366.
* use submodule branch
* test changes due to loading CustomVariables as submodule (plugin order)
* updates some expected screenshots
* improve test fixture
* submodule update
|
|
during js code fetch (#13109)
Co-authored-by: Michael Heerklotz <michael.heerklotz@check24.de>
|
|
* Modify dimensions and add tests.
* unfinished debugging commit
* changes to fix test, remove tracker code, add update code
* fix some tests
* fix migration issue
* fixing some tests
* fix some bugs, update some expected test files, remove _idvc from some tests
* start replacing _ects
* Finish seconds since last ecommerce order change.
* fix couple issues
* fix a couple tests
* fix some more tests
* fixing a couple more tests
* apply review feedback
* unfinished commit
* add back dimensions =
* fixing tests & removing some code
* fix some bugs + tests and remove debugging code
* fixing some tests and issues
* Some debugging code for the tracker in case of exceptions.
* debug and fix another issue when tracking visits in the past
* fix test
* update JS and fix several tests
* Fixing more tests.
* Add missing files.
* update expected test files
* Add some unit tests.
* update more expected files
* update more test files
* update more test files
* update changelog and remove _ects query param
* apply review feedback
* fix merge issue
* clearer code
* fix migration issue
* update expected files
* update expected files again
* updating tests
* fix test
* rebuilt piwik.js
* unify previous visitor properties / original visit row approach
* fixing some tests
* Add new column version entries into the option table.
* try undoing 1.5 update change
* apply review feedback
* remove more unused cookie values
* rebuilt piwik.js
* Fix test count.
* update test files
* rebuilt piwik.js
* removel log analytics submodule update
* update submodule
* update some expected screenshots
* Fix versions in omnifixture since we were probably adding to the beta update after it changed.
* update screenshots
|
|
* Adds new columns to log_link_visit_action table to track ecommerce view data
* update piwik.js to track ecommerce view s the new way
* Adjust archiving
* update tests
* [TEMP] use php-tracker branch for composer
* Archive custom variables the old way, only if Matomo was installed before 4.0
* add fallback to custom variables to keep bc when replaying old logs
* update some expected test files
* fix jslint errors
* update javascript test
* update dimension names
* updates some expected test files
* add product view data to visitor details and add suggested segment values
* updates some expected test files
* rebuilt piwik.js
* adjust checked version
* update expected ui files
* updates some expected test files
* submodule updates
* apply some review feedback
* Show product views in action tooltips
* updates expected UI files
Co-authored-by: sgiehl <sgiehl@users.noreply.github.com>
|
|
* Remove detection for director
* Drop column
* some more adjustments
* submodule updates
* updates expected test files
* updates expected UI files
* fix test
* rebuilt piwik.js
* submodule updates
* fix tests
Co-authored-by: pebosi <mail@pebosi.net>
Co-authored-by: Peter Boden <p.boden@pax.de>
Co-authored-by: sgiehl <sgiehl@users.noreply.github.com>
|
|
tracking requests (#15986)
|
|
* Remoing gears
* Remove gears from test files
* revert removing gears column from dump
* Move sql update to core
* Revert "visitorGeolocator: output actual changes in debug mode (#12478)" (#12480)
This reverts commit 19a7654a9fd775d5bcaed3b9a22224228288c7f3.
* Merge with latest changes
* Merge with latest changes
* revert
* revert, add migration
* add migration
* Merge
* Merge
* revert
* Update core/Tracker/Settings.php
Use 0 as default
Co-Authored-By: Stefan Giehl <stefan@matomo.org>
* fix tests
* rebuilt js
* updates expected UI files
* update changelog
* submodule updates
Co-authored-by: Peter Boden <p.boden@pax.de>
Co-authored-by: pebosi <mail@pebosi.net>
Co-authored-by: Matthieu Aubry <mattab@users.noreply.github.com>
|
|
|
|
|
|
* update doc blocks with new name
* submodule updates
* updates expected UI files
|
|
* Adds various new performance metrics and dimensions
* Adds tracking for new performance values
* track performance metrics only for page views
* Archive new performance metrics
* move everything into a new plugin
* fix archiving of overall metrics
* Adds new overview reports
* show performance metric on some more reports
* adds new page performance icon
* Adds new row action to view page performance evolution for pages
* Adds new stacked bar visualization for page performance evolutions
* show total value in stacked bar chart tooltips
* [TEMP] use php tracker package branch
* Adds some simple System tests
* Adds some UI tests
* remove performance metrics from action reports that don't support it
* move calculation to api
* mark as tracker plugin
* improve calculation of maximum value in bar evolution chart
* enrich existing tests with performance metrics
* updates expected test files
* send performance metrics with the next request after they are available
this might not be the pageview it self but any request after it, like a ping, goal, ...
* Adds request processor to process performance metrics not sent directly with the page view
* rebuilt js
* Add metric decriptions to evolution chart documentation
* fix convertion of microseconds part
* Ensure average page load time is displayed in evolution graph in scheduled reports
* fix some more tests
* move page performance overview to visitors overview
* Adds new table with performance metrics visualization
* Adds some additional information to page performance evolution overlay
* update omnifixture
* updates expected UI files
* Use mediumints for new dimensions
* Adds additional permission check
* Encode label in page performance overlay title
* Improve updating performance metrics in later requests
* Adds some integration tests
* improves metric documentations
* Send already available performance data with page view request
* update tests
* updates expected UI test screenshots
* updates expected test files
* improves archiving
* show page generation time in performance metrics table if matomo was installed before 4.0
* Hide page generation time in ui reports if Matomo was installed after 4.0
* Fix removal of unavailable columns from being displayed
that was done too early in the process causing to be overwritten again by the reports configureView
* do not track automatically calculated generation time any more
* split latency into network and server time
* [TEMP] update php tracker
* rebuilt piwik.js
* Ensure to count zero values as hits
* updates Omnifixture
* updates expected test files
* remove possibility to set generation time
* rebuilt piwik.js
* adjust tests
* update php tracker
* update test logs
* submodule
* update Omnifixture
* show page load time in action tooltip and visitor summary instead of generation time
* updates expected ui files
* mark page generation time metric as deprecated
* fix tests
* [TEMP] use submodule branches
* ensure lower metric values are shown as better
* use 4.x-dev branch of php-tracker
* update submodules
|
|
* many typo fixes in the code thanks to codespell
* reset submodules
I really need to stop using `git commit -a`
* reset change in library
* rebuilt piwik.js
* fix test
* updates expected UI file
Co-authored-by: sgiehl <sgiehl@users.noreply.github.com>
Co-authored-by: Stefan Giehl <stefan@matomo.org>
|
|
* some initial work
* add security page
* backing up some code
* more functionality
* adjust more UI parts
* adjust more code
* more tweaks
* add todo note
* few tweaks
* make sure date is in right format
* fix not existing column
* few fixes
* available hashes
* use different hash algo so tests run on php 5
* fix name of aglorithm
* trying to fix some tests
* another try to fix some tests
* more fixes
* more fixes
* few fixes
* update template
* fix some tests
* fix test
* fixing some tests
* various test fixes
* more fixes
* few more tests
* more tests
* various tweaks
* add translations
* add some ui tests
* fix selector
* tweaks
* trying to fix some ui tests
* fallback to regular authentication if needed
* fix call authenticate on null
* fix user settings
* fix some tests
* few fixes
* fix more ui tests
* update schema
* Update plugins/CoreHome/angularjs/widget-loader/widgetloader.directive.js
Co-Authored-By: Stefan Giehl <stefan@matomo.org>
* fix maps are not showing data
* trying to fix some tests
* set correct token
* trying to fix tracking failure
* minor tweaks and fixes
* fix more tests
* fix screenshot test
* trigger event so brute force logic is executed
* test no fallback to actual authentication
* allow fallback
* apply review feedback
* fix some tests
* fix tests
* make sure location values from query params are limited properly before attempting a db insert
* make sure plugin uninstall migration reloads plugins, make sure 4.0.0-b1 migration removes unique index that is no longer used, use defaults extra file in SqlDump to get test to run on travis
* Fix UI tests.
* update expected screenshot
Co-authored-by: Stefan Giehl <stefan@matomo.org>
Co-authored-by: diosmosis <diosmosis@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
* UserID no longer overwrites VisitorId
* Update piwik-php-tracker package
* Update matomo-php-tracker again.
* Fixing test.
* Add changelog note.
|
|
* Exclude visits whose time is prior to the log purge cutoff time from being logged
* Cache data purge settings
* Move logic for checking whether request is older than purge cutoff into getCustomTimestamp() method
* Change error message
|
|
* Unit test to reproduce strlen warning
* Unit test/validation for non-string custom variable values
|
|
I updated the link tag for all php files with the new matomo link.
Not sure if it is realistic that this will get merged but I though that someday someone has to do this(?)
|
|
* Allow annotations API to accept multiple periods, so evolution graphs that use multiple periods work.
* Remove warning when rows_to_display viewdatatable config property is left at its default value.
* Allow individual cells in an html visualization to be styled (if the visualization is extended).
* Remove unneeded TODO.
* In series picker encode picked rows in case the labels have commas.
* Must decode the rows value as well (as it is not handled by API, must be done in plugin).
* Allow joins to specified through LogAggregator::queryConversionsByDimension().
* Add safety check to _idts processing: if visitor is unknown, ignore _idts value, since it is their first visit.
* In the tracker when searching by visitor ID, search through entire log_visit table instead of just in the last 30 mins.
* When tracking visitor days since first, do not round since this can result in inaccurate data when rounding up. Which can cause trouble when finding the start visit for a log.
* Allow HtmlTable descendants to add any html attributes to cells.
* Allow derived Visualizations to add custom parameters to API requests via a new RequestConfig method.
* Tweak to TODO.
* Add test for annotations API change & get to pass.
* Apply more review feedback
* Update INI config docs for window_look_back_for_visitor.
* Only copy visitor properties if action is part of an existing visit.
* Some more properties that should be copied over from known visitor even if new visit.
* Fixing some tests.
* update test
* Fix CustomEventsTest test failures.
* Fixing more tests.
* update rest of tests
* Fixing tests.
* Update some test files.
* Fix log statements.
* To better handle out of order actions, add part of last_action_time check to visitor ID search.
* Update tests.
* Updating expected screenshots.
* Fix ArchiveCronTest.
* Throw exception if idorder not unique.
* Only throw exception if idorder specified.
* Fixing a couple tests.
* Fix another test.
|
|
* Attempt to fix tests.
* Try to fix another test.
* Update some expected files.
* Fix unit test.
* Updating screenshots.
|
|
(#13858)
* Revert "Always fail during tracking when authentication is required but invalid token is used (#13675)"
This reverts commit 2862316a05301755681305fbe060591c08d8c265.
* remove tests moved to integration test
|
|
* some basic work on preventing brute force attacks
* change order
* delete depending on configured value
* show log and feature to unblock ips etc
* more tweaks
* lots of fixes, improvements, and tests
* add more tests
* add more fixes
* fix typo
* make sure to check for all API requests whether allowed
* apply feedback
* block more usages
* improve usage
* fix some tests
* fix some tests
* fix memory problem
* do not whitelist ips for brute force tests
* trying to fix tests
* only delete if installed
* use query
* fix some tests
* better fix
* fix some tests
* fix ui tests
* fix more tests
|
|
* Rename long files.
* fix test name
* Try to fix several test failures.
* Rename expected files.
* --amend
* Try to fix tests.
* Fix more system tests.
* Fix more tests.
* Add debug log.
* Update CustomAlerts submodule for test fix.
* Fix some more screenshots.
* Fixing more tests.
* Update more expected test files & screenshots.
* Last couple fixes.
* update tagmanager submodule
* update submodule
* update submodule
|
|
* log tracking failures
* added page
* tweak UI
* use a db column instead of option table to simplify code
* add system summary, notifiy super users by email, fixes, update, ...
* more fixes, needs tests next
* add widget for tracking failures
* ensure to not log any failure when visit is excluded
* some tests and fixes
* added tests
* added missing test
* apply review feedback
* fix tests
* trying to fix test
* fix tests
* fix update names
* fix tests
* Fix another test.
|
|
token is used (#13675)
* Always fail during tracking when authentication is required but invalid token used
* fix tests
|
|
* replace unsupported characters in all tracking request params
* Ensure unsupported chars are replaced in json_encoded params as well
* Adds simple test for 4byte UTF8 chars
|
|
* started working on some ACL concept
* acl implementation
* add category
* small tweaks
* more tweaks
* more api methods and fixes
* cache capabilities
* various enhancements, fixes, tweaks
* more tweaks
* added more tests and fixed some bugs
* fix parameter
* make sure to be BC
* make sure to be BC
* fix some tests
* more apis, translations, changelog entry, ...
* update db
* correct error message
* fix capabilities were not detected in tests
* directly access provider
* fix and add test
* JS api to check capabilities, better structure for capabilities in tests
* add ability to inject permissions
* apply review changes
* fix test
|
|
* Disable visitorid overrides for third party cookie
* Refactor the change into a new method for clarity
* add logging
|
|
* Added cookie_domain setting for third party cookie
* update UI tests
|
|
token_auth, don't track the request (#10899)
* refs #10890 ignore tracking requests with custom timestamp, accept timestamps up to 1 day in past, added config for timestamps that require auth
* fix test
* update travis yml
* update travis
* update travis
* fix test
* added changelog entry
* .travis.yml file is out of date, auto-updating .travis.yml file.
* .travis.yml file is out of date, auto-updating .travis.yml file.
* .travis.yml file is out of date, auto-updating .travis.yml file.
* .travis.yml file is out of date, auto-updating .travis.yml file.
* .travis.yml file is out of date, auto-updating .travis.yml file.
* .travis.yml file is out of date, auto-updating .travis.yml file.
* New config.ini.php setting: `tracking_requests_require_authentication_when_custom_timestamp_newer_than`
|
|
Delete third party UID cookie only when it was found in the cookie jar
|
|
* track a unique id for each pageview
* fix tests
* reduce idpageview to 6 bytes
* added changelog entry
|
|
|
|
heartbeat is used
|