Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Clean up retained Data/List Viewer state for obsolete Interactive outputs

Đang mở
#1,838 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
38/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
r, typescript
Lĩnh vực
devtools

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
TypeScript
Star
1.2k
Fork
147
Merge trung bình
1 ngày 10 giờ
Pull request đã merge (30 ngày)
65

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của REditorSupport/vscode-R

Tất cả issue của REditorSupport/vscode-R

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.