Skip to content

Improvments based on official vscode-R's PR #1708 and #1717#11

Merged
Fred-Wu merged 3 commits into
masterfrom
fixes/lifecycle-dataloading
Jul 6, 2026
Merged

Improvments based on official vscode-R's PR #1708 and #1717#11
Fred-Wu merged 3 commits into
masterfrom
fixes/lifecycle-dataloading

Conversation

@Fred-Wu

@Fred-Wu Fred-Wu commented Jul 6, 2026

Copy link
Copy Markdown
Owner

No description provided.

Fred-Wu added 3 commits July 6, 2026 14:58
- delay idle LSP shutdown by 30 seconds
- prevent duplicate starts and serialize stop/restart
- reuse workspace servers for Quarto R chunks
- restore scheme selectors and clean up clients/listeners
…ession architecture

- upgrade AG Grid Community to v35.2.1 and adopt v35 APIs
- improve typed sorting, filtering, bigint and logical NA handling
- support native Arrow and Polars data frames
- remove the data.table dependency
- add fetch status and scrollbar row-position feedback
@Fred-Wu Fred-Wu merged commit 821018d into master Jul 6, 2026
14 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 05dc7842d8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread R/session/vsc.R
Comment on lines 783 to 787
body = jsonlite::toJSON(
response,
auto_unbox = TRUE,
force = TRUE,
na = if (identical(request$type, "dataview_fetch_rows")) {
"string"
} else {
"null"
}
force = TRUE
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve NA rendering in fetched data-view rows

For dataview_fetch_rows, this now relies on jsonlite::toJSON() defaults, which encode/omit missing data-frame fields instead of sending the literal "NA" that the data viewer previously used. Because the webview passes m.rows straight to AG Grid, missing values in character/logical/date columns show up as blank/undefined again, regressing the existing behavior that distinguished R NA from empty cells; keep an explicit row-value encoding or render null/undefined as NA client-side.

Useful? React with 👍 / 👎.

Comment thread src/languageService.ts
Comment on lines +245 to +249
const sourceFolder = workspace.getWorkspaceFolder(document.uri);
const matchesWorkspace = (candidate: TextDocument): boolean =>
this.isQuartoDocument(candidate) &&
(!sourceFolder ||
workspace.getWorkspaceFolder(candidate.uri)?.uri.toString(true) === sourceFolder.uri.toString(true));

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restrict Quarto virtual docs to the correct workspace

When this is called for Quarto .vdoc.*.r files, those files are usually in an R temp directory, so workspace.getWorkspaceFolder(document.uri) is undefined and the predicate accepts any open Quarto document. In a multi-root or multi-Quarto session, a chunk virtual document can therefore be associated with whichever .qmd is active/visible rather than its real parent, routing LSP notifications to the wrong language server.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant