intent checks: a soft duplicate warning is asked again on every update, even when its fields did not change
I maintainer di solito rispondono entro 1 giorno
@NicoleNG18 ci sta già lavorando.
Dal 10/11/2026.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
Direzione di ricerca
Inizia da template-application-dao-java/data/Repository.java.template, in particolare da warnings(...) e dal relativo ramo duplicate, poi confronta il suo comportamento di aggiornamento con requireUniqueIgnoringCase nello stesso template. Verifica come il repository distingue la creazione dall’aggiornamento e quali campi del controllo dei duplicati possono essere confrontati con la riga memorizzata. Il lavoro è completato quando è confermato che i duplicati soft confermati non generano un nuovo avviso se quei campi sono invariati, mentre le creazioni e gli aggiornamenti che li modificano continuano a essere controllati; l’issue non indica alcun file di test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
A soft duplicate check (intent checks: - { kind: duplicate, severity: warn }) asks again on every later update of a record whose duplicate was already confirmed, even when none of the checked fields changed.
Once two records with the same value exist on purpose (the person confirmed the warning when creating the second one), every save of either of them answers 428 with the same question, e.g. after changing only the price.
Steps to reproduce
Products module (Name carries a soft duplicate check):
POST ProductController{"Name":"QA-DUP 1110","Type":1,"Price":10}→ 200.POST ProductController{"Name":"qa-dup 1110","Type":1,"Price":10}→ 428 "Вече съществува продукт с това име: QA-DUP 1110" (codeProduct.duplicate.9). This one is correct.- Repeat with
X-Confirm-Warnings: Product.duplicate.9→ 200, the second product is created. PUT ProductController/{id}of that product with onlyPricechanged (10 → 11) → 428 again, the same duplicate warning.
Expected: 200. The name did not change, and the duplicate was already confirmed.
Cause
template-application-dao-java/data/Repository.java.template, warnings(...) (the duplicate branch, ~line 2027) looks for another record with the same (normalized) values on every write, create or update. It does not look at whether the checked fields changed. The twin still exists, so the check finds it on every update.
Suggested fix
On an update, run a duplicate warning only when at least one of its fields differs from the stored row. On a create, keep running it always.
The hard check already follows this rule: requireUniqueIgnoringCase (same template, ~line 1534) does not refuse again a value the row already stores. The soft check should do the same.
The sibling controllers (EntityController, EntityMyController, EntityPartnerController) all call repository.warnings(...), so the fix in the repository covers them.
- Lingua principale
- Java
- Stelle
- 278
- Fork
- 97
- Merge medio
- 12h 43m
- PR unite (30g)
- 296
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di eclipse-dirigible/dirigible
-
harmonia list: the record sheet's title collapses to 0 height when the record's properties overflow the sheetForse già presa @NicoleNG18 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
eclipse-dirigible/dirigible#8570 ·
I maintainer di solito rispondono entro 1 giorno
-
harmonia form: a boolean (checkbox) field is marked required with *, though unchecked is a valid answerForse già presa @NicoleNG18 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
eclipse-dirigible/dirigible#8563 ·
I maintainer di solito rispondono entro 1 giorno
-
harmonia list: search ignores what relation columns show - matches the key, not the labelForse già presa @NicoleNG18 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
eclipse-dirigible/dirigible#8561 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
eclipse-dirigible/dirigible#8548 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
eclipse-dirigible/dirigible#8354 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di eclipse-dirigible/dirigible
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
wultra/powerauth-tests#980 ·
-
account bug communication lecture
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
line/centraldogma#1397 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
cryptomator/hub#515 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
vert-x3/vertx-mail-client#268 ·