Skip to content

Fix: [for cherry-picking] Added local Git remote fallback, narrowed fil - #138

Closed
qodo-code-review[bot] wants to merge 3 commits into
codex/raycast-discovery-uxfrom
fix/remediation-0815826b-97c324
Closed

Fix: [for cherry-picking] Added local Git remote fallback, narrowed fil#138
qodo-code-review[bot] wants to merge 3 commits into
codex/raycast-discovery-uxfrom
fix/remediation-0815826b-97c324

Conversation

@qodo-code-review

@qodo-code-review qodo-code-review Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Fixed Findings

  • Restore local Git remote fallback
  • Narrow path query stat errors
  • Propagate unexpected targeted search errors
  • Add cancellation to targeted scans
  • Handle branch loading failures

Automated fix from agentic review of #137

Powered by Qodo


Summary by cubic

Restore local Git remote fallback in workspace discovery so repoUrl is set when the seed doesn’t provide a remote. This fixes broken repo-linked actions for locally cloned projects.

Written for commit e818555. Summary will update on new commits.

Review in cubic

- Narrow path query stat errors
- Propagate unexpected targeted search errors
- Add cancellation to targeted scans

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hey - I've found 1 issue

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path="QuickShell.Raycast/src/components/discover-git-repos-view.tsx" line_range="118-120" />
<code_context>
-        } catch {
-          if (!cancelled) {
-            setTargetedSearch({ query, repos: [] });
+        } catch (error) {
+          if (!cancelled && !controller.signal.aborted) {
+            throw error;
           }
         } finally {
</code_context>
<issue_to_address>
**issue (bug_risk):** Re-throwing inside an un-awaited async function will likely cause unhandled promise rejections.

Because this async IIFE is invoked with `void`, its promise is never awaited. Re-throwing in the `catch` will therefore become an unhandled rejection, bypassing React error boundaries and any upstream error handling. If you want the error to be handled, move the async/await to a caller that can catch it or route it through centralized error reporting instead of throwing here. If you only want to ignore abort-related errors, consider restoring the previous `setTargetedSearch({ query, repos: [] })` behavior or logging the error without throwing.
</issue_to_address>

Fix all in Cursor


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment on lines +118 to +120
} catch (error) {
if (!cancelled && !controller.signal.aborted) {
throw error;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

issue (bug_risk): Re-throwing inside an un-awaited async function will likely cause unhandled promise rejections.

Because this async IIFE is invoked with void, its promise is never awaited. Re-throwing in the catch will therefore become an unhandled rejection, bypassing React error boundaries and any upstream error handling. If you want the error to be handled, move the async/await to a caller that can catch it or route it through centralized error reporting instead of throwing here. If you only want to ignore abort-related errors, consider restoring the previous setTargetedSearch({ query, repos: [] }) behavior or logging the error without throwing.

Fix in Cursor

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants