[bug]: Comment external_id is deduplicated per project instead of per work item
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 74/100
Direzione di ricerca
Leggi apps/api/plane/api/views/issue.py intorno alle righe 1565 e 1735, dove la creazione e l’aggiornamento dei commenti verificano la presenza di ID esterni duplicati. Segui il modo in cui l’endpoint identifica l’elemento di lavoro corrente e confrontalo con il filtro limitato al progetto descritto nell’issue. Il lavoro è completato quando la stessa fonte e lo stesso ID esterni possono essere usati su diversi elementi di lavoro in un progetto, mentre una ripetizione sullo stesso elemento di lavoro continua a restituire 409; verifica entrambi i casi tramite la Comments API.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Is there an existing issue for this?
- I have searched the existing issues
Current behavior
Creating a work item comment with external_source and external_id returns 409 when any work item in the same project already has a comment with that pair. The check belongs to one work item's comment endpoint, but it filters by project only:
apps/api/plane/api/views/issue.py:1565 (create) and :1735 (update), branch preview:
IssueComment.objects.filter(
project_id=project_id,
workspace__slug=slug,
external_source=...,
external_id=...,
).exists()
So one external event that touches several work items in a project, written with one key per event, can record a comment on the first work item only. The rest get 409, and the id in the response points to a comment on a different work item.
Steps to reproduce
- Take two work items A and B in one project.
- Create a comment on A:
curl -X POST "$HOST/api/v1/workspaces/$SLUG/projects/$PROJECT/work-items/$A/comments/" \
-H "X-API-Key: $KEY" -H 'Content-Type: application/json' \
-d '{"comment_html":"<p>probe</p>","external_source":"probe","external_id":"scope-1"}'
Result: 201.
- Send the same request for B.
Result: 409 with {"error":"Work item comment with the same external id and external source already exists","id":"<id of the comment on A>"}.
Expected: 201 on B. The 409 should apply only to a repeat on the same work item, by adding issue_id to the filter. If project-wide uniqueness is intended, it would help to say so in the API docs.
Environment
Production
Browser
Other
Edition
Commercial
Version
v3.3.0
- Lingua principale
- TypeScript
- Stelle
- 61.9k
- Fork
- 6.3k
- Merge medio
- 1g 18h
- PR unite (30g)
- 74
Preparare l'ambiente
- Include un Dockerfile o un 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 makeplane/plane
-
OAuth documentation for GET /api/v2/users/me/ appears inconsistent with required global read scopeAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Missing optional chaining on actor_details and reaction_items in apps/space reactions and votesForse già presa @ghazy2001 l’ha presa 7 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
makeplane/plane#10111 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
makeplane/plane#10082 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[bug]: Email notifications show a broken avatar for users without a profile photoForse già presa @gurnoorpannu l’ha presa 22 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
makeplane/plane#10009 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di makeplane/plane
Issue simili
-
Add: Upin & Ipin Channel HDApertacheck:passed streams:add
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
S: triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
iot client
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Open-Locker/Open-Locker#365 ·
I maintainer di solito rispondono entro 1 giorno
-
bug enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
inmanta/web-console#7787 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
shoelace-style/webawesome#2979 ·
I maintainer di solito rispondono entro 1 giorno