Skip to content

Commit

Permalink
Merge pull request #591 from totvs/v1.2.1
Browse files Browse the repository at this point in the history
V1.2.1
  • Loading branch information
lwtnb-wrk authored Nov 30, 2020
2 parents b951371 + 0c590d0 commit bf77b32
Show file tree
Hide file tree
Showing 29 changed files with 338 additions and 80 deletions.
68 changes: 68 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,73 @@
# Changelog

# Versão [1.2.1]

## Não exibe conteúdo de array no Watch. [Issue 549](https://github.com/totvs/tds-vscode/issues/549)

### Problema:

- O conteúdo de arrays não estavam sendo exibidos/atualizados nas variáveis e watch, durante a depuração.

### Solução:

- Foi realizado uma correção no DA para considerar os arrays e 'parent' de objetos.

## VSCode Debug error: User not authenticated. Please connect/reconnect to a server. [Issue 423](https://github.com/totvs/tds-vscode/issues/423)

### Problema:

- Ocorria erro indicando que o usuário não estava conectado ao iniciar a depuração. Isso ocorria apenas com usuários cujo nome continham acentuações.

### Solução:

- Foi revista e corrigida a carga das chaves necessárias para ler o token de conexão do LS pelo DA.

## Confirmar exclusão de servidor [Issue 578](https://github.com/totvs/tds-vscode/issues/578)

### Melhoria:

- Adicionada uma confirmção para ação de exclusão de servidores.

## Aplicação de Patch (Apply Patch) não funciona [Issue 573](https://github.com/totvs/tds-vscode/issues/573)

### Problema:

- O botão 'Apply Patch' não está funcionando quando não há uma chave de compilação válida aplicada.

### Solução:

- Adicionada validação de existência da chave antes da operação de 'Apply Patch'.

## Erro intermitente na conexão com o appserver advpl [Issue 518](https://github.com/totvs/tds-vscode/issues/518)

### Problema:

- Ao tentar compilar um fonte enquanto existe uma depuração ativa, ocorre um erro fatal no LS.

### Solução:

- Adicionamos proteções nas ações que necessitam de acesso exclusivo ao RPO que impedem sua execução se a depuração estiver ativa.

## Conexão com Monitor dando erro de Privilégio [Issue 571](https://github.com/totvs/tds-vscode/issues/571)

### Problema:

- Ocorre erro na verificação de privilégios para obter os usuários no Monitor.

### Solução:

- A validação foi temporariamente desativada para questões do Monitor.

## Aborting end build (rollback changes) [Issue 564](https://github.com/totvs/tds-vscode/issues/564)

### Problema:

- Ao compilar workspace ou pasta com vários arquivos e ocorrer erro em um dos arquivos compilados, todos os arquivos não são compilados (rollback).

### Solução:

- Adicionada a opção "Comitar a compilação com erros/alertas" que permite habilitar o 'commit' mesmo com erros/alertas em arquivos que estão sendo compilados.

# Versão [1.2.0]

## Genéricas
Expand Down
15 changes: 15 additions & 0 deletions docs/debugger.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,21 @@
- **NUNCA** faça depuração em ambiente de produção
- Não use _appServers_ compartilhado com terceiros, mesmo que ambientes diistintos
- Prefira sempre um ambiente local
- **Clientes TCloud** : Os ambientes que estão no _TCloud_ em produção são *bloqueados* para depuração.
Promova o _RPO_ para ``DEV`` e use esse ambiente, e se necessário, promova-o de volta para produção.
Para detalhes, entre em contato com o suporte do _TCloud_.

> *Por quê não depurar em "produção"?*
> O processo de depuração, é composto de várias partes que se comunicam entre si e muitas vezes, aguardando ações dos usuários (continua, próxima passo, ...).
> Quando estamos em uma depuração, pode ocorrer do VS-Code solicitar uma informação ao _appServer_ e este "congela" todas as _threads_ (conexões/usuário) para atender essa solicitação. Essa "congelada" pode levar até um ou mesmo dois segundos e isso acontece toda vez que o usuário que esta depurando, precisa tomar uma ação (continua, próximo passo...) e isso pode ser sentido por todos os usuários. Além disso o próprio usuário que esta depurando, vai receber informações de cada um dos usuários conectados, gerando uma troca constante de programas fontes ou informações irrelevantes naquele momento.
> O _appServer_ também envia para o VS-Code algumas informações, tais como, "olha estou nesse fonte e nessa linha" e pergunta "O quê quer que eu faça?". Nesse ponto, pode ser necessário o usuário que está depurando, responda com acionamento de uma ação, como por exemplo, "vá para a próxima instrução" ou "execute esta função até terminar". Enquanto o _appServer_ aguarda a resposta do VS-Code, TODAS as _threads_ ficam congeladas. E você foi no banheiro naquele momento. Dentro de alguns minutos terá um enxurrada de reclamações que o servidor travou.
> Isso pode acontecer se tiver um, dez, cem, mil, usuários. Imagina o problema. Cresce exponencialmente ao número de usuários.>
> Espero ter esclarecido porquê não deve usar ambiente "produção" em processos de depuração.
## Configuração de executores

Expand Down
6 changes: 1 addition & 5 deletions docs/servers.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ ENABLESENDMESSAGE=<ip list>
ENABLEBLOCKNEWCONNECTION=<ip list>
ENABLESTOPSERVER=<ip list>
ALLOWBUILDPATCH=<ip list>
ALLOWMONITOR=<ip list>
ALLOWCOMPILE=<ip list>
```

Expand All @@ -79,11 +78,8 @@ ENABLESENDMESSAGE | Enviar mensagens
ENABLEBLOCKNEWCONNECTION | Bloquear novas conexões
ENABLESTOPSERVER | Encerrar o _appServer_
ALLOWBUILDPATCH | Gerar pacotes de atualização (_patchs_)
ALLOWMONITOR | Monitorar conexões/sessões do _appServer_
ALLOWCOMPILE | Compilar fontes e recursos
|

- `Chave` deve ser sempre em maiúsculas
- `<ip list>` é a lista de estações com o privilégio liberado, identificadas pelo seu endereço IP e separadas por `,`.

> Para liberar o privilégio a qualquer estação, omita a chave ou coloque `*`.
> Para liberar o privilégio a qualquer estação, coloque `*`.
4 changes: 3 additions & 1 deletion i18n/esn/package.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"tds.package.reconnectLastServer": "Vuelva a conectar el último servidor conectado al inicio.",
"tds.package.generate.ppo": "Generar archivo PPO.",
"tds.package.show.precompile": "Mostrar el comando precompilador.",
"tds.package.compilation.commit": "Cometer la compilación con errores/alertas",
"tds.package.compilation.includes": "La compilación incluye.",
"tds.package.web.navigator.debug": "Navegador web (depuración con SmartClientHtml).",
"tds.package.editor.notification.show": "Nivel de notificación que se mostrará en 'popup'",
Expand Down Expand Up @@ -115,5 +116,6 @@
"tds-monitor.open-monitor-view": "Vista de monitor abierta",
"tds.package.workspaceServerConfig": "Use el espacio de trabajo para mantener la configuración del servidor.",
"tds.package.OpenTimeLineWebview": "Abrir vista de línea de tiempo",
"tds.package.apply.formatting": "Aplica el formato a los archivos de origen TOTVS y sus variaciones."
"tds.package.apply.formatting": "Aplica el formato a los archivos de origen TOTVS y sus variaciones.",
"tds-monitor.open-rpoinfo": "Registro del repositorio"
}
1 change: 1 addition & 0 deletions i18n/ptb/package.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"tds.package.reconnectLastServer": "Reconectar ao último servidor conectado na inicialização.",
"tds.package.generate.ppo": "Gere arquivo PPO.",
"tds.package.show.precompile": "Mostrar comando pré compilador.",
"tds.package.compilation.commit": "Comitar a compilação com erros/alertas",
"tds.package.compilation.includes": "Compilação inclui.",
"tds.package.web.navigator.debug": "Navegador da Web (depuração com SmartClientHtml).",
"tds.package.editor.notification.show": "Nível de notificação a ser exibido no 'pop-up'",
Expand Down
4 changes: 3 additions & 1 deletion i18n/rus/package.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"tds.package.reconnectLastServer": "Повторно подключиться при запуске к последнему подключенному серверу.",
"tds.package.generate.ppo": "Сгенерировать файл PPO.",
"tds.package.show.precompile": "Показать команду предварительной компиляции.",
"tds.package.compilation.commit": "Commit compilation with errors/warnings",
"tds.package.compilation.includes": "Компиляция включает.",
"tds.package.web.navigator.debug": "Веб-навигатор (отладка с помощью SmartClientHtml).",
"tds.package.editor.notification.show": "Уровень уведомления будет отображаться во всплывающем окне",
Expand Down Expand Up @@ -115,5 +116,6 @@
"tds-monitor.open-monitor-view": "Открыть просмотр монитора",
"tds.package.workspaceServerConfig": "Использовать рабочее пространство для сохранения настроек сервера.",
"tds.package.OpenTimeLineWebview": "Открыть веб-просмотр графика",
"tds.package.apply.formatting": "Применяет форматирование к исходным файлам TOTVS и их вариантам."
"tds.package.apply.formatting": "Применяет форматирование к исходным файлам TOTVS и их вариантам.",
"tds-monitor.open-rpoinfo": "Журнал репозитория"
}
11 changes: 8 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "tds-vscode",
"displayName": "TOTVS Developer Studio for VSCode (AdvPL, TLPP e 4GL)",
"description": "%tds.package.description%",
"version": "1.2.0",
"version": "1.2.1",
"publisher": "TOTVS",
"author": {
"name": "TOTVS",
Expand Down Expand Up @@ -63,8 +63,8 @@
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "^4.0.0-alpha.56",
"@totvs/tds-da": "^1.1.19",
"@totvs/tds-ls": "^1.1.37",
"@totvs/tds-da": "^1.1.20",
"@totvs/tds-ls": "^1.1.39",
"@types/node": "^14.11.2",
"@types/react": "^16.9.50",
"@types/vscode": "^1.49.0",
Expand Down Expand Up @@ -407,6 +407,11 @@
"default": false,
"description": "%tds.package.show.precompile%"
},
"totvsLanguageServer.compilation.commitWithErrorOrWarning": {
"type": "boolean",
"default": false,
"description": "%tds.package.compilation.commit%"
},
"totvsLanguageServer.web.navigator": {
"type": "string",
"default": "",
Expand Down
1 change: 1 addition & 0 deletions package.nls.es.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"tds.package.reconnectLastServer": "Vuelva a conectar el último servidor conectado al inicio.",
"tds.package.generate.ppo": "Generar archivo PPO.",
"tds.package.show.precompile": "Mostrar el comando precompilador.",
"tds.package.compilation.commit": "Cometer la compilación con errores/alertas",
"tds.package.compilation.includes": "La compilación incluye.",
"tds.package.web.navigator.debug": "Navegador web (depuración con SmartClientHtml).",
"tds.package.editor.notification.show": "Nivel de notificación que se mostrará en 'popup'",
Expand Down
1 change: 1 addition & 0 deletions package.nls.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"tds.package.reconnectLastServer": "Reconnect last connected server on startup.",
"tds.package.generate.ppo": "Generate PPO file.",
"tds.package.show.precompile": "Show pre compiler command.",
"tds.package.compilation.commit": "Commit compilation with errors/warnings",
"tds.package.compilation.includes": "Compilation includes.",
"tds.package.web.navigator.debug": "Web navigator (debug with SmartClientHtml).",
"tds.package.editor.notification.show": "Notification Level to be show in 'popup'",
Expand Down
1 change: 1 addition & 0 deletions package.nls.pt-br.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"tds.package.reconnectLastServer": "Reconectar ao último servidor conectado na inicialização.",
"tds.package.generate.ppo": "Gere arquivo PPO.",
"tds.package.show.precompile": "Mostrar comando pré compilador.",
"tds.package.compilation.commit": "Comitar a compilação com erros/alertas",
"tds.package.compilation.includes": "Compilação inclui.",
"tds.package.web.navigator.debug": "Navegador da Web (depuração com SmartClientHtml).",
"tds.package.editor.notification.show": "Nível de notificação a ser exibido no 'pop-up'",
Expand Down
3 changes: 2 additions & 1 deletion package.nls.ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"tds.package.reconnectLastServer": "Повторно подключиться при запуске к последнему подключенному серверу.",
"tds.package.generate.ppo": "Сгенерировать файл PPO.",
"tds.package.show.precompile": "Показать команду предварительной компиляции.",
"tds.package.compilation.commit": "Commit compilation with errors/warnings",
"tds.package.compilation.includes": "Компиляция включает.",
"tds.package.web.navigator.debug": "Веб-навигатор (отладка с помощью SmartClientHtml).",
"tds.package.editor.notification.show": "Уровень уведомления будет отображаться во всплывающем окне",
Expand Down Expand Up @@ -112,5 +113,5 @@
"tds.package.workspaceServerConfig": "Использовать рабочее пространство для сохранения настроек сервера.",
"tds.package.OpenTimeLineWebview": "Открыть веб-просмотр графика",
"tds.package.apply.formatting": "Применяет форматирование к исходным файлам TOTVS и их вариантам.",
"tds-monitor.open-rpoinfo": "Repository Log"
"tds-monitor.open-rpoinfo": "Журнал репозитория"
}
15 changes: 10 additions & 5 deletions src/WebService/generateWS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ import * as nls from 'vscode-nls';
import { languageClient } from '../extension';
import Utils from '../utils';
import { ResponseError } from 'vscode-languageclient';
import { _debugEvent } from '../debug';

let localize = nls.loadMessageBundle();
const compile = require('template-literal');


const localizeHTML = {
"tds.webview.title": localize("tds.webview.title", "Generate WS"),
"tds.webview.ws.URL": localize("tds.webview.ws.URL", "URL Web Service / WSDL FIle"),
Expand Down Expand Up @@ -58,14 +59,18 @@ export default function showWSPage(context: vscode.ExtensionContext) {
vscode.window.showErrorMessage("The output file must have one of the following extensions: .prw, .prx or .tlpp");
return;
}
if (_debugEvent) {
vscode.window.showWarningMessage("Esta operação não é permitida durante uma depuração.")
return;
}
server = Utils.getCurrentServer();
const permissionsInfos = Utils.getPermissionsInfos();
languageClient.sendRequest('$totvsserver/wsdlGenerate', {
"wsdlGenerateInfo": {
"connectionToken": server.token,
"authorizationToken" : permissionsInfos.authorizationToken,
"environment": server.environment,
"wsdlUrl": message.url
connectionToken: server.token,
authorizationToken : permissionsInfos ? permissionsInfos.authorizationToken : "",
environment: server.environment,
wsdlUrl: message.url
}
}).then((response: any) => {
const pathFile = message.path + "//" + message.outputFileName;
Expand Down
5 changes: 4 additions & 1 deletion src/compile/tdsBuild.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,15 @@ interface CompileOptions {
showPreCompiler: boolean;
priorVelocity: boolean;
returnPpo: boolean;
commitWithErrorOrWarning: boolean;
}

//TODO: pegar as opções de compilação da configuração (talvez por server? ou workspace?)
function _getCompileOptionsDefault(): CompileOptions {
let config = vscode.workspace.getConfiguration("totvsLanguageServer");
let generatePpoFile = config.get("compilation.generatePpoFile");
let showPreCompiler = config.get("compilation.showPreCompiler");
let commitWithErrorOrWarning = config.get("compilation.commitWithErrorOrWarning");

return {
recompile: false,
Expand All @@ -37,7 +39,8 @@ function _getCompileOptionsDefault(): CompileOptions {
generatePpoFile: generatePpoFile as boolean,
showPreCompiler: showPreCompiler as boolean,
priorVelocity: true,
returnPpo: false
returnPpo: false,
commitWithErrorOrWarning: commitWithErrorOrWarning as boolean
};
}

Expand Down
12 changes: 6 additions & 6 deletions src/compileKey/compileKey.ts
Original file line number Diff line number Diff line change
Expand Up @@ -131,12 +131,12 @@ export function compileKeyPage(context: vscode.ExtensionContext) {
function setCurrentKey(currentPanel, path, id, issued, expiry, authorizationToken, canOverride: boolean) {
currentPanel.webview.postMessage({
command: "setCurrentKey",
'path': path,
'id': id,
'issued': issued,
'expiry': expiry,
'authorizationToken': authorizationToken,
'canOverride': canOverride
path: path,
id: id,
issued: issued,
expiry: expiry,
authorizationToken: authorizationToken,
canOverride: canOverride
});
}

Expand Down
12 changes: 10 additions & 2 deletions src/debug/debugEvents.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,8 @@ export function processDebugCustomEvent(event: DebugSessionCustomEvent) {
processSelectTimeLineEvent(event, debugConsole);
} else if (event.event === 'TDA/showProgress') {
processShowProgressEvent(event, debugConsole);
} else if(event.event === 'TDA/showLoadingPageDialog') {
processShowLoadingDialogEvent(event, debugConsole);
}
}
}
Expand Down Expand Up @@ -233,11 +235,11 @@ function processShowProgressEvent(event: DebugSessionCustomEvent, debugConsole:
while( !isFinished && messageQueue.length > 0) {
item = messageQueue.pop();
languageClient.outputChannel.appendLine(item.message);
if(item.percent > 0) {
//if(item.percent > 0) {
setTimeout(() => {
progress.report({message: item.message, increment: item.increment});
}, 100);
}
//}
}
}

Expand All @@ -258,6 +260,12 @@ function processShowProgressEvent(event: DebugSessionCustomEvent, debugConsole:
}
}

function processShowLoadingDialogEvent(event: DebugSessionCustomEvent, debugConsole: DebugConsole) {
if(createTimeLineWebView !== null) {
createTimeLineWebView.showLoadingPageDialog(event.body.show);
}
}

function delay(ms: number)
{
return new Promise(resolve => setTimeout(resolve, ms));
Expand Down
4 changes: 3 additions & 1 deletion src/debug/tdsreplay/Command.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,7 @@ export enum CommandToDA {
export enum CommandToPage {
AddTimeLines,
SelectTimeLine,
OpenSourcesDialog
OpenSourcesDialog,
OpenWaitPage,
ShowLoadingPageDialog
}
7 changes: 7 additions & 0 deletions src/debug/tdsreplay/TDSReplayTimeLineCreator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,13 @@ private initializePanel(): void {
});
}

public showLoadingPageDialog(showLoadingPageDialog: boolean) {
this._panel.webview.postMessage({
command: CommandToPage.ShowLoadingPageDialog,
data: showLoadingPageDialog
});
}

public postAddTimeLineEvent(debugEvent: DebugSessionCustomEvent, isIgnoreSourceNotFound: boolean) {
//Envio de mensagem para página
this._isIgnoreSourcesNotFound = isIgnoreSourceNotFound;
Expand Down
Loading

0 comments on commit bf77b32

Please sign in to comment.