microsoft / microsoft/TypeScript

Editors need a way to determine whether they are talking to an official TS Server

Ouverte
#40,310 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Infrastructure
Langage dominant
Go
Étoiles
111k
Forks
14.4k
Merge moyen
1 j 19 h
PR mergées (30 j)
117

Description

Otherwise, they will obliviously forward events from the server to our official telemetry system and we'll have confusing noise in our data (e.g. stacks that don't match our source or asserts that don't exist).

The most secure approach would be to cryptographically hash the official tsserver.js and have the editor only report telemetry for matching files. This would likely be impractical for, e.g., nightly builds. Edit: @minestarks pointed out that signing the files would be a smarter way to do this - no need for a big inclusion list.

An intermediate approach would be to only report telemetry from the in-box implementation (i.e. not if tsserver comes from npm or nuget). We might lose a lot of data.

Alternatively, our publication process could modify tsserver.js in some way that the editor could detect. A fork would have to be deliberately malicious to replicate the change (vs now, where they'd have to explicitly suppress events to be good citizens).

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par tsserver.js et le processus de publication ; l’issue ne mentionne aucun test spécifique ni autre point d’entrée. Comparez les mécanismes d’identité proposés et déterminez comment un éditeur peut reconnaître de manière fiable les serveurs officiels avant de transférer la télémétrie, y compris pour les distributions nightly ou npm/nuget. Le travail est terminé lorsque la télémétrie n’est signalée que pour des serveurs dont le caractère officiel est vérifiable.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
developer-experience, observability, security
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.