chore(sync): merge upstream/master (2.8.5 + OAuth2) e remover publicação no Marketplace - #16
Merged
Merged
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
ServerSpeccom namespace errado (Fix ServerSpec cache returning the wrong namespace intersystems/language-server#420), guarda em respostas REST de definition (Guard REST results against malformed responses intersystems/language-server#422).common/com os tipos compartilhados entre client e server, e TS project references (FixServerSpec | undefinedtype safety and wire up TS project references intersystems/language-server#414).Como os conflitos foram resolvidos
Identidade e packaging do fork — mantidos:
publisher: consistem-sistemas,extensionDependencies: consistem-sistemas.consistem-vscode-objectscript, extension idsconsistem-sistemas.*e links de marketplace.select-isclexer,package:win32-*,package:current) e as devDependencies próprias (cross-env,node-sarif-builder), combinados com o novocompile:commone ocleanestendido do upstream.Customizações do fork — mantidas:
client/src/ccs/formattingControl) e os listeners de save/close/onDidExecuteCommand.server/src/ccs/hover,server/src/ccs/signatureHelp) e o tipo de assinatura"routine".Refatorações do upstream — adotadas:
resolvedServerSpecs+ fluxo OAuth2 emclient/src/extension.ts, credenciais viaserver.credentialsemmakeRESTRequest.ServerSpec | undefinedcom guards em todos os providers; o bloco de hover customizado passou a rodar sobif (server).nsContext) nodiagnostic.ts.Pontos que merecem atenção na revisão
client/vendor/consistem-servermanager/index.d.ts). Os typings antigos não exportavamAuthorization,ResolvedAuthorizationnemVSCodeObjectScriptAPI, exigidos pelo fluxo OAuth2. OEXTENSION_IDda Consistem foi mantido emindex.js. Em runtime, o upstream mantém compatibilidade com Server Manager pré-OAuth2 via a classeBasicAuthorization— vale validar contra a extensão Server Manager que a Consistem publica hoje.2.8.6-SNAPSHOT(raiz,client/eserver/). O fork estava em2.8.4-SNAPSHOTna raiz e2.8.3nos subpacotes.activeParameterpassou denullparaundefinedebuildRoutineDocumentationteve o retorno estreitado paraMarkupContent, para atender aos tipos mais estritos do LSP. Comportamento pretendido inalterado, mas é código só do fork — sem cobertura de teste.eslint.config.mjs: o override CommonJS passou a cobrirclient/vendor/**/*.js, corrigindo um errono-undefque já existia nomaster(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 devDependencyovsx.Continuam funcionando: o build dos 8 targets, o release beta a cada push no
mastere o anexo dos.vsixnas releases — que passa a ser o caminho para instalação interna.Validação
npm run compile— limpo.npm run lint— ESLint limpo. Oprettier --checkainda acusa 23 arquivos, todos pré-existentes; nomastereram 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 devscode-languageserver-types).🤖 Generated with Claude Code