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,035 GitHub stars. SynthScan v2.0 examined 1,047,786 lines of code across 5178 source files, recording 1552 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 3.9 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).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
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 1552 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 | 654 | <shortcut refid="insertSection" value="Ctrl+Shift+R" if="org.rstudio.core.client.BrowseCap.isMacintosh()"/> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 659 | <shortcut refid="blockOutdent" value="Meta+[" if="org.rstudio.core.client.BrowseCap.isMacintosh()" disableModes | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 660 | <shortcut refid="blockIndent" value="Meta+]" if="org.rstudio.core.client.BrowseCap.isMacintosh()" disableModes= | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 662 | <shortcut refid="reflowComment" value="Ctrl+Shift+/" if="org.rstudio.core.client.BrowseCap.isMacintosh()"/> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 663 | <shortcut refid="reflowComment" value="Cmd+Shift+/" if="!org.rstudio.core.client.BrowseCap.isMacintosh()"/> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 666 | <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 | 667 | <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 | 668 | <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 | 669 | <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 | 670 | <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 | 671 | <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 | 672 | <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 | 673 | <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 | 674 | <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 | 676 | <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 | 677 | <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 | 679 | <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 | 680 | <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 | 681 | <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 | 682 | <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 | 683 | <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 | 685 | <!-- <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 | 693 | <shortcut value="Ctrl+T" title="Transpose Letters" if="org.rstudio.core.client.BrowseCap.isMacintosh()"/> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 700 | <shortcut refid="assistantAcceptNextEditSuggestion" value="Ctrl+;" if="!org.rstudio.core.client.BrowseCap.isMac | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 701 | <shortcut refid="assistantAcceptNextEditSuggestion" value="Cmd+;" if="org.rstudio.core.client.BrowseCap.isMacin | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 702 | <shortcut refid="assistantDismissNextEditSuggestion" value="Ctrl+Shift+;" if="!org.rstudio.core.client.BrowseCa | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 703 | <shortcut refid="assistantDismissNextEditSuggestion" value="Cmd+Shift+;" if="org.rstudio.core.client.BrowseCap. | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 711 | <shortcut refid="findFromSelection" value="Meta+E" if="org.rstudio.core.client.BrowseCap.isMacintosh()"/> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 712 | <shortcut refid="findFromSelection" value="Ctrl+F3" if="!org.rstudio.core.client.BrowseCap.isMacintosh()"/> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 714 | <shortcut refid="findReplace" value="Ctrl+F" if="!org.rstudio.core.client.BrowseCap.isMacintosh()" disableModes | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 715 | <shortcut refid="findNext" value="Meta+G" if="!org.rstudio.core.client.BrowseCap.isWindows()"/> | CODE |
| CRITICAL⚡ | …udio/studio/client/workbench/commands/Commands.cmd.xml | 716 | <shortcut refid="findNext" value="Ctrl+G" if="!org.rstudio.core.client.BrowseCap.isWindows()" disableModes="ema | CODE |
| 207 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-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/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 | # `ant devmode`) is a Super Dev Mode stub that redirects to a code server on | 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 | …os-test-e2e-rstudio-desktop-os-windows-server-2025.yml | 181 | # Downloaded build deps (Boost, SOCI, GWT, Node, pandoc, quarto, etc.) | COMMENT |
| LOW | …os-test-e2e-rstudio-desktop-os-windows-server-2025.yml | 201 | # When restore-keys pulls a stale cache, extraction overwrites the | COMMENT |
| LOW | …os-test-e2e-rstudio-desktop-os-windows-server-2025.yml | 281 | throw "$($tool.Package) not installed/usable after 3 attempts; aborting before the build." | COMMENT |
| LOW | …os-test-e2e-rstudio-desktop-os-windows-server-2025.yml | 401 | exit 1 | COMMENT |
| LOW | …os-test-e2e-rstudio-desktop-os-windows-server-2025.yml | 501 | # Save the tools cache only from main-scoped runs (the seed and | COMMENT |
| LOW | …lows/os-test-e2e-rstudio-desktop-os-macos-26-arm64.yml | 101 | # role (see .github/actions/os-publish-e2e-report). | COMMENT |
| LOW | …lows/os-test-e2e-rstudio-desktop-os-macos-26-arm64.yml | 121 | # built for different R versions / platforms in separate subtrees. | COMMENT |
| LOW | …lows/os-test-e2e-rstudio-desktop-os-macos-26-arm64.yml | 421 | # distinguish these results) and to derive the platform+shard-unique | COMMENT |
| LOW | …ws/os-test-e2e-rstudio-desktop-os-fedora-44-x86_64.yml | 121 | # workspace-local path so it can be cached without sudo. | COMMENT |
| LOW | …ws/os-test-e2e-rstudio-desktop-os-fedora-44-x86_64.yml | 141 | NPM_CONFIG_AUDIT: 'false' | COMMENT |
| LOW | …ws/os-test-e2e-rstudio-desktop-os-fedora-44-x86_64.yml | 181 | COMMENT | |
| LOW | …ws/os-test-e2e-rstudio-desktop-os-fedora-44-x86_64.yml | 201 | COMMENT | |
| LOW | …ws/os-test-e2e-rstudio-desktop-os-fedora-44-x86_64.yml | 381 | # against: libcurl/openssl/libxml2 (curl, openssl, xml2), the font/text | COMMENT |
| LOW | …ws/os-test-e2e-rstudio-desktop-os-fedora-44-x86_64.yml | 521 | # REQUIRED_PACKAGES set into the cached R library here. Otherwise the | COMMENT |
| LOW | …ws/os-test-e2e-rstudio-desktop-os-fedora-44-x86_64.yml | 541 | working-directory: e2e/rstudio | COMMENT |
| LOW | …ws/os-test-e2e-rstudio-desktop-os-fedora-44-x86_64.yml | 561 | # Tells playwright.config.ts to switch to blob reporter for this shard. | COMMENT |
| LOW | …ws/os-test-e2e-rstudio-desktop-os-fedora-44-x86_64.yml | 621 | fi | COMMENT |
| LOW | …ows/os-test-e2e-rstudio-desktop-os-ubuntu-26-amd64.yml | 101 | # e2e job to consume. Skipped when build_from_source is false, in which case | COMMENT |
| LOW | …ows/os-test-e2e-rstudio-desktop-os-ubuntu-26-amd64.yml | 161 | # GWT Java sources / build scripts haven't changed, make-electron-package | COMMENT |
| LOW | …ows/os-test-e2e-rstudio-desktop-os-ubuntu-26-amd64.yml | 181 | # object cache is shared with the Linux Server build and inherited by PRs. | COMMENT |
| LOW | …/workflows/os-test-e2e-rstudio-server-os-ubuntu-24.yml | 101 | jobs: | COMMENT |
| LOW | …/workflows/os-test-e2e-rstudio-server-os-ubuntu-24.yml | 121 | # .o), so PRs automatically inherit main's warm cache from the seed job | COMMENT |
| LOW | …/workflows/os-test-e2e-rstudio-server-os-ubuntu-24.yml | 181 | restore-keys: | | COMMENT |
| LOW | …/workflows/os-test-e2e-rstudio-server-os-ubuntu-24.yml | 441 | log-level=debug | COMMENT |
| LOW | …/workflows/os-test-e2e-rstudio-server-os-ubuntu-24.yml | 461 | [Service] | COMMENT |
| LOW | …ows/os-cache-seed-e2e-rstudio-desktop-os-ubuntu-24.yml | 1 | name: "Cache Seed: E2E Playwright RStudio (Desktop, Ubuntu 24, Open Source)" | COMMENT |
| LOW | …lows/os-cache-seed-e2e-rstudio-server-os-ubuntu-24.yml | 1 | name: "Cache Seed: E2E Playwright RStudio (Server, Ubuntu 24, Open Source)" | COMMENT |
| LOW | …workflows/os-test-e2e-rstudio-desktop-os-ubuntu-24.yml | 121 | # Pin R's user library to a workspace-local path so we can cache it. | COMMENT |
| 908 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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 | 104 | async function triggerRecheckAndExpectState( | CODE |
| LOW | …/panes/posit-assistant-chat/uninstall-posit-ai.test.ts | 41 | 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/commands.ts | 705 | export async function setChatUpdateCheckOverride( | CODE |
| LOW | e2e/rstudio/utils/files.ts | 206 | export async function closeAndDeleteSandboxFiles( | CODE |
| LOW | e2e/rstudio/pages/console_pane.page.ts | 137 | export async function waitForConsoleCommandComplete( | CODE |
| LOW | e2e/rstudio/pages/console_pane.page.ts | 397 | 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 | 50 | function isControlFlowFunctionKeyword(value) | CODE |
| LOW | src/gwt/acesupport/acemode/r_code_model.js | 206 | function isWithinControlFlowArgList(tokenCursor) | CODE |
| LOW | src/gwt/acesupport/acemode/r_code_model.js | 224 | function moveFromFunctionTokenToEndOfFunctionName(tokenCursor) | CODE |
| LOW | src/gwt/acesupport/acemode/r_code_model.js | 246 | 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 | 4186 | 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 | 163 | 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 |
| LOW⚡ | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2239 | downloadClick: function secondaryToolbarDownloadClick(evt) { | CODE |
| LOW⚡ | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2244 | viewBookmarkClick: function secondaryToolbarViewBookmarkClick(evt) { | CODE |
| LOW⚡ | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2248 | firstPageClick: function secondaryToolbarFirstPageClick(evt) { | CODE |
| LOW⚡ | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2253 | lastPageClick: function secondaryToolbarLastPageClick(evt) { | CODE |
| LOW⚡ | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2260 | pageRotateCwClick: function secondaryToolbarPageRotateCwClick(evt) { | CODE |
| LOW⚡ | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2264 | pageRotateCcwClick: function secondaryToolbarPageRotateCcwClick(evt) { | CODE |
| LOW⚡ | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2268 | documentPropertiesClick: function secondaryToolbarDocumentPropsClick(evt) { | CODE |
| LOW⚡ | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2274 | setMaxHeight: function secondaryToolbarSetMaxHeight(container) { | CODE |
| LOW | src/cpp/session/resources/pdfjs/web/viewer.full.js | 267 | function isElementBottomBelowViewTop(view) { | CODE |
| LOW | src/cpp/session/resources/pdfjs/web/viewer.full.js | 617 | (function mozPrintCallbackPolyfillClosure() { | CODE |
| LOW | src/cpp/session/resources/pdfjs/web/viewer.full.js | 1872 | function updateHistoryWithCurrentHash() { | CODE |
| LOW | src/cpp/session/resources/pdfjs/web/viewer.full.js | 1878 | function replacePreviousHistoryState(params, callback) { | CODE |
| LOW | src/cpp/session/resources/pdfjs/web/viewer.full.js | 1899 | function rewriteHistoryAfterForward() { | CODE |
| LOW | src/cpp/session/resources/pdfjs/web/viewer.full.js | 1970 | updateCurrentBookmark: function pdfHistoryUpdateCurrentBookmark(bookmark, | CODE |
| LOW | src/cpp/session/resources/pdfjs/web/viewer.full.js | 1979 | updateNextHashParam: function pdfHistoryUpdateNextHashParam(param) { | CODE |
| LOW | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2178 | initialize: function secondaryToolbarInitialize(options) { | CODE |
| LOW | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2336 | var PDFPresentationMode = (function PDFPresentationModeClosure() { | CODE |
| LOW | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2507 | setTimeout(function enterPresentationModeTimeout() { | CODE |
| LOW | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2532 | setTimeout(function exitPresentationModeTimeout() { | CODE |
| LOW | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2952 | enterPresentationMode: function handToolEnterPresentationMode() { | CODE |
| LOW | src/cpp/session/resources/pdfjs/web/viewer.full.js | 2959 | exitPresentationMode: function handToolExitPresentationMode() { | CODE |
| 50 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 | …ws/os-test-e2e-rstudio-desktop-os-fedora-44-x86_64.yml | 520 | # Fedora has no CRAN binaries, so pre-install the harness's full | COMMENT |
| MEDIUM | …ws/os-test-e2e-rstudio-desktop-os-fedora-44-x86_64.yml | 571 | # Point the Playwright harness's own R-libs provisioner | COMMENT |
| MEDIUM⚡ | .github/actions/os-e2e-deps/action.yml | 143 | # On distros without CRAN binaries (Fedora), also install the harness's | COMMENT |
| MEDIUM⚡ | .github/actions/os-e2e-deps/action.yml | 148 | # scoped to R_LIBS_USER (the cached tree), mirroring the harness's own | COMMENT |
| MEDIUM⚡ | .github/actions/os-e2e-deps/action.yml | 152 | # Unlike the harness (which warns and lets tests self-heal), a failure | COMMENT |
| MEDIUM | e2e/rstudio/tests/panes/layout/panes.test.ts | 144 | // 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 | 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 | 3518 | // editing session would require some nuanced orchestration so for now | COMMENT |
| MEDIUM | …ient/application/ui/impl/DesktopApplicationHeader.java | 522 | // 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 | 1169 | // via a search of the PATH. To make this fallback fully robust we would | 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 | 1488 | # If we couldn't infer any more details, just use the type. | COMMENT |
| LOW | src/cpp/session/modules/SessionPackages.R | 2036 | # if all-else fails, just use the current time. this effectively means | COMMENT |
| LOW | src/cpp/session/modules/SessionCodeTools.R | 2788 | # 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 |
| LOW | src/cpp/session/modules/SessionRMarkdown.R | 81 | # so can't just use dirname / basename) | COMMENT |
| LOW | src/cpp/session/modules/SessionRSConnect.R | 265 | # if no such application is available, just return an empty list | COMMENT |
| LOW | src/cpp/session/modules/SessionRSConnect.R | 371 | # extension; otherwise, just use the single document we were given | COMMENT |
| LOW | src/cpp/session/modules/sql/SessionSql.R | 235 | # then just use context completions | COMMENT |
| LOW | src/cpp/session/modules/sql/SessionSql.R | 358 | # no schema: just use the regular API | COMMENT |
| MEDIUM | src/node/desktop/src/main/main-window.ts | 145 | // Once https://github.com/electron/electron/pull/34418 is merged, we can leverage | COMMENT |
| 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 | 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 | 346 | # Create a directory junction at that path pointing to the rig-installed | COMMENT |
| MEDIUM | e2e/rstudio/tests/panes/editor/edit_suggestions.test.ts | 36 | const lines: string[] = ['# Create a 3D point.']; | CODE |
| MEDIUM | e2e/rstudio/tests/panes/editor/edit_suggestions.test.ts | 175 | const contents = '# Create a 3D point.\npoint <- function(x, y, z) {}\n'; | CODE |
| MEDIUM | e2e/rstudio/tests/panes/editor/edit_suggestions.test.ts | 193 | }).toBe('# Create a 4D point.'); | CODE |
| MEDIUM | e2e/rstudio/tests/panes/editor/edit_suggestions.test.ts | 251 | expect(await editor.getLine(0)).toBe('# Create a 3D point.'); | CODE |
| MEDIUM | e2e/rstudio/tests/panes/editor/edit_suggestions.test.ts | 255 | await expect.poll(() => editor.getLine(0)).toBe('# Create a 4D point.'); | CODE |
| MEDIUM | e2e/rstudio/tests/panes/editor/edit_suggestions.test.ts | 308 | 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 | 467 | # Create a function containing the parsed contents of the file | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionBreakpoints.R | 519 | # Create a blank environment and load the function into it | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionBreakpoints.R | 540 | # Create an empty function to host the expressions in the file | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionPackages.R | 615 | ## Create a DESCRIPTION file | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionPackages.R | 681 | # 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 | 1726 | # Create a Git repo in new projects | COMMENT |
| MEDIUM | src/cpp/session/modules/SessionUserPrefValues.R | 1735 | # 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 | 240 | // Step 1: Click "New Directory" (each expect-visible is the wait gate for | COMMENT |
| LOW⚡ | e2e/rstudio/tests/projects/project_trust_dialog.test.ts | 246 | // Step 2: Click "New Project" in the project type list | COMMENT |
| LOW⚡ | e2e/rstudio/tests/projects/project_trust_dialog.test.ts | 252 | // Step 3: Enter directory name -- use click + pressSequentially so GWT | COMMENT |
| LOW⚡ | e2e/rstudio/tests/projects/project_trust_dialog.test.ts | 261 | // Step 4: Click "Create Project" | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 105 | // Step 0: Create a real project inside the sandbox so the | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 120 | // Step 1: Stop any running backend FIRST. | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 136 | // Step 2: Create a project-level skill (.positai/skills/ in workspace) | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 148 | // Step 3: Create a user-level skill (~/.positai/skills/ in home dir) | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 160 | // Step 4: Verify both files exist and have correct content | COMMENT |
| LOW⚡ | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 177 | // 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 | 186 | // 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 | 4344 | // Step 1: Remove old backup if it exists | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4356 | // Step 2: Backup current installation if it exists | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4368 | // Step 3: Create new ai directory | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4381 | // Step 4: Extract package using R's unzip() | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4409 | // Step 5: Verify installation | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4433 | // 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 | 1513 | # 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 | 240 | // Step 1: Click "New Directory" (each expect-visible is the wait gate for | COMMENT |
| LOW⚡ | e2e/rstudio/tests/projects/project_trust_dialog.test.ts | 246 | // Step 2: Click "New Project" in the project type list | COMMENT |
| LOW⚡ | e2e/rstudio/tests/projects/project_trust_dialog.test.ts | 252 | // Step 3: Enter directory name -- use click + pressSequentially so GWT | COMMENT |
| LOW⚡ | e2e/rstudio/tests/projects/project_trust_dialog.test.ts | 261 | // Step 4: Click "Create Project" | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 105 | // Step 0: Create a real project inside the sandbox so the | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 120 | // Step 1: Stop any running backend FIRST. | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 136 | // Step 2: Create a project-level skill (.positai/skills/ in workspace) | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 148 | // Step 3: Create a user-level skill (~/.positai/skills/ in home dir) | COMMENT |
| LOW | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 160 | // Step 4: Verify both files exist and have correct content | COMMENT |
| LOW⚡ | …ts/panes/posit-assistant-chat/chat-user-skills.test.ts | 177 | // 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 | 186 | // 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 | 4344 | // Step 1: Remove old backup if it exists | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4356 | // Step 2: Backup current installation if it exists | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4368 | // Step 3: Create new ai directory | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4381 | // Step 4: Extract package using R's unzip() | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4409 | // Step 5: Verify installation | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.cpp | 4433 | // Step 6: Success - remove backup | 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 | 1840 | # Check if we've already visited this package. | COMMENT |
| LOW | src/cpp/session/modules/SessionAssistant.R | 141 | # 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 | 437 | # Check if this matches the file contents. Note that we intentionally | COMMENT |
| LOW | src/cpp/session/modules/SessionBreakpoints.R | 446 | # Check if they match. | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.R | 1012 | # Check if the display list is non-empty | COMMENT |
| LOW | src/cpp/session/modules/SessionChat.R | 1023 | # Check if the plot changed since before execution | COMMENT |
| LOW | src/cpp/session/modules/SessionPackages.R | 183 | # Check if the package at the given library path (possibly a symlink) | COMMENT |
| LOW | src/cpp/session/modules/SessionPackages.R | 2325 | # Check if package installation was disabled in this version of RStudio. | COMMENT |
| LOW | src/cpp/session/modules/SessionPackages.R | 2367 | # Check if we're installing a package from the filesystem, | COMMENT |
| LOW | src/cpp/session/modules/SessionCodeTools.R | 1722 | # Check if this is a call to an NSE primitive. | COMMENT |
| LOW | src/cpp/session/modules/SessionCodeTools.R | 1731 | # 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 |
|---|---|---|---|---|
| HIGH | …e/rstudio/tests/panes/debugger/debugger_extras.test.ts | 257 | print("This is my S7 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 |
|---|---|---|---|---|
| MEDIUM | …nes/posit-assistant-chat/chat-guardrails-paths.test.ts | 30 | // Build the R one-liner that runs `rCode` under the chat guardrails. The | COMMENT |
| MEDIUM | …nes/posit-assistant-chat/chat-guardrails-paths.test.ts | 319 | // The four tests below came from test-automation-guardrails.R's "Binding | COMMENT |
| MEDIUM | …sts/panes/posit-assistant-chat/chat-guardrails.test.ts | 163 | // (no assistant in the loop) by chat-guardrails-paths.test.ts. | COMMENT |
| MEDIUM | …sts/panes/posit-assistant-chat/chat-guardrails.test.ts | 233 | // The R-level guardrails in SessionChat.R do deny it, but the assistant | COMMENT |
| MEDIUM | …sts/panes/posit-assistant-chat/chat-guardrails.test.ts | 234 | // prefers its own read tool over R code, bypassing the R guardrails. | COMMENT |
| MEDIUM | …sts/panes/posit-assistant-chat/chat-guardrails.test.ts | 310 | // 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 |
| 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 | scripts/r-api-report.R | 15 | # Usage: | COMMENT |
| LOW | scripts/bootstrap-worktree.sh | 46 | # 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 |