Repository navigation
feat(proxy-subscription): warn with a translated count when generation skips entries - #15564
Merged
diegosouzapw merged 186 commits intoOct 6, 2026
Conversation
…ore replacing the file Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
…n skips entries A generation that drops entries warned with the not-generated text or stayed silent; it now warns once with the skipped count and dominant reason.
This was referenced Oct 5, 2026
maxmad64bis
marked this pull request as ready for review
October 5, 2026 14:33
maxmad64bis
marked this pull request as draft
October 5, 2026 15:07
maxmad64bis
marked this pull request as ready for review
October 5, 2026 15:19
…purify 3.4.16 and patched npm-bundled copies in the image (diegosouzapw#15325) - next/eslint-config-next 16.3.5 -> 16.3.6 (critical RCE in next/og ImageResponse). - override axios ^1.20.0 so ibm-cloud-sdk-core's exact 1.18.0 pin cannot keep the vulnerable copy. - @grpc/grpc-js 1.14.5, dompurify 3.4.16 via lockfile. - Dockerfile npm-internals overlay: undici 6.29.0, brace-expansion 5.0.12, ip-address 10.7.3. node-forge has no patched release yet (dev-only, via promptfoo -> jks-js).
…gosouzapw#15003) Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…zapw#15225) Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
… Rule diegosouzapw#16 (diegosouzapw#15389) Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
… text (diegosouzapw#15399) Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…alog (diegosouzapw#15396) Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…iegosouzapw#15395) Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…osouzapw#15378) Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
diegosouzapw#15432) Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…get (diegosouzapw#15433) Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…#15434) Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…pw#15463) Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
) Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…pass (diegosouzapw#15560) Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…ead of failing silently (diegosouzapw#15362) Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…zapw#15224) Validated in a combined board on the current release tip: focused node:test + vitest suites, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
… Go (diegosouzapw#15453) Onda 6. Este squash entra com o crédito de @yourspraveen (fix(providers): keep a third-party agent's own User-Agent on OpenCode Go). O board único validou os 19 PRs (sem o diegosouzapw#15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o diegosouzapw#15478, fora deste squash. O rebaseline de file-size e o adopt de i18n ficam num follow-up.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @yourspraveen.
…fig auto table (diegosouzapw#15467) Onda 6. Este squash entra com o crédito de @yourspraveen (docs(readme): list auto/subscription and auto/thrifty in the zero-config auto table). O board único validou os 19 PRs (sem o diegosouzapw#15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o diegosouzapw#15478, fora deste squash. O rebaseline de file-size e o adopt de i18n ficam num follow-up.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @yourspraveen.
…iegosouzapw#15458) Onda 6. Este squash entra com o crédito de @skygunner (fix(combo): keep declared priority order ahead of session stickiness). O board único validou os 19 PRs (sem o diegosouzapw#15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o diegosouzapw#15478, fora deste squash. O rebaseline de file-size e o adopt de i18n ficam num follow-up.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @skygunner.
…iegosouzapw#15478) Onda 6. Este squash entra com o crédito de @lorenzozanee (fix(providers): declare Claude target format for GHE Copilot models). O board único validou o conjunto. O teste novo exige `targetFormat: "claude"` em todo modelo GHE Copilot cujo id começa com `claude-`. O catálogo da release já lista `claude-sonnet-5-5` sem esse campo; a linha foi acrescentada no fork para o teste passar, no mesmo formato das outras linhas Claude. O rebaseline de file-size e o adopt de i18n ficam num follow-up, depois dos três PRs restantes da onda.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @lorenzozanee.
…5476) Onda 6. Este squash entra com o crédito de @lorenzozanee (fix(providers): update the pinned Copilot CLI version). O pin suportado passa de 1.0.88 para 1.0.91. A consulta ao registro npm, o cache de 6 horas e o timeout de 20s da release ficam. Uma versão mais nova continua substituindo o pin, e GITHUB_COPILOT_CLI_VERSION no ambiente continua vencendo os dois. O rebaseline de file-size e o adopt de i18n ficam num follow-up.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @lorenzozanee.
…rted prompt_tokens (diegosouzapw#15054) Onda 6. Este squash entra com o crédito de @skygunner (fix(context): calibrate the chars/4 guard estimate with provider-reported prompt). A calibração do diegosouzapw#14931 entra no caminho já dividido: estimativa de contexto, cauda de streaming e resposta não-streaming. O patch original em chatCore.ts não cabe mais nesse layout. O rebaseline de file-size e o adopt de i18n ficam num follow-up.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @skygunner.
…souzapw#15694) Follow-up da onda 6. Nenhum código de produto. Tetos medidos no tip depois dos squashes: - `open-sse/executors/opencode.ts` 1518 → 1519 (diegosouzapw#15453) - `tests/unit/combo/quota-weighted-strategy.test.ts` novo, congelado em 1217 (diegosouzapw#15480) O adopt de i18n grava o hash atual de `README.md` (diegosouzapw#15541, diegosouzapw#15467) e `docs/reference/ENVIRONMENT.md` (diegosouzapw#15542). Não traduz. File-size OK (171 congelados, 47 testes congelados). i18n drift PASS (sources=152, targets=10032).⚠️ base-red inherited: diegosouzapw#15306
…#15535) Correções já validadas no board. Este squash entra com o crédito de @HouMinXi (fix(combo): skip hedging when the request body is large). O board único passou changelog, typecheck:core, complexity e cognitive. Os 5 testes de guide-settings que falham com HTTP 422 também falham no tip: o guard de escrita recusa o alvo fora de um mount quando `/.dockerenv` existe. Não é regressão deste PR. O rebaseline de file-size dos arquivos que cresceram fica num follow-up, depois destes squashes.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @HouMinXi.
…zapw#15406) Correções já validadas no board. Este squash entra com o crédito de @HouMinXi (fix(dashboard): read OpenCode model limits from the catalog). O board único passou changelog, typecheck:core, complexity e cognitive. Os 5 testes de guide-settings que falham com HTTP 422 também falham no tip: o guard de escrita recusa o alvo fora de um mount quando `/.dockerenv` existe. Não é regressão deste PR. O rebaseline de file-size dos arquivos que cresceram fica num follow-up, depois destes squashes.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @HouMinXi.
…zapw#15499) Correções já validadas no board. Este squash entra com o crédito de @lorenzozanee (fix(executors): route GHE Copilot GPT-6 models to Responses). O board único passou changelog, typecheck:core, complexity e cognitive. Os 5 testes de guide-settings que falham com HTTP 422 também falham no tip: o guard de escrita recusa o alvo fora de um mount quando `/.dockerenv` existe. Não é regressão deste PR. O rebaseline de file-size dos arquivos que cresceram fica num follow-up, depois destes squashes.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @lorenzozanee.
…lists (diegosouzapw#15602) Correções já validadas no board. Este squash entra com o crédito de @Junior-HJ (fix(cursor): bridge native tool execs by schema shape, not just name lists). O board único passou changelog, typecheck:core, complexity e cognitive. Os 5 testes de guide-settings que falham com HTTP 422 também falham no tip: o guard de escrita recusa o alvo fora de um mount quando `/.dockerenv` existe. Não é regressão deste PR. O rebaseline de file-size dos arquivos que cresceram fica num follow-up, depois destes squashes.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @Junior-HJ.
…odelsFromGithubCatalog (diegosouzapw#15525) (diegosouzapw#15578) Correções já validadas no board. Este squash entra com o crédito de @alltomatos (fix(providers): append new models from GitHub catalog in enrichCodexModelsFromGitHub). O board único passou changelog, typecheck:core, complexity e cognitive. Os 5 testes de guide-settings que falham com HTTP 422 também falham no tip: o guard de escrita recusa o alvo fora de um mount quando `/.dockerenv` existe. Não é regressão deste PR. O rebaseline de file-size dos arquivos que cresceram fica num follow-up, depois destes squashes.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @alltomatos.
…wn models as 429 (diegosouzapw#15024) Correções já validadas no board. Este squash entra com o crédito de @mdc2122 (fix(cursor): live-discover cursor-api models and stop reporting unknown models as missing). O board único passou changelog, typecheck:core, complexity e cognitive. Os 5 testes de guide-settings que falham com HTTP 422 também falham no tip: o guard de escrita recusa o alvo fora de um mount quando `/.dockerenv` existe. Não é regressão deste PR. O rebaseline de file-size dos arquivos que cresceram fica num follow-up, depois destes squashes.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @mdc2122.
Follow-up das correções. Nenhum código de produto. Tetos medidos no tip depois dos squashes: - `src/app/api/providers/[id]/models/route.ts` 2432 → 2446 (diegosouzapw#15024) - `tests/unit/combo-routing-engine.test.ts` 3625 → 3663 (diegosouzapw#15535) File-size OK. i18n drift já estava PASS neste tip.⚠️ base-red inherited: diegosouzapw#15306
…combos/auto (diegosouzapw#15353) Onda 8. Este squash entra com o crédito de @maxmad64bis (fix(api): resolve auto-combo candidate capabilities once in GET /api/combos/auto). O merge com o tip atual é limpo: cinco arquivos, sem superfície protegida. O rebaseline de file-size da onda, se houver, fica no follow-up depois dos PRs que ainda conflitam.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @maxmad64bis.
… of blocking the whole provider (diegosouzapw#15469) Onda 8. Este squash entra com o crédito de @maxmad64bis (feat(dashboard): token refresh failures can pause per account instead of blocking the whole provider). O conflito com o tip foi resolvido no fork: o formato atual do `chatCore` dividido ficou, e as opções do breaker (scope, limiar, cooldown, connectionId) foram reaplicadas nos dois call sites de `refreshWithRetry`. O teto de file-size não entra neste squash; o follow-up mede depois da onda.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @maxmad64bis.
…ouzapw#15483) Onda 8. Este squash entra com o crédito de @maxmad64bis (fix(noauth): show active free-tier pauses on the account card). diegosouzapw#15402 e diegosouzapw#15443 já estavam neste branch e entram com ele. O comportamento que o diegosouzapw#15436 já publicou ficou o da release. O cartão de pausa e a rota de visibilidade são deste PR. O teto de file-size fica para o follow-up da onda.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @maxmad64bis.
… pool members (diegosouzapw#15314) Onda 8. Este squash entra com o crédito de @maxmad64bis (feat(proxies): accept operator-provided dated egress observations for pool members). A migration ficou em `199_proxy_operator_egress.sql`. O 199 sai de `KNOWN_GAPS` porque o arquivo existe. O 200, que já existia, continua fora da lista. A flag `PROXY_OPERATOR_EGRESS_ENABLED` permanece desligada por padrão. O teto de file-size fica para o follow-up da onda.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @maxmad64bis.
…egosouzapw#15354) Onda 8. Este squash entra com o crédito de @maxmad64bis (perf(db): drop two conversation_turn_nodes indexes no query reads). A migration ficou em `201_drop_unused_turn_node_indexes.sql`. O 200 não entra em `KNOWN_GAPS`: o arquivo já existe. 197 e 198 continuam reservados até o diegosouzapw#15564. O teto de file-size fica para o follow-up da onda.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @maxmad64bis.
…uzapw#14554) Onda 8. Este squash entra com o crédito de @maxmad64bis (feat(plugin): filter published catalog by capability presets). O catálogo que a release já publicou ficou, e o filtro por capability preset entra por cima. O diegosouzapw#15484 continua de fora. O teto de file-size fica para o follow-up da onda.⚠️ base-red inherited: diegosouzapw#15306 Obrigado, @maxmad64bis.
Migrations 197 and 198. Drop those gaps once the files exist. Do not double-count skipped entries.
diegosouzapw
merged commit Oct 6, 2026
70241a6
into
diegosouzapw:release/v3.8.52
1 of 3 checks passed
diegosouzapw
added a commit
that referenced
this pull request
Oct 6, 2026
Follow-up da onda 8. Nenhum código de produto. Tetos medidos no tip depois dos squashes: - `src/app/(dashboard)/dashboard/settings/components/ResilienceTab.tsx` 1271 → 1285 (#15469) - `src/lib/proxySubscription/subscriptionService.ts` passou do cap 1200 e ficou congelado em 1212 (#15564) i18n: só os hashes de `docs/reference/ENVIRONMENT.md` e `docs/reference/FEATURE_FLAGS.md` (#15314). O resto do estado não foi regravado. File-size OK. i18n drift PASS neste commit.⚠️ base-red inherited: #15306
4 of 5 tasks
This was referenced Oct 7, 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.
Summary
When generation drops entries, the subscription warning either repeats the not-generated text or stays silent. The prune path reuses the failure code and the beside path emits no warning. The change emits one translated warning with the skipped count and the counts-only detail on the covered prune and beside paths.
Related Issues
Validation
npm run lintTests Added Or Updated
tests/unit/proxySubscription.coreEntriesSkipped.test.ts— new, covers prune emission, beside emission with the dominant reason, verified/beside parity, silence on clean runs, and the fixed phrase in the covered locale files.tests/unit/proxySubscription.coreConfigSync.test.ts— two asserts now expect the new warning on beside runs with skips.tests/unit/proxySubscription.corePruneRejected.test.ts— two asserts now expect the new warning on prune success.tests/unit/proxySubscription.coreReload.test.ts— one assert now expects the new warning on a beside run with skips.Coverage Notes
src/lib/proxySubscription/coreConfig/sync.ts— covered by the new suite plus the three updated suites.src/lib/proxySubscription/subscriptionService.ts— type-only union addition, exercised through the shared import by the same suites.src/i18n/messages/*.json(67 files) — covered by the locale parity check in the new suite.Reviewer Notes