Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Expandir
titleMelhoria de desempenho

Essa build contempla otimizações no motor de execução de código Advpl e TLPP, e otimizações na execução global de funções e métodos da linguagem AdvPL e funções e classes compiladas no repositório de objetos, com ganhos variáveis de acordo com o código executado, com ganhos de até 40% de desempenho.

Expandir
titleTDSReplay para o WebApp
Incidente: Ao realizar a gravação do TDS Replay usando o Webapp, o arquivo gerado não é enviado para a máquina do cliente.

Solução: Alterado processo de finalização da gravação do TDS Replay, onde caso a aplicação seja Webapp, chama o processo especifico de envio de arquivo (FileCopyWeb) fazendo com que apareça uma tela para o usuário fazer o download o arquivo
Expandir
titleServiço para que as métricas do AppServer possam ser consultadas via API

Serviço de monitoramento:
https://tdn.totvs.com/pages/viewpage.action?pageId=552580370

Serviço de monitoramento - métricas:
https://tdn.totvs.com/pages/viewpage.action?pageId=552580879

Expandir
titleImplementação da classe tSSLClient

Solução: Implementação da classe tSSLCLient.


Expandir
titleImplementação da função GetEndPoint

Solução: Implementação da função GetEndPoint para obter o IP e porta da conexão do Smartclient com o AppServer.


Correções


Expandir
titleRetorno da funcao HTTPGetStatus não especifica um erro corretamente

Incidente: Ao fazer uma requisição pela função HttpPost, onde o post foi submetido para o servidor sem o recebimento de resposta, e ao recuperar o código do erro com o HttpGetStatus, o retorno é zero, com mensagem em branco, dando a falsa impressão que ocorreu com sucesso.

Solução:
Feito um ajuste nos erros genéricos, para retornar codigo 500 e "Internal Server Error" quando não houver uma resposta recebida após o HttpPost.

Chamado: DTAPPSRV-1214

...

Expandir
titleHTTP Server Vader - DefaultPage para subdiretórios do site

Incidente: Ao configurar a DefaultPage de uma location no HTTP Server do Vader, a mesma só é respeitada no diretório raiz do site e não nos seu sub-diretóriossubdiretórios.

Solução: Comportamento modificado no Vader, seguindo como por exemplo:

oCfg[aLocations[nY]]['Path'] := "/path"
oCfg[aLocations[nY]]['RootPath'] := "C:\Protheus\Protheus_Data\rootpath"
oCfg[aLocations[nY]]['DefaultPage'] := {"index.html"}

Acesso a diretorios:

http://localhost:8282/path/subdiretorio/index.html
http://localhost:8282/path/subdiretorio/

Chamado: DTAPPSRV-2301

...

Expandir
titleViabilizar a execução de Query em uma tabela temporária criada com o SQLITE como database principal

Incidente:
A execução de queries com a RDD TOPCONN emulada pelo SQLITE (usando RpoDB=SQLITE) e tabela temporária falha, apresentando a mensagem de erro abaixo:

Sem Formato
2020-07-06T16:22:54.854000-03:00 13428|[SQLITE ERR] err: 1     no such table: tmp_13428_T1



Solução:
Para permitir este comportamento, da mesma forma que já é suportado pelo

Inclusão de trecho
dbaccess
dbaccess
nopaneltrue
, fizemos uma correção na camada do SQLITE para que a consulta ocorra no database correto e sob o alias real da tabela temporária.

Chamado: TPGW-233

Expandir
titlePropriedade cBody TMailMessage não entende Adição e Atribuição em Linha (+=) no objetoAppserver exibindo a mensagem [ERROR][SERVER] The system cannot find the file specified.

Incidente: Exibição de mensagens de erro na validação da existência de arquivos.


Solução: Ocultar as mensagens com opção de ativar através de configurações.


Chamado: DTAPPSRV-3226

Expandir
titleDiferença de arredondamento no operador +=

Incidente:
Ao realizar um calculo com o operador += o retorno era incorreto

Solução:
Realizado tratamentos de arredondamento faltantes no operador em questão

Chamado: DTAPPSRV-2959

Expandir
titleSQLite - DBSeek com índice temporário (IndRegua) falha quando existem mais de campos na chave

Incidente:
Ambientes que utilizam a RDD SQLite apresentavam falha na execução de um DBSeek, dado o uso de índices criados com IndRegua(). Assim, ao fazer um DBSkip(), o desenvolvedor sempre tinha a impressão de estar em EOF.

Solução:
Ajuste na camada do TOTVS | Application Server para evitar este comportamento, equalizando assim, com o comportamento da RDD TOPCONN.

Chamado: DTAPPSRV-3406

Expandir
titleHMAC - Implementar suporte ao caracter hexadecimal (00)

Incidente: Ao utilizar uma conversão Hmac utilizando hexadecimal (00), estava fazendo a conversão errada.

Solução: Corrigido o problema de analise de números em hexadecimal.

Chamado: DTAPPSRV-3199

Expandir
titletRpc - argumento 4 do método Connect valida como bloco(B) e não lógico(L)

Incidente: Erro na passagem de parâmetro lógico no parâmetro de SSL no método connect da classe tRPC.

Solução: Correção na validação do parâmetro de SSL no método connect da classe tRPC.

Chamado: DTAPPSRV-3011

Expandir
titleFalha na sincronização de licenças no serviço TOTVS LS com uso de Proxy

Incidente: A mensagem com CONNECT enviada para o proxy não era entendida e por isso o proxy retornava código de erro 400 (Bad Request) ao invés de 407 (Proxy Authentication Required).

Solução: Removido caracteres inválidos na mensagem com CONNECT que é enviada para o proxy.

Chamado: DTAPPSRV-2999

Expandir
titleTDS Replay - Problema com compactação de arquivo com senha

Incidente: Arquivos compactados (zip) com senha em Linux não abrem corretamente mesmo informando a senha.

Solução: Atualização da lib minizip que corrige esse problema

Chamado: DTAPPSRV-2901

Expandir
titleGetClientIP() retornando 127.0.0.1 nos Binários 19.3.0.x

Incidente:
Ao realizar a chamada do getClientIP, ele esta retornando o ip de loopback e não o ip correto do client.

Solução:
Existia uma inconsistência com a informação do pacote recebido via a porta Multiprotocolo. Foi alterado o pacote de conexão com o ip correto.

Chamado: DTAPPSRV-2792

Expandir
titleRetorno da funcao HTTPGetStatus não especifica um erro corretamente

Incidente: Ao fazer uma requisição pela função HttpPost, onde o post foi submetido para o servidor sem o recebimento de resposta, e ao recuperar o código do erro com o HttpGetStatus, o retorno é zero, com mensagem em branco, dando a falsa impressão que ocorreu com sucesso.

Solução:
Feito um ajuste nos erros genéricos, para retornar código 500 e "Internal Server Error" quando não houver uma resposta recebida após o HttpPost.

Chamado: DTAPPSRV-1214

.

Chamado: DTAPPSRV-3226