Skip to content

docs: a página de saída de rede descrevia o gateway errado - #4

Merged
elielsousa-pathbit merged 1 commit into
masterfrom
docs/revisao-profunda
Sep 12, 2026
Merged

elielsousa-pathbit merged 1 commit into
masterfrom
docs/revisao-profunda

Conversation

@elielsousa-pathbit

Copy link
Copy Markdown
Contributor

O docs/Egress-And-Multi-Session.md deste repositório era cópia literal do OminiRTkSync — os dois arquivos eram idênticos byte a byte. Ele mencionava OmniRoute oito vezes contra cinco do 9Router, e o "como configurar" mandava cadastrar a saída em Settings → Proxies do OmniRoute, com scope="account" e proxy_enabled. Nada disso existe aqui. Quem seguia o passo a passo não chegava a lugar nenhum.

Reescrito com o 9Router em primeiro plano, lido do fonte do gateway (src/lib/network/connectionProxy.js, open-sse/utils/proxyFetch.js), não deduzido.

Dois achados que nenhuma versão registrava

Um pool inutilizável não dá erro. resolveConnectionProxyConfig() exige isActive === true e proxyUrl preenchido. Faltando qualquer um, a conexão cai em silêncio para os campos legados — e se eles estiverem vazios, aquela conta volta a dividir o endereço do host. Vincular um pool não basta; ele precisa estar utilizável.

Sem strictProxy, o isolamento some no primeiro erro de rede. Quando o proxy falha, o proxyFetch registra um aviso e refaz a requisição direto. A conta que se quis isolar sai pelo IP do host, e o único rastro é um console.warn no log do gateway. Com strictProxy: true, a requisição falha em vez de vazar. É a diferença entre isolamento e melhor esforço.

Também documentado: pools do tipo vercel/cloudflare/deno não são proxy HTTP, e sim relay por reescrita de URL — o resolvedor devolve connectionProxyEnabled: false de propósito e expõe o endereço como vercelRelayUrl, que tem precedência na hora do envio.

Verificação

A consulta SQL foi reescrita para o schema real (JSON em providerConnections.data) e testada contra o gateway em execução: classifica as sete conexões e distingue pool ausente, inativo e sem URL.

Novo teste

A documentação do /healthz tem de citar exatamente as respostas que o servidor produz, e não pode inventar nenhuma. Verificado que pega a regressão.

https://claude.ai/code/session_01Dw2Zc66wvY8QBZJmPBeMsT

O Egress-And-Multi-Session.md deste repositorio era copia literal do
OminiRTkSync: mencionava OmniRoute oito vezes contra cinco do 9Router, e o
"como configurar" mandava o leitor cadastrar a saida em Settings -> Proxies
do OmniRoute, com scope=account e proxy_enabled -- campos que nao existem
aqui. Quem seguisse o passo a passo nao chegava a lugar nenhum.

Reescrito com o 9Router em primeiro plano, lido do fonte do gateway
(src/lib/network/connectionProxy.js e open-sse/utils/proxyFetch.js), nao
deduzido. Dois achados que nenhuma versao registrava:

- **Pool inutilizavel nao da erro.** resolveConnectionProxyConfig() exige
  isActive === true E proxyUrl preenchido; faltando qualquer um, a conexao
  cai em silencio para os campos legados e, se eles estiverem vazios, aquela
  conta volta a dividir o endereco do host. Vincular um pool nao basta.

- **Sem strictProxy, o isolamento some no primeiro erro de rede.** Quando o
  proxy falha, o proxyFetch registra um aviso e REFAZ a requisicao direto. A
  conta que se quis isolar sai pelo IP do host, e o unico rastro e um
  console.warn. Com strictProxy, a requisicao falha em vez de vazar.

Tambem: pools do tipo vercel/cloudflare/deno nao sao proxy HTTP, e sim relay
por reescrita de URL -- o resolvedor devolve connectionProxyEnabled: false
de proposito e expoe o endereco como vercelRelayUrl.

A consulta SQL de verificacao foi reescrita para o schema real (JSON em
providerConnections.data) e testada contra o gateway em execucao: classifica
as sete conexoes e distingue pool ausente, inativo e sem URL.

Novo teste: a documentacao do /healthz tem de citar exatamente as respostas
que o servidor produz, e nao pode inventar nenhuma.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@elielsousa-pathbit
elielsousa-pathbit merged commit 871f8a3 into master Sep 12, 2026
5 checks passed
@elielsousa-pathbit
elielsousa-pathbit deleted the docs/revisao-profunda branch September 12, 2026 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant