Skip to content

chore(sync): merge upstream/master (2.8.5 + OAuth2) e remover publicação no Marketplace - #16

Merged
ricxJr merged 26 commits into
masterfrom
sync/upstream-master-2026-09
Sep 15, 2026
Merged

ricxJr merged 26 commits into
masterfrom
sync/upstream-master-2026-09

Conversation

@ricxJr

@ricxJr ricxJr commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

Sincroniza o fork com intersystems/language-server@master (24 commits, incluindo o release 2.8.5 e o suporte a OAuth2).

O merge teve 33 arquivos em conflito (~180 hunks), resolvidos manualmente. Como não é um sync trivial, vale revisar com atenção os pontos abaixo.

O que veio do upstream

Como os conflitos foram resolvidos

Identidade e packaging do fork — mantidos:

  • publisher: consistem-sistemas, extensionDependencies: consistem-sistemas.consistem-vscode-objectscript, extension ids consistem-sistemas.* e links de marketplace.
  • Scripts de packaging multi-target (select-isclexer, package:win32-*, package:current) e as devDependencies próprias (cross-env, node-sarif-builder), combinados com o novo compile:common e o clean estendido do upstream.

Customizações do fork — mantidas:

  • Controle de formatação (client/src/ccs/formattingControl) e os listeners de save/close/onDidExecuteCommand.
  • Hover e signature help de rotinas (server/src/ccs/hover, server/src/ccs/signatureHelp) e o tipo de assinatura "routine".

Refatorações do upstream — adotadas:

  • resolvedServerSpecs + fluxo OAuth2 em client/src/extension.ts, credenciais via server.credentials em makeRESTRequest.
  • ServerSpec | undefined com guards em todos os providers; o bloco de hover customizado passou a rodar sob if (server).
  • Contexto de namespace (nsContext) no diagnostic.ts.

Pontos que merecem atenção na revisão

  1. Server Manager vendorizado atualizado de 3.10.2 para 3.14.1 (client/vendor/consistem-servermanager/index.d.ts). Os typings antigos não exportavam Authorization, ResolvedAuthorization nem VSCodeObjectScriptAPI, exigidos pelo fluxo OAuth2. O EXTENSION_ID da Consistem foi mantido em index.js. Em runtime, o upstream mantém compatibilidade com Server Manager pré-OAuth2 via a classe BasicAuthorization — vale validar contra a extensão Server Manager que a Consistem publica hoje.
  2. Versão unificada em 2.8.6-SNAPSHOT (raiz, client/ e server/). O fork estava em 2.8.4-SNAPSHOT na raiz e 2.8.3 nos subpacotes.
  3. Signature help de rotinas: activeParameter passou de null para undefined e buildRoutineDocumentation teve o retorno estreitado para MarkupContent, para atender aos tipos mais estritos do LSP. Comportamento pretendido inalterado, mas é código só do fork — sem cobertura de teste.
  4. eslint.config.mjs: o override CommonJS passou a cobrir client/vendor/**/*.js, corrigindo um erro no-undef que já existia no master (o CI não roda lint, então passava despercebido).

Limpeza do CI de publicação

Segundo commit, independente do sync: o fork não tem mais acesso ao VS Code Marketplace nem ao Open VSX, então os passos que publicavam para esses registries foram removidos do job publish (junto com o setup do Node e a instalação global do vsce, que só serviam a eles), assim como a devDependency ovsx.

Continuam funcionando: o build dos 8 targets, o release beta a cada push no master e o anexo dos .vsix nas releases — que passa a ser o caminho para instalação interna.

Validação

  • npm run compile — limpo.
  • npm run lint — ESLint limpo. O prettier --check ainda acusa 23 arquivos, todos pré-existentes; no master eram 38. Nenhum arquivo ficou não-conforme por causa desta resolução (o único item novo na lista, common/src/types.ts, veio do upstream sem alterações).
  • npm run webpack — build de produção OK (apenas o warning conhecido de vscode-languageserver-types).
  • Não houve teste funcional em execução: o repositório não tem suíte de testes e a extensão não foi exercitada contra um servidor IRIS real. A validação do fluxo OAuth2 e das customizações de formatação/hover precisa ser manual.

🤖 Generated with Claude Code

isc-bsaviano and others added 26 commits March 5, 2026 09:10
…n curly brace for a method or class and the definition line (intersystems#417)
* save

* Keep one ServerSpec cache entry per connection, not per namespace

Auth/cookies are namespace-independent, so fragmenting the cache by
namespace (as the previous fix did) loses intersystems#416's session-dedup benefit
for the common single-server multi-namespace case. Instead, cache one
entry per (username, host, port, pathPrefix) as before intersystems#420, and
override the returned namespace to match the current call's rather than
whatever was cached first.

* draft

* Don't match on serverName when looking up a cached connection

Two named servers can point at the same physical server; only the
password-change handler should filter by serverName.

* Match cached connections on connection fields only; serverName is its own special case

list() ignores serverName entirely (two named servers can point at the
same physical server), so callers can pass a whole ServerSpec without
over-matching. Deleting by serverName -- only needed on password change
-- gets a dedicated method instead.

* Treat an empty username as unresolved in the connection cache lookup

An unresolved BasicAuthorization reports username "", which used to
fall through to "match any known connection to this address" (intersystems#416) but
was being filtered as a literal "" and always missing. Also drop
values() in favor of list({}).
intersystems#422)

Fixes intersystems#421. Three sites in definition.ts dereferenced
respdata.data.result.content after only checking respdata !== undefined;
4xx bodies passed through by makeRESTRequest have no result, so this
threw. Guard them the same way the rest of the file already does.
Incorpora 24 commits do intersystems/language-server, incluindo o release
2.8.5, o suporte a OAuth2 e o novo pacote compartilhado `common/`.

Resolução dos 33 arquivos em conflito:
- Identidade do fork preservada: publisher `consistem-sistemas`, extension
  dependencies `consistem-sistemas.*`, scripts de packaging multi-target
  (`select-isclexer`, `package:*`) e links de marketplace.
- Customizações do fork preservadas: controle de formatação (`ccs/formattingControl`),
  hover e signature help de rotinas (`ccs/hover`, `ccs/signatureHelp`) e o tipo
  de assinatura "routine".
- Refatorações do upstream adotadas: `resolvedServerSpecs` + OAuth2, tipos em
  `common/`, `ServerSpec | undefined` com guards, contexto de namespace no
  diagnostic e "Go to Definition" para membros de classe.
- Server Manager vendorizado atualizado de 3.10.2 para 3.14.1 (typings de
  `Authorization`/`ResolvedAuthorization`/`VSCodeObjectScriptAPI`, exigidos pelo
  fluxo OAuth2), mantendo o EXTENSION_ID da Consistem.
- `activeParameter`/`documentation` do signature help de rotinas ajustados aos
  tipos mais estritos do LSP.
- eslint: `client/vendor/**/*.js` coberto pelo override CommonJS (erro `no-undef`
  pré-existente).

Validado com `npm run compile`, `npm run lint` (eslint) e `npm run webpack`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
O fork não tem mais acesso ao VS Code Marketplace nem ao Open VSX, então os
passos que publicavam o VSIX para esses registries só falhariam (ou seriam
pulados silenciosamente por falta de token).

- Removidos os passos `Publish to VS Code Marketplace` e `Publish to Open VSX
  Registry` do job `publish`, junto com o setup do Node e a instalação global
  do vsce, que só existiam para eles.
- Removida a devDependency `ovsx`, sem uso após a remoção.

O build dos 8 targets, o release beta a cada push no master e o anexo dos
.vsix nas releases continuam funcionando — é por aí que o VSIX segue
disponível para instalação interna.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@ricxJr ricxJr changed the title chore(sync): merge upstream/master (2.8.5 + OAuth2) chore(sync): merge upstream/master (2.8.5 + OAuth2) e remover publicação no Marketplace Sep 15, 2026
@ricxJr
ricxJr merged commit f91a550 into master Sep 15, 2026
11 checks passed
@ricxJr
ricxJr deleted the sync/upstream-master-2026-09 branch September 15, 2026 19:37
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.

4 participants