Skip to content

Conversation

@vmotta8
Copy link

@vmotta8 vmotta8 commented Nov 26, 2025

Description

Perry is a PostgreSQL client for Raycast that allows you to:

  • Quick Query: Execute SQL queries with autocomplete suggestions for tables, columns, and keywords
  • Search Tables: Browse and search within database tables
  • Saved Queries: Save frequently used queries for quick access
  • Query History: View and re-run previously executed queries
  • Manage Databases: Add, edit, and delete PostgreSQL connections

Screencast

demo.mp4

Checklist

@raycastbot raycastbot added the new extension Label for PRs with new extensions label Nov 26, 2025
@raycastbot
Copy link
Collaborator

Congratulations on your new Raycast extension! 🚀

You can expect an initial review within five business days.

Once the PR is approved and merged, the extension will be available on our Store.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Nov 26, 2025

Greptile Overview

Greptile Summary

This PR adds Perry, a new PostgreSQL client extension for Raycast with features including quick queries with autocomplete, table browsing, saved queries, and query history. The implementation is generally well-structured with proper error handling and state management throughout.

Critical Issues:

  • SQL injection vulnerability in table search functionality where user input is directly interpolated into SQL queries without parameterization

Style Issues:

  • .prettierrc contains extra configuration beyond Raycast's standard settings (tabWidth, trailingComma)

Minor Suggestions:

  • Commands could benefit from subtitle field set to "Perry" for better UX when multiple commands are displayed

The extension properly includes metadata screenshots, uses correct CHANGELOG format with {PR_MERGE_DATE}, implements read-only mode for safety, and handles database connections securely with proper validation.

Confidence Score: 2/5

  • This PR has a critical SQL injection vulnerability that must be fixed before merging
  • Score reflects the presence of a critical security vulnerability in the table search feature (SQL injection via direct string interpolation). While the rest of the codebase is well-implemented with proper error handling, connection pooling, and state management, this security issue poses a significant risk that requires immediate attention before the extension can be safely merged.
  • Pay close attention to extensions/perry/src/search-tables.tsx which contains the SQL injection vulnerability. The .prettierrc file also needs adjustment to match Raycast standards.

Important Files Changed

File Analysis

Filename Score Overview
extensions/perry/src/search-tables.tsx 1/5 Contains critical SQL injection vulnerability in search functionality (lines 162-163)
extensions/perry/package.json 4/5 Configuration is correct; commands could benefit from subtitles for better UX
extensions/perry/src/lib/database.ts 5/5 Clean connection pooling and read-only transaction support
extensions/perry/src/query-database.tsx 5/5 Well-implemented autocomplete and query execution with proper isLoading state
extensions/perry/.prettierrc 4/5 Contains extra config beyond standard Raycast settings (tabWidth, trailingComma)

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

20 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

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

Labels

new extension Label for PRs with new extensions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants