This is the codeAbility Sharing Platform! Learn more about the codeAbility Sharing Platform.

Skip to content

Resolve "Validate Artemis Exercises in Sharing Platform for compatibility"

Related to #588 (closed)

Summary by CodeRabbit

  • New Features

    • Introduced Artemis project validation service with detailed logging and email notifications for invalid projects.
    • Added admin UI for validation management with real-time log streaming and control.
    • Added REST endpoints to trigger validation, retrieve logs, and stop log streaming.
  • Improvements

    • Refined security configuration for management API paths.
    • Enhanced Elasticsearch management API and UI with log stopping capability.
    • Improved admin index management UI with stop button and reactive log updates.
    • Added detailed plugin health status history tracking and display.
    • Centralized task scheduling with distinct Spring TaskSchedulers for general and indexing tasks.
    • Replaced manual executor services with Spring-managed schedulers for async tasks.
    • Replaced synchronized blocks with explicit ReentrantLock locking for thread safety in backend services.
    • Improved backend logging with enhanced log holder and controlled stoppability.
    • Added internationalization support for validation views in English and German.
  • Bug Fixes

    • Added null checks in review access methods to prevent errors.
    • Fixed naming inconsistency in application properties.
  • Refactor

    • Migrated Angular forms from typed to untyped classes and updated tests accordingly.
    • Replaced Moment.js with date-fns and native Date objects for date handling.
    • Updated Angular dependency injection to use inject() function.
    • Modularized review and validation management features with lazy loading.
    • Streamlined HTTP services with stronger typing and centralized endpoint config.
    • Removed deprecated Angular entryComponents arrays from modules.
    • Replaced Lodash with native JavaScript array methods in bookmarks component.
    • Enhanced markdown viewer KaTeX rendering using reflection hack.
    • Refined log polling in admin components to use reactive streams with error handling.
    • Simplified REST controller annotations by removing explicit path variable names.
    • Reorganized admin index management component for reactive log streaming and error handling.
    • Replaced synchronized blocks with explicit locking using ReentrantLock in multiple classes.
    • Refactored multiple Angular components and services to use untyped form builders and include ReactiveFormsModule in tests.
    • Centralized API endpoint URL construction via application config service.
    • Improved log management with trimming and reactive updates in admin components.
  • Chores

    • Upgraded Angular and related dependencies from v13 to v14.
    • Added English and German localization files for validation features.
    • Improved code style, formatting, and import order consistency.
    • Added and updated unit tests for new and existing services.
    • Updated CI configuration to include Artemis connector token environment variable.
    • Enhanced pre-commit hooks to run lint fixes automatically.
    • Adjusted lint-staged and VSCode debug configurations for better developer experience.
    • Updated TypeScript target to ES2020 for modern JavaScript features.
    • Fixed naming inconsistencies in configuration properties.
    • Updated package.json to upgrade dependencies and remove unused packages.
    • Cleaned up Angular module declarations by removing deprecated arrays and unused components.
Edited by CodeRabbit Technical User

Merge request reports

Loading