fix: auditoria geral — Stripe, dashboards agregados e perf web#247
Merged
Conversation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…m aluno) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…einador Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…mark) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…uncamento Cursor persistido (high-water-mark) substitui janela fixa now-7d: desde = max(cursor, now-7d). Cursor avança monotônico e incrementalmente conforme eventos são processados; crash no catch-up não re-varre o já-processado. Cap de batch (MaxEventosReconciliacaoPorRun) → Truncado=true sinaliza backlog sem perda (cursor só passa do último evento processado). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Endpoint /internal/reconciliar-pagamentos retorna 503 quando Truncado=true (cap de batch atingido, backlog restante). curl -fsS do cron falha → if:failure() abre issue instruindo retomada (desde_utc vazio = continua do cursor; ou janela explícita p/ backfill). Nenhum evento perdido: cursor já avançou só até o último processado. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
account.updated de conta conectada Express NÃO retorna no Events.List da plataforma (confirmado via context7/docs Stripe: GET /v1/events lista eventos do próprio account; eventos de conta conectada vêm por Connect webhook, e a completude de onboarding se afere por Account retrieve + charges_enabled). Logo a reconciliação ganha leg que itera ContaRecebimento configuradas e pendentes, ativa via ContaEstaAtivadaAsync (Account.GetAsync) e confirma onboarding pelo mesmo caminho idempotente do webhook. Cap por run + 1 GET por conta p/ não estourar rate-limit. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Coverage Report for frontend
File CoverageNo changed files found. |
Aplica os bumps seguros e os majors compatíveis; segura os que quebram. Aplicados: - nuget: Scalar.AspNetCore 2.16.6, Stripe.net 52.1.0, Svix 1.96.1 - npm: @mui/x-date-pickers 9.7.0, @sentry/nextjs 10.61.0 - @vitejs/plugin-react 6.0.3 + vite 8.1.0 (vitest 4 já aceita vite 8; react() sem babel options) - lint-staged 17.0.8 - zaproxy/action-baseline 0.15.0 Segurados (breaking sem fix viável hoje): - eslint 10: eslint-plugin-react@7.37.5 (latest, via eslint-config-next) trava peer em eslint ^9.7; eslint 10 removeu context.getFilename -> lint quebra - jsdom 29: quebra interceptor XHR do msw (undici extractBody: object.stream is not a function) no download de blob (LGPD export)
This was referenced Jun 26, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resumo
Branch de fixes gerais (auditoria 2026-06). Consolida correções de backend (Stripe/billing), agregação de dashboards, performance web e atualização das specs.
Backend — Stripe / billing
desde_utc.Account.GetAsync; parse defensivo decharges_enabled/typeno webhook.valor<=0antes de criar PaymentIntent.Internal:ApiKeyno startup em produção.Dashboards agregados
GET /admin/dashboard,/treinador/dashboard,/aluno/dashboardnum round-trip; frontend colapsa N round-trips em 1.Performance web
Infra / CI
chore.Specs
specification-*das áreas tocadas (estado REAL).Testes