Skip to content

Respect both states of automated event settings - #43

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

adriaandotcom merged 2 commits into
simpleanalytics:mainfrom
jdevalk:codex/fix-event-booleans

Conversation

@jdevalk

@jdevalk jdevalk commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Serialize Use titles of page and Use full URLs as explicit true/false strings accepted by the automated-events script. Unchecked values now override the script defaults correctly.

Fixes #39.

Validation: both focused browser tests fail on the original numeric values and pass with the fix. Each verifies enabled and disabled 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 1710610 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.

Event boolean settings are ignored because attributes contain numeric values

2 participants