PluginProbe
WPVR – 360 Panorama viewer and Virtual Tour Builder for WordPress / 9.1.3
WPVR – 360 Panorama viewer and Virtual Tour Builder for WordPress v9.1.3
9.1.3 9.1.2 9.1.1 9.1.0 9.0.3 9.0.2 9.0.1 9.0.0 8.5.79 8.5.78 8.5.77 8.5.76 8.5.75 8.5.74 8.5.73 8.5.72 8.5.71 8.5.70 8.5.69 8.5.68 8.5.35 8.5.36 8.5.37 8.5.38 8.5.39 All 222 releases
← All changes | src/Tracker/WPVRLinnoTelemetry.php +16 -17 9.1.09.1.3 View file →
@@ -12,14 +12,15 @@
12 12 * Canonical events tracked:
13 13 * - activation/plugin_activated — SDK lifecycle, no consent (automatic).
14 14 * - activation/plugin_deactivated — SDK lifecycle, no consent (automatic).
15 15 * - activation/onboarding_completed — non-PII, override (track_immediate).
16 - * - activation/aha_reached — consent-gated; wizard completion fires on consent grant,
17 - * active tour views fire via define_triggers → aha.
18 - * - retention/tour_created — consent-gated; first publish of a real tour,
16 + * - activation/tour_created — consent-gated; first publish of a real tour,
19 17 * emitted once per tour via transition_post_status.
20 18 * - retention/feature_used — consent-gated (define_triggers → feature_used).
21 19 *
20 + * activation/aha_reached is temporarily disabled (both producers guarded off below)
21 + * pending removal — see handle_embedded_tour_view() and track_aha_after_consent().
22 + *
22 23 * @since 8.5.57
23 24 */
24 25
25 26 class WPVRLinnoTelemetry {
@@ -119,22 +120,14 @@
119 120 // Non-PII onboarding event — bypasses consent via override=true on track_immediate().
120 121 add_action( 'wpvr_setup_wizard_completed_event', array( $this, 'track_onboarding_event' ), 10, 1 );
121 122
122 123 // Consent-gated events via SDK trigger system.
123 - // activation/aha_reached — queued when ≥60% of tours are actively viewed (recurring).
124 - // retention/feature_used — queued on every tour save.
125 - // Both require opt-in consent.
124 + // retention/feature_used — queued on every tour save. Requires opt-in consent.
125 + // activation/aha_reached (tours_actively_viewed) is temporarily disabled — see
126 + // handle_embedded_tour_view() below, which no longer emits the underlying hook.
126 127 $self = $this;
127 128 $wpvr_telemetry->define_triggers(
128 129 array(
129 - 'aha' => array(
130 - 'tours_actively_viewed' => array(
131 - 'hook' => 'wpvr_kui_unique_views_updated',
132 - 'callback' => function ( $unique_views, $tour_id ) use ( $self ) {
133 - return $self->build_kui_payload( $unique_views, $tour_id );
134 - },
135 - ),
136 - ),
137 130 'feature_used' => array(
138 131 'tour_creation' => array(
139 132 'hook' => 'wpvr_tour_settings_saved',
140 133 'callback' => function ( $tour_id ) use ( $self ) {
@@ -295,9 +288,9 @@
295 288 if ( $this->is_seeded_tour( $post->ID ) || $this->has_tracked_tour_created_event( $post->ID ) ) {
296 289 return;
297 290 }
298 291
299 - $wpvr_telemetry->track( 'retention/tour_created', $this->build_real_tour_creation_payload( $post->ID ) );
292 + $wpvr_telemetry->track( 'activation/tour_created', $this->build_real_tour_creation_payload( $post->ID ) );
300 293 update_post_meta( $post->ID, self::TOUR_CREATED_TRACKED_META_KEY, '1' );
301 294 }
302 295
303 296 /**
@@ -364,9 +357,12 @@
364 357 *
365 358 * @return void
366 359 */
367 360 public function track_aha_after_consent() {
368 - global $wpvr_telemetry;
361 + // Temporarily disabled — activation/aha_reached is being retired.
362 + return;
363 +
364 + global $wpvr_telemetry; // phpcs:ignore
369 365 if ( ! is_object( $wpvr_telemetry ) ) {
370 366 return;
371 367 }
372 368
@@ -401,9 +397,12 @@
401 397 * @param int $tour_id Tour ID.
402 398 * @return void
403 399 */
404 400 public function handle_embedded_tour_view( $tour_id ) {
405 - $tour_id = absint( $tour_id );
401 + // Temporarily disabled — activation/aha_reached is being retired.
402 + return;
403 +
404 + $tour_id = absint( $tour_id ); // phpcs:ignore
406 405 if ( $tour_id <= 0 ) {
407 406 return;
408 407 }
409 408