Compress previous session entries to one-line summaries, remove duplicate info already in CLAUDE.md (guidelines, architecture, testing). Keep current session detail and previous session git hashes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6.4 KiB
HVAC Community Events - Project Status
Last Updated: February 9, 2026 Version: 2.2.18 (Deployed to Production)
NEXT SESSION - CAPTCHA IMPLEMENTATION
Status: PLANNED
Objective: Add CAPTCHA to all user-facing forms to prevent spam and bot submissions.
Forms to Update:
- Training login form
- Trainer registration form
- Contact forms (trainer, venue)
- Any other public-facing forms
CURRENT SESSION - MARKER VISIBILITY TOGGLE CHECKBOX REFACTOR (Feb 9, 2026)
Status: COMPLETE - Deployed to Production (v2.2.18)
Objective: Refactor the marker visibility toggles on the Find Training page from standalone colored dots into inline checkboxes beside each category tab heading.
Changes Made
-
Inline Checkboxes in Tab Buttons (
templates/page-find-training.php)- Removed standalone
hvac-visibility-togglesdiv with 3 colored dot toggles - Moved each checkbox inline into its corresponding tab button (
Events,Trainers,Venues) onclick="event.stopPropagation()"on labels prevents checkbox clicks from triggering tab switches- Checkbox IDs unchanged — no JS changes needed
- Removed standalone
-
Custom Checkbox Styling (
assets/css/find-training-map.css)- 14x14px custom checkboxes with category-specific fill colors when checked
- Trainer checkbox uses explicit
#6aad1e(CSS variable--hvac-trainer-coloris too light) - Tablet: 12px checkboxes; Mobile (<768px): hidden
-
Version Bump (
includes/class-hvac-plugin.php) —2.2.17→2.2.18
Files Modified
| File | Change |
|---|---|
templates/page-find-training.php |
Removed visibility toggles div, added inline checkboxes in tab buttons |
assets/css/find-training-map.css |
Replaced dot toggle CSS with checkbox styles, responsive adjustments |
includes/class-hvac-plugin.php |
Version bump 2.2.17 → 2.2.18 |
Git Commit
95382ac3- feat(find-training): Refactor marker visibility dots into inline tab checkboxes
PREVIOUS SESSIONS (Reverse Chronological)
Find Training Tab Reorder, Marker Highlighting & Map Reset — Feb 9, 2026 (v2.2.17)
Reordered tabs to Events first (default), added marker highlighting on tab switch (larger/brighter icons, zIndex 100), added map reset button, fixed mobile overflow from long event titles. 9dbe472c
Mobile Find Training Scroll Fix — Feb 9, 2026 (v2.2.14)
Fixed mobile scrolling: switched from fixed-viewport (100vh; overflow: hidden) to natural page scrolling on screens ≤991px. Sticky filter bar. 4104c806
Map Tile Drift Fix & Event Cost Display — Feb 9, 2026 (v2.2.13)
Fixed Google Maps tile/marker drift at zoom 1-2 by setting minZoom: 3. Fixed event cost HTML entities ($50 → $50) via html_entity_decode(). f123c7a5
Zoho CRM Sync Production Fix — Feb 6, 2026 (v2.2.11)
Fixed silent sync failure: search criteria not sent to Zoho API (GET ignores $data), error reporting priority, phone validation, Last_Name fallback. Result: 64/64 trainers syncing. 4c22b9db
Zoho CRM Sync Architecture Fix — Feb 6, 2026
Fixed "silent failure" architecture: added validate_api_response(), hash-only-on-success for all 5 sync methods, staging mode detection via hostname parsing, admin hash reset button. 03b9bce5
Near Me Button Mobile Fix — Feb 6, 2026
Fixed .hvac-btn-text wrapper missing from Near Me button state changes (5 locations). Added empty results notification for Near Me filter.
Champion Differentiation on Find Training — Feb 2, 2026
Added is_champion flag, distinct white-outline marker icon, non-clickable sidebar cards (state only), sorted to end of list. 18 champions differentiated from trainers.
Tabbed Interface for Find Training — Feb 1, 2026
Refactored sidebar from single trainer list to Trainers | Venues | Events tabs with ARIA accessibility, venue/event cards, info modal, context-aware search, visibility toggle dots.
measureQuick Approved Training Labs — Feb 1, 2026
Created venue taxonomies (venue_type, venue_equipment, venue_amenities), configured 9 approved labs, filtered map data by taxonomy, enhanced venue modal with equipment/amenities badges and contact form.
Find Training Page Enhancements — Feb 1, 2026
Added viewport sync (sidebar shows only visible-in-map trainers), marker hover info windows, legacy URL redirects (/find-a-trainer/ → /find-training/).
Find Training Page Implementation — Jan 31–Feb 1, 2026
Built /find-training from scratch with Google Maps API replacing buggy MapGeo. 8 new files. Features: markers, clustering, filters, geolocation, modals, contact form, auto-geocoding. Multi-model code review fixed 6 issues (1 critical, 1 high).
E2E Testing & Bug Fixes — Feb 1, 2026
Deployed 12 security fixes, ran E2E tests, fixed empty trainers table (SQL rewrite) and blank event pages (template path mismatch). Added staging email filter.
Multi-Model Security Code Review — Jan 31, 2026
4-model review (GPT-5, Gemini 3, Kimi K2.5, Zen MCP) across 11 files. Found and fixed 12 issues: 2 critical (password transients, O(3600) DoS loop), 4 high, 4 medium, 2 low.
Master Trainer Profile Edit Enhancement — Jan 9, 2026
Fixed button styling, added all 6 profile field sections, added password reset button with AJAX handler.
TEC Community Events Dependency Analysis — Jan 5, 2026
Plugin still relies on TEC CE for event creation. Removal estimated 9-14 days. Deferred as technical debt.
Zoho Scheduled Sync, Batch Sync, Attendee Sync — Dec 17-20, 2025
WP-Cron scheduled sync with configurable intervals, batch pagination with progress bar, attendee/RSVP sync to Zoho Contacts + Campaign Members. 64/64 trainers, 50/50 attendees syncing.
Earlier Sessions (Nov-Dec 2025)
Nonce fix (v2.1.7), technical debt cleanup (v2.1.6), z-index fix (v2.1.5), Gemini environment setup, PHP 8+ compatibility, nav dropdown fix, MapGeo interceptor strategy.
ENVIRONMENTS
| Environment | URL | Version |
|---|---|---|
| Production | https://upskillhvac.com | 2.2.18 |
| Staging | https://upskill-staging.measurequick.com | 2.2.18 |
Deploy: ./scripts/deploy.sh staging or ./scripts/deploy.sh production
KNOWN ISSUES (Minor)
- Playwright headless login requires headed mode with correct selectors
- Brief "jQuery is not defined" console error on page load (non-blocking)
- Minor responsive layout issue on dashboard (cosmetic)
For detailed session history, see git log and previous Status.md versions.