redhat-developer / redhat-developer/vscode-java

Offer users an extension downgrade if certain failure conditions detected.

Ouverte
#3,417 1 commentaire 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

enhancement
Langage dominant
TypeScript
Étoiles
2.3k
Forks
546
Merge moyen
20 h 1 min
PR mergées (30 j)
11

Description

Suppose we intend to introduce some functionality that will benefit most users, but after release, we realize it breaks for 5-10% of users. I've seen people try downgrading to a previous version. That alone is useful when tracking the problem and works well enough for them. However, I wonder how many users encounter the breaking issue, and don't know what to do, or might stop using the extension.

If the issue can't be immediately fixed, and we don't want to (can't) revert the change could we use some kind of issue detection (stacktrace/condition in LS or client itself) in a subsequent service release, and then offer the user a downgrade to the last safe version ? Then just perform :

commands.executeCommand("workbench.extensions.installExtension", `redhat.java@${safeVersion}`);

To avoid having to do a release, would it make sense to have some kind of publicly defined file that maps between expected errors and the corresponding downgrade to propose ?

I don't feel that strongly about this (so I'm fine with just closing), but a lot of regressions can be quickly solved by a downgrade, and making the process more user-friendly would be nice.

CC: @testforstephen @fbricon for thoughts.

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

Aucun fichier ni test n’est nommé. Commencez par localiser la gestion par l’extension des échecs du serveur de langage ou du client, ainsi que le VS Code extension-install command présenté dans l’issue. Déterminez si la détection des échecs et un mapping vers une version sûre sont réalisables ; la tâche est considérée comme terminée lorsqu’un périmètre convenu, un comportement de downgrade et des tests sont définis.

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

Évaluation

Stack technique
typescript, vscode
Domaine
developer-experience, tooling
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.