You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Implement ContributionBalanceCalculator (part 1) for calculating CQI
* Implement PairingSignalsCalculator for CQI and add unit tests
* chore: formatting issues
* fix:pipeline error
* Add startup scripts for React, PostgreSQL, and Spring Boot servers
* Implement project management features: add project properties, update API endpoints, and enhance UI for project selection
* fix: AnalysisResource and RequestResource with correct endpoints and configuration properties
* chore: update OpenAPI spec and generated client
* Enhance repository analysis and streaming capabilities:
- Add analyzeRepository method to GitContributionAnalysisService for streamlined contribution analysis.
- Implement loadBasicTeamDataStream for real-time team data fetching in Teams component.
- Update RequestService to clear database before saving results and improve repository processing.
- Introduce StreamResource for SSE streaming of repository analysis results.
- Adjust tests to accommodate new method signatures and functionality.
* Enhance test configurations and update repository fetching parameters: add test logging and modify repository IDs in tests
* Remove multiple subprojects from the repository, cleaning up unused or obsolete directories to streamline the project structure.
* Add 'repos/' to .gitignore to exclude repository directories from version control
* Update git-repo-path comment in application.yml to clarify usage and .gitignore update
* feat: Add CQI and isSuspicious fields to ClientResponseDTO
- Add cqi: Double field to represent collaboration quality index
- Add isSuspicious: Boolean field to flag unusual team activity
- Update DTO to include server-calculated team quality metrics
* feat: Implement server-side CQI calculation in RequestService
- Inject ContributionBalanceCalculator dependency
- Calculate CQI for each team using contribution balance scores
- Update ClientResponseDTO to include cqi and isSuspicious values
- Pass calculated metrics to client via streaming and database APIs
* feat: Add getData endpoint to RequestResource
- Expose new GET /api/requestResource/getData endpoint
- Retrieve pre-analyzed team data from database without re-analysis
- Provides fallback for loading cached team metrics
* feat: Add exerciseId parameter to cloneTeamRepository
- Accept exerciseId parameter to lookup exercise-specific git repo path
- Support multiple exercises with different repository configurations
- Read gitRepoPath from HarmoniaProperties based on exerciseId
* refactor: Add gitRepoPath parameter to GitOperationsService
- Pass gitRepoPath as parameter instead of reading from config
- Support exercise-specific repository storage paths
- Improve flexibility for multi-exercise scenarios
* chore: Improve logging in ArtemisClientService
- Add detailed VCS access log debugging information
- Log action types and sample entries for troubleshooting
- Improve error messages with participation context
* config: Remove redundant exercise configuration from app properties
- Remove exerciseId and gitRepoPath from global Artemis config
- These are now exercise-specific in harmonia.projects config
- Simplifies configuration management for multiple exercises
* chore: Update ClientResponseDTO type definitions
- Add cqi property for collaboration quality index
- Add isSuspicious property for team anomaly detection
- Regenerated from OpenAPI schema
* chore: Update RequestResourceApi generated code
- Add getData() method to RequestResourceApi client
- Support retrieving cached team data from server
- Regenerated from updated OpenAPI schema
* feat: Use server-calculated CQI metrics in data loaders
- Add team caching to ensure consistent metrics across views
- Transform ComplexTeamData using server-provided CQI values
- Remove client-side CQI recalculation, use server as source-of-truth
- Update stream handler to emit ComplexTeamData with full metrics
- Add teamCache to prevent duplicate transformations
- Update terminology: backend server in comments
* feat: Implement React Query caching for teams list
- Add useQuery hook to cache teams per exercise with infinite staleTime
- Prevent unnecessary re-fetching when navigating back
- Check cache before initiating SSE stream
- Update React Query cache in real-time as teams stream in
- Invalidate cache only on explicit reanalysis request
* fix: Use cached team data instead of re-fetching on detail view
- Pass team object via route state from Teams page
- Eliminate redundant API call that fetches fresh data
- Ensures CQI metrics are consistent between list and detail views
- Simplify component by removing useQuery and loading states
* chore: update OpenAPI spec and generated client
* Refactor VCS log filtering to include multiple valid actions
* refactor: simplify log filtering comment in ArtemisClientService
* feat: add CQI calculation to repository processing in RequestService
* refactor: improve code readability and add missing Javadoc comments
* refactor: simplify arrow function syntax and improve code formatting in StartAnalysis, dataLoaders, and Teams components
* feat: add H2 database configuration for in-memory testing and update OpenAPI arguments
* fix: update OpenAPI generator configuration and improve code readability
* fix failing workflow
* fix: improve parallel processing of repository cloning and update exercise ID in configuration
* feat: implement custom hook for team data streaming and refactor project fetching logic
* Implement LLM-based effort rating and fairness analysis features
- Added EffortRatingDTO to encapsulate effort ratings for commit chunks, including methods for calculating weighted effort and generating trivial/disabled ratings.
- Introduced FairnessFlag enum to identify potential fairness issues in team contributions.
- Created FairnessReportDTO to represent the final fairness analysis report, including author details and analysis metadata.
- Developed CommitChunkerService to handle commit chunking for LLM analysis, including methods for bundling small commits and chunking large commits.
- Implemented unit tests for CommitChunkDTO, EffortRatingDTO, FairnessReportDTO, and CommitChunkerService to ensure functionality and correctness.
* feat: add CommitEffortRaterService for LLM-based effort rating and implement unit tests
* fix: ensure null check for diff in truncateDiff method is properly enclosed
* fix: Enable OpenAPI generation in CI
- Add OpenApiConfiguration with mock ChatClient and ChatModel beans for openapi profile
- Enable Liquibase in openapi profile to initialize database schema
- Update generated OpenAPI spec
- Fix checkstyle violations with proper JavaDoc
This fixes the failing 'Validate and Autocommit OpenAPI Spec & Client Code' CI check.
* chore: update OpenAPI spec and generated client
* feat: implement contribution fairness analysis service and REST controller
* feat: enhance CORS configuration and improve secure cookie handling in AuthResource
* refactor: improve commit author mapping logic in ContributionFairnessService
* fix: enhance response parsing in CommitClassifierService to handle optional whitespace and remove markdown code blocks
* feat: implement activity logging and enhance team streaming with log handling
* fix: remove ActivityLog component and related logging functionality from TeamsList and hooks
* feat: add AI analysis feature with detailed chunk analysis and frontend integration
* fix: update .gitignore to include local directory and configure AI base URL in docker-compose
* chore: update OpenAPI spec and generated client
* feat: integrate LLM model selection and configuration in AI services, add endpoints for model management
* fix: improve code documentation and formatting in various service and resource classes
* feat: Implement analysis status management and UI components
- Added AnalysisState enum to represent possible states of analysis.
- Created AnalysisStatus entity to persist analysis state in the database.
- Developed AnalysisStatusDTO for transferring analysis status data.
- Implemented AnalysisStatusRepository for database operations.
- Created AnalysisStateService to manage analysis lifecycle, including starting, updating, completing, and cancelling analyses.
- Added REST endpoints in AnalysisResource for fetching and manipulating analysis status.
- Introduced useAnalysisStatus hook for polling analysis status from the server.
- Updated Teams component to utilize new analysis status management features.
- Created ActivityLog component to display current analysis progress.
- Added ConfirmationDialog component for user confirmations.
- Implemented alert dialog UI components for better user interaction.
- Updated tests for AnalysisStateService and AnalysisResource to ensure correct functionality.
- Created Liquibase changelog for analysis_status table creation.
* fix: add database availability check before starting the server
* chore: update OpenAPI spec and generated client
* fix: add LM Studio availability check and handle zero commits in contribution balance calculation
* fix: enhance analysis state management and improve directory clearing logic
* fix: update total commits calculation to sum student commit counts
* feat: implement analyzed chunks persistence and retrieval in RequestService
* feat: add error handling for analyzed chunks and update UI components to display errors
* feat: implement orphan commit tracking and analysis in GitContributionAnalysisService and related components
* feat: add CQI and isSuspicious fields to TeamParticipation and update related logic in RequestService
* feat: enhance analysis pipeline with integration tests and improved error handling
* feat: enhance integration test logging and relax effort score assertion for trivial changes
* feat: enhance JSON parsing with repair logic for truncated responses
* style: fix client and server style violations
* docs: update README with testing and credentials instructions
* docs: add LM Studio setup instructions to README
* fix openapi workflow
* fix client workflow
* fix openapi workflow
* chore: update OpenAPI spec and generated client
* feat: add FairnessFlag enum to identify potential fairness issues and update related DTOs and tests
* style: simplify regex pattern usage in CommitClassifierService
* fix: remove unnecessary localhost origins from CORS configuration
* fix: change var to List<String> for actionTypes in ArtemisClientService
* fix: add analyzed_chunks table and remove obsolete changelog files
* fix: update comments to replace 'frontend' with 'client' and 'backend' with 'server'
* fix: update analysis history mapping to use AnalyzedChunkDTO and provide default values
* fix: handle errors in loadBasicTeamDataStream by invoking onError callback
* fix: refactor analysis status handling to use generated API and improve error handling
* fix: update AnalysisResourceTest to use ResponseEntity for consistency in return types
* fix: add JsonInclude annotation to OrphanCommitDTO and RepositoryAnalysisResultDTO for null value handling
* fix: refactor linesChanged calculation in OrphanCommitDTO to use DtoUtils for consistency
* fix: simplify ObjectMapper and JsonNode usage in AiResource for improved readability
* fix: add calculateWeightedEffort method to DtoUtils and refactor EffortRatingDTO to use it
* fix: refactor password decryption to use CredentialUtils and remove redundant methods
* move dtoutils
* client style fix
---------
Co-authored-by: Sindi Buklaji <ge43yif@mytum.de>
Co-authored-by: SindiBuklaji <sindibukli@outlook.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Aniruddh Zaveri <92953467+az108@users.noreply.github.com>
Co-authored-by: Cathy <catherine.kalra@tum.de>
Co-authored-by: aniruddhzaveri <aniruddh.zaveri@tum.de>
0 commit comments