Clean up retained Data/List Viewer state for obsolete Interactive outputs
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 38/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- r, typescript
- Domaine
- devtools
Piste de recherche
Start by reading the existing state_generation / dataview_dispose mechanism from #1741 and the dataview_set_state usage described in #1835. Trace how Interactive generations, retained history, and reconnects determine whether viewer state is still usable. Done means obsolete table and list viewer state is released when it can no longer be used, without breaking live or reconnectable outputs.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Background
This was identified during a ChatGPT-assisted review of #1835.
Interactive rich outputs retain R-side viewer state in .sess_env$dataviews so that notebook cells can continue paging or opening their full Data/List Viewer without serializing the complete object.
However, these states do not appear to be released when the corresponding Interactive output is no longer live.
For example, #1835 stores each plain list result with:
dataview_set_state(view_id, root)
and Interactive table outputs similarly retain Data Viewer state. Once an Interactive generation becomes archived, the extension correctly disables live controls, but the corresponding R-side state may remain referenced until the runtime itself is stopped.
This means old Interactive outputs can keep potentially large R objects alive even though they can no longer be browsed live.
Possible direction
Consider managing these states as Interactive-owned viewer resources, and dispose them when they can no longer be used, for example when:
- an Interactive generation is replaced or restarted;
- retained history is evicted;
- an Interactive session/output is otherwise permanently discarded.
This should probably cover both existing table outputs and the list outputs introduced in #1835 rather than adding list-specific cleanup.
The existing state_generation / dataview_dispose mechanism from #1741 may provide the appropriate foundation, but Interactive output retention and reconnect semantics need to be taken into account.
- Langage dominant
- TypeScript
- Étoiles
- 1.2k
- Forks
- 147
- Merge moyen
- 1 j 10 h
- PR mergées (30 j)
- 64
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire 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.
Autres issues de REditorSupport/vscode-R
-
[Bug]: `view` button sends explicit `.GlobalEnv` lookup to terminal instead of `View()` onlyOuvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
REditorSupport/vscode-R#1846 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
(feat) Additional Arrow supportPeut-être pris @Fred-Wu l’a pris il y a 9 jours. Ouverteenhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
REditorSupport/vscode-R#1785 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
REditorSupport/vscode-R#1851 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
REditorSupport/vscode-R#1850 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
REditorSupport/vscode-R#1841 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de REditorSupport/vscode-R
Issues similaires
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulté 1/5 Moins d'une heure Accessibilité débutants 75/100
lingdojo/kana-dojo#32018 · 1 commentaire · 5 réactions ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
paperclipai/paperclip#15751 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
BuilderIO/agent-native#7275 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 1 jour