Make sess dependencies optional with an arf-backed transport
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 12/100
- Issue 类型
- 重构
- 描述清晰度
- 需要澄清
- 活跃度
- 活跃
- 技术栈
- r, rust, typescript
调研方向
This is an architecture proposal with no comments and no agreed scope, so it is not a starting point for a first contribution. Before any code, read the linked eitsupi/arf#112, #1739, #1829 and #1856 to see which transport boundaries are already decided. Done would be a maintainer-agreed design that separates the sess transport layer from its runtime functionality, with the dependency list for the arf-backed path settled.
由索引模型根据 Issue 内容生成。
描述
Motivation
vscode-R relies on the bundled sess package for session integration, including workspace inspection, viewers, and editor communication.
Although sess is now a pure R package, it still requires third-party dependencies such as processx, later, jsonlite, and rstudioapi.
These complicate installation, particularly in isolated environments managed by renv, pixi, etc.
PR #1856 improves installation isolation but does not eliminate these dependencies.
Meanwhile, arf already provides an IPC server implemented in Rust, potentially making much of sess's R-based communication infrastructure unnecessary.
Goal
Enable vscode-R session integration through arf without requiring third-party R packages.
This does not necessarily mean eliminating sess itself. Its pure-R runtime functionality could remain available while delegating communication to arf.
Ordinary R consoles and other frontends should continue using the existing sess transport.
Proposed direction
- Separate transport from runtime functionality. Reuse sess's existing workspace, viewer, and runtime integration logic across different transports.
- Use arf's IPC server. Extend its generic capabilities where necessary, particularly for structured R queries and event notifications, without introducing vscode-R-specific APIs.
- Make dependencies optional. Remove
processx,later, andjsonliterequirements from the arf-backed path, and makerstudioapiintegration optional. Existing uses outside the transport layer will also need attention. - Integrate incrementally. Start with ordinary arf terminals and subsequently consider R Interactive, reusing existing abstractions where appropriate.
Scope
This is a long-term architectural direction, not a proposal to replace sess entirely or remove support for other R frontends.
The goal is to reduce installation requirements without duplicating session functionality or compromising compatibility.
Related
- eitsupi/arf#112: Generic IPC server and earlier integration discussions
- #1739: Runtime and transport lifecycle separation
- #1829: Keeping sess a pure R package
- #1856: Managed sess installation
- 主要语言
- TypeScript
- 星标
- 1.2k
- 派生
- 147
- 平均合并
- 1 天 10 小时
- 30 天内合并 PR
- 65
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
REditorSupport/vscode-R 的其他 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 68/100
REditorSupport/vscode-R#1846 · 2 条评论 ·
维护者通常 1 天内回复
-
(feat) Additional Arrow support可能已有人在做 @Fred-Wu 于 11 天前认领。 未关闭enhancement
难度 2/5 1-3 小时 新手友好度 72/100
REditorSupport/vscode-R#1785 · 2 条评论 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 25/100
REditorSupport/vscode-R#1851 ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 48/100
REditorSupport/vscode-R#1850 · 4 条评论 ·
维护者通常 1 天内回复
-
Avoid installing sess into the user library when starting an R terminal可能已有人在做 @eitsupi 于 1 天前认领。 未关闭
难度 5/5 一周以上 新手友好度 35/100
REditorSupport/vscode-R#1841 · 1 个 reaction ·
维护者通常 1 天内回复
查看 REditorSupport/vscode-R 的全部 Issue
相似的 Issue
-
submodule-pointer-regression
难度 1/5 1 小时以内 新手友好度 72/100
smith-horn/skillsmith#3061 ·
维护者通常 1 天内回复
-
area: ops type: test
难度 2/5 1-3 小时 新手友好度 79/100
accensa/x402-facilitator-stellar#559 ·
维护者通常 1 天内回复
-
documentation
难度 2/5 1-3 小时 新手友好度 74/100
cosimochellini/one-piece-zero-spoiler#551 ·
维护者通常 1 天内回复
-
getWatched() omits __proto__ directories when cwd is set可能已有人在做 @maxazure 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 79/100
-
area:web enhancement
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复