Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Make sess dependencies optional with an arf-backed transport

Abierto
#1,859 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
12/100
Tipo de issue
Refactorización
Claridad
Necesita aclaración
Estado de actividad
Activo
Stack tecnológico
r, rust, typescript

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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, and jsonlite requirements from the arf-backed path, and make rstudioapi integration 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
Lenguaje dominante
TypeScript
Estrellas
1.2k
Forks
147
Merge medio
1 d 8 h
PR fusionados (30 d)
74

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de REditorSupport/vscode-R

Todos los issues de REditorSupport/vscode-R

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.