RStudio is an integrated development environment (IDE) for R
This report presents the forensic synthetic code analysis of rstudio/rstudio, a Java project with 5,047 GitHub stars. SynthScan v2.0 examined 1,104,097 lines of code across 5341 source files, recording 1909 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 4.1 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1909 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …/i18n-helpers/commands.cmd.xml/sample_commands.cmd.xml | 83 | <shortcut refid="blockOutdent" value="Meta+[" if="org.rstudio.core.client.BrowseCap.isMacintosh()" disableMo | CODE |
| CRITICAL | …/i18n-helpers/commands.cmd.xml/sample_commands.cmd.xml | 84 | <shortcut refid="blockIndent" value="Meta+]" if="org.rstudio.core.client.BrowseCap.isMacintosh()" disableMod | CODE |
| CRITICAL | …o/client/packrat/ui/PackratActionDialogContents.ui.xml | 8 | @eval proportionalFont org.rstudio.core.client.theme.ThemeFonts.getProportionalFont(); | CODE |
| CRITICAL | …io/client/packrat/ui/PackratResolveConflictDialog.java | 221 | private static final PackratConstants constants_ = com.google.gwt.core.client.GWT.create(PackratConstants.class); | CODE |
| CRITICAL | …tudio/client/rsconnect/ui/RSConnectCloudAccount.ui.xml | 8 | @eval fixedFont org.rstudio.core.client.theme.ThemeFonts.getFixedWidthFont(); | CODE |
| CRITICAL | …client/panmirror/dialogs/PanmirrorEditRawDialog.ui.xml | 12 | @eval fixedWidthFont org.rstudio.core.client.theme.ThemeFonts.getFixedWidthFont(); | CODE |
| CRITICAL | …/projects/ui/prefs/ProjectSpellingPreferencesPane.java | 92 | private static final StudioClientProjectConstants constants_ = com.google.gwt.core.client.GWT.create(StudioClientProj | CODE |
| CRITICAL⚡ | …/client/projects/ui/prefs/ProjectPreferencesDialog.css | 6 | @eval PROJECT_PANEL_CONTAINER_WIDTH org.rstudio.studio.client.workbench.prefs.views.PreferencesDialogConstants.projectPa | CODE |
| CRITICAL⚡ | …/client/projects/ui/prefs/ProjectPreferencesDialog.css | 7 | @eval PROJECT_PANEL_CONTAINER_HEIGHT org.rstudio.studio.client.workbench.prefs.views.PreferencesDialogConstants.projectP | CODE |
| CRITICAL⚡ | …/client/projects/ui/prefs/ProjectPreferencesDialog.css | 8 | @eval PROJECT_PANEL_CONTAINER_WIDTH_NO_CHOOSER org.rstudio.studio.client.workbench.prefs.views.PreferencesDialogConstant | CODE |
| CRITICAL | …ects/ui/prefs/ProjectSourceControlPreferencesPane.java | 316 | private static final StudioClientProjectConstants constants_ = com.google.gwt.core.client.GWT.create(StudioClientProj | CODE |
| CRITICAL | …t/projects/ui/prefs/ProjectPackratPreferencesPane.java | 336 | private static final StudioClientProjectConstants constants_ = com.google.gwt.core.client.GWT.create(StudioClientProj | CODE |
| CRITICAL | …t/projects/ui/prefs/ProjectSharingPreferencesPane.java | 49 | private static final StudioClientProjectConstants constants_ = com.google.gwt.core.client.GWT.create(StudioClientProj | CODE |
| CRITICAL | …projects/ui/prefs/ProjectRMarkdownPreferencesPane.java | 209 | private static final StudioClientProjectConstants constants_ = com.google.gwt.core.client.GWT.create(StudioClientProj | CODE |
| CRITICAL | …ient/projects/ui/prefs/ProjectRenvPreferencesPane.java | 143 | private static final StudioClientProjectConstants constants_ = com.google.gwt.core.client.GWT.create(StudioClientProj | CODE |
| CRITICAL | …rojects/ui/prefs/buildtools/BuildToolsCustomPanel.java | 62 | private static final StudioClientProjectConstants constants_ = com.google.gwt.core.client.GWT.create(StudioClientProj | CODE |
| CRITICAL | …jects/ui/prefs/buildtools/BuildToolsMakefilePanel.java | 58 | private static final StudioClientProjectConstants constants_ = com.google.gwt.core.client.GWT.create(StudioClientProj | CODE |
| CRITICAL | …ient/projects/ui/prefs/buildtools/BuildToolsPanel.java | 231 | private static final StudioClientProjectConstants constants_ = com.google.gwt.core.client.GWT.create(StudioClientProj | CODE |
| CRITICAL | …ojects/ui/prefs/buildtools/BuildToolsPackagePanel.java | 221 | private static final StudioClientProjectConstants constants_ = com.google.gwt.core.client.GWT.create(StudioClientProj | CODE |
| CRITICAL | …prefs/buildtools/ProjectBuildToolsPreferencesPane.java | 205 | private static final StudioClientProjectConstants constants_ = com.google.gwt.core.client.GWT.create(StudioClientProj | CODE |
| CRITICAL | …i/prefs/buildtools/BuildToolsRoxygenOptionsDialog.java | 102 | private static final StudioClientProjectConstants constants_ = com.google.gwt.core.client.GWT.create(StudioClientProj | CODE |
| CRITICAL | …ojects/ui/prefs/buildtools/BuildToolsWebsitePanel.java | 115 | private static final StudioClientProjectConstants constants_ = com.google.gwt.core.client.GWT.create(StudioClientProj | CODE |
| CRITICAL | …dio/client/projects/ui/newproject/NewProjectWizard.css | 2 | @eval fixedWidthFont org.rstudio.core.client.theme.ThemeFonts.getFixedWidthFont(); | CODE |
| CRITICAL | …/studio/client/common/debugging/ui/ConsoleError.ui.xml | 5 | @eval proportionalFont org.rstudio.core.client.theme.ThemeFonts.getProportionalFont(); | CODE |
| CRITICAL | …tudio/studio/client/common/vcs/ShowPublicKeyDialog.css | 2 | @eval fixedWidthFont org.rstudio.core.client.theme.ThemeFonts.getFixedWidthFont(); | CODE |
| CRITICAL⚡ | …dio/client/workbench/prefs/views/PreferencesDialog.css | 8 | @eval PANEL_CONTAINER_WIDTH org.rstudio.studio.client.workbench.prefs.views.PreferencesDialogConstants.panelContainerWid | CODE |
| CRITICAL⚡ | …dio/client/workbench/prefs/views/PreferencesDialog.css | 9 | @eval PANEL_CONTAINER_HEIGHT org.rstudio.studio.client.workbench.prefs.views.PreferencesDialogConstants.panelContainerHe | CODE |
| CRITICAL⚡ | …dio/client/workbench/prefs/views/PreferencesDialog.css | 10 | @eval PANEL_CONTAINER_WIDTH_NO_CHOOSER org.rstudio.studio.client.workbench.prefs.views.PreferencesDialogConstants.panelC | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 664 | <shortcut refid="insertSection" value="Ctrl+Shift+R" if="org.rstudio.core.client.BrowseCap.isMacintosh()"/> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 669 | <shortcut refid="blockOutdent" value="Meta+[" if="org.rstudio.core.client.BrowseCap.isMacintosh()" disableModes | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 670 | <shortcut refid="blockIndent" value="Meta+]" if="org.rstudio.core.client.BrowseCap.isMacintosh()" disableModes= | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 672 | <shortcut refid="reflowComment" value="Ctrl+Shift+/" if="org.rstudio.core.client.BrowseCap.isMacintosh()"/> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 673 | <shortcut refid="reflowComment" value="Cmd+Shift+/" if="!org.rstudio.core.client.BrowseCap.isMacintosh()"/> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 676 | <shortcut refid="fold" value="Alt+L" if="!org.rstudio.core.client.BrowseCap.isMacintosh()" title="Collapse Fold | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 677 | <shortcut refid="fold" value="Cmd+Alt+L" if="org.rstudio.core.client.BrowseCap.isMacintosh()" title="Collapse F | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 678 | <shortcut refid="unfold" value="Shift+Alt+L" if="!org.rstudio.core.client.BrowseCap.isMacintosh()" title="Expan | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 679 | <shortcut refid="unfold" value="Cmd+Shift+Alt+L" if="org.rstudio.core.client.BrowseCap.isMacintosh()" title="Ex | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 680 | <shortcut refid="foldAll" value="Alt+O" if="!org.rstudio.core.client.BrowseCap.isMacintosh()" title="Collapse A | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 681 | <shortcut refid="foldAll" value="Cmd+Alt+O" if="org.rstudio.core.client.BrowseCap.isMacintosh()" title="Collaps | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 682 | <shortcut refid="unfoldAll" value="Shift+Alt+O" if="!org.rstudio.core.client.BrowseCap.isMacintosh()" title="Ex | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 683 | <shortcut refid="unfoldAll" value="Cmd+Shift+Alt+O" if="org.rstudio.core.client.BrowseCap.isMacintosh()" title= | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 684 | <shortcut value="Ctrl+K" title="Delete to Line End" if="org.rstudio.core.client.BrowseCap.isMacintosh()" /> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 686 | <shortcut refid="moveLinesUp" value="Ctrl+Meta+Up" title="Move Lines Up" if="org.rstudio.core.client.BrowseCap. | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 687 | <shortcut refid="moveLinesUp" value="Ctrl+Shift+Up" title="Move Lines Up" if="!org.rstudio.core.client.BrowseCa | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 689 | <shortcut refid="moveLinesDown" value="Ctrl+Meta+Down" title="Move Lines Down" if="org.rstudio.core.client.Brow | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 690 | <shortcut refid="moveLinesDown" value="Ctrl+Shift+Down" title="Move Lines Down" if="!org.rstudio.core.client.Br | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 691 | <shortcut value="Ctrl+D" title="Delete Line" if="!org.rstudio.core.client.BrowseCap.isMacintosh()" disableModes | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 692 | <shortcut value="Cmd+D" title="Delete Line" if="org.rstudio.core.client.BrowseCap.isMacintosh()" disableModes=" | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 693 | <shortcut refid="expandToLine" value="Meta+L" title="Expand Selection to line" if="org.rstudio.core.client.Brow | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 695 | <!-- <shortcut refid="expandToLine" value="Ctrl+L" title="Expand Selection to line" if="!org.rstudio.core.clien | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 703 | <shortcut value="Ctrl+T" title="Transpose Letters" if="org.rstudio.core.client.BrowseCap.isMacintosh()"/> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 710 | <shortcut refid="assistantAcceptNextEditSuggestion" value="Ctrl+;" if="!org.rstudio.core.client.BrowseCap.isMac | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 711 | <shortcut refid="assistantAcceptNextEditSuggestion" value="Cmd+;" if="org.rstudio.core.client.BrowseCap.isMacin | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 712 | <shortcut refid="assistantDismissNextEditSuggestion" value="Ctrl+Shift+;" if="!org.rstudio.core.client.BrowseCa | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 713 | <shortcut refid="assistantDismissNextEditSuggestion" value="Cmd+Shift+;" if="org.rstudio.core.client.BrowseCap. | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 721 | <shortcut refid="findFromSelection" value="Meta+E" if="org.rstudio.core.client.BrowseCap.isMacintosh()"/> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 722 | <shortcut refid="findFromSelection" value="Ctrl+F3" if="!org.rstudio.core.client.BrowseCap.isMacintosh()"/> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 724 | <shortcut refid="findReplace" value="Ctrl+F" if="!org.rstudio.core.client.BrowseCap.isMacintosh()" disableModes | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 725 | <shortcut refid="findNext" value="Meta+G" if="!org.rstudio.core.client.BrowseCap.isWindows()"/> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 726 | <shortcut refid="findNext" value="Ctrl+G" if="!org.rstudio.core.client.BrowseCap.isWindows()" disableModes="ema | CODE |
| 208 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CMakeLists.txt | 1 | # | COMMENT |
| LOW | docker/docker-compile.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | docker/docker-compile.sh | 21 | # will produce an RPM of RStudio Electron from the RHEL8 container, | COMMENT |
| LOW | docker/jenkins/rstudio-version.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | docker/jenkins/rstudio-version.sh | 21 | # | COMMENT |
| LOW | docker/jenkins/rstudio-version.sh | 41 | # branch since work on the release has started. In the local repository, the file | COMMENT |
| LOW | docker/jenkins/notarize-release.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | docker/jenkins/sign-release.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | docker/jenkins/sign-release.sh | 81 | # ------------------------------------------------------------------------ | COMMENT |
| LOW | .claude/hooks/block-push-to-main.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .claude/hooks/block-push-to-main.sh | 21 | # <name>=<value>', and other single-/double-dash flags -- so we can find the | COMMENT |
| LOW | .claude/hooks/block-edit-autogenerated-files.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | dependencies/tools/upload-r.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | dependencies/tools/upload-r.sh | 21 | # | COMMENT |
| LOW | dependencies/tools/upload-windows-dependencies.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | dependencies/tools/rstudio-tools.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | dependencies/tools/rstudio-tools.sh | 41 | # macOS deployment target | COMMENT |
| LOW | dependencies/tools/rstudio-tools.sh | 61 | # | COMMENT |
| LOW | dependencies/tools/rstudio-tools.sh | 81 | export WORKBENCH_GO_VERSION="1.24.5" | COMMENT |
| LOW | dependencies/tools/upload-nsis-multiuser.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | version/new-version.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | version/new-version.sh | 21 | # Creating a Release Branch for future work | COMMENT |
| LOW | scripts/report-options.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/generate-commands-accessor.R | 1 | # | COMMENT |
| LOW | scripts/generate-commands-accessor.R | 21 | contents <- readLines(path, warn = FALSE) | COMMENT |
| LOW | scripts/generate-options.R | 1 | #!/usr/bin/env Rscript | COMMENT |
| LOW | scripts/r-api-report.R | 1 | #!/usr/bin/env Rscript | COMMENT |
| LOW | scripts/bootstrap-worktree.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/bootstrap-worktree.sh | 21 | # | COMMENT |
| LOW | scripts/bootstrap-worktree.sh | 41 | # RSTUDIO_CPP_BUILD_OUTPUT yourself only to override it. Do NOT point | COMMENT |
| LOW | scripts/generate-prefs.R | 1 | #!/usr/bin/env Rscript | COMMENT |
| LOW | scripts/generate-prefs.R | 101 | # | COMMENT |
| LOW | scripts/merge-release-branch.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/merge-release-branch.sh | 21 | # - Any conflict under a release-only directory (e.g. the whats-new | COMMENT |
| LOW | .github/workflows/os-cache-seed-sentinel.yml | 1 | name: "Cache Seed: Sentinel (re-seed evicted E2E build caches)" | COMMENT |
| LOW | .github/workflows/os-test-e2e-rstudio-certification.yml | 1 | name: "Test: E2E Playwright RStudio (Certification, Open Source)" | COMMENT |
| LOW | .github/workflows/os-test-e2e-rstudio-certification.yml | 81 | # other caller does. | COMMENT |
| LOW | .github/workflows/os-test-e2e-rstudio-certification.yml | 181 | COMMENT | |
| LOW | .github/workflows/os-test-e2e-rstudio-certification.yml | 301 | echo "::warning::r_overrides names cell(s) whose R comes from the distro's own repos, so the requested versi | COMMENT |
| LOW | .github/workflows/os-test-e2e-rstudio-certification.yml | 601 | # reported against every other cell in the matrix. | COMMENT |
| LOW | .github/workflows/os-test-e2e-rstudio-certification.yml | 641 | # The five non-Linux engines each return the R they actually used as a | COMMENT |
| LOW | .github/workflows/os-test-e2e-rstudio-certification.yml | 661 | RESULT_UBUNTU24S: ${{ needs.ubuntu24s.result }} | COMMENT |
| LOW | .github/workflows/os-test-e2e-rstudio-certification.yml | 741 | ROWS=$((ROWS + 1)) | COMMENT |
| LOW | …os-test-e2e-rstudio-desktop-os-windows-server-2025.yml | 161 | RSTUDIO_TOOLS_ROOT: ${{ github.workspace }}\rstudio-tools | COMMENT |
| LOW | …os-test-e2e-rstudio-desktop-os-windows-server-2025.yml | 261 | # which also contain tracked files (the install scripts themselves). | COMMENT |
| LOW | …os-test-e2e-rstudio-desktop-os-windows-server-2025.yml | 421 | - name: Setup sccache | COMMENT |
| LOW | …os-test-e2e-rstudio-desktop-os-windows-server-2025.yml | 721 | inputs.build_only != true && | COMMENT |
| LOW | …lows/os-test-e2e-rstudio-desktop-os-macos-26-arm64.yml | 341 | COMMENT | |
| LOW | …lows/os-test-e2e-rstudio-desktop-os-macos-26-arm64.yml | 561 | # the project name in reports (so a cross-platform merged report can | COMMENT |
| LOW | .github/workflows/os-cache-seed-e2e-macos-15-x86_64.yml | 1 | name: "Cache: Seed macOS 15 x86_64 build caches" | COMMENT |
| LOW | …lows/os-test-e2e-rstudio-desktop-os-macos-14-arm64.yml | 141 | # the e2e job below, then uploads RStudio.app as an artifact for the e2e job | COMMENT |
| LOW | …lows/os-test-e2e-rstudio-desktop-os-macos-14-arm64.yml | 161 | # this engine, and its entry in the scheduled rotation, by that date. | COMMENT |
| LOW | …lows/os-test-e2e-rstudio-desktop-os-macos-14-arm64.yml | 221 | # (BUILD_DIR_X86_64/ARM64 in package/osx/make-package). Getting this path | COMMENT |
| LOW | …lows/os-test-e2e-rstudio-desktop-os-macos-14-arm64.yml | 241 | # install-dependencies-osx (the entry-point script) builds both arm64 and | COMMENT |
| LOW | …lows/os-test-e2e-rstudio-desktop-os-macos-14-arm64.yml | 401 | timeout-minutes: 120 | COMMENT |
| LOW | …lows/os-test-e2e-rstudio-desktop-os-macos-14-arm64.yml | 541 | uses: ./.github/actions/os-e2e-deps | COMMENT |
| LOW | .github/workflows/os-test-e2e-rstudio-scheduled.yml | 1 | name: "Test: E2E Playwright RStudio (Scheduled Rotation and Run-All, Open Source)" | COMMENT |
| LOW | .github/workflows/os-test-e2e-rstudio-scheduled.yml | 21 | # - Manual dispatch: every engine at once (all 21, every platform and | COMMENT |
| LOW | .github/workflows/os-test-e2e-rstudio-scheduled.yml | 61 | default: "" | COMMENT |
| LOW | .github/workflows/os-test-e2e-rstudio-scheduled.yml | 81 | # which a single shared group used to make impossible. | COMMENT |
| 1213 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/jenkins/publish-build.sh | 134 | # if channel is undefined, we'll just use version/BUILDTYPE. If it is provided, | COMMENT |
| MEDIUM | …os-test-e2e-rstudio-desktop-os-windows-server-2025.yml | 750 | # os-e2e-deps installs the harness's required packages here and exports | COMMENT |
| MEDIUM | …os-test-e2e-rstudio-desktop-os-windows-server-2025.yml | 904 | # install-required-packages pre-installs the harness's REQUIRED_PACKAGES | COMMENT |
| MEDIUM | …lows/os-test-e2e-rstudio-desktop-os-macos-26-arm64.yml | 370 | # os-e2e-deps installs the harness's required packages here and exports | COMMENT |
| MEDIUM | …lows/os-test-e2e-rstudio-desktop-os-macos-26-arm64.yml | 380 | # e2e-deps action installs and caches. Without this the harness default | COMMENT |
| MEDIUM | …lows/os-test-e2e-rstudio-desktop-os-macos-26-arm64.yml | 517 | # Pre-install the harness's REQUIRED_PACKAGES set into the cached | COMMENT |
| MEDIUM | …lows/os-test-e2e-rstudio-desktop-os-macos-14-arm64.yml | 404 | # os-e2e-deps installs the harness's required packages here and exports | COMMENT |
| MEDIUM | …lows/os-test-e2e-rstudio-desktop-os-macos-14-arm64.yml | 414 | # e2e-deps action installs and caches. Without this the harness default | COMMENT |
| MEDIUM | …lows/os-test-e2e-rstudio-desktop-os-macos-14-arm64.yml | 555 | # Pre-install the harness's REQUIRED_PACKAGES set into the cached | COMMENT |
| MEDIUM | …/workflows/os-test-e2e-rstudio-server-os-ubuntu-24.yml | 381 | # os-e2e-deps installs the harness's required packages here (and exports | COMMENT |
| MEDIUM | …/workflows/os-test-e2e-rstudio-server-os-ubuntu-24.yml | 599 | # rserver-dev the Playwright harness spawns itself. | COMMENT |
| MEDIUM | …/workflows/os-test-e2e-rstudio-server-os-ubuntu-24.yml | 617 | # tokens) the same way the harness does (fixtures/r-libs-setup.ts), | COMMENT |
| MEDIUM | .github/workflows/os-test-e2e-rstudio-desktop-linux.yml | 858 | # install-required-packages pre-installs the harness's full | COMMENT |
| MEDIUM | .github/workflows/os-test-e2e-rstudio-desktop-linux.yml | 863 | # engine sets it: the harness-default library | COMMENT |
| MEDIUM | .github/workflows/os-test-e2e-rstudio-desktop-linux.yml | 975 | # keeps the harness default. | COMMENT |
| MEDIUM | …ows/os-test-e2e-rstudio-desktop-os-macos-15-x86_64.yml | 381 | # os-e2e-deps installs the harness's required packages here and exports | COMMENT |
| MEDIUM | …ows/os-test-e2e-rstudio-desktop-os-macos-15-x86_64.yml | 391 | # e2e-deps action installs and caches. Without this the harness default | COMMENT |
| MEDIUM | …ows/os-test-e2e-rstudio-desktop-os-macos-15-x86_64.yml | 529 | # Pre-install the harness's REQUIRED_PACKAGES set into the cached | COMMENT |
| MEDIUM | …ktop-os-autocomplete-scheduled-windows-server-2025.yml | 87 | # os-e2e-deps installs the harness's required packages here and exports | COMMENT |
| MEDIUM | …ktop-os-autocomplete-scheduled-windows-server-2025.yml | 92 | # workflow). Without this the harness default is | COMMENT |
| MEDIUM | …ktop-os-autocomplete-scheduled-windows-server-2025.yml | 194 | # pre-installs the harness's REQUIRED_PACKAGES set into the cached | COMMENT |
| MEDIUM | .github/e2e-linux/debian-13/post-r-setup.sh | 5 | # os-e2e-deps and the in-test Playwright harness (fixtures/r-libs-setup.ts) | COMMENT |
| MEDIUM | .github/e2e-linux/rocky-10/e2e-setup.sh | 34 | # The Playwright harness's R provisioner (fixtures/r-libs-setup.ts) only | COMMENT |
| MEDIUM | .github/e2e-linux/rocky-9/e2e-setup.sh | 36 | # rhel9 repo, which DOES serve x86_64 binaries, so the harness's R packages | COMMENT |
| MEDIUM | .github/actions/os-e2e-deps/action.yml | 93 | # Point the harness's R-libs provisioner (fixtures/r-libs-setup.ts, | COMMENT |
| MEDIUM⚡ | .github/actions/os-e2e-deps/action.yml | 418 | # When requested, also install the harness's REQUIRED_PACKAGES set now | COMMENT |
| MEDIUM⚡ | .github/actions/os-e2e-deps/action.yml | 424 | # scoped to R_LIBS_USER (the cached tree), mirroring the harness's own | COMMENT |
| MEDIUM⚡ | .github/actions/os-e2e-deps/action.yml | 428 | # Unlike the harness (which warns and lets tests self-heal), a failure | COMMENT |
| MEDIUM | e2e/rstudio/tests/panes/layout/panes.test.ts | 188 | // width drops -- rather than a fixed count -- keeps the precondition robust if | COMMENT |
| MEDIUM | e2e/rstudio/tests/panes/editor/rmarkdown_chunks.test.ts | 442 | // the sentinel keeps this robust whether or not an empty output frame | COMMENT |
| MEDIUM | e2e/rstudio/tests/panes/git/vcs_flood.test.ts | 9 | // since wall-clock bounds are not robust on shared CI runners. | COMMENT |
| MEDIUM | src/gwt/acesupport/acemode/cpp_code_model.js | 983 | // effectively leverage the indentation rules within macro settings. | COMMENT |
| LOW | src/gwt/www/js/workers/worker-css.js | 1 | "no use strict";!function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)retu | CODE |
| MEDIUM | …bench/views/source/editors/text/TextEditingTarget.java | 3552 | // editing session would require some nuanced orchestration so for now | COMMENT |
| MEDIUM | …ient/application/ui/impl/DesktopApplicationHeader.java | 518 | // update, which happens to be an ignored version. Essentially, it's not | COMMENT |
| MEDIUM | …wt/src/org/rstudio/core/client/command/AppCommand.java | 118 | // Note that we can't use the more robust isCurrentWindowSatellite() | COMMENT |
| MEDIUM | src/cpp/core/include/core/http/AsyncServerImpl.hpp | 966 | // should always succeed but include error check to be paranoid/robust | COMMENT |
| MEDIUM | src/cpp/core/system/PosixSystem.cpp | 1211 | // via a search of the PATH. To make this fallback fully robust we would | COMMENT |
| MEDIUM | src/cpp/tests/testthat/test-packages.R | 123 | # manually (the headless test harness has no scheduled-command pump). Note | COMMENT |
| LOW | src/cpp/r/R/GlobalCallingHandlers.R | 167 | # R seems to just use the first line of the deparsed call? | COMMENT |
| LOW | src/cpp/r/R/Api.R | 69 | # ... and it's an .Rproj file, then just return that (don't | COMMENT |
| LOW | src/cpp/r/R/Api.R | 101 | # if we already have a .Rproj file, just return that | COMMENT |
| MEDIUM | src/cpp/r/session/RSession.cpp | 482 | // way to make this more robust. | COMMENT |
| MEDIUM | src/cpp/shared_core/FilePathTests.cpp | 254 | // NOTE: need to be robust against mixed separators as these can | COMMENT |
| MEDIUM | src/cpp/session/SessionSourceDatabase.cpp | 521 | // persistence format we need to make sure this code is robust | COMMENT |
| LOW | src/cpp/session/modules/SessionHelp.R | 156 | # to just use 'regexpr' but its output is funky with older versions | COMMENT |
| LOW | src/cpp/session/modules/SessionHelp.R | 538 | # if we still couldn't find any data, just use the help document | COMMENT |
| LOW | src/cpp/session/modules/SessionRCompletions.R | 887 | # and just return the names of parameters | COMMENT |
| LOW | src/cpp/session/modules/SessionRCompletions.R | 1019 | # want search path completions or otherwise -- just return | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionRmdNotebook.R | 238 | # widget emitted on print in addition to aforementioned | COMMENT |
| LOW | src/cpp/session/modules/SessionRmdNotebook.R | 255 | # no .json file; just return HTML as-is | COMMENT |
| LOW | src/cpp/session/modules/SessionPackages.R | 1522 | # If we couldn't infer any more details, just use the type. | COMMENT |
| LOW | src/cpp/session/modules/SessionPackages.R | 2070 | # if all-else fails, just use the current time. this effectively means | COMMENT |
| LOW | src/cpp/session/modules/SessionCodeTools.R | 2852 | # if this is already an environment, just return it | COMMENT |
| MEDIUM | src/cpp/session/modules/NotebookHtmlWidgets.R | 152 | # TODO: could this be made more robust? are we setting these values, | COMMENT |
| LOW | src/cpp/session/modules/NotebookHtmlWidgets.R | 210 | # at this point, then just set some sane defaults | COMMENT |
| LOW | src/cpp/session/modules/SessionEnvironment.R | 460 | # then just use a shorter representation of the call | COMMENT |
| LOW | src/cpp/session/modules/SessionEnvironment.R | 491 | # just use a placeholder instead | COMMENT |
| LOW | src/cpp/session/modules/SessionPackrat.R | 67 | # if we weren't able to get a data frame from packrat::status, just return | COMMENT |
| LOW | src/cpp/session/modules/SessionPackrat.R | 143 | # only Packrat packages, just return the merged list | COMMENT |
| 6 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tasks/rserver-dev.ts | 160 | function requireCodeServerPortPlumbing(checkout: string, port: number): void { | CODE |
| LOW | tasks/common.ts | 143 | function rebuildFromDirectoryListings(tag: string, dir: string): string { | CODE |
| LOW | e2e/rstudio/tests/panes/layout/panes.test.ts | 746 | async function clickConsoleRestoreButton(page: Page): Promise<void> { | CODE |
| LOW | …ests/panes/data-viewer/help_popup_data_preview.test.ts | 39 | async function setAlwaysShowCompletionPopup(page: Page, force: boolean): Promise<void> { | CODE |
| LOW | …e/rstudio/tests/panes/debugger/debugger_extras.test.ts | 74 | async function waitForOutputThroughNestedDebug( | CODE |
| LOW | …es/posit-assistant-chat/deprecate-pai-blocking.test.ts | 106 | async function triggerRecheckAndExpectState( | CODE |
| LOW | …/panes/posit-assistant-chat/uninstall-posit-ai.test.ts | 48 | async function invokeUninstallViaPalette(page: Page): Promise<void> { | CODE |
| LOW | e2e/rstudio/tests/panes/editor/rmarkdown_chunks.test.ts | 35 | async function runChunkByLabelAndWaitForConsoleSignal( | CODE |
| LOW | e2e/rstudio/tests/panes/editor/rmarkdown_chunks.test.ts | 60 | async function runChunkByLabelAndWaitForIdle( | CODE |
| LOW | e2e/rstudio/tests/panes/editor/air_formatting.test.ts | 394 | function expectAirDefaultFormatted(content: string): void { | CODE |
| LOW | e2e/rstudio/utils/project.ts | 61 | export async function restartSessionWithSentinel(page: Page): Promise<void> { | CODE |
| LOW | e2e/rstudio/utils/windows-shortcuts.ts | 38 | export function uniqueWindowsShortcutFixture(prefix: string): WindowsShortcutFixture { | CODE |
| LOW | e2e/rstudio/utils/windows-shortcuts.ts | 57 | export async function createWindowsShortcutFixture( | CODE |
| LOW | e2e/rstudio/utils/windows-shortcuts.ts | 84 | export async function removeWindowsShortcutFixture( | CODE |
| LOW | e2e/rstudio/utils/commands.ts | 766 | export async function setChatUpdateCheckOverride( | CODE |
| LOW | e2e/rstudio/utils/ai-credentials.ts | 45 | async function sandboxStoreHasCredentials(provider: AIProvider): Promise<boolean> { | CODE |
| LOW | e2e/rstudio/utils/connections.ts | 114 | function winInstalledDriverLibrary(target: DbTarget): string | null { | CODE |
| LOW | e2e/rstudio/utils/connections.ts | 194 | export function unregisterWindowsOdbcDrivers(sandbox: string): void { | CODE |
| LOW | e2e/rstudio/utils/connections.ts | 280 | function makeOdbcSandboxWorldReadable(sandbox: string, odbcDir: string): void { | CODE |
| LOW | e2e/rstudio/utils/connections.ts | 292 | function chmodWorldReadableRecursive(dir: string): void { | CODE |
| LOW | e2e/rstudio/utils/connections.ts | 359 | async function resolveDriverLibraryRemote(page: Page, target: DbTarget): Promise<string | null> { | CODE |
| LOW | e2e/rstudio/utils/connections.ts | 456 | export async function provisionRemoteOdbcSandbox( | CODE |
| LOW | e2e/rstudio/utils/connections.ts | 553 | function appendWindowsManifestEntry(odbcDir: string, name: string): void { | CODE |
| LOW | e2e/rstudio/utils/connections.ts | 593 | function prepareOdbcSandboxWindows(sandbox: string): OdbcSandbox { | CODE |
| LOW | e2e/rstudio/utils/connections.ts | 683 | export async function drainKnownExplorerException(page: Page): Promise<string[]> { | CODE |
| LOW | e2e/rstudio/utils/files.ts | 206 | export async function closeAndDeleteSandboxFiles( | CODE |
| LOW | e2e/rstudio/utils/auth.ts | 192 | export async function isCopilotStoreAuthenticated(homeDir: string): Promise<boolean> { | CODE |
| LOW | e2e/rstudio/utils/remote-provision.ts | 283 | export async function remotePositAiStoreAuthenticated(page: Page): Promise<boolean | null> { | CODE |
| LOW | e2e/rstudio/utils/remote-provision.ts | 340 | export async function remoteCopilotStoreAuthenticated(page: Page): Promise<boolean | null> { | CODE |
| LOW | e2e/rstudio/scripts/dev-common.ts | 300 | function warnIfPrecompiledGwtStale(tag: string): void { | CODE |
| LOW | e2e/rstudio/pages/console_pane.page.ts | 252 | export async function waitForConsoleCommandComplete( | CODE |
| LOW | e2e/rstudio/pages/console_pane.page.ts | 553 | export async function closeAllBuffersWithoutSaving(page: Page): Promise<void> { | CODE |
| LOW | …tools/i18n-helpers/commands.cmd.xml/element_parsers.py | 32 | def populated_translatable_fields(self): | CODE |
| LOW | …tools/i18n-helpers/commands.cmd.xml/element_parsers.py | 37 | def _ensure_translatable_fields_exist(self): | CODE |
| LOW | …ls/i18n-helpers/commands.cmd.xml/i18n_gwt_interface.py | 104 | def add_header_auto_generated(self, filename): | STRING |
| LOW | …ls/i18n-helpers/commands.cmd.xml/i18n_gwt_interface.py | 146 | def add_header_auto_generated(self): | STRING |
| LOW | …/i18n-helpers/commands.cmd.xml/commands_xml_to_i18n.py | 24 | def parser_name_to_interface_name(parser_name): | CODE |
| LOW⚡ | src/gwt/tools/locdiff/extract_regular_strings.py | 17 | def is_gwt_localization_interface(java_path): | CODE |
| LOW | src/gwt/test/acesupport/qunit/qunit-1.18.0.js | 3374 | function toolbarUrlConfigContainer() { | CODE |
| LOW | src/gwt/acesupport/acemode/expand_selection.js | 162 | function ensureOnChangeHandlerAttached() | CODE |
| LOW | src/gwt/acesupport/acemode/expand_selection.js | 171 | function ensureOnChangeHandlerDetached() | CODE |
| LOW | src/gwt/acesupport/acemode/r_code_model.js | 104 | function isControlFlowFunctionKeyword(value) | CODE |
| LOW | src/gwt/acesupport/acemode/r_code_model.js | 260 | function isWithinControlFlowArgList(tokenCursor) | CODE |
| LOW | src/gwt/acesupport/acemode/r_code_model.js | 278 | function moveFromFunctionTokenToEndOfFunctionName(tokenCursor) | CODE |
| LOW | src/gwt/acesupport/acemode/r_code_model.js | 300 | function moveFromFunctionCallTokenToEndOfResultName(tokenCursor) | CODE |
| LOW | src/gwt/acesupport/acemode/cpp_code_model.js | 308 | function maybeEvaluateLiteralString(value) { | CODE |
| LOW | src/gwt/acesupport/acemode/auto_brace_insert.js | 25 | function isCursorWithinCompatibleMatchingParens(session, position, prevChar, currentChar) | CODE |
| LOW | src/gwt/www/js/diff.min.js | 1 | ((global,factory)=>{"object"==typeof exports&&"undefined"!=typeof module?factory(exports):"function"==typeof define&&def | CODE |
| LOW | …/rstudio/studio/client/server/remote/RemoteServer.java | 4199 | class ResponseHandler extends RpcResponseHandler | CODE |
| LOW | …urce/editors/text/ace/keybinding-emacs-uncompressed.js | 306 | function IncrementalSearchKeyboardHandler(iSearch) { | CODE |
| LOW | …source/editors/text/ace/keybinding-vim-uncompressed.js | 1039 | function updateSelectionForSurrogateCharacters(cm, curStart, curEnd) { | CODE |
| LOW | …source/editors/text/ace/keybinding-vim-uncompressed.js | 4385 | function findFirstNonWhiteSpaceCharacter(text) { | CODE |
| LOW | …source/editors/text/ace/keybinding-vim-uncompressed.js | 4482 | function recordLastCharacterSearch(increment, args) { | CODE |
| LOW | …source/editors/text/ace/keybinding-vim-uncompressed.js | 5494 | function findNextFromAndToInclusive(cm, prev, query, repeat, vim) { | CODE |
| LOW | …rg/rstudio/core/client/jsonrpc/RpcResponseHandler.java | 17 | public abstract class RpcResponseHandler | CODE |
| LOW | src/cpp/server/ServerMain.cpp | 201 | class FileRequestHandler { | CODE |
| LOW | src/cpp/session/resources/pdfjs/web/viewer.js | 122 | d.div=b.div,PDFJS.AnnotationLayer.render(d),"undefined"!==typeof mozL10n&&mozL10n.translate(b.div))})},hide:function(){t | CODE |
| LOW⚡ | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2224 | presentationModeClick: function secondaryToolbarPresentationModeClick(evt) { | CODE |
| LOW⚡ | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2229 | openFileClick: function secondaryToolbarOpenFileClick(evt) { | CODE |
| LOW⚡ | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2234 | printClick: function secondaryToolbarPrintClick(evt) { | CODE |
| 72 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docker/jenkins/rstudio-version.sh | 16 | # =========== | COMMENT |
| MEDIUM | docker/jenkins/rstudio-version.sh | 32 | # ====================== | COMMENT |
| MEDIUM | docker/jenkins/rstudio-version.sh | 39 | # ============== | COMMENT |
| MEDIUM | docker/jenkins/rstudio-version.sh | 55 | # ================ | COMMENT |
| MEDIUM | docker/jenkins/sign-release.sh | 79 | # ------------------------------------------------------------------------ | COMMENT |
| MEDIUM | docker/jenkins/sign-release.sh | 81 | # ------------------------------------------------------------------------ | COMMENT |
| MEDIUM | docker/jenkins/sign-release.sh | 103 | # ------------------------------------------------------------------------ | COMMENT |
| MEDIUM | docker/jenkins/sign-release.sh | 105 | # ------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | version/new-version.sh | 13 | # --------------------- | COMMENT |
| MEDIUM⚡ | version/new-version.sh | 22 | # ----------------------------------------- | COMMENT |
| MEDIUM⚡ | version/new-version.sh | 30 | # ------------------ | COMMENT |
| MEDIUM | e2e/rstudio/tests/panes/editor/code-folding.test.ts | 159 | ##########======================== | COMMENT |
| MEDIUM | e2e/rstudio/tests/panes/editor/code-folding.test.ts | 161 | ##########======================== | COMMENT |
| MEDIUM | src/cpp/core/tex/synctex/README.txt | 34 | # ---------------- | COMMENT |
| MEDIUM | src/cpp/core/tex/synctex/README.txt | 39 | # ---------- | COMMENT |
| MEDIUM | …p/tests/testthat/test-completions-inherit-dot-params.R | 20 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …p/tests/testthat/test-completions-inherit-dot-params.R | 22 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …p/tests/testthat/test-completions-inherit-dot-params.R | 104 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …p/tests/testthat/test-completions-inherit-dot-params.R | 106 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …p/tests/testthat/test-completions-inherit-dot-params.R | 191 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …p/tests/testthat/test-completions-inherit-dot-params.R | 196 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …p/tests/testthat/test-completions-inherit-dot-params.R | 278 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …p/tests/testthat/test-completions-inherit-dot-params.R | 280 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …p/tests/testthat/test-completions-inherit-dot-params.R | 287 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …p/tests/testthat/test-completions-inherit-dot-params.R | 289 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …p/tests/testthat/test-completions-inherit-dot-params.R | 501 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …p/tests/testthat/test-completions-inherit-dot-params.R | 503 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …p/tests/testthat/test-completions-inherit-dot-params.R | 541 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …p/tests/testthat/test-completions-inherit-dot-params.R | 543 | # --------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | version/new-version.sh | 21 | # Creating a Release Branch for future work | COMMENT |
| MEDIUM | version/new-version.sh | 90 | # Create a NEWS.md file | COMMENT |
| MEDIUM | version/new-version.sh | 106 | # Create the base commit file using the base commit sha | COMMENT |
| MEDIUM | scripts/generate-prefs.R | 219 | # Define a C++ string constant for this preference name | COMMENT |
| MEDIUM | scripts/generate-prefs.R | 238 | # Create a Java (and C++) comment header for the preference | COMMENT |
| MEDIUM | scripts/generate-prefs.R | 244 | # Create a Java/GWT Properties file header for the preference | COMMENT |
| MEDIUM | …os-test-e2e-rstudio-desktop-os-windows-server-2025.yml | 453 | # Create a directory junction at that path pointing to the installed R so | COMMENT |
| MEDIUM | e2e/rstudio/tests/panes/editor/edit_suggestions.test.ts | 44 | const lines: string[] = ['# Create a 3D point.']; | CODE |
| MEDIUM | e2e/rstudio/tests/panes/editor/edit_suggestions.test.ts | 217 | const contents = '# Create a 3D point.\npoint <- function(x, y, z) {}\n'; | CODE |
| MEDIUM | e2e/rstudio/tests/panes/editor/edit_suggestions.test.ts | 235 | }).toBe('# Create a 4D point.'); | CODE |
| MEDIUM | e2e/rstudio/tests/panes/editor/edit_suggestions.test.ts | 486 | expect(await editor.getLine(0)).toBe('# Create a 3D point.'); | CODE |
| MEDIUM | e2e/rstudio/tests/panes/editor/edit_suggestions.test.ts | 490 | await expect.poll(() => editor.getLine(0)).toBe('# Create a 4D point.'); | CODE |
| MEDIUM | e2e/rstudio/tests/panes/editor/edit_suggestions.test.ts | 543 | expect(await editor.getLine(0)).toBe('# Create a 3D point.'); | CODE |
| MEDIUM | src/cpp/tests/python/test-code-submit.py | 49 | # Define an inner function. | COMMENT |
| MEDIUM | src/cpp/tests/testthat/test-air.R | 40 | # Create a fake air installation for the given version, in the given root. | COMMENT |
| MEDIUM | src/cpp/server/db/make-schema.sh | 83 | # Create the migration file(s) | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionBreakpoints.R | 472 | # Create a function containing the parsed contents of the file | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionBreakpoints.R | 524 | # Create a blank environment and load the function into it | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionBreakpoints.R | 545 | # Create an empty function to host the expressions in the file | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionPackages.R | 623 | ## Create a DESCRIPTION file | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionPackages.R | 689 | # Create a NAMESPACE file | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionNotebookRender.R | 19 | # This file is sourced after SessionRmdNotebook.R (which provides the | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionObjectExplorer.R | 815 | # Create a child context for the i-th element of an object, using | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionUserPrefValues.R | 1736 | # Create a Git repo in new projects | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionUserPrefValues.R | 1745 | # Create an renv environment in new projects | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/rstudio-migrate-tests-selenium-to-playwright/SKILL.md | 27 | ### Step 1: Resolve the target | COMMENT |
| LOW | …/rstudio-migrate-tests-selenium-to-playwright/SKILL.md | 33 | ### Step 2: Read reference materials | COMMENT |
| LOW | …/rstudio-migrate-tests-selenium-to-playwright/SKILL.md | 47 | ### Step 3: Determine the target location | COMMENT |
| LOW | …/rstudio-migrate-tests-selenium-to-playwright/SKILL.md | 62 | ### Step 4: Write the TypeScript test | COMMENT |
| LOW | …/rstudio-migrate-tests-selenium-to-playwright/SKILL.md | 81 | ### Step 5: Add missing page objects or actions | COMMENT |
| LOW | …/rstudio-migrate-tests-selenium-to-playwright/SKILL.md | 88 | ### Step 6: Run the test | COMMENT |
| LOW | …/rstudio-migrate-tests-selenium-to-playwright/SKILL.md | 105 | ### Step 7: Reevaluate | COMMENT |
| LOW | …/rstudio-migrate-tests-selenium-to-playwright/SKILL.md | 117 | ### Step 8: Update progress tracking | COMMENT |
| LOW | …/rstudio-migrate-tests-selenium-to-playwright/SKILL.md | 140 | ### Step 9: Commit and submit | COMMENT |
| LOW | …/rstudio-migrate-tests-selenium-to-playwright/SKILL.md | 160 | ### Step 10: Roborev review and assessment | COMMENT |
| LOW⚡ | e2e/rstudio/tests/projects/project_trust_dialog.test.ts | 245 | // Step 1: Click "New Directory" (each expect-visible is the wait gate for | COMMENT |
| LOW⚡ | e2e/rstudio/tests/projects/project_trust_dialog.test.ts | 251 | // Step 2: Click "New Project" in the project type list | COMMENT |
| LOW⚡ | e2e/rstudio/tests/projects/project_trust_dialog.test.ts | 257 | // Step 3: Enter directory name -- use click + pressSequentially so GWT | COMMENT |
| LOW⚡ | e2e/rstudio/tests/projects/project_trust_dialog.test.ts | 266 | // Step 4: Click "Create Project" | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 106 | // Step 0: Create a real project inside the sandbox so the | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 121 | // Step 1: Make sure no backend is running FIRST. | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 142 | // Step 2: Create a project-level skill (.positai/skills/ in workspace) | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 154 | // Step 3: Create a user-level skill (~/.posit/assistant/skills/ in home dir) | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 166 | // Step 4: Verify the skill files exist and hold their markers (the | COMMENT |
| LOW⚡ | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 201 | // Step 5: Start a fresh backend by setting chat_provider back to "posit". | COMMENT |
| LOW⚡ | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 210 | // Step 6: Open the chat pane and wait for the UI to be ready | COMMENT |
| LOW | …rg/rstudio/studio/client/rmarkdown/model/YamlTree.java | 28 | // NOTE: This class does not fully parse YAML fields; it just provides some facilities | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4408 | // Step 1: Remove old backup if it exists | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4420 | // Step 2: Backup current installation if it exists | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4432 | // Step 3: Create new ai directory | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4445 | // Step 4: Extract package using R's unzip() | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4473 | // Step 5: Verify installation | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4497 | // Step 6: Success - remove backup | COMMENT |
| LOW | src/cpp/session/modules/SessionRCompletions.R | 2490 | # NOTE: This function attempts to find an active frame (if | COMMENT |
| LOW | src/cpp/session/modules/SessionCodeTools.R | 1577 | # NOTE: This function is used in asynchronous R processes and so | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | e2e/rstudio/tests/projects/project_trust_dialog.test.ts | 245 | // Step 1: Click "New Directory" (each expect-visible is the wait gate for | COMMENT |
| LOW⚡ | e2e/rstudio/tests/projects/project_trust_dialog.test.ts | 251 | // Step 2: Click "New Project" in the project type list | COMMENT |
| LOW⚡ | e2e/rstudio/tests/projects/project_trust_dialog.test.ts | 257 | // Step 3: Enter directory name -- use click + pressSequentially so GWT | COMMENT |
| LOW⚡ | e2e/rstudio/tests/projects/project_trust_dialog.test.ts | 266 | // Step 4: Click "Create Project" | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 106 | // Step 0: Create a real project inside the sandbox so the | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 121 | // Step 1: Make sure no backend is running FIRST. | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 142 | // Step 2: Create a project-level skill (.positai/skills/ in workspace) | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 154 | // Step 3: Create a user-level skill (~/.posit/assistant/skills/ in home dir) | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 166 | // Step 4: Verify the skill files exist and hold their markers (the | COMMENT |
| LOW⚡ | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 201 | // Step 5: Start a fresh backend by setting chat_provider back to "posit". | COMMENT |
| LOW⚡ | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 210 | // Step 6: Open the chat pane and wait for the UI to be ready | COMMENT |
| LOW | …/studio/client/workbench/UserInterfaceHighlighter.java | 103 | // pairs per query, we need to check if the callback has already executed before proceeding. | COMMENT |
| LOW | …rstudio/studio/client/workbench/views/files/Files.java | 745 | * the purpose of this function is specifically to pre-screen selected files for the following: | COMMENT |
| LOW | src/cpp/core/tex/synctex/synctex_parser.c | 1418 | /* The purpose of this function is to read a string. | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4408 | // Step 1: Remove old backup if it exists | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4420 | // Step 2: Backup current installation if it exists | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4432 | // Step 3: Create new ai directory | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4445 | // Step 4: Extract package using R's unzip() | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4473 | // Step 5: Verify installation | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4497 | // Step 6: Success - remove backup | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …e/rstudio/tests/panes/debugger/debugger_extras.test.ts | 257 | print("This is my S7 method.") | CODE |
| HIGH | …e/rstudio/tests/panes/debugger/debugger_extras.test.ts | 294 | print("This is my S7 generic method.") | CODE |
| HIGH | e2e/rstudio/tests/panes/editor/sweave.test.ts | 57 | print(1 + 1) | CODE |
| HIGH | …rstudio/tests/panes/editor/rename_in_scope_rmd.test.ts | 15 | print(variable + variable) | CODE |
| HIGH | …rstudio/tests/panes/editor/rename_in_scope_rmd.test.ts | 20 | print(variable + variable) | CODE |
| HIGH | src/node/desktop/src/core/file-path.ts | 709 | * @return True if this file path is a Windows junction; false otherwise. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/hooks/block-edit-autogenerated-files.sh | 69 | # Check if the file being edited matches any autogenerated file pattern | COMMENT |
| LOW⚡ | src/gwt/tools/locdiff/extract_regular_strings.py | 23 | # Check if it's an interface that extends Messages or Constants | COMMENT |
| LOW | src/cpp/r/R/Tools.R | 1879 | # Check if we've already visited this package. | COMMENT |
| LOW | src/cpp/session/modules/SessionAssistant.R | 144 | # Check if a variable should have its children examined. | COMMENT |
| LOW | src/cpp/session/modules/SessionThemes.R | 867 | # Check if a theme with the same name already exists in the current location. | COMMENT |
| LOW | src/cpp/session/modules/SessionBreakpoints.R | 353 | # Check if the S7 package is loaded | COMMENT |
| LOW | src/cpp/session/modules/SessionBreakpoints.R | 362 | # Check if this appears to be an invocation of `S7::method`. | COMMENT |
| LOW | src/cpp/session/modules/SessionBreakpoints.R | 442 | # Check if this matches the file contents. Note that we intentionally | COMMENT |
| LOW | src/cpp/session/modules/SessionBreakpoints.R | 451 | # Check if they match. | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.R | 1113 | # Check if the display list is non-empty | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.R | 1124 | # Check if the plot changed since before execution | COMMENT |
| LOW | src/cpp/session/modules/SessionPackages.R | 191 | # Check if the package at the given library path (possibly a symlink) | COMMENT |
| LOW | src/cpp/session/modules/SessionPackages.R | 2359 | # Check if package installation was disabled in this version of RStudio. | COMMENT |
| LOW | src/cpp/session/modules/SessionPackages.R | 2401 | # Check if we're installing a package from the filesystem, | COMMENT |
| LOW | src/cpp/session/modules/SessionCodeTools.R | 1786 | # Check if this is a call to an NSE primitive. | COMMENT |
| LOW | src/cpp/session/modules/SessionCodeTools.R | 1795 | # Check if this is a call to an NSE primitive, qualified through | COMMENT |
| LOW | src/cpp/session/modules/SessionEnvironment.R | 967 | # Check if an object is an S4 instance whose defining package namespace | COMMENT |
| LOW | src/cpp/session/modules/SessionEnvironment.R | 1164 | # Check if the topmost function on the call stack has the hideFromDebugger | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …nes/posit-assistant-chat/chat-guardrails-paths.test.ts | 34 | // Build the R one-liner that runs `rCode` under the chat guardrails. The | COMMENT |
| MEDIUM | …nes/posit-assistant-chat/chat-guardrails-paths.test.ts | 323 | // The four tests below came from test-automation-guardrails.R's "Binding | COMMENT |
| MEDIUM | …sts/panes/posit-assistant-chat/chat-guardrails.test.ts | 200 | // (no assistant in the loop) by chat-guardrails-paths.test.ts. | COMMENT |
| MEDIUM | …sts/panes/posit-assistant-chat/chat-guardrails.test.ts | 281 | // The R-level guardrails in SessionChat.R do deny it, but the assistant | COMMENT |
| MEDIUM | …sts/panes/posit-assistant-chat/chat-guardrails.test.ts | 282 | // prefers its own read tool over R code, bypassing the R guardrails. | COMMENT |
| MEDIUM | …sts/panes/posit-assistant-chat/chat-guardrails.test.ts | 359 | // If guardrails leaked into user code, this would be blocked. | COMMENT |
| MEDIUM | src/cpp/tests/testthat/test-chat-guardrails.R | 2 | # test-chat-guardrails.R | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionChat.R | 16 | # NOTE: The guardrails implemented here are intended to prevent accidental | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionChat.R | 593 | # cannot be influenced by the code the guardrails police | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …tudio/studio/client/rsconnect/ui/PublishFilesPage.java | 43 | // publish the HTML file or the original R Markdown doc, as requested | COMMENT |
| HIGH | src/cpp/server_core/http/SecureCookie.cpp | 304 | // expire from browser as requested | COMMENT |
| HIGH | src/cpp/session/modules/SessionChat.R | 17 | # misuse and unintentionally destructive AI-generated code. They should | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | src/gwt/tools/locdiff/extract_regular_strings.py | 28 | except Exception as e: | CODE |
| MEDIUM⚡ | src/gwt/tools/locdiff/extract_regular_strings.py | 29 | print(f"Error checking {java_path}: {e}") | CODE |
| LOW | src/gwt/tools/locdiff/extract_regular_strings.py | 53 | except Exception as e: | CODE |
| MEDIUM | src/gwt/tools/locdiff/extract_regular_strings.py | 54 | print(f"Error parsing {java_path}: {e}") | CODE |
| LOW | src/gwt/tools/locdiff/extract_regular_strings.py | 89 | except Exception as e: | CODE |
| MEDIUM | src/gwt/tools/locdiff/extract_regular_strings.py | 90 | print(f"Error parsing {prop_path}: {e}") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …urce/editors/explorer/view/ObjectExplorerDataGrid.java | 128 | "placeholder": true | CODE |
| LOW | …urce/editors/explorer/view/ObjectExplorerDataGrid.java | 134 | return !!this["placeholder"]; | CODE |
| LOW | …/org/rstudio/core/client/widget/TextBoxWithButton.java | 181 | textBox_.getElement().setPropertyString("placeholder", text); | CODE |
| LOW | …/org/rstudio/core/client/widget/TextBoxWithButton.java | 280 | textBox_.getElement().setAttribute("placeholder", emptyLabel_); | CODE |
| LOW | src/gwt/src/org/rstudio/core/client/dom/DomUtils.java | 1225 | ele.setAttribute("placeholder", placeholder); | CODE |
| LOW | src/cpp/core/include/core/libclang/clang-c/Index.h | 4360 | * the template, or whether it is a "placeholder" that the user should replace | COMMENT |
| LOW | src/cpp/core/include/core/libclang/clang-c/Index.h | 4453 | * A "placeholder" chunk marks a place where the user should insert text | COMMENT |
| LOW | src/cpp/shared_core/include/shared_core/system/User.hpp | 223 | * @brief Returns the user's real name ("John Doe", not "jdoe") | COMMENT |
| LOW | src/node/desktop/src/main/event-bus-types.ts | 22 | 'placeholder': [arg1: number, arg2: string]; // replace this with new events(s) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/jenkins/notarize-release.sh | 17 | # Usage: | COMMENT |
| LOW | dependencies/tools/upload-r.sh | 10 | # Usage: | COMMENT |
| LOW | scripts/r-api-report.R | 15 | # Usage: | COMMENT |
| LOW | scripts/bootstrap-worktree.sh | 50 | # Usage: | COMMENT |
| LOW | src/cpp/core/include/core/Result.hpp | 32 | // Example usage: | COMMENT |
| LOW | src/node/desktop/src/core/expected.ts | 27 | // Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/jenkins/sign-release.sh | 39 | # make sure to clean up the temporary keyring when finished | COMMENT |
| LOW | src/gwt/www/js/workers/worker-css.js | 1 | "no use strict";!function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)retu | CODE |
| LOW | src/gwt/lib/scripts/update.sh | 30 | # jspecify does not. GWT needs access to the .java sources for compilation, so we make sure to download both parts. | COMMENT |
| LOW | src/cpp/core/tex/synctex/synctex_parser_utils.c | 255 | dest = NULL;/* Don't forget to reinitialize. */ | CODE |
| LOW | src/cpp/session/modules/NotebookHtmlWidgets.R | 251 | # NOTE: if you touch this make sure you update the parsing code in NotebookOutput.cpp | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …tools/i18n-helpers/commands.cmd.xml/element_parsers.py | 1 | CODE | |
| LOW | …tools/i18n-helpers/commands.cmd.xml/element_parsers.py | 1 | CODE | |
| LOW | src/gwt/tools/locdiff/extract_regular_strings.py | 7 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/gwt/tools/locdiff/extract_regular_strings.py | 58 | CODE |