Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-04Use browser client hints for detection (#18843)Stefan Giehl
* 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
2022-04-11[Bug]fix prefilght cors OPTIONS request record in the action visits (#19030)Peter Zhang
* 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>
2022-03-10[Codingstyle] Disallow unused use statements (#18520)Stefan Giehl
* Forbid unused use statements * Fix some incorrect classnames * fix tests * remove unused use statements
2021-05-31Allow overriding some Tracker config by idSite (#17636)dizzy
* 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>
2021-05-27Update PHP extension requirements & deprecate Common::mb_* methods (#16754)Stefan Giehl
* 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>
2021-01-21Custom tracking timestamp should return an integer to prevent HTTP 500 ↵Thomas Steur
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>
2020-10-27Adds possibility to force cookie less tracking (#16592)Stefan Giehl
* 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
2020-10-19Ignore tracking requests for disabled plugins (#16570)Thomas Steur
2020-10-02JS Offline tracking (#15970)Thomas Steur
* JS Offline tracking * minor tweaks * add some tests * add some tests * apply review feedback
2020-08-18Add feature to exclude tracking requests via config file (#16302)Thomas Steur
2020-07-24Merge branch '3.x-dev' into 4.x-devsgiehl
2020-07-21Backport userId to overwrite visitorId feature (#16226)Thomas Steur
* Backport userId to overwrite visitorId feature * fix ui test
2020-07-09By default userId should overwrite the visitorId (#16124)Thomas Steur
* 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>
2020-07-01Removes CustomVariables plugin from core (#16090)Stefan Giehl
* 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
2020-06-29Fix 3rd party cookie / global visitorid race condition: set 3rd party cookie ↵MichaelHeerklotz
during js code fetch (#13109) Co-authored-by: Michael Heerklotz <michael.heerklotz@check24.de>
2020-06-26Track seconds instead of days for "days since" dimensions (#15774)diosmosis
* 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
2020-06-09Track ecommerce views as new dimensions instead of custom variables (#15999)Stefan Giehl
* 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>
2020-05-27Removes director detection (#15989)Stefan Giehl
* 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>
2020-05-27Avoid DB query when recording historical data or other authenticated ↵Thomas Steur
tracking requests (#15986)
2020-05-20Remove gears detection (#15956)Stefan Giehl
* 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>
2020-05-17Use utf8mb4 character set if possible (#15618)Stefan Giehl
2020-05-07Require authentication when sending custom ip with tracking requests (#15888)Stefan Giehl
2020-04-24Update doc blocks with new name (#15857)Stefan Giehl
* update doc blocks with new name * submodule updates * updates expected UI files
2020-04-17New page performance reports (#15736)Stefan Giehl
* 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
2020-04-08many typo fixes in the code thanks to codespell (#15730)Lukas Winkler
* 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>
2020-03-18App specific token_auths (#15410)Thomas Steur
* 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>
2020-03-16Merge branch '3.x-dev' into 4.x-devsgiehl
2020-03-11Make sure to set secure flag when setting samesite none (#15676)Thomas Steur
2020-01-28Use rebranded components (#15253)Stefan Giehl
2019-12-13Use appropriate SameSite values for cookies (#15185)Kate Butler
2019-11-08UserID no longer overwrites VisitorId (#14360)MichaelHeerklotz
* UserID no longer overwrites VisitorId * Update piwik-php-tracker package * Update matomo-php-tracker again. * Fixing test. * Add changelog note.
2019-09-04Don't process tracking requests that are older than data purge cutoff (#14831)Kate Butler
* 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
2019-07-11Only permit scalar values for custom variables (#14640)Kate Butler
* Unit test to reproduce strlen warning * Unit test/validation for non-string custom variable values
2019-07-05Update the link tag for all php files (#14635)Luca
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(?)
2019-03-13Couple assorted changes (#13935)diosmosis
* 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.
2019-01-04fix another build (#13930)diosmosis
* Attempt to fix tests. * Try to fix another test. * Update some expected files. * Fix unit test. * Updating screenshots.
2018-12-14Revert "Always fail during tracking when authentication is required b… ↵diosmosis
(#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
2018-12-10Lock down accounts by IP after N failed attemps at logging in (#13472)Thomas Steur
* 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
2018-12-08Fixing build (#13808)diosmosis
* 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
2018-12-06 Report tracking into wrong Site ID and missing token auth (#13493)Thomas Steur
* 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.
2018-11-25Always fail during tracking when authentication is required but invalid ↵Thomas Steur
token is used (#13675) * Always fail during tracking when authentication is required but invalid token used * fix tests
2018-09-29Replace unsupported characters in all tracking request params (#13437)Stefan Giehl
* 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
2018-07-18Introducing a new role "write" and possibility to define capabilities (#13163)Thomas Steur
* 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
2018-04-243rd party cookie visitor ID value should not change over time (#12755)3.5.0-b2Matthieu Aubry
* Disable visitorid overrides for third party cookie * Refactor the change into a new method for clarity * add logging
2018-03-21Add third party cookie domain setting (#12632)Benaka
* Added cookie_domain setting for third party cookie * update UI tests
2016-12-01Tracking API: when overriding the request datetime with an invalid ↵Thomas Steur
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`
2016-10-02Merge pull request #10579 from piwik/delete_uid_only_when_foundMatthieu Aubry
Delete third party UID cookie only when it was found in the cookie jar
2016-10-01Track a unique id for each pageview (#10499)Thomas Steur
* track a unique id for each pageview * fix tests * reduce idpageview to 6 bytes * added changelog entry
2016-09-27Delete UID cookie only when foundmattab
2016-01-21refs #9610 fix total time of visit is not the sum of times of page visits if ↵Thomas Steur
heartbeat is used