Repository navigation
sess package progress #1712
Description
Activity
It is a bit odd that
Connection info not available. How did you launch the R program?@TinasheMTapera what does your
rproject.tomllook like? I havesessworking in an rv-enabled projected with the following entry:dependencies = [ <...> { name = "sess", git = "https://github.com/REditorSupport/vscode-R", branch = "master", directory = "sess" }, <...> ]
P.S. Seconding the larger question raised by this issue, though. Any timeline for when
sessmight get submitted to CRAN @randy3k?@grantmcdermott I recently started doing the same as you in Singularity/Docker.
I first predict the system dependencies using
pak::pkg_sys_reqs(c(MY LIST OF USUAL SUSPECTS)), which tells me to install stuff like curl and LibXML and ICU in the docker container.I then use Spack to install any low level C stuff like PROJ and GEOS if I'm doing geospatial data, or low level dependencies for string libraries and such.
Lastly, I put all my packages in rv and I compile all of my packages per project; sess is the only one I get from github source.
Now, setting it up works like a charm. But sess is not totally stable yet for me. It does the job, but there are still some hiccups. So I've resigned to using it in its incomplete state while the devs continue to work on it.
Sitrep off the top of my head using the above workflow:
- clicking R button attaches current terminal
tar_visnetwork()works (network visualization, I think it usesDiagrammeR?)plot()works but takes agesView()doesn't work, error pop up- clicking away from terminal detaches, but clicking button reattaches the terminal to the same state
- syntax highlighting works
?function()works

plot()works but takes ages
Is this just for the first plot, or for subsequent plots too?
Also, could you try installing jgd and check plotting performance then? (It should be invoked as the plotting backend automatically provided you are using the 3.0.0-rc version of the extension.)
IIUC, CRAN is not a repository intended for storing developer tools, so submitting to CRAN and recommending installation from CRAN is risky.
R-universe, where you can control your own release timing, is a far more suitable option.
Investigated with Claude Code against the extension source at c02ace5.
The
[sess] Connection info not availablewarning looks independent of rv.sess::connect()can only find the pipe path in two ways:- the
SESS_PIPEenv var, which is set inrTerminal.tsonly when the extension itself creates the R terminal, and ~/.vscode-R/sessions/<Sys.getpid()>.json, whichwriteSessionFile()writes keyed on the shell process ID of a terminal namedR Interactive.
So whenever R is not the direct process of an extension-created terminal — a wrapper script,
module load,srun,ssh, tmux, or any REPL front-end that runs R as a child process — both lookups miss andconnect()bails out with that warning. That would explain "works in some projects, fails in others" if the terminal setup differs between workspaces.Workaround: run R: Connect to Session (
r.connectToSession), which copies asource(...)command carrying the explicit pipe path, and paste it into the R session. Settingr.alwaysUseActiveTerminalmakesr.activateRSessionsend it to the active terminal instead.One more thing relevant to rv users: the bundled auto-install runs
install.packages(<sess src>, repos = NULL, type = "source")into.libPaths()[1], which under rv is the project library.rv syncmakes that library match the lockfile exactly, so an auto-installedsessis removed on the next sync — which is why it has to be declared inrproject.toml. rv has no dev/optional dependency concept either (project.dev_dependenciesparses but is never read anywhere), so it can only go in the regulardependencies.
Edit: See also A2-ai/rv#336
- the
With the imminent
3.0.0release, I've just been working through the two "failing" items from your helpful sitrep @TinasheMTapera:plot()works but takes ages
I cannot reproduce, despite trying with different plot backends (
standard,jgd, andhttpgd) on both Mac and Linux (the two OSs that I have access to). Plotting is instantaneous for me.View()doesn't work, error pop up
Again, I cannot reproduce. There have some some additional improvements to the viewer since your initial testing (e.g., #1703), so these may have fixed it.
RE:
sessandrvcompatibility. Disregarding the potential upstream tweak highlighted by @eitsupi (A2-ai/rv#336), another point worth mentioning is thatsessis now installable fromr-universe: https://reditorsupport.r-universe.dev/sess Alongside the git commit approach (above), I believe that this now gives two installation paths forsessinrvpowered projects. For the record, I still favour releasing stablesessversions to CRAN. But I think this issue can now be closed.Please reopen if you feel that I've missed something.
Reacted by Tinashe Michael TaperaThe r-universe feature will almost certainly solve my problems, thank you so much for your hard work!
Reacted by Grant McDermottleanhdung1994 commented
on Sep 28, 2026 on Sep 28, 2026 · Hidden as off-topicshow commentMore actionsRelated to #1856
Describe the bug
Early adopter of
sesshere just adding to the data in case its useful! I have one or two projects for which sess installed from the VSCode popup prompt, and it worked perfectly, and others for which it didn't. Today, I tried to deliberately add sess usingrvadd (I uservfor project package management):To Reproduce
Steps to reproduce the behavior:
rv add sess --git https://github.com/REditorSupport/vscode-R --directory sess --commit 20f32fe142145152c4cfa6a65f9a89 4f77adde9eCan you fix this issue by yourself? (We appreciate the help)
Yes / No
(If yes,) can we assist you with anything?
(If applicable) Please attach
setting.json{ "r.plot.useHttpgd": true, "r.rterm.linux": "${workspaceFolder}/.vscode/arf", "r.workspaceViewer.showObjectSize": true, "terminal.integrated.defaultProfile.linux": "bash", "terminal.integrated.profiles.linux": { "bash": { "path": "/bin/bash" } }, "livePreview.defaultPreviewPath": "/docs/index.html", "r.bracketedPaste": true, "r.sessionWatcher": true, "r.alwaysUseActiveTerminal": true, "r.rpath.linux": "/n/holylabs/cgolden_lab/Lab/frontier/works/prospectors/prospectorKiribatiBioMarkers/.spack-env/view/bin/R", "python.terminal.activateEnvInCurrentTerminal": true, "r.libPaths": [ "/n/holylabs/cgolden_lab/Lab/frontier/works/prospectors/prospectorKiribatiBioMarkers/rv/library/4.5/x86_64/redhat8", "/n/home03/ttapera/software/spack/opt/spack/linux-icelake/r-4.5.1-7hho5emqpuvlwt7hhy7i5fval54zz7mx/rlib/R/library" ] } # ./.vscode/arf #!/usr/bin/env bash set -euo pipefail PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" SPACK_VIEW="$PROJECT_ROOT/.spack-env/view" export PATH="$SPACK_VIEW/bin:$PATH" export LD_LIBRARY_PATH="$SPACK_VIEW/lib:$SPACK_VIEW/lib64:${LD_LIBRARY_PATH:-}" export PKG_CONFIG_PATH="$SPACK_VIEW/lib/pkgconfig:$SPACK_VIEW/lib64/pkgconfig:${PKG_CONFIG_PATH:-}" exec ~/.cargo/bin/arf "$@"Expected behavior
sess connected or sess::connect() to be successful
Screenshots
If applicable, add screenshots to help explain your problem.
You can show the keyboard contents by pressing
F1andDeveloper: toggle screencast modeEnvironment (please complete the following information):
Additional context
Good luck! I'm quite optimistic that the sess package is the solution we've all been waiting for