Release 16.10.2025 - #605
Conversation
## Changes - Added `testFolder/` to `.gitignore` to exclude test files from version control. - Enhanced `bws-installer.sh`, `install.sh`, and other scripts to use a cross-platform temporary directory for temporary files, improving cleanup and organization. - Updated `axios` dependency version in `package.json` from `^1.12.1` to `^1.12.2`. - Configured dotenv to load environment variables quietly in multiple scripts to reduce console noise. ## Impact These changes streamline the script execution process and ensure that unnecessary files are not tracked in the repository.
## Problem The previous trap handler (`trap cleanup EXIT INT TERM`) ran cleanup but didn't exit after receiving SIGINT (Ctrl-C) or SIGTERM. This caused the installer scripts to continue executing with deleted temp paths, leading to unpredictable failures. ## Solution Split the trap handlers to ensure proper exit behavior: - `trap cleanup EXIT` — runs cleanup on normal exit - `trap 'cleanup; exit 130' INT` — runs cleanup then exits with code 130 on Ctrl-C - `trap 'cleanup; exit 143' TERM` — runs cleanup then exits with code 143 on SIGTERM ## Changes - **bws-installer.sh**: Split trap into separate EXIT/INT/TERM handlers - **install.sh**: Split trap into separate EXIT/INT/TERM handlers ## Impact - ✅ Maintains original abort behavior on interrupts - ✅ No breaking changes to normal execution flow - ✅ Follows standard shell exit code conventions (128+N for signal N) - ✅ Prevents half-installed state after Ctrl-C ## Testing - Normal completion: cleanup runs, exit code 0 - Ctrl-C during install: cleanup runs, script stops, exit code 130 - SIGTERM: cleanup runs, script stops, exit code 143 Addresses feedback from Codex bot review on BWS PR #53
## Summary Fixed Facebook pixel initialization bugs and duplicate tracking events across the docs site. ## Changes - ✅ Fixed Facebook pixel initialization bug (removed incorrect `window.fbq.push` assignment) - ✅ Removed duplicate PageView event on pixel init (now fires only via `trackPageView()` calls) - ✅ Added script duplicate guards for Google Analytics, LinkedIn, and Facebook pixels - ✅ Added scroll tracking initialization guard to prevent multiple listeners - ✅ Initialized tracking service in global Layout component (enables pixel loading on all pages) - ✅ Fixed section engagement tracking to prevent duplicate events on scroll ## Impact Ensures clean, single-fire tracking with no spam or duplicate events across all pages. ## Testing Test locally by: 1. Open DevTools → Network tab, filter for "fbevents" - should see `fbevents.js` load once 2. Check Console: `window.fbq` should exist with version "2.0" 3. Navigate to webinar page - should see 1 PageView + 1 ViewContent event (no duplicates) 4. Scroll through sections - each section should fire `content_engagement` exactly once
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting
| if (!facebookPixel) return | ||
|
|
||
| try { | ||
| // Facebook Pixel Code | ||
| // Facebook Pixel Code - Official stub implementation | ||
| window.fbq = | ||
| window.fbq || | ||
| function (...args: any[]) { | ||
| ;(window.fbq.q = window.fbq.q || []).push(args) | ||
| } | ||
| window._fbq = window.fbq | ||
| window.fbq.push = window.fbq | ||
| window.fbq.loaded = true | ||
| window.fbq.version = '2.0' | ||
| window.fbq.queue = [] | ||
|
|
||
| const facebookScript = document.createElement('script') | ||
| facebookScript.async = true | ||
| facebookScript.src = 'https://connect.facebook.net/en_US/fbevents.js' | ||
| document.head.appendChild(facebookScript) | ||
| window.fbq.q = [] | ||
|
|
||
| // Check if script already exists | ||
| const existingScript = document.querySelector('script[src*="fbevents.js"]') | ||
| if (!existingScript) { | ||
| const facebookScript = document.createElement('script') | ||
| facebookScript.async = true | ||
| facebookScript.src = 'https://connect.facebook.net/en_US/fbevents.js' | ||
| document.head.appendChild(facebookScript) | ||
| } | ||
|
|
||
| window.fbq('init', facebookPixel) | ||
| window.fbq('track', 'PageView') |
There was a problem hiding this comment.
Initialize Facebook Pixel without standard queue
The new Facebook Pixel bootstrap writes events into window.fbq.q and never sets fbq.queue or fbq.push = fbq as in the official snippet. When fbevents.js loads it only drains fbq.queue, so the queued init/PageView calls in this block will never be flushed and the first page load will miss its pixel events. This silently drops analytics data for users who load the page before the external script finishes.
Useful? React with 👍 / 👎.
No description provided.