Skip to content

Conversation

@dannyroosevelt
Copy link
Collaborator

@dannyroosevelt dannyroosevelt commented Aug 19, 2025

WHY

Summary by CodeRabbit

  • New Features

    • SelectApp supports app sorting and filtering via a new appsOptions prop (sort by name, featured weight, or slug; filter by actions/triggers).
    • useApps hook now supports query, sorting, and filtering options.
  • Bug Fixes

    • Improved handling of Discord channel array fields so options render correctly.
  • Documentation

    • Added guidance on app sorting and filtering for SelectApp and useApps.
  • Chores

    • Bumped package version to 1.5.0 and updated changelog.

@vercel
Copy link

vercel bot commented Aug 19, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

3 Skipped Deployments
Project Deployment Preview Comments Updated (UTC)
docs-v2 Ignored Ignored Preview Aug 19, 2025 3:11am
pipedream-docs Ignored Ignored Aug 19, 2025 3:11am
pipedream-docs-redirect-do-not-edit Ignored Ignored Aug 19, 2025 3:11am

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 19, 2025

Warning

Rate limit exceeded

@dannyroosevelt has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 9 minutes and 55 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 9924da0 and 3522733.

📒 Files selected for processing (1)
  • packages/connect-react/src/components/SelectApp.tsx (2 hunks)

Walkthrough

Version bumped to 1.5.0. Documentation added for app sorting/filtering and a Discord channel array fix. Control.tsx now renders RemoteOptions for $.discord.channel[]. SelectApp gains an appsOptions prop and forwards sorting/filtering to useApps. No other public APIs changed.

Changes

Cohort / File(s) Summary
Documentation updates
packages/connect-react/CHANGELOG.md, packages/connect-react/README.md
Added 1.5.0 changelog and README examples documenting app sorting/filtering via SelectApp.appsOptions and useApps (q, sortKey, sortDirection, hasActions, hasTriggers, etc.).
Version bump
packages/connect-react/package.json
Updated version from 1.4.0 to 1.5.0.
React components
packages/connect-react/src/components/Control.tsx, packages/connect-react/src/components/SelectApp.tsx
Control: extended RemoteOptions rendering to support $.discord.channel[]. SelectApp: added appsOptions?: Omit<GetAppsOpts, 'q'>, updated signature, import, and merged options into the useApps call (useApps({ ...appsOptions ?? {}, q })).

Sequence Diagram(s)

sequenceDiagram
  actor User
  participant SelectApp
  participant useApps
  participant API

  User->>SelectApp: open dropdown / type search
  SelectApp->>useApps: get apps ({ ...appsOptions?, q })
  useApps->>API: fetch apps with sort/filter params
  API-->>useApps: apps list
  useApps-->>SelectApp: apps (sorted/filtered)
  SelectApp-->>User: render selectable apps
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

A twitch of whiskers, version hops—1.5 takes flight,
I sort the apps by moon and name, I filter by delight.
Channels in arrays now line up neat and clear,
I hop through code and tidy lists—another release, cheer! 🐇

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch danny/connect-react/minor-fixes-updates

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (4)
packages/connect-react/CHANGELOG.md (1)

16-16: Minor wording polish for clarity

Tiny grammar tweak reads a bit smoother under “Added”.

-- Support for filtering apps by whether they have actions, triggers, or components
+- Support filtering apps based on whether they have actions, triggers, or components
packages/connect-react/src/components/SelectApp.tsx (1)

11-15: Consider making appsOptions readonly for clearer intent

Marking as Readonly signals it won’t be mutated and slightly improves IntelliSense.

-  appsOptions?: Omit<GetAppsOpts, 'q'>;
+  appsOptions?: Readonly<Omit<GetAppsOpts, 'q'>>;
packages/connect-react/README.md (2)

190-201: Docs: include hasComponents in SelectApp example for parity with CHANGELOG

You mention filtering by components in the changelog; add it here for completeness. Also add a quick note on default sorting for discoverability.

 <SelectApp
   value={selectedApp}
   onChange={setSelectedApp}
   appsOptions={{
     sortKey: "featured_weight", // Sort by: "name" | "featured_weight" | "name_slug"
     sortDirection: "desc", // "asc" | "desc"
     hasActions: true, // Only show apps with actions
-    hasTriggers: false, // Exclude apps with triggers
+    hasTriggers: false, // Exclude apps with triggers
+    hasComponents: true, // Only show apps with components
   }}
 />
+// Note: Default sortKey is "name_slug" and default sortDirection is "asc".

206-212: Docs: mirror triggers filter in useApps example for consistency

Keeps both examples aligned on the same set of filters.

 const { apps, isLoading } = useApps({
   q: "slack", // Search query
   sortKey: "featured_weight",
   sortDirection: "desc",
   hasActions: true,
+  hasTriggers: false,
 });
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 700d827 and 99a9080.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (5)
  • packages/connect-react/CHANGELOG.md (1 hunks)
  • packages/connect-react/README.md (2 hunks)
  • packages/connect-react/package.json (1 hunks)
  • packages/connect-react/src/components/Control.tsx (1 hunks)
  • packages/connect-react/src/components/SelectApp.tsx (2 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (1)
packages/connect-react/src/components/SelectApp.tsx (1)
packages/sdk/src/shared/index.ts (2)
  • AppResponse (127-127)
  • GetAppsOpts (266-299)
🪛 LanguageTool
packages/connect-react/CHANGELOG.md

[grammar] ~15-~15: There might be a mistake here.
Context: ...sorted by name, featured_weight, or name_slug - Support for filtering apps by whether th...

(QB_NEW_EN)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: pnpm publish
  • GitHub Check: Lint Code Base
🔇 Additional comments (5)
packages/connect-react/package.json (1)

3-3: Semver bump to 1.5.0 fits the additive changes — LGTM

Minor version increase matches the new optional prop and features documented in README/CHANGELOG.

packages/connect-react/src/components/Control.tsx (1)

35-36: Good fix: handle $.discord.channel[] in the RemoteOptions path

This ensures channel arrays hit the same RemoteOptions flow. Please confirm RemoteOptionsContainer properly handles multi-select for array types (value shape, create/remove semantics), since this bypasses the generic array handling below.

packages/connect-react/src/components/SelectApp.tsx (2)

6-6: Import of GetAppsOpts alongside AppResponse — LGTM

Matches the new appsOptions prop usage.


18-19: SelectApp signature update — LGTM

appsOptions is optional, so this remains backward-compatible.

packages/connect-react/README.md (1)

485-486: Hooks section update — LGTM

Clear that useApps now supports sorting and filtering.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

♻️ Duplicate comments (1)
packages/connect-react/src/components/SelectApp.tsx (1)

49-51: Parenthesize the nullish coalescing inside spread; good call keeping q last

This improves readability and avoids any parser/transpiler edge cases around spread + ?? precedence. Keeping q last prevents accidental overrides at runtime.

-    ...appsOptions ?? {},
+    ...(appsOptions ?? {}),
     q,
🧹 Nitpick comments (1)
packages/connect-react/src/components/SelectApp.tsx (1)

6-8: Use type-only import to avoid pulling @pipedream/sdk into the browser bundle

These are types only. Switching to a type-only import prevents an unnecessary runtime dependency and reduces bundle size.

-import {
-  AppResponse, GetAppsOpts,
-} from "@pipedream/sdk";
+import type {
+  AppResponse, GetAppsOpts,
+} from "@pipedream/sdk";
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 99a9080 and 9924da0.

📒 Files selected for processing (1)
  • packages/connect-react/src/components/SelectApp.tsx (2 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (1)
packages/connect-react/src/components/SelectApp.tsx (1)
packages/sdk/src/shared/index.ts (2)
  • AppResponse (127-127)
  • GetAppsOpts (266-299)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Lint Code Base
🔇 Additional comments (2)
packages/connect-react/src/components/SelectApp.tsx (2)

13-16: Prop typing for appsOptions looks good

Using Omit<GetAppsOpts,"q"> cleanly communicates that the component owns the query. Nice.


20-21: Component signature change is appropriate

Adding appsOptions while keeping value/onChange unchanged maintains backward compatibility and exposes sorting/filtering cleanly.

@dannyroosevelt dannyroosevelt merged commit 3278343 into master Aug 19, 2025
8 checks passed
@dannyroosevelt dannyroosevelt deleted the danny/connect-react/minor-fixes-updates branch August 19, 2025 04:32
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.

2 participants