v1.8.17: call tracking conflict scan + diagnostics copy fix (backlog polish) - #66
Merged
Conversation
…py fix (backlog polish) Bundles the three "Free — Backlog" items from ROADMAP.md: the Conflict Scan now detects active call tracking scripts (CallRail, CallTrackingMetrics, WhatConverts, and others) via the previously-unwired Setup_Detector::detect_call_tracking(), surfacing an info-severity note that ClickTrail already skips tel: link decoration automatically; the Conflict Scan card description on Diagnostics was corrected to list this new check; and a full UI/messaging audit found the existing settings, checklist, and diagnostics copy already accurate (no further changes needed) aside from that one description. PHPCS already reports zero warnings, so no code changes were needed for that item. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bundles the three "Free — Backlog" items from
ROADMAP.mdinto one maintenance release.1. Call tracking conflict scan
build_conflict_scan_report()inincludes/admin/traits/trait-admin-diagnostics-ajax.phpnow checks for active call-tracking scripts and surfaces aninfo-severity finding (not a warning):The detection itself lives in a new
detect_call_tracking_labels()helper that delegates toSetup_Detector::detect_call_tracking()(includes/admin/class-setup-detector.php) — that method already existed, checking active-plugin slugs and known constants for CallRail, CallTrackingMetrics, WhatConverts, Retreaver, and Infinity Call Tracking, but was dead code: its docblock referenced adetect_call_tracking_labels()in the diagnostics trait that had never actually been written. This PR is what closes that gap, reusing the existing detection style (same shape asdetect_cache_conflict_labels()) rather than inventing a new mechanism.docs/guides/OPERATIONS-RUNBOOK.md's Conflict Scan check list was updated to include the new check.2. UI/messaging audit
Read through settings tab descriptions and field labels (
includes/admin/class-admin.php+assets/js/admin-settings-app.js), the setup checklist copy, the Diagnostics screen (diagnostics_page()andassets/js/admin-diagnostics.js), and grepped for "Tracking v2" in user-facing strings.Findings:
trackingv2legacy URL-alias key, theclicktrail-tracking-v2-rootDOM id, and PHP comments/docblocks — no translatable user-facing string uses that terminology. This matchesdocs/guides/CODE-QUALITY.md's existing note that the internal option key/identifiers are intentionally preserved.includes/admin/traits/trait-admin-pages.php) listed the categories the scan checks but omitted the newly-added call tracking check — updated from "Run deterministic checks for caching, duplicate ownership, Woo gaps, and delivery mismatches." to include "call tracking scripts".This was a targeted correction pass, not a rewrite — no other strings were touched since I couldn't point to a concrete confusion or inaccuracy in them.
3. PHPCS zero-warnings pass
Ran
composer run phpcs(matches.github/workflows/php-lint.yml) against the full codebase, both before and after the above changes. Zero errors, zero warnings — nothing needed fixing for this item.composer run test(PHPUnit, 18 tests) also passes.Files changed
includes/admin/traits/trait-admin-diagnostics-ajax.php— new call-tracking finding +detect_call_tracking_labels()includes/admin/traits/trait-admin-pages.php— Conflict Scan card description fixdocs/guides/OPERATIONS-RUNBOOK.md— Conflict Scan check list updatedclicutcl.php— version bump 1.8.16 → 1.8.17 (Version header +CLICUTCL_VERSION)changelog.txt,readme.txt— 1.8.17 changelog entries (readme.txtStable tagleft at 1.8.13 per the 3-version buffer policy inRELEASING.md)Test plan
composer run phpcs— 0 errors, 0 warningscomposer run test(PHPUnit) — 18/18 passingphp -lon every touched filephp-lint.yml) green on PHP 8.3 (verified locally on PHP 8.5)🤖 Generated with Claude Code