Skip to content

Development: Add action buttons in popover for recommendation system - #2520

Open
ge94zec wants to merge 44 commits into
mainfrom
feat/2348-add-action-buttons-in-popover-for-recommendation-system
Open

Development: Add action buttons in popover for recommendation system#2520
ge94zec wants to merge 44 commits into
mainfrom
feat/2348-add-action-buttons-in-popover-for-recommendation-system

Conversation

@ge94zec

@ge94zec ge94zec commented May 14, 2026

Copy link
Copy Markdown
Contributor

Checklist

General

Server

Client

  • Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data (e.g. using paging).
  • I strictly followed the principle of data economy for all client-server REST calls.
  • I strictly followed the client coding and design guidelines.

Motivation and Context

Description

Steps for Testing

Prerequisites:

  1. Log in to TUMApply as Prof
  2. Nav to Create Position
  3. Verify the action buttons behave correctly and text is saved across page switches

Review Progress

Code Review

  • Code Review 1

Manual Tests

  • Test 1

Screenshots

Test Coverage

Client

Class/File Line Coverage Lines Expects Ratio
job-creation-form.component.ts 76.27% 1388 110 7.9
editor.component.ts 46.25% 403 28 6.9
ai-compliance-popover.component.ts 47.61% 38 ? ?
suggestion-system.component.ts 30.00% 17 ? ?
compliance-suggestion.util.ts 66.66% 51 ? ?

Server

Class/File Line Coverage Lines
ComplianceIssue.java 0.00% 27
MapComplianceIssuesRequestDTO.java 100.00% 15
AiService.java 35.29% 401
ComplianceScoreService.java 86.67% 93
AiResource.java 48.15% 99
JobService.java 72.88% 385

Last updated: 2026-08-17 12:20:10 UTC

ge94zec and others added 26 commits May 5, 2026 09:56
…rget text

- added endpoint POST that maps source issues to a target language
- added prompt that returns one mapped text snippet
  per line in source complianceIssues order, other fields carry over
- wired compliance mapping through client → server API
- separated compliance analysis from score calculation
- extracted save flow in JobService into Consumer
- improved performance by eliminating redundant analysis steps in job creation
- updated openapi
- added comment to AiService
- simplified AiService mapping
- updated prompt
- show suggestions in the compliance popover
- add suggestion actions for replace, add, remove, and dismiss
- extend compliance prompt and model with suggestion field
- migration suggestions field on liquibase
- make job authorization check reusable in JobService
- check job access before mapping compliance issues
- Clear target-language issues in DB when source list is empty
- skip target mapping when source analysis was skipped/failed
…or-compliance' into chore/2346-enhance-performance-for-compliance
- added MapComplianceIssuesRequestDTO for explicit request validation
- keep TranslateComplianceDTO focused on translation only.
- track AI success and failure for the new mapping LLM call
- update openapi
…or-compliance' into chore/2346-enhance-performance-for-compliance
…rformance-for-compliance

# Conflicts:
#	src/main/java/de/tum/cit/aet/job/repository/JobRepository.java
#	src/main/java/de/tum/cit/aet/job/service/JobService.java
#	src/main/webapp/app/job/job-creation-form/job-creation-form.component.ts
…buttons-in-popover-for-recommendation-system

# Conflicts:
#	src/main/resources/config/liquibase/master.xml
Removing supervisingProfessor and image from the @EntityGraph caused those
associations to become lazy (the FETCH graph overrides entity-level EAGER).
getJobById accesses both via the entity returned from assertCanManageJob,
so they must be in the graph to avoid LazyInitializationException.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Refined the compliance suggestion prompt for more accurate/correct output
- Added client logic to insert, replace, or remove snippets at the correct
  index in the editor and persist the change via the form
…buttons-in-popover-for-recommendation-system

# Conflicts:
#	src/main/resources/config/liquibase/master.xml
@ge94zec ge94zec linked an issue May 14, 2026 that may be closed by this pull request
@ge94zec ge94zec changed the title Feat/2348 add action buttons in popover for recommendation system Development: Add action buttons in popover for recommendation system May 14, 2026
@ge94zec ge94zec self-assigned this May 14, 2026
@codacy-production

codacy-production Bot commented May 14, 2026

Copy link
Copy Markdown

Not up to standards ⛔

🔴 Issues 19 high · 4 medium · 1 minor

Alerts:
⚠ 24 issues (≤ 0 issues of at least minor severity)

Results:
24 new issues

Category Results
ErrorProne 2 medium
1 high
Security 18 high
CodeStyle 1 minor
Complexity 2 medium

View in Codacy

🟢 Metrics 78 complexity

Metric Results
Complexity 78

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

🤖 No OpenAPI or client changes needed.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 No OpenAPI or client changes needed.

@github-actions github-actions Bot closed this Jun 25, 2026
- reduce the compliance popover z-index from 1001 to 50
- close the popover when the page or a nested container is scrolled
- remove the unused popover hover signal and handler
- replace the hover output with a dedicated close event
@ge94zec ge94zec reopened this Aug 1, 2026
ge94zec added 2 commits August 1, 2026 18:04
…buttons-in-popover-for-recommendation-system

# Conflicts:
#	src/main/resources/config/liquibase/master.xml
#	src/main/resources/prompts/AnalyzeComplianceText.st
#	src/main/webapp/app/job/job-creation-form/job-creation-form.component.ts
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

📊 Client Test Coverage Too Low

🔍 View coverage locally:

pnpm run test:ci
open build/test-results/vitest/coverage/index.html

🌐 View coverage from GitHub:
Download the "coverage-report-client" artifact from this workflow run.

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

🤖 No OpenAPI or client changes needed.

ge94zec added 4 commits August 1, 2026 21:49
# Conflicts:
#	src/main/java/de/tum/cit/aet/ai/service/AiService.java
#	src/main/webapp/app/job/job-creation-form/job-creation-form.component.ts
…nslated descriptions

- remove the second compliance analysis for the translated description
- reuse source-language compliance issues for snippet mapping
- update target-language highlights from mapped issues
…or-compliance' into feat/2348-add-action-buttons-in-popover-for-recommendation-system
@github-actions github-actions Bot removed the stale label Aug 2, 2026
ge94zec added 2 commits August 2, 2026 21:02
…lyses

- map newly detected issues without retranslating synchronized descriptions
- apply accepted suggestions to both language versions
- queue actions until target-language mapping completes
- insert ADD suggestions after sentence punctuation within list items
- prevent duplicate in-flight compliance analyses
- preserve mapped highlights and translated suggestions
- keep compliance popovers above the sticky footer
@github-actions github-actions Bot added the job Code changes in job module. label Aug 4, 2026
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

📊 Client Test Coverage Too Low

🔍 View coverage locally:

pnpm run test:ci
open build/test-results/vitest/coverage/index.html

🌐 View coverage from GitHub:
Download the "coverage-report-client" artifact from this workflow run.

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

🤖 No OpenAPI or client changes needed.

@codacy-production

Copy link
Copy Markdown

Not up to standards ⛔

🔴 Issues 19 high · 4 medium · 1 minor

Alerts:
⚠ 24 issues (≤ 0 issues of at least minor severity)

Results:
24 new issues

Category Results
ErrorProne 2 medium
1 high
Security 18 high
CodeStyle 1 minor
Complexity 2 medium

View in Codacy

🟢 Metrics 78 complexity

Metric Results
Complexity 78

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

🤖 No OpenAPI or client changes needed.

@github-actions

Copy link
Copy Markdown
Contributor

There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 No OpenAPI or client changes needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

client Pull requests that update TypeScript code. (Added Automatically!) database job Code changes in job module. server Pull requests that update Java code. (Added Automatically!) stale tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add action buttons in popover for recommendation system

3 participants