Histórico de mensagens sobre javascript em sugestões

EXIBINDO CONVERSAS RECENTES:

Texto: javascript
Canal: sugestões
Avatar discord do usuario josejooj

josejooj

melhorias no sdk pra node/typescript:

- centralizar tudo no módulo sdk gn-api-sdk-node, já que mesmo sendo pra typescript, ainda roda em ambiente node (e no final esse código typescript vira javascript)
- nesse caso a tipagem do gn-api-sdk-node seria instalado a parte com npm i @types/gn-api-sdk-node ou com yarn, permitindo até que instalemos apenas como dependência de desenvolvimento
- melhorar a tipagem do SDK, atualmente o SDK tem um total de 32 linhas referentes a tipagem só a classe inicial e seu constructor é tipado, não tem mais nada tipado fora disso, é quase o mesmo efeito de não ter nenhuma tipagem, tanto que estou seguindo os exemplos no repositório do SDK ao invés de seguir a tipagem

Avatar discord do usuario francisco.carvalho

francisco.carvalho

Ver Respostas

Boa tarde @everyone !

Retomando o assunto endpoint de configurações (https://www.notion.so/Endpoint-de-configura-es-0a97faee68f845ab96ec21551862fe6c).

Nosso time de engenharia observou que existem possíveis situações em que o match do regex com a string do txid pode demorar muitos segundos ou até minutos. Existem situações inclusive de crash da aplicação. Em outras palavras: não é seguro recebermos via input qualquer regex.

Um exemplo que vocês podem testar no browser:

let regexp = /^(\d+)$/;
let str = "012345678901234567890123456789z";
alert( regexp.test(str) );

O alert acima levará um longo tempo até que apareça. Imaginem isso no ato de recebimento de um Pix, no qual cada milisegundo é um fator determinante para um timeout inesperado.

A conclusão é que precisamos controlar melhor quais regex serão aceitas.

A proposta é, ao invés de receber um txidRegex, receber algo mais limitado que também atenda da mesma forma:

"recebimento": {
"txid": {
"comecaCom": "gnPix"
}
}

"recebimento": {
"txid": {
"terminaCom": "gnPix"
}
}

"recebimento": {
"txid": {
"contem": "gnPix"
}
}

comecaCom/terminaCom/contem: a-zA-Z0-9{0,15} //caracteres aceitos

Gostaria de opinião de vocês em relação a essa nova proposta, bem como sugestões dentro dessa nova abordagem.

Para quem interessar, uma referência sobre o assunto regexp-catastophic-backtracking com mais detalhes.
https://javascript.info/regexp-catastrophic-backtracking

Avatar discord do usuario _vitordesousa_

_vitordesousa_

Ver Respostas

Entendi.. Mas pow, o pagseguro parece ter, porque na API deles o javascript traz a bandeira do cartão.