tsteur/open-source-tag-manager 43
Backup of seventag when it was still open source
PHP Development VM using Vagrant + Puppet
Creates a virtual machine using vagrant and puppet to develop Django apps
tsteur/matomo-livetab-plugin 4
Matomo plugin to keep an eye on the number of live visitors in the browser tab.
matomo-org/plugin-DeviceDetectorCache 3
Makes tracking in Matomo Analytics faster by detecting many devices, operating systems, bots, and browsers from a cache.
Piwik Mobile Client - Official git mirror of the Piwik Mobile 1.x svn repository
LDAP Login plugin for Piwik 2.x
Liberating Web Analytics. Star us on Github? +1. Matomo is the leading open alternative to Google Analytics that gives you full control over your data. Matomo lets you easily collect data from websites & apps and visualise this data and extract insights. Privacy is built-in. We love Pull Requests!
BotTracker-Plugin for Piwik
Pull request review commentmatomo-org/device-detector
Adds detection brand Dell model: XPS 13 9360
protected function hasAndroidMobileFragment(): bool return !!$this->matchUserAgent($regex); } + /**+ * Returns if the parsed UA contains the 'Android; Mobile;' fragment
The comment is incorrect.
comment created time in 44 minutes
issue commentmatomo-org/plugin-GoogleAnalyticsImporter
Missing most week, month, year reports after import
That sound's great, thank you @diosmosis!!
comment created time in an hour
pull request commentmatomo-org/matomo
Make archiving process to respect process_new_segments_from settings
@flamisz @tsteur left two new comments
I can see only one
comment created time in 3 hours
Pull request review commentmatomo-org/matomo
Make archiving process to respect process_new_segments_from settings
public function canSkipThisArchive() $hasSiteVisitsBetweenTimeframe = $this->hasSiteVisitsBetweenTimeframe($idSite, $params->getPeriod()); $hasChildArchivesInPeriod = $this->dataAccessModel->hasChildArchivesInPeriod($idSite, $params->getPeriod()); + if ($this->canSkipArchiveForSegment()) {+ return true;+ }+ return $isWebsiteUsingTracker && !$isArchivingForcedWhenNoVisits && !$hasSiteVisitsBetweenTimeframe && !$hasChildArchivesInPeriod; } + public function canSkipArchiveForSegment()+ {+ $params = $this->params;++ if ($params->getSegment()->isEmpty()) {+ return false;+ }++ $idSite = $params->getSite()->getId();+ $periodEnd = $params->getPeriod()->getDateEnd();+ $segmentHash = $params->getSegment()->getHash();+ /** @var SegmentArchiving */+ $segmentArchiving = StaticContainer::get(SegmentArchiving::class);+ $segmentInfo = $segmentArchiving->findSegmentForHash($segmentHash, $idSite);++ if (!$segmentInfo) {+ return false;+ }++ $segmentArchiveStartDate = $segmentArchiving->getReArchiveSegmentStartDate($segmentInfo);++ if ($segmentArchiveStartDate !==null && $segmentArchiveStartDate->isLater($periodEnd->getEndOfDay())) {+ $doneFlag = Rules::getDoneStringFlagFor(+ [$idSite],+ $params->getSegment(),+ $params->getPeriod()->getLabel(),+ $params->getRequestedPlugin()+ );++ // no specific report request+ // if there is no invalidation where the report is null, we can skip+ // if we have invalidations for the period and name, but only for a specific reports, we can skip+ if (!$params->getArchiveOnlyReport() && !$this->dataAccessModel->hasInvalidationForPeriodAndName($idSite, $params->getPeriod(), $doneFlag)) {+ return true;+ }++ // specific report request+ // we only want to rearchive if we have invalidation for that report+ // if we don't find invalidation for that report, we can skip+ if ($params->getArchiveOnlyReport() && !$this->dataAccessModel->hasInvalidationForPeriodAndName($idSite, $params->getPeriod(), $doneFlag, $params->getArchiveOnlyReport())) {+ return true;+ }
good question. To be honest, I'm not sure, can't remember exactly, but probably you are right. Needs to be tested to make sure.
comment created time in 3 hours
push eventmatomo-org/matomo
commit sha 29d044432305f7d237c068d0714940ea234b179b
add other mouse events
push time in 3 hours
pull request commentmatomo-org/matomo
Make archiving process to respect process_new_segments_from settings
@flamisz @tsteur left two new comments
comment created time in 3 hours
Pull request review commentmatomo-org/matomo
Make archiving process to respect process_new_segments_from settings
public function canSkipThisArchive() $hasSiteVisitsBetweenTimeframe = $this->hasSiteVisitsBetweenTimeframe($idSite, $params->getPeriod()); $hasChildArchivesInPeriod = $this->dataAccessModel->hasChildArchivesInPeriod($idSite, $params->getPeriod()); + if ($this->canSkipArchiveForSegment()) {+ return true;+ }+ return $isWebsiteUsingTracker && !$isArchivingForcedWhenNoVisits && !$hasSiteVisitsBetweenTimeframe && !$hasChildArchivesInPeriod; } + public function canSkipArchiveForSegment()+ {+ $params = $this->params;++ if ($params->getSegment()->isEmpty()) {+ return false;+ }++ $idSite = $params->getSite()->getId();+ $periodEnd = $params->getPeriod()->getDateEnd();+ $segmentHash = $params->getSegment()->getHash();+ /** @var SegmentArchiving */+ $segmentArchiving = StaticContainer::get(SegmentArchiving::class);+ $segmentInfo = $segmentArchiving->findSegmentForHash($segmentHash, $idSite);++ if (!$segmentInfo) {+ return false;+ }++ $segmentArchiveStartDate = $segmentArchiving->getReArchiveSegmentStartDate($segmentInfo);++ if ($segmentArchiveStartDate !==null && $segmentArchiveStartDate->isLater($periodEnd->getEndOfDay())) {+ $doneFlag = Rules::getDoneStringFlagFor(+ [$idSite],+ $params->getSegment(),+ $params->getPeriod()->getLabel(),+ $params->getRequestedPlugin()+ );++ // no specific report request+ // if there is no invalidation where the report is null, we can skip+ // if we have invalidations for the period and name, but only for a specific reports, we can skip+ if (!$params->getArchiveOnlyReport() && !$this->dataAccessModel->hasInvalidationForPeriodAndName($idSite, $params->getPeriod(), $doneFlag)) {+ return true;+ }++ // specific report request+ // we only want to rearchive if we have invalidation for that report+ // if we don't find invalidation for that report, we can skip+ if ($params->getArchiveOnlyReport() && !$this->dataAccessModel->hasInvalidationForPeriodAndName($idSite, $params->getPeriod(), $doneFlag, $params->getArchiveOnlyReport())) {+ return true;+ }
Could the two ifs above be simplified to just:
return !$this->dataAccessModel->hasInvalidationForPeriodAndName($idSite, $params->getPeriod(), $doneFlag, $params->getArchiveOnlyReport());
?
Since archive only report will be empty when it's not set, we can just pass it as is, right?
comment created time in 3 hours
Pull request review commentmatomo-org/matomo
Make archiving process to respect process_new_segments_from settings
private function invalidateWithSegments($idSites, $date, $period, $_forceInvalid if ($this->canWeSkipInvalidatingBecauseThereIsAUsablePeriod($params, $doNotIncludeTtlInExistingArchiveCheck)) { $this->logger->debug(' Found usable archive for {archive}, skipping invalidation.', ['archive' => $params]); } else {+ if (empty($this->segmentArchiving)) {+ // might not be initialised if init is not called+ $this->segmentArchiving = StaticContainer::get(SegmentArchiving::class);+ }+ $segmentHash = $params->getSegment()->getHash();+ $segmentInfo = $this->segmentArchiving->findSegmentForHash($segmentHash, $idSite);+ $periodEnd = $params->getPeriod()->getDateEnd();++ if ($segmentInfo) {+ $segmentArchiveStartDate = $this->segmentArchiving->getReArchiveSegmentStartDate($segmentInfo);++ if ($segmentArchiveStartDate !== null && $segmentArchiveStartDate->isLater($periodEnd->getEndOfDay())) {+ // the system is not allowed to invalidate reports for this period+ // automatically, only a user can specifically invalidate+ continue;+ }+ }
@flamisz this wasn't addressed, did you discuss it w/ @tsteur or something?
comment created time in 3 hours
issue commentmatomo-org/matomo
When requesting Date Range or Custom Segment, only archive the requested record
@tsteur this would be a high value improvement for UI performance and reducing DB usage, significantly in some cases. Sounds good to schedule it in a 4.x.0 :rocket:
comment created time in 3 hours
push eventmatomo-org/matomo
commit sha 8d6a6d005298ebfe487ba19229a19b0460e87337
check for multiple click listeners
push time in 4 hours
created tagmatomo-org/plugin-GoogleAnalyticsImporter
Google Analytics to Matomo importer
created time in 5 hours
delete branch matomo-org/plugin-GoogleAnalyticsImporter
delete branch : new-release
delete time in 5 hours
push eventmatomo-org/plugin-GoogleAnalyticsImporter
commit sha 0fc7be3e344757dcec28a536dcd74562688f921f
bump version
commit sha 6f3bebf4aedc40531bbd6b8070846aa3b93c92b2
Merge pull request #182 from matomo-org/new-release bump version
push time in 5 hours
PR merged matomo-org/plugin-GoogleAnalyticsImporter
pr closed time in 5 hours
PR opened matomo-org/plugin-GoogleAnalyticsImporter
pr created time in 5 hours
create barnchmatomo-org/plugin-GoogleAnalyticsImporter
created branch time in 5 hours
delete branch matomo-org/plugin-GoogleAnalyticsImporter
delete branch : trim-inputs
delete time in 5 hours
push eventmatomo-org/plugin-GoogleAnalyticsImporter
commit sha 6ad4f36c4d8d2ebafe2ea20ee7d2f399e414240a
trim property/view/account ID when starting an import to avoid errors on typos
commit sha ba0275160a7d7b9ace8ecd156bce5f0abcc82e9c
Merge pull request #180 from matomo-org/trim-inputs trim property/view/account ID when starting an import to avoid errors on typos
push time in 5 hours
PR merged matomo-org/plugin-GoogleAnalyticsImporter
This can likely be an annoying/frustrating error to encounter, especially as the error is not very clear
pr closed time in 5 hours
PR opened matomo-org/matomo
Description:
fixes #15780
Review
- [ ] Functional review done
- [ ] Potential edge cases thought about (behavior of the code with strange input, with strange internal state or possible interactions with other Matomo subsystems)
- [ ] Usability review done (is anything maybe unclear or think about anything that would cause people to reach out to support)
- [ ] Security review done see checklist
- [ ] Code review done
- [ ] Tests were added if useful/possible
- [ ] Reviewed for breaking changes
- [ ] Developer changelog updated if needed
- [ ] Documentation added if needed
- [ ] Existing documentation updated if needed
pr created time in 6 hours
create barnchmatomo-org/matomo
branch : 15780-outlink-tracker-added-links
created branch time in 6 hours
delete branch matomo-org/plugin-GoogleAnalyticsImporter
delete branch : import-was-cancelled-skip
delete time in 6 hours
push eventmatomo-org/plugin-GoogleAnalyticsImporter
commit sha 13e4235105587f8db1e339364707860daebbaf34
Catch cancelled import exceptions and do not propagate in import reports command so they will not appear as errors.
commit sha 8d2197b5bc1515224317966c67ffbd14981d8556
Merge pull request #181 from matomo-org/import-was-cancelled-skip Catch cancelled import exceptions and do not propagate in import reports command
push time in 6 hours
PR merged matomo-org/plugin-GoogleAnalyticsImporter
This way they will not appear as fatal errors.
pr closed time in 6 hours
delete branch matomo-org/matomo
delete branch : allow-invalidating-empty-site
delete time in 6 hours
push eventmatomo-org/matomo
commit sha 929d2ffe7d3392ece2348a50315576f349668b53
Allow invalidating empty site (#17519) * allow invalidating empty sites (since some sites can have no visits but need to be invalidated at week or higher periods) * if skipping archiving, and there are existing archives found, use them instead of assuming 0 visits * fix test
push time in 6 hours
PR merged matomo-org/matomo
Description:
Some sites can legitimately have 0 visits, like sites imported from google. While debugging the GoogleAnalyticsImporter test failures I noticed nothing was being invalidated because of this check. Removing it in this PR.
Review
- [ ] Functional review done
- [ ] Potential edge cases thought about (behavior of the code with strange input, with strange internal state or possible interactions with other Matomo subsystems)
- [ ] Usability review done (is anything maybe unclear or think about anything that would cause people to reach out to support)
- [ ] Security review done see checklist
- [ ] Code review done
- [ ] Tests were added if useful/possible
- [ ] Reviewed for breaking changes
- [ ] Developer changelog updated if needed
- [ ] Documentation added if needed
- [ ] Existing documentation updated if needed
pr closed time in 6 hours
push eventmatomo-org/matomo
commit sha 538a1425d5e8cd9e449923a141d37741ea2f6582
fix test
push time in 7 hours
pull request commentmatomo-org/matomo
@tsteur found another regression causing the importer tests to fail, added in the latest commit.
comment created time in 8 hours
push eventmatomo-org/matomo
commit sha c2f2ea56586e4c9c45232617329bee40898a19d0
if skipping archiving, and there are existing archives found, use them instead of assuming 0 visits
push time in 8 hours