Commit aef5e8d
fix(wpp-retry): restringe except IntegrityError nos dois pontos do triggers
Endereça review do Sourcery em PR evolution-foundation#80 (Comment 1) e estende a mesma
proteção para o endpoint de replay (não citado pelo Sourcery, mas
contém o mesmo bug latente — `except IntegrityError` genérico).
Dois pontos corrigidos em dashboard/backend/routes/triggers.py:
1. `webhook_receiver` (linha ~389): mesmo bug do PR evolution-foundation#78. Capturava
qualquer IntegrityError e respondia 200 OK silencioso. Agora só
absorve se a mensagem do driver menciona `uq_trigger_idem` ou
`idempotency_key` e `idem_key` está definido. Caso contrário,
loga erro completo e re-raise.
2. Endpoint `/triggers/executions/<id>/replay` (linha ~476): cria
nova execution reusando `ex.idempotency_key`. Tinha o mesmo
catch genérico, mascarando outros IntegrityError como
"idempotent_skip". Aplicada a mesma proteção, usando
`ex.idempotency_key` no check.
Sem teste dedicado pra esse path nessa branch — sintaxe validada
com py_compile.1 parent 257179b commit aef5e8d
1 file changed
Lines changed: 32 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
386 | 386 | | |
387 | 387 | | |
388 | 388 | | |
389 | | - | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
390 | 406 | | |
391 | 407 | | |
392 | 408 | | |
393 | | - | |
394 | 409 | | |
395 | 410 | | |
396 | 411 | | |
| |||
473 | 488 | | |
474 | 489 | | |
475 | 490 | | |
476 | | - | |
477 | | - | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
478 | 495 | | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
479 | 507 | | |
480 | 508 | | |
481 | 509 | | |
| |||
0 commit comments