Repository navigation
refactor(sess!): remove legacy APIs and unused helpers - #1847
Merged
eitsupi merged 3 commits intoOct 7, 2026
Merged
Conversation
BREAKING CHANGE: connect no longer accepts use_httpgd or use_jgd, and register_hooks is no longer exported. Use plot_backend and connect to configure the session runtime.
eitsupi
force-pushed
the
refactor/sess-remove-legacy-api
branch
from
October 7, 2026 15:28
1d3d61c to
a92f616
Compare
eitsupi
marked this pull request as ready for review
October 7, 2026 15:32
eitsupi
marked this pull request as draft
October 7, 2026 15:37
eitsupi
marked this pull request as ready for review
October 7, 2026 15:39
renkun-ken
approved these changes
Oct 7, 2026
renkun-ken
left a comment
Member
There was a problem hiding this comment.
Reviewed at 3d52af855f975703b8cb70b05e4b139e714f9989. I found no actionable correctness or regression issues.
The removed helpers have no remaining callers in the repository. The extension startup/attach paths and discovery reconnect options already use plot_backend, and connect() still resolves it before changing transport or runtime state. The export checks, installer fixtures, and documentation are consistent with the intended breaking API change.
Validation on macOS with R 4.6.1:
- Installed the prepared PR snapshot into an isolated R library; all 1,169
sesstinytest checks passed, including native plotting, IPC, reconnect, and startup cleanup. - All six source/bootstrap/VSIX identity tests and the base-R source identity/installer tests passed.
- Verified the installed snapshot through
sess_verify_package()in both ordinary and Interactive modes. - All five GitHub CI checks passed, including the Linux, macOS, and Windows test jobs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Close #1845
The development build already requires sess IPC protocol 2 and is incompatible with past releases. Use this compatibility break to remove the old R API compatibility layer and helpers whose roles have ended.
use_httpgd,use_jgd, and their compatibility helpers:use_httpgdwas introduced in Next major release 3.0.0-rc.0 #1684, anduse_jgdin feat(plot): addjgdgraphics device integration #1706. feat: add native plot backend for R graphics devices #1817 replaced them withplot_backend, retaining the old arguments through.warn_deprecated_plot_args()and.legacy_plot_backend(). Extension callers already useplot_backend; removing the old arguments now also removes the need for these helpers.register_hooks(): Introduced in Next major release 3.0.0-rc.0 #1684 for standalone hook registration and re-registration. It now delegates toruntime_start(), whichconnect()already calls directly, and has no extension callers. Re-registering also resets runtime-owned devices and viewer state without updating reconnect options, so this wrapper no longer provides a coherent independent configuration API. Keep the internal runtime lifecycle and useconnect()as the public integration entry point.rebind(): Introduced in Next major release 3.0.0-rc.0 #1684. fix(sess): separate runtime and transport lifecycles #1739 migrated all callers to.runtime_rebind(), which records bindings for restoration when the runtime stops. Only the unused old definition remained.json_rpc_response()andjson_rpc_error(): Included in #1684, but the upstreamsessbranch history shows they served the earlier HTTP/rpcimplementation. The WebSocket conversion removed their callers before sess reached main. Delete these unused HTTP response builders; the active"json_rpc_error"condition class remains.Update documentation, installer export checks, and test fixtures to match. Backend selection, fallback, and reconnect behavior remain unchanged, and the IPC protocol stays at version 2.
Breaking API change:
connect()no longer acceptsuse_httpgdoruse_jgd, andregister_hooks()is no longer exported. Useplot_backendandconnect()instead.