Skip to content

Fix manual pageview collection setting - #42

Merged
adriaandotcom merged 2 commits into
simpleanalytics:mainfrom
jdevalk:codex/fix-manual-pageviews
Sep 15, 2026
Merged

adriaandotcom merged 2 commits into
simpleanalytics:mainfrom
jdevalk:codex/fix-manual-pageviews

Conversation

@jdevalk

@jdevalk jdevalk commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Checking Manually collect page views now emits data-auto-collect="false", disabling automatic pageviews as documented. Unchecking it restores the default automatic mode.

Fixes #37.

Validation: the focused WordPress browser test failed on the original code (true instead of false) and passes with the fix, covering both checkbox states. PHP syntax and diff checks pass.

Combined validation: all six proposed fixes were applied to a local integration branch; all 23 browser and WordPress regression tests, the asset build, PHP syntax checks and diff checks passed. GitHub workflows currently report action_required for these fork pull requests.

@adriaandotcom
adriaandotcom merged commit 49ca62d into simpleanalytics:main Sep 15, 2026
7 checks passed
adriaandotcom pushed a commit that referenced this pull request Sep 15, 2026
## Summary

Fixes #38

Run the configured callback through the script's onload handler instead
of the unused data-onload attribute. WordPress escapes the handler, and
the browser regression verifies execution with quoted callback text.

Only users with unfiltered_html can authorize callback code. A
site-specific signature records authorized saves. Previously stored
callbacks remain inactive until an authorized administrator saves the
Advanced settings again; changing WordPress authentication salts also
requires saving again.

Resolved the requested conflicts against current main. The merged
version retains the manual-pageview fix from #42, both-state
event-setting tests from #43, and the existing regression harness and
lifecycle fixes. Manual collection still emits
data-auto-collect="false", while the callback is supplied by
OnloadCallback::get().

## Testing

- WordPress 7.1 / PHP 8.3.33: all 19 browser tests and all 3 WordPress
regression tests passed.
- Tests cover both manual-collection states, actual callback execution,
authorized and rejected saves, inactive legacy or modified callback
values, clearing the handler, IP sanitization, and plugin
deactivation/uninstall behavior.
- Frozen-lockfile install, asset build, PHP syntax, and diff checks
passed.

Co-authored-by: simple-analytics-ai[bot] <313929673+simple-analytics-ai[bot]@users.noreply.github.com>
Co-authored-by: Simple Analytics Codex <codex@simpleanalytics.invalid>
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.

Manual pageview collection still sends automatic pageviews

2 participants