Skip to content

Count tracked visits from the log tables in the CNIL masking test - #228

Open
nathangavin wants to merge 6 commits into
6.x-devfrom
dev-20562-6x
Open

Count tracked visits from the log tables in the CNIL masking test#228
nathangavin wants to merge 6 commits into
6.x-devfrom
dev-20562-6x

Conversation

@nathangavin

@nathangavin nathangavin commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Description

Live.getCounters now applies privacy-safe rounding while a data-rounding policy such as CNIL is active. ForceNewVisitTest's masked-campaign case enables CNIL and asserts small exact counts (1 vs 2) read through Live.getCounters, which would collapse to 10 under rounding.

This reads the tracked counts directly from the log tables so those assertions stay rounding-immune.

Supports matomo-org/matomo#24929.

Checklist

  • [✔] I have understood, reviewed, and tested all AI outputs before use
  • [✔] All AI instructions respect security, IP, and privacy rules

Review

🤖 Generated with Claude Code

sgiehl and others added 6 commits July 9, 2026 14:43
Bump plugin version to 6.0.0 and require Matomo >=6.0.0-b1,<7.0.0-b1.
* Update min_php system test expected files for PHP 8.1

With the Matomo minimum PHP version raised to 8.1, the min_php_ baseline
cell now runs on PHP 8.1 instead of 7.2. PHP 8.0 made sorting stable, so
campaign rows with tied values aggregate/order as they already do on
8.2/8.5 - the regenerated min_php_ output is byte-identical to the
existing max baseline. Refs matomo-org/matomo#24638.

* adjust actions for  php 8.1
* Run plugin tests against MySQL 8.0 and MariaDB 10.6

The workflow inherited the shared action's MySQL 5.7 default, which is below
Matomo's new minimum. Pin the database-backed jobs to the supported floor:
PluginTests now runs a MySQL 8.0 + MariaDB 10.6 matrix, and the UI/JS jobs run
on MySQL 8.0.

* Only upload plugin test artifacts for the MySQL matrix leg

PluginTests runs a MySQL + MariaDB matrix; the upload-artifacts condition
matched both legs and uploaded twice. Restrict the upload to the MySQL leg.
… Puppeteer 24) (#225)

* Update expected UI screenshots for the new headless Chrome (Node 24 / Puppeteer 24)

* Re-sync expected UI screenshots for the new headless Chrome after rebase

Rendering drift only (identical content, minor line-height/AA shifts) under the
new headless Chrome used by the migrated screenshot-testing harness.

* Fix loaded_ecommerce capture: grow viewport so the sticky header stays at top

Under Puppeteer 24 an element screenshot of a report taller than the viewport leaves the
DataTable's position:sticky column header floating mid-table (captured at the scrolled
viewport position). Grow the viewport to fit the whole report before capturing so no
scrolling occurs and the header renders at the top. The live browser shows the report at
this (wider) width, so the capture now matches what users actually see.

* Sync corrected loaded_ecommerce screenshot (header at top)

* Run the plugin UI tests on Node 24

Match the Node 24 / Puppeteer 24 screenshot-testing stack; the UI job was still pinned to Node 16.
Teal brand screenshots on 6.x-dev plugin base; synced from matomo-org/matomo run 30405694397.
Live.getCounters now applies privacy-safe rounding while a data-rounding policy
such as CNIL is active, which would collapse the small exact counts this test
relies on (1 and 2 both become 10). Read the tracked counts directly from the
log tables so the masked-campaign assertions stay rounding-immune.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
caddoo
caddoo previously approved these changes Aug 3, 2026

@caddoo caddoo left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need a review from @matomo-org/plugin-reviewers

@caddoo
caddoo requested a review from a team August 3, 2026 22:01
lachiebol
lachiebol previously approved these changes Aug 3, 2026

@lachiebol lachiebol left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Base automatically changed from prepare6x to 6.x-dev August 10, 2026 06:52
@sgiehl
sgiehl dismissed stale reviews from lachiebol and caddoo August 10, 2026 06:52

The base branch was changed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants