Changelog
Track all notable changes, improvements, and fixes to the HelprPass platform.
# Changelog All notable changes to Handy Pass will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [1.4.2] - 2025-09-17 ### Fixed - **Duration Calculation Bug**: Fixed critical issue where dropdown metafield time impacts were not being calculated - "Bag and remove" option now correctly adds 20 minutes to service duration estimate - "Mulch into lawn" option correctly adds 0 minutes (no time impact) - Fixed JSON double-encoding issue in `time_impact_config` that caused time multipliers to default to 0 - **Metafield Time Impact Processing**: Enhanced JavaScript calculation logic to handle `fixed_per_option` type metafields - Added missing case for dropdown-based time impacts in duration estimation - Improved debug logging to track time impact calculations across all metafield types ### Enhanced - **Service Duration Accuracy**: Complete time estimation now factors in both acreage-based multipliers and dropdown selection impacts - Lawn mowing service now shows accurate total duration (base time + lot size impact + disposal method time) - Real-time duration updates when switching between "Bag and remove" vs "Mulch into lawn" options ## [1.4.1] - 2025-08-27 ### Enhanced - **Service Tracker Status Display**: Replaced generic "Completed" and "Self-Completed" statuses with actionable countdown/overdue information - Shows "X days until next suggested service" when service is not yet due - Shows "Likely overdue by X days" when past suggested service interval - Changed "Not Yet Completed" to "Needs Attention" for better clarity - **Navigation Menu Reorganization**: Improved user workflow with optimized menu structure - "Request Service" now first menu item with property dropdown selection - "Service Tracker" moved to second position for better discovery - Property dropdown shows appropriate icons (home/car/building) for each property type ### Improved - **Properties Page UX**: Streamlined interface by removing redundant elements - Removed duplicate "Active" indicators (kept only checkmark icon) - Removed primary property system and "Make Primary" buttons - Added "View Service History" button to each property card - Changed share icon from generic share to user-plus for clarity - Removed home icon from "My Properties" heading for neutrality ### Fixed - **Service Tracker Bug**: Fixed broken route for viewing service requests from tracker - **Table Layout**: Enhanced Service Tracker table with proper borders and increased Schedule column width (15% → 25%) ## [1.4.0] - 2025-08-22 ### Fixed - **Template Syntax Errors**: Resolved critical Jinja template issues in property onboarding that caused Internal Server Error - **JavaScript Function Error**: Fixed "addPresetOption is not defined" error by correcting template block name from {% block scripts %} to {% block extra_js %} - **Nested Conditional Blocks**: Cleaned up complex if/elif/endif structure in property_question.html template - **Preset Button Layout**: Maintained col-3 (1/4 width) sizing for preset options as requested for optimal mobile display ### Technical Improvements - Completely restructured number field template section for better maintainability - Eliminated duplicate navigation sections and redundant template blocks - Applied consistent button sizing across all preset option interfaces - Enhanced template error handling and validation ## [1.3.10] - 2025-08-21 ### Fixed - **Member Pricing Display Bug**: Fixed critical issue where member savings displayed as $0 instead of correct discount amount - **Property Compatibility**: Improved service request flow to automatically switch to compatible properties with user notification instead of causing errors - **API Pricing Calculation**: Fixed override_subscriber parameter handling in calculate-price endpoint to properly differentiate member vs non-member pricing ## [1.3.9] - 2025-08-21 ### Enhanced - **Timeline System**: Completely revamped service request timeline display for improved chronological accuracy - Enhanced timeline styling with larger icons and removed background circles for cleaner appearance - Fixed chronological ordering to show proper event sequence: Service Requested → Vendor Assigned → Service Accepted → Admin Updates → Service Scheduled → Service Started → Progress Reports - Added missing vendor acceptance event with estimated timing based on assignment timestamps - Improved vendor assignment information showing which vendor accepted the request - Added service start timestamp based on scheduled arrival time for better timeline accuracy ### Technical Improvements - Updated timeline generation logic with proper event sequencing and chronological sorting - Enhanced CSS styling for timeline components with better visual hierarchy - Implemented intelligent date estimation for missing timestamps in historical data - Added comprehensive timeline sorting function to handle mixed date/null values properly ## [1.3.8] - 2025-08-20 ### Enhanced - **Timeline UI**: Mirrored admin timeline view to customer service request details page - Updated timeline styling with table-like information display for better readability - Enhanced chronological ordering including vendor assignment, acceptance, and service start events - Implemented comprehensive duplicate submission prevention for progress reports with loading states ### Fixed - Fixed timeline chronological ordering with proper vendor assignment and acceptance timestamps - Resolved duplicate progress report submissions with button disabling and error handling - Enhanced timeline styling by removing background circles and making icons larger ### Technical Improvements - Added proper button state management for progress report forms - Updated project version tracking and changelog maintenance - Enhanced customer service request detail view with admin-style timeline display ## [1.3.6] - 2025-08-16 ### Fixed - **CRITICAL**: Completely removed 10% non-subscriber markup from all pricing calculations and displays - Corrected member pricing to use proper `member_rate` values from metafield configurations - Fixed dynamic pricing calculations when "Sign Me Up!" membership checkbox is selected - Resolved savings calculation to show accurate difference between member and non-member pricing - Enhanced API endpoint with subscriber override support for real-time membership pricing ### Enhanced - Updated membership checkbox text with "Learn More" link to membership page - Implemented dynamic savings calculation that updates based on metafield inputs - Added real-time pricing breakdown display when membership is selected - Improved member vs non-member pricing transparency with clear calculations ### Technical Improvements - Enhanced `/api/calculate-price` endpoint with `override_subscriber` parameter - Added comprehensive JavaScript functions for dynamic pricing updates - Implemented parallel API calls for accurate savings calculations - Updated server-side pricing to use actual metafield values for savings computation ## [1.3.5] - 2025-08-15 ### Fixed - **CRITICAL**: Resolved multiple Internal Server Errors in onboarding property-basics route - Fixed database constraint violations where HomeDetails table required user_id field during property creation - Corrected SQLAlchemy relationship errors where property_type field was incorrectly assigned strings instead of objects - Fixed property type mapping ensuring form values (single_family, condo, etc.) properly map to database 'residential' type - Resolved blueprint naming error in membership offer template (referral_routes → referral) ### Enhanced - Improved membership offer page with more direct "Become a HelprPass Member" heading - Updated first membership benefit to "Pays for itself on the first service!" for clearer value proposition - Made referral code section more discreet with stacked buttons and collapsible design - Added auto-fade functionality for success alerts that disappear after 4 seconds - Removed "No long term commitment" text, simplified to "Cancel anytime" ### Technical Improvements - Implemented robust property type mapping with fallback logic ensuring property_type_id is never null - Added comprehensive error handling for database constraints in onboarding flow - Enhanced form validation to ensure all required fields are properly populated - Updated template references to use correct blueprint names for URL generation ## [1.3.4] - 2025-08-13 ### Added - **MAJOR**: Enhanced vendor service request acceptance with comprehensive decline functionality - Interactive decline modal with standardized reason selection and optional notes - Real-time countdown timer showing auto-decline deadline with color-coded urgency indicators - Customer risk notification system displaying color-coded risk badges (Red/Amber/Green) to vendors - Complete customer scoring configuration viewer with detailed formula display - Privacy-focused decline messaging that doesn't reveal internal routing decisions to vendors ### Enhanced - Vendor request acceptance interface now includes both accept and decline options in single view - Customer risk information prominently displayed during vendor decision-making process - Auto-decline timer changes color as deadline approaches (warning at 2 hours, danger at 1 hour) - Admin customer scoring dashboard with working configuration detail viewer - Comprehensive decline reason tracking with proper categorization and notes ### Technical Improvements - Added CSRF token protection to decline form modal - Implemented `viewConfig` JavaScript function with modal display for configuration details - Created new backend route `/admin/scoring/customer/config/<id>/details` for configuration data - Enhanced vendor routing system with privacy-conscious success messaging - Improved decline workflow with proper vendor routing and customer notifications - Updated replit.md with latest customer scoring system implementation status ### Fixed - Missing JavaScript function for customer scoring configuration eyeball icon clicks - CSRF token security error when submitting decline requests - Configuration viewer modal now properly displays all scoring parameters and component weights ## [1.3.3] - 2025-08-10 ### Added - **MAJOR**: Comprehensive billing transparency for shared properties - Complete service history visibility for all authorized property users - User identification system showing who requested and paid for each service - Enhanced property sharing system with full access control integration ### Enhanced - Service request queries now show ALL property services (not just user-owned) - Service history templates display "Requested by [User Name]" for transparency - Dashboard service cards show requester information for shared properties - Property access control uses accessible_properties() method throughout application - Integrated shared property support across all service-related interfaces ### Technical Improvements - Updated all service request database queries to filter by property rather than user - Enhanced service history and dashboard templates with conditional user identification - Improved property context processor for consistent shared access - Strengthened billing transparency with clear service ownership indicators - Comprehensive template updates across service history, dashboard, and property management ## [1.3.2] - 2025-08-07 ### Fixed - **CRITICAL**: Metafield deletion functionality completely restored - Fixed nested form submission issue where delete button triggered edit form instead of delete form - Added missing PropertyTypeMetafield association cleanup to prevent database constraint violations - Resolved "Metafield updated successfully" message appearing when attempting deletion - Fixed database foreign key constraint errors during metafield deletion process ### Technical Improvements - Separated delete form from edit form to ensure proper route targeting - Enhanced delete route with comprehensive cleanup of all related database tables: - ServiceRequestMetafieldValue records - UserMetafieldPreference records - PropertyMetafieldPreference records - PropertyTypeMetafield associations - ServiceMetafield assignments - Improved error handling and logging for metafield deletion operations - Added proper transaction rollback on deletion failures ## [1.3.1] - 2025-08-07 ### Enhanced - Service-Property Type Association System Implementation - Enhanced Service Request Page & Dashboard Search Animation - Rewards System Enhancement - First Property Completion Bonus - Admin Dropdown Enhancement & Menu Consistency - Property Edit Page Enhancement & Profile Completion Fix ## [1.3.0] - 2025-08-06 ### Added - Sticky save changes bar to property edit page with real-time change tracking - Visual indicators for modified fields (yellow background and left border) - Keyboard shortcut support (Ctrl+S) for saving changes - Warning prevention system for legitimate form submissions - Profile completion notification system with proper section mapping ### Fixed - Profile completion notification bug where missing sections weren't displayed - False "Changes may not be saved" browser warnings when clicking save buttons - Template section name mapping from deprecated field names to current property system - Form submission handling to prevent unnecessary browser warnings ### Technical Improvements - JavaScript change tracking system with pendingChanges object - Form submission flag system to bypass warnings during saves - Real-time sticky bar updates with change count display - Enhanced form validation and user experience consistency ## [1.2.0] - 2025-08-06 ### Added - Google Analytics integration with conditional loading - Property management cleanup and navigation reorganization - Enhanced service status management system with disable/archive functionality - Comprehensive client-side input validation for vendor business profiles - Property-specific service history filtering - Photo upload enhancement with conditional display - Dedicated Service History page with comprehensive service tables and filtering ### Changed - Moved "Billing" menu item from primary navigation to Account dropdown - Relocated "Manage Properties" and "Add Property" from property switcher to Account dropdown - Updated navigation structure for better organization and user experience - Enhanced vendor validation with EIN and phone auto-formatting - Improved photo upload section visibility logic - Reorganized dashboard by moving service tables to dedicated Service History page - Added "Service History" link to Account dropdown menu for easy access - Replaced "Request New Service" button with prominent gradient search bar featuring live filtering - Enhanced search bar with attractive gradient design and integrated category dropdown filter - Removed "Your Services" heading for cleaner dashboard layout - Replaced service credit display with property switcher in header - Updated welcome message to show current property name and full address - Fixed property address display issue (was checking wrong field name) - Updated address display to single line format without location icon - Fixed profile completion notification to show missing sections properly - Added sticky save changes bar to property edit page with real-time change tracking - Fixed false "Changes may not be saved" warning when clicking save buttons ### Removed - Obsolete `/property-details` page and associated template - Legacy property details functionality (superseded by modern property system) ### Fixed - Property switching dropdown functionality across all pages - Authentication errors in AJAX requests for property switching - Photo upload display bug where section appeared incorrectly - Service status management to prevent orphaned records - Enhanced data integrity for service deletion operations ### Technical Improvements - Database schema synchronization with production - Column rename operation: "current_date" to "submitted_date" in date_change_request table - Enhanced delete protection for services with request history - Real-time formatting for vendor input fields - Google Places autocomplete integration for address validation ## [1.1.0] - 2025-07-28 ### Added - Multi-property management system - Property-specific service isolation - Enhanced user experience with property switcher - Comprehensive license verification system - Google address validation for vendor profiles - Federal EIN requirements for vendor registration - Easily fulfillable services for manual vendor matching ### Enhanced - Vendor verification system with Google Places autocomplete - Property onboarding with metafield customization - Service request workflow improvements - Admin interface with property-specific views ## [1.0.0] - 2025-06-01 ### Added - Initial release of Handy Pass platform - Flask-based web application with PostgreSQL database - User authentication and authorization system - Service request and vendor management - Payment processing with Stripe integration - Rewards system with tiered benefits - Email and SMS verification capabilities - Google Maps integration for service areas - Admin dashboard for platform management - Comprehensive metafield system for customizable services ### Features - Multi-role user support (homeowners, vendors, admins) - Dynamic service catalog with flexible pricing - Recurring service management - Vendor application and approval workflow - Real-time service request matching - Payment processing with hold and release mechanisms - Review and rating system - Responsive web design with Bootstrap integration --- ## Version History Summary - **v1.2.0**: Navigation improvements, Google Analytics, enhanced validation - **v1.1.0**: Multi-property system, vendor verification enhancements - **v1.0.0**: Initial platform release with core functionality