- Added functions to load training plan templates and active training groups, enhancing data retrieval for the TrainingPlanningPage.
- Implemented error handling and loading states to improve user experience during data fetching.
- Refactored loadUnits function to dynamically fetch training units based on selected group and date range, supporting better planning capabilities.
- Introduced a calendar view option for training planning, allowing users to switch between list and calendar layouts.
- Added functions for managing calendar grid ranges and enumerating ISO days, improving date handling.
- Updated state management to include calendar month and view type, enhancing user experience.
- Refactored loadUnits function to adapt to the selected view, ensuring accurate data loading based on the chosen layout.
- Introduced a new function `createTrainingUnitFromFrameworkSlot` in the API utility, enhancing the ability to create training units directly from framework slots.
- This addition supports improved integration with the training planning features, streamlining the process for users.
- Added aggregation of training type names and target group names in the training framework programs API response for improved data presentation.
- Implemented origin framework slot tracking in the training planning module, allowing users to import training units from framework programs.
- Enhanced the TrainingFrameworkProgramsListPage to display aggregated training type and target group information, improving user experience.
- Introduced a modal for importing framework programs into training planning, streamlining the process of managing training units.
- Simplified the exercise selection logic in TrainingUnitSectionsEditor, TrainingFrameworkProgramEditPage, and TrainingPlanningPage by removing the multi-select option.
- Updated the ExercisePickerModal to always enable multi-select, enhancing user experience when selecting exercises.
- Refactored the handling of selected exercises to improve clarity and maintainability of the code.
- Added a new `headingAccessory` prop to TrainingUnitSectionsEditor for customizable header content.
- Updated the component to conditionally render the heading and accessory in a flexible toolbar layout.
- Refactored TrainingFrameworkProgramEditPage and TrainingPlanningPage to utilize the new heading accessory feature, improving user interaction and layout consistency.
- Updated ExercisePeekModal to support exercise variants, improving user experience when selecting exercises.
- Enhanced ExercisePickerModal with multi-select functionality, allowing users to select multiple exercises at once.
- Introduced drag-and-drop support for reordering training unit sections in TrainingUnitSectionsEditor, enhancing organization and usability.
- Improved TrainingFrameworkProgramEditPage and TrainingPlanningPage to manage exercise selection and section movement across slots more effectively.
- Added new CSS styles in app.css for better visual feedback during drag-and-drop actions and improved layout consistency.
- Enhanced TrainingUnitSectionsEditor to support drag-and-drop reordering of items, improving user interaction and organization.
- Introduced new CSS styles in app.css for item rows, including visual feedback for drag-and-drop actions.
- Added text editing capabilities for notes and exercise descriptions, allowing for inline updates.
- Improved overall layout and responsiveness of the training unit sections editor.
- Updated app.css to improve layout and responsiveness for mobile and desktop views, including new styles for session slots and chips.
- Modified TrainingUnitSectionsEditor to support a wider exercise grid for better usability.
- Enhanced TrainingFrameworkProgramEditPage with improved slot management and mobile navigation features.
- Introduced dynamic slot chip labels for better user interaction and clarity.
- Incremented APP_VERSION to 0.8.10 and DB_SCHEMA_VERSION to 20260505037.
- Updated project status and domain model documentation to reflect recent changes.
- Enhanced training framework program handling with new slot-blueprint structure.
- Introduced API endpoint for creating training units from framework slots.
- Improved documentation for training planning and governance concepts.
- Incremented APP_VERSION to 0.8.10 and DB_SCHEMA_VERSION to 20260505037.
- Added changelog entry for version 0.8.10 detailing database and API changes.
- Refactored training framework program handling to support cloning training units from framework slots.
- Improved permission checks for training units based on framework slot associations.
- Introduced new API endpoint for creating training units from framework slots.
- Incremented APP_VERSION to 0.8.9 and DB_SCHEMA_VERSION to 20260505036.
- Added changelog entry for version 0.8.9 detailing database and API changes.
- Updated TrainingFrameworkProgramEditPage to manage focus areas, style directions, training types, and target groups.
- Enhanced TrainingFrameworkProgramsListPage with context teasers for better user information.
- Improved CSS styles for framework catalog checkgrid and check components for better layout and usability.
- Introduced new goal chip components for better visual representation and interaction.
- Added hover tooltips for goal chips to display additional information.
- Implemented state management for editing goals and goal menu visibility.
- Updated styles in app.css to support new goal chip design and improve layout consistency.
- Incremented version of TrainingFrameworkProgramEditPage to 1.4.0 to reflect the latest enhancements.
- Introduced a CSS variable for the desktop sidebar width to enhance maintainability and responsiveness.
- Updated sidebar and app shell styles to utilize the new variable, ensuring consistent layout across different screen sizes.
- Adjusted margin and width properties to prevent overflow and improve overall user experience on various devices.
- Removed constrained width classes from multiple pages to allow full-width layout, enhancing adaptability on larger screens.
- Updated app.css to eliminate unnecessary max-width properties, ensuring a more fluid design across various components.
- Adjusted styles in Navigation and other pages for consistent full-width presentation, improving user experience on diverse devices.
- Updated app.css to improve responsive design, introducing new classes for consistent page widths and grid layouts.
- Refactored various page components to utilize the new layout classes, ensuring better adaptability on different screen sizes.
- Adjusted padding and margin properties for improved visual consistency and user experience across the application.
- Improved mobile and web-app layout by adjusting overflow properties and widths to prevent horizontal scrolling.
- Updated .app-shell and .app-main styles for better adaptability on various screen sizes.
- Refined card dimensions in the framework slots to ensure consistent sizing and scrolling behavior across devices.
- Added PWA meta tags for improved iOS web app compatibility in index.html.
- Updated app.css to refine responsive design, ensuring better layout handling on mobile devices.
- Adjusted padding and height properties to accommodate safe area insets for a more polished user experience.
- Updated app.css to refine responsive design for mobile and desktop views, ensuring better usability.
- Implemented drag-and-drop features for exercises and slots in TrainingFrameworkProgramEditPage, enhancing user interaction.
- Adjusted tab management and layout visibility based on screen size, improving overall user experience.
- Incremented version of TrainingFrameworkProgramEditPage to 1.3.0 to reflect the latest enhancements.
- Adjusted responsive design breakpoints for mobile and desktop views in app.css.
- Introduced a new horizontal layout for slots in the framework editor, enhancing usability on wider screens.
- Updated versioning for TrainingFrameworkProgramEditPage to 1.2.0 to reflect recent changes.
- Improved tab visibility and layout management based on screen size in TrainingFrameworkProgramEditPage.jsx.
- Enhanced user guidance in TrainingFrameworkProgramsListPage with additional context on layout behavior.
- Added responsive design for the framework editing page, including mobile tabs and a grid layout for goals and slots on desktop.
- Introduced state management for tab selection and layout detection based on screen size.
- Enhanced user interface with a tabbed navigation system for better organization of content.
- Updated styles in app.css to support new layout features and improve overall aesthetics.
- Incremented version of TrainingFrameworkProgramEditPage to 1.0.1.
- Refactored variable names for clarity in TrainingFrameworkProgramEditPage.
- Enhanced routing logic to handle new program creation more effectively.
- Updated button text and messages in TrainingFrameworkProgramsListPage for better user guidance.
- Introduced new pages for managing training framework programs, including listing and editing functionalities.
- Updated routing in App.jsx to accommodate new training framework program pages.
- Enhanced API with CRUD operations for training framework programs.
- Incremented application version to 0.5.1 and updated relevant page versions.
- Added informational link in TrainingPlanningPage to guide users to training framework programs.
- Incremented version to 0.8.8 and updated database schema version to 20260505035.
- Added new entity `training_framework_programs` to manage training frameworks, including goals and slots.
- Enhanced `training_plan_templates` with a visibility attribute and backfilled existing data.
- Updated API to support CRUD operations for training frameworks, ensuring proper authorization similar to existing planning libraries.
- Revised documentation in DOMAIN_MODEL.md, TRAINING_CURRICULUM_AND_GOVERNANCE_CONCEPT.md, and TRAINING_FRAMEWORK_SPEC.md to reflect these changes.
- Updated CLAUDE.md to reflect the addition of exercise_progression_graphs in the backend routers.
- Revised PROJECT_STATUS.md to document the current project status and recent milestones, including the implementation of the exercise progression graph feature.
- Incremented versioning in DOMAIN_MODEL.md and DATABASE_SCHEMA.md to align with the latest migration updates.
- Enhanced technical specifications in TRAINING_FRAMEWORK_SPEC.md to clarify the implementation details of the exercise progression graph and its integration with the training framework.
- Incremented application version to 0.8.7 and updated database schema version to 20260430034.
- Enhanced exercise progression graph functionality by adding support for exercise variants as node endpoints and bulk creation of progression sequences.
- Updated changelog to reflect new features and improvements related to progression graphs and API enhancements.
- Integrated exercise progression graphs into the backend and frontend, allowing users to visualize relationships between exercises.
- Updated API endpoints for managing exercise progression graphs and edges, enhancing the exercise management capabilities.
- Added a new tab in the ExercisesListPage for displaying progression graphs and included a panel in the ExerciseFormPage for editing.
- Incremented application version to 0.8.6 and updated changelog to reflect new features and improvements.
- Added MediaWiki API configuration options to docker-compose.yml for production environment.
- Improved error handling in the SMW client by introducing a response parsing method to manage API errors more effectively.
- Updated methods in the SMW client to ensure robust handling of API responses, preventing potential crashes due to unexpected data structures.
- Enhanced the import functionality to handle last imported timestamps more gracefully.
- Removed version specification from docker-compose.dev-env.yml and docker-compose.yml for consistency.
- Added a unique constraint to the skills table in the SQL migration to prevent duplicate entries, ensuring data integrity during imports.
- Updated test cases in dev-smoke-test.spec.js to improve locator strategies and enhance viewport handling for mobile navigation.
- Updated .env.example to provide clearer instructions and examples for production and development environments.
- Refactored docker-compose files to utilize environment variables for database and application settings, improving configurability.
- Enhanced .gitea/workflows/test.yml to streamline E2E testing setup, ensuring consistent handling of environment variables across different stages.
- Removed fixed container names in docker-compose.dev-env.yml to prevent conflicts during redeploys.
- Enhanced playwright.config.js comments for clarity on base URL usage in different environments.
- Updated .gitea/workflows/test.yml to streamline E2E testing setup, including conditional logic for local and production environments, and improved health check handling after deployment.
- Updated playwright.config.js to allow dynamic base URL configuration via environment variables, improving flexibility for different environments.
- Modified .gitea/workflows/test.yml to include steps for starting a development stack, seeding test data, and stopping the stack after tests, enhancing the CI process for end-to-end testing.
- Refactored login test in dev-smoke-test.spec.js to use a dedicated function for submitting the login form, improving code clarity and maintainability.
- Updated migration logic in main.py to allow skipping migrations during local development with SKIP_DB_MIGRATE environment variable.
- Improved error handling for migration failures, ensuring the application does not start if migrations are incomplete.
- Added a new health check endpoint (/api/health/ready) to verify database connection and essential tables, aiding in production debugging.
- Enhanced run_migrations.py to support ordered execution of migration files and improved transaction handling.
- Updated requirements.txt to include sqlparse for SQL statement parsing when psql is unavailable.
- Introduced a new function to determine if a verification link has expired, improving error handling in the email verification process.
- Updated the email verification logic to utilize the new function, enhancing clarity and maintainability of the code.
- Introduced a utility function to standardize email verification checks across EmailVerificationBanner and AccountSettingsPage.
- Updated conditional logic to enhance clarity and maintainability regarding email verification status.
- Ensured consistent treatment of various representations of email verification status in user profiles.
- Added EmailVerificationBanner component to notify users about unverified email status and provide a resend verification option.
- Introduced VerifyPage for handling email verification via a token in the URL, including success and error handling.
- Updated LoginPage and AccountSettingsPage to allow users to resend verification emails directly from these pages.
- Enhanced API utility with new functions for verifying emails and resending verification requests.
- Updated routing to include the new verification page and improved link structure for verification links.
- Added SMTP_SSL and SMTP_STARTTLS options to .env.example and docker-compose.yml for improved email sending configuration.
- Updated password reset email logic to utilize a new send_email helper function with SSL and STARTTLS support.
- Implemented role assignment for the first registered user or based on ADMIN_BOOTSTRAP_EMAILS during registration, enhancing user management capabilities.
- Enhanced login response to include additional user information such as email, tier, and role.
- Updated profile update logic to restrict access based on user roles and ensure only authorized users can modify profiles.
- Replaced ProfilePage with AccountSettingsPage in routing and updated related components to reflect this change.
- Added new API functions for updating profiles and changing passwords to improve user account management.
- Removed the profile ID from the INSERT statement to align with the database schema, which uses SERIAL for IDs.
- Updated comments for clarity regarding the profile creation process and verification status.
- Added optional DEV_APP_URL and DEV_ALLOWED_ORIGINS to docker-compose.dev-env.yml for improved local development flexibility.
- Updated .env.example to reflect new environment variables for development.
- Modified backend main.py to support rate limiting on authentication routes and improved CORS handling.
- Enhanced deploy-dev.yml to include health checks for the frontend service, ensuring better monitoring during development.
- Updated Nginx configuration to improve service dependency resolution and proxying for API and media requests.
- Added a resolver directive to mitigate sporadic 502 errors related to backend container IP changes.
- Enhanced error handling in the API utility to provide clearer feedback for various HTTP errors, including specific guidance for 502 Bad Gateway responses.
- Added 'depends_on' for the frontend service to ensure it starts after the backend service.
- Updated Nginx configuration to proxy API and media requests to the backend, enhancing client access under the same host URL.
- Included health check endpoint for backend service in Nginx configuration to monitor service status.
- Added a new useEffect to handle updates for deltas and idNum, improving state synchronization.
- Introduced another useEffect to manage session storage for coach debrief phase, enhancing user experience during training sessions.
- Implemented a timer functionality with setInterval to track pulse updates, ensuring real-time feedback during training.
- Added logic to retrieve existing trainer notes if not provided during the update of training units.
- Updated the TrainingCoachPage to include new controls for managing training sessions, including timer functionalities and navigation enhancements.
- Improved user experience with clearer button labels and conditional rendering based on the training session state.
- Replaced ExercisePeekModal with ExerciseFullContent for improved exercise visibility.
- Added CoachStepNavBar component for better navigation between training steps.
- Implemented loading and error handling for fetching exercise details based on the current step.
- Updated UI elements for a more cohesive layout and improved user experience.
- Refactored step clamping logic to ensure it correctly handles edge cases when the timeline is empty or when the unit changes.
- Updated useEffect to reset the step to 0 when the timeline is empty, enhancing user experience during training sessions.
- Introduced TrainingCoachPage for coaching-related training sessions.
- Updated app routing to include a new route for the TrainingCoachPage.
- Enhanced TrainingPlanningPage with a link to navigate to the new coaching page.
- Incremented version numbers for TrainingPlanningPage, TrainingUnitRunPage, and added version for TrainingCoachPage.
- Integrated ExercisePeekModal for improved exercise selection and visibility in both TrainingPlanningPage and TrainingUnitRunPage.
- Introduced TrainingUnitRunPage for displaying and printing training plans.
- Updated app routing to include a new route for the TrainingUnitRunPage.
- Enhanced the TrainingPlanningPage with a link to navigate to the new training run page.
- Updated CSS styles for print layout and improved visibility of completed training items.
- Updated the SQL query in the training planning module to fetch the primary exercise focus area more efficiently.
- Enhanced error handling in the API utility to provide clearer feedback on potential issues, including CORS and URL errors, improving debugging for developers.
- Introduced ExercisePickerModal for selecting exercises and their variants.
- Updated state management to handle exercise titles and variants in training units.
- Implemented enrichSectionsWithVariants function to fetch and integrate exercise details from the server.
- Improved loading logic for training units to include exercise variant data, enhancing user experience in planning sessions.