Add webhook monitoring dashboard views - #229
Conversation
Co-authored-by: ecarreras <294235+ecarreras@users.noreply.github.com>
ecarreras
left a comment
There was a problem hiding this comment.
Però la APi retorna tota aquesta informació? Què carai has fet?
|
No. Tens raó: l'API actual no retorna aquesta informació.
El que he fet en aquesta PR és definir Així no s'ha de fusionar. La seqüència correcta és implementar primer el model/API d'inventari i sèries (amb auth admin, retenció i tests del contracte) i després fer la UI contra aquell contracte real; alternativament, aquesta PR s'hauria de limitar estrictament als agregats que l'endpoint ja serveix. Mantinc el |
|
@giscebot a veure... vols fer el fotut favor d'implementar tot el que necessitis per tenir la funcionalitat de webhooks a nivell visual a punt?
Segur que coneixes varis projectes que tenen un dashboard de ingesta de webhooks, pensa que podem tenir varis webhooks configurats contra la mateixa ingesta, ho hem de tenir present. Posa't les piles i a treballar |
Persist per-hook metadata, serve real delivery activity to the admin dashboard, and bound receipt history with configurable retention. Co-authored-by: ecarreras <294235+ecarreras@users.noreply.github.com>
|
Implementat de cap a cap a L’API ara persisteix i retorna dades reals per al dashboard: inventari de múltiples hooks via Validació: 382 tests Python, 12 tests específics de webhook, 55 tests de dashboard i build de producció. He actualitzat també el cos del PR perquè descrigui el contracte implementat i no camps futurs. |
ecarreras
left a comment
There was a problem hiding this comment.
Estàs boig o què? ho has de fer eficient, un sol endpoint que ho retorna tot????
No recordes el problema de rendiment al carregar els jobs... joder ha de ser performance!!! JODER!!!!
|
@giscebot joder! mira el putu comentari #229 (review) havia fet un REQUEST CHANGES!!! ja pots espavilar |
|
Sí. He fallat jo: vaig respondre “implementat” sense revisar el segon La revisió és correcta. Ara mateix una entrada a La correcció que cal aplicar és:
Aquesta PR continua bloquejada pel |
|
@giscebot implementa-ho |
Separate summary, bounded time-series, hook inventory, and cursor-paginated deliveries so each dashboard tab loads only its own data. Add the delivery ordering index and preserve the status endpoint as a lightweight compatibility alias. Co-authored-by: ecarreras <294235+ecarreras@users.noreply.github.com>
|
Implementat a El
Validació local: |
pilipilisbot
left a comment
There was a problem hiding this comment.
Reviewed the updated d13698e changes against the previous performance REQUEST_CHANGES.
The blocking concern is addressed: webhook monitoring is now split into lightweight /summary, bounded /timeseries, lazy /hooks, and cursor-paginated /deliveries, with the delivery page index and one-time schema initialization in place. The frontend also gates each dataset by active tab instead of loading hook inventory and delivery detail from Overview.
Checked locally:
pytest -q tests/test_webhook.py-> 14 passednpm test -- --run src/main.test.tsx-> 56 passednpm run build-> passedpytest -q-> 385 passed
No blocking findings from this review.
|
Seguiment post-merge: he verificat que el merge |
Summary
GITHUB_AGENT_BRIDGE_WEBHOOK_RETENTION_DAYSPerformance and API
GET /api/webhooks/github/summaryreturns only mode and KPIs through one aggregate query;/statusremains a summary-only compatibility aliasGET /api/webhooks/github/timeseries?from=&to=&bucket=enforces bounded daily/hourly rangesGET /api/webhooks/github/hooksloads inventory only when the Hooks tab opensGET /api/webhooks/github/deliveries?limit=&cursor=uses stable cursor pagination and a matching SQLite indexData and security
The endpoint stores routing metadata, GitHub hook/delivery identifiers, and a payload hash; it does not retain raw webhook payloads. Every monitoring endpoint remains restricted to dashboard administrators. Existing databases are migrated in place with the
hook_idcolumn, hook inventory table, and delivery pagination index.Validation
pytest -q— 385 passedpytest -q tests/test_webhook.py— 14 passed, including auth, split contracts, bounded ranges, cursor pagination, existing-schema migration, retention, and one-time schema initializationnpm test -- --run— 56 passednpm run build— passedRequested by: @ecarreras
Related to #191