upskill-event-manager/Status.md
ben 0b033f7f4f
Some checks are pending
HVAC Plugin CI/CD Pipeline / Security Analysis (push) Waiting to run
HVAC Plugin CI/CD Pipeline / Code Quality & Standards (push) Waiting to run
HVAC Plugin CI/CD Pipeline / Unit Tests (push) Waiting to run
HVAC Plugin CI/CD Pipeline / Integration Tests (push) Waiting to run
HVAC Plugin CI/CD Pipeline / Deploy to Staging (push) Blocked by required conditions
HVAC Plugin CI/CD Pipeline / Deploy to Production (push) Blocked by required conditions
HVAC Plugin CI/CD Pipeline / Notification (push) Blocked by required conditions
Security Monitoring & Compliance / Secrets & Credential Scan (push) Waiting to run
Security Monitoring & Compliance / WordPress Security Analysis (push) Waiting to run
Security Monitoring & Compliance / Dependency Vulnerability Scan (push) Waiting to run
Security Monitoring & Compliance / Static Code Security Analysis (push) Waiting to run
Security Monitoring & Compliance / Security Compliance Validation (push) Waiting to run
Security Monitoring & Compliance / Security Summary Report (push) Blocked by required conditions
Security Monitoring & Compliance / Security Team Notification (push) Blocked by required conditions
docs: condense Status.md from 1348 to 131 lines
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>
2026-02-09 19:27:47 -04:00

130 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
1. **Inline Checkboxes in Tab Buttons** (`templates/page-find-training.php`)
- Removed standalone `hvac-visibility-toggles` div 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
2. **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-color` is too light)
- Tablet: 12px checkboxes; Mobile (<768px): hidden
3. **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 (`&#x24;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 31Feb 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)
1. Playwright headless login requires headed mode with correct selectors
2. Brief "jQuery is not defined" console error on page load (non-blocking)
3. Minor responsive layout issue on dashboard (cosmetic)
---
*For detailed session history, see git log and previous Status.md versions.*