redhat-developer / redhat-developer/vscode-java
Offer users an extension downgrade if certain failure conditions detected.
Personne n'a encore pris cette issue.
- 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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- 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