* feat(locales): add second and third place translations in multiple languages and improve leaderboard UI with new badges and animations
* feat(locales): add new translation keys for last activity and registration date in multiple languages; enhance leaderboard UI with improved rank display and user information layout
* feat(leaderboard-item): enhance leaderboard item UI with improved layout and added ClockIcon for last activity time display
* feat(leaderboard): implement leaderboard period filtering and enhance date range handling for top workout users
* feat(leaderboard): add user leaderboard position component and related actions for fetching user position in leaderboard
* fix(Footer.tsx): remove period prop from UserLeaderboardPosition for consistency in usage
* feat(leaderboard): add user authentication check and motivational message for users with no workouts
* feat(leaderboard): enhance leaderboard page with new header and user info cards for better user engagement
* feat(locales): add leaderboard titles and descriptions in multiple languages for improved user experience and localization support
* refactor: clean up imports and simplify code structure across multiple files for better readability and maintainability
* chore(use-user-position.ts): reorganize imports for better readability and maintainability
* refactor(get-user-position.action.ts): remove unused code for counting users ahead to streamline the action logic
* fix(locales): update period labels in English, Spanish, French, and Portuguese for consistency and clarity
* refactor(leaderboard): extract date range logic into a new utility file for better code organization and reusability
* refactor(get-top-workout-users.action.ts): extract date range logic into a separate utility function for better modularity and readability
* feat(exercises): add new route for fetching exercises with filtering options
chore(import-exercises): improve formatting and clarity in the prompt for exercise attributes
* feat(shuffle): add shuffle exercise route with input validation and error handling
chore(delete-program-button): simplify button formatting and update confirmation message for clarity
chore(workspace): create workspace configuration for easier project management across frontend and mobile directories
* feat(auth): implement signup route with validation and error handling for user registration
* feat(api): add user password and profile management routes for updating and retrieving user information
* chore(route.ts): remove console.log statements for cleaner code and improved performance
* feat(profile): implement cookie cleaning and logging for user profile updates to enhance session management and debugging
fix(package): add @better-auth/expo dependency for improved authentication support
fix(better-auth): update trusted origins to include expo and workoutfast protocols for better compatibility
* feat(auth): implement mobile-compatible session handling to address malformed cookies from the mobile app and improve authentication reliability
chore(api): refactor user password and profile routes to utilize new mobile session utilities for better cookie management
docs(api): add README for mobile authentication support detailing issues and solutions for mobile app cookie handling
* feat(password): refactor password update logic to separate core functionality from action client for better reusability and clarity
fix(password): improve error handling in password update route to provide more specific feedback on validation failures
* refactor(mobile-auth.ts, mobile-cookie-utils.ts, mobile-safe-actions.ts): extract cleanMobileCookies function to a new utility file for better code organization and reuse across modules
* refactor(password route): simplify error handling by returning the original error message instead of custom messages for better maintainability and clarity
* feat(workout-sessions): add POST route for syncing workout sessions to handle mobile compatibility and session management
* feat(workout-sessions): add user-specific workout session retrieval and error handling for syncing sessions
fix(sync-workout-sessions): improve error handling for missing users and exercises during session sync process
* feat(feedback, rating, summary): implement feedback and rating endpoints for workout sessions, add summary metrics and update database schema to support ratings and comments
docs: create CLAUDE.md to provide project overview, architecture, key features, and deployment details
* refactor(route.ts): simplify GET request handler by removing userId parameter check and adding rating fields to response for enhanced session details
* feat(workout-sessions): implement DELETE route for deleting workout sessions with authentication checks and error handling
* refactor(workout-sessions): update DELETE route to handle sessionId as a resolved promise and simplify authentication checks in delete action
* feat(revenuecat): integrate RevenueCat for subscription management and user linking, add webhook handling for subscription events, and enhance premium status checks with RevenueCat data
fix(premium/status): update premium status endpoint to include RevenueCat information and improve error handling
chore(database): add RevenueCat fields to subscription model and create webhook event logging table in the database
build(dependencies): add RevenueCat backend wrapper and crypto-js for secure webhook signature verification
* chore: update .gitignore to exclude product-development and .claude directories
feat(locales): add French translation for lats in locales/fr.ts
fix(better-auth): update trustedOrigins to replace workoutfast with workoutcool for better authentication configuration
* fix(route.ts): update import path for getExercisesAction to reflect new actions directory structure for better organization
* feat(route.ts): add logging for session details to assist with debugging
feat(sync-workout-sessions.action.ts): extend workout session schema to include optional rating and ratingComment fields for enhanced user feedback
* feat(analytics): add premium analytics tracking endpoint and enhance subscription details with premium features
* feat(revenuecat): implement RevenueCat API client for subscription management and enhance premium service with syncing capabilities
* feat(statistics): implement exercise statistics feature with charts and data fetching for weight progression, one-rep max, and volume statistics, including premium access controls and UI components
* feat(exercises): enhance exercise attributes handling and UI for better user experience and performance tracking
* feat(ExercisesBrowser): enhance exercise selection with filters, statistics, and improved UI for better user experience
* feat(exercises): enhance exercise filtering and statistics fetching with improved query parameters and error handling in the ExercisesBrowser component
* refactor(statistics): replace ExerciseStatisticsTab with ExerciseCharts for improved clarity and functionality across multiple components
* refactor(statistics): clean up ExerciseStatisticsTab and ExercisesBrowser components by removing unused imports, simplifying modal structure, and enhancing styling for better readability and maintainability
* fix(ExercisesBrowser): add console log for selectedExercise and adjust styling for exercise image container to enhance layout and responsiveness
* feat(statistics): integrate recharts for improved charting and add theme support for better UI consistency
* feat(statistics): enhance exercise statistics page with new charts and localization updates, and remove unused statistics page for better organization
* feat: add lodash.debounce type definitions and clean up ExercisesBrowser component markup
* feat(statistics): remove exercises page and implement statistics page with localization and navigation updates
* fix(statistics): update alert variant for error handling and refactor tooltip implementation for better clarity and usability
* feat(statistics): enhance StatisticsPage with premium features and overlays for better user engagement and insights
* feat(premium-gate): add upgrade to premium message and streamline component structure for better readability
* feat(exercise): add new exercise attributes handling and refactor ExerciseSelection component to utilize updated types and methods for better attribute management
* refactor(exercise): simplify muscle attribute retrieval functions and improve type consistency across components
* feat: refactor workout session and exercise components for improved attribute handling and remove unused HomePage component
* fix(statistics.types.ts): reorder imports to maintain consistency and clarity in module structure
* feat(exercise-video-modal): implement tabbed interface for video and statistics with timeframe selection to enhance user experience
* feat(statistics): enhance statistics page with dynamic translations and improved user experience through localized content and updated UI elements
* feat(statistics): refactor ExercisesBrowser and ExerciseVideoModal to use TimeframeSelector component for improved code reusability and maintainability
* fix(locales/fr.ts): update French translations for consistency and accuracy in exercise terminology; fix(ExercisesBrowser.tsx): enhance muscle group labels to match updated translation keys and improve code readability
* feat(simple-select): add SimpleSelect component for reusable select functionality and integrate it into ExercisesBrowser for improved filtering options
* fix(fr.ts): update French translations for timeframes to use lowercase for consistency
* feat(statistics): enhance date formatting by integrating locale support across multiple components for improved user experience
* feat(locales): add statistics and tooltip translations in multiple languages for improved user experience
* feat(revenuecat): implement webhook handler for subscription updates and add advanced workout data seeding script
* feat(revenuecat): deprecate user ID assignment and linking endpoints, add sync-status endpoint for automatic management of RevenueCat IDs
* feat(webhook): add support for SUBSCRIPTION_PAUSED event and enhance logging for cancellation events
* fix(webhooks): rename expiration_at to expiration_at_ms for consistency in RevenueCatWebhookEvent interface and update related logic in processSubscriptionEvent function
* feat(revenuecat): implement new webhook handling and subscription sync logic to improve premium status management and simplify database schema
* chore: update USER_ID in seed-workout-data-advanced and simplify premium status check in premium.service to improve clarity and maintainability
* feat(api): add program enrollment and retrieval endpoints for better program management functionality
* feat(programs): enhance program enrollment and progress routes with new functionality and improve parameter handling
* refactor(api): update parameter types to use Promise for slug and sessionSlug in route handlers for better async handling and clarity
* refactor(premium.service.ts): remove revenueCatEntitlement references to simplify premium access logic and improve code clarity
* chore(ci): add RevenueCat environment variables for CI workflow testing
* chore: remove unused RevenueCat project ID references to clean up codebase
* chore: remove deprecated API routes and clean up unused code to streamline the codebase
* chore: baseline migration
fix(ads): set fixed width and height for InArticle ad component for consistent display
fix(ads): update ResponsiveAdBanner to use fluid ad format and enable full width responsiveness
This change consolidates the logic for rendering top and bottom ad banners into a single component, improving maintainability and ensuring consistent styling across different ad placements.
feat(env): add new environment variables for ad slots to support additional advertising placements across various tools
refactor(heart-rate-zones): update heart rate zones page to include new in-article ads and remove deprecated components
refactor(calorie-calculator): update calorie calculator pages to include new ad slots and improve ad integration
refactor(bmi-calculator): enhance BMI calculator page with