Conversation
…SearchBar now scrolls both windows in sync to cylce between search results.
… result when clicked.
…odex-editor into 684-search-and-replace-v2-fixes-and-improvements-2
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix prepared fixes for both issues found in the latest run.
- ✅ Fixed: Unused import of
getCellDisplayLabelin CommentsView- Removed the unused
getCellDisplayLabelimport fromCommentsView.tsx.
- Removed the unused
- ✅ Fixed: Jump-to-cell fires even when both file opens fail
openFileAtLocationnow tracks whether a source or codex editor was actually opened and only updatescellToJumpTowhen at least one open succeeds.
Or push these changes by commenting:
@cursor push a00d338422
Preview (a00d338422)
diff --git a/src/providers/parallelPassagesWebview/customParallelPassagesWebviewProvider.ts b/src/providers/parallelPassagesWebview/customParallelPassagesWebviewProvider.ts
--- a/src/providers/parallelPassagesWebview/customParallelPassagesWebviewProvider.ts
+++ b/src/providers/parallelPassagesWebview/customParallelPassagesWebviewProvider.ts
@@ -158,6 +158,7 @@
const isSource = stringUri.includes(".source");
const sourceUri = isSource ? parsedUri : getCorrespondingSourceUri(parsedUri);
const codexUri = isSource ? getCorrespondingCodexUri(parsedUri) : parsedUri;
+ let didOpenEditor = false;
if (sourceUri) {
try {
@@ -166,6 +167,7 @@
"vscode.openWith", sourceUri, "codex.cellEditor",
{ viewColumn: vscode.ViewColumn.One }
);
+ didOpenEditor = true;
} catch { /* file doesn't exist */ }
}
@@ -176,9 +178,14 @@
"vscode.openWith", codexUri, "codex.cellEditor",
{ viewColumn: vscode.ViewColumn.Two }
);
+ didOpenEditor = true;
} catch { /* file doesn't exist */ }
}
+ if (!didOpenEditor) {
+ throw new Error("No source or codex file could be opened for the requested location");
+ }
+
updateWorkspaceState(this._context, {
key: "cellToJumpTo",
value: cellId,
diff --git a/webviews/codex-webviews/src/CommentsView/CommentsView.tsx b/webviews/codex-webviews/src/CommentsView/CommentsView.tsx
--- a/webviews/codex-webviews/src/CommentsView/CommentsView.tsx
+++ b/webviews/codex-webviews/src/CommentsView/CommentsView.tsx
@@ -35,7 +35,6 @@
DropdownMenuTrigger,
} from "../components/ui/dropdown-menu";
import bibleBooksData from "../assets/bible-books-lookup.json";
-import { getCellDisplayLabel } from "../utils/cellDisplayUtils";
import { useVirtualizer } from "@tanstack/react-virtual";
const vscode = acquireVsCodeApi();This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.
src/providers/parallelPassagesWebview/customParallelPassagesWebviewProvider.ts
Show resolved
Hide resolved
…ing to occur when a different cell was clicked in the target column.
|
You have used all of your free Bugbot PR reviews. To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial. |
…estone and for the file—before we had "X of Y of Z", which was pretty confusing. The AI also made it so that we highlight each result we click to—if this is nice, we can keep it; if not, I'll take it out!
… moved here. Stray UI choices we want to give to the savvy user can go here. I've added a toggle for search highlighting in the search panel.
|
You have used all of your free Bugbot PR reviews. To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial. |
Refactor mergeOriginalFilesHashes function and add comprehensive unit tests - Changed the mergeOriginalFilesHashes function to be exported for external use. - Introduced a new test suite for mergeOriginalFilesHashes, covering various scenarios including handling undefined inputs, merging entries with different hashes, and deduplicating referencedBy and originalNames. - Ensured that version numbers are correctly managed and that fileNameToHash is built accurately from merged entries.
…-mergeoriginalfileshashes Added a resolver test for merging Original file hashes
When a project has a pinnedExtension for codex-editor, updateExtensionVersions now skips the codexEditor floor bump. This prevents the version gate from blocking collaborators who are intentionally running a pinned (older) version after the project was last opened on a newer build. frontierAuthentication ratcheting is unaffected.
Tests were disabled in aabd942 during a MetadataManager refactor with no specific failure documented. All existing tests pass cleanly in the current VS Code test environment. Adds three new cases to cover the pin-aware ratchet behaviour introduced in the previous commit: no-pin (ratchet works normally), codex-editor pin active (codexEditor bump suppressed), and frontier pin irrelevance (frontierAuthentication still ratchets when codex-editor is pinned).
Both codexEditor and frontierAuthentication ratchet checks now read from meta.pinnedExtensions (keyed by extension id) instead of the old singular meta.pinnedExtension object. Updates test fixtures to match.
On Windows, fs.writeFile can resolve before the written bytes are visible to a subsequent read, causing readFile to return empty content from a file that stat reports as non-empty. The function already retried on transient EntryNotFound errors; extend the same 25 ms retry loop to cover this empty-content case so callers are not spuriously blocked from saving.
One test in the search/replace suite was using a bare JSON.parse on a direct readFile call instead of the existing readJsonFromDiskWithRetry helper, making it susceptible to the same Windows filesystem flush timing flakiness that the helper was introduced to guard against.
Update ratchet suppression to use publisher.name format (e.g. 'project-accelerate.codex-editor-extension') instead of short names. Aligns with conductor's metadata.json key format.
…ength > 0 gate. - This restores results when a file is unchecked (possibly yielding zero results) and then checked again.
…earchTab.tsx. - UI height consistency for the ParallelView (eliminates scrollbar).
|
You have used all of your free Bugbot PR reviews. To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial. |
|
You have used all of your free Bugbot PR reviews. To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial. |
…xt only highlights in the area of your search (target selected = highlight only target sections).
|
You have used all of your free Bugbot PR reviews. To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial. |
- Remove stale node_modules/@types/better-sqlite3 (not in package.json, caused ENOTDIR on npm i) - Replace undeclared `combinedResults` with `results` in search.ts (merge conflict residue) - Remove duplicate `export const CURRENT_SCHEMA_VERSION = 16` from sqliteIndex.ts, which conflicted with the new import from schema.ts
…not related to Smart Edit (and which has been deprecated)
…tionToolView, removed EditableReactTable


Hi Matt
Note
Medium Risk
Changes cross-webview navigation and multi-column opening behavior, which could introduce race conditions or incorrect scroll targets across panels. Also adds new message types and HTML injection via highlighted source rendering that must remain properly escaped.
Overview
Search navigation now syncs scrolling across open Codex editors: the webview sends
searchNavigateToCell, the extension forwardsscrollToCellto other panels, and cells briefly highlight after programmatic scroll.Parallel Passages opening behavior is updated to open corresponding
.sourceand.codexside-by-side (when present) and uses a sharedgetCellDisplayLabelutility to replace the old[NO LABEL: ...]fallback.Parallel view search results gain optional highlighting for source/target text (with persisted
highlightSearchResults), and types are extended to include the newsearchNavigateToCell/scrollToCellmessages.Written by Cursor Bugbot for commit 07c4098. This will update automatically on new commits. Configure here.