-
Notifications
You must be signed in to change notification settings - Fork 5.5k
[TRIGGER] Airtable Polling Trigger with filter #16072
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎ |
WalkthroughThe PR updates version numbers across multiple modules and sources, introduces error handling in the Changes
Sequence Diagram(s)sequenceDiagram
participant Client as listRecords Caller
participant App as Airtable OAuth App
participant Airtable as Airtable API
Client->>App: Call listRecords(params)
App->>Airtable: Execute base(tableId).select(params)
Airtable-->>App: Return records or trigger error
alt Error Occurs
App->>App: Catch error and invoke throwFormattedError()
App-->>Client: Return error response
else Successful
App->>App: Process records and fetch next page
App-->>Client: Return data array
end
Assessment against linked issues
Suggested labels
Suggested reviewers
Poem
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
components/airtable_oauth/actions/create-field/create-field.mjsOops! Something went wrong! :( ESLint: 8.57.1 Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsonc-eslint-parser' imported from /eslint.config.mjs components/airtable_oauth/actions/create-single-record/create-single-record.mjsOops! Something went wrong! :( ESLint: 8.57.1 Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsonc-eslint-parser' imported from /eslint.config.mjs components/airtable_oauth/actions/create-comment/create-comment.mjsOops! Something went wrong! :( ESLint: 8.57.1 Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsonc-eslint-parser' imported from /eslint.config.mjs
✨ Finishing Touches
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this 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
🧹 Nitpick comments (1)
components/airtable_oauth/actions/list-records/list-records.mjs (1)
1-10: Version Increment and Dynamic Filtering Integration Check in List Records ActionThe version update to
"0.0.9"has been applied as expected. Given that the PR objectives mention the introduction of dynamic filtering (via a newfilterByFormulaproperty) and error handling improvements in the record-fetching methods, please ensure that:
- The new filtering property (likely provided via
commonList.props) is correctly integrated and passed to the underlying API calls.- Any additional error handling logic associated with filtering or record retrieval is implemented in the referenced common modules.
A review of the
commonListimplementation and API integration is recommended to verify the intended behavior.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (27)
components/airtable_oauth/actions/create-comment/create-comment.mjs(1 hunks)components/airtable_oauth/actions/create-field/create-field.mjs(1 hunks)components/airtable_oauth/actions/create-multiple-records/create-multiple-records.mjs(1 hunks)components/airtable_oauth/actions/create-or-update-record/create-or-update-record.mjs(1 hunks)components/airtable_oauth/actions/create-single-record/create-single-record.mjs(1 hunks)components/airtable_oauth/actions/create-table/create-table.mjs(1 hunks)components/airtable_oauth/actions/delete-record/delete-record.mjs(1 hunks)components/airtable_oauth/actions/get-record-or-create/get-record-or-create.mjs(1 hunks)components/airtable_oauth/actions/get-record/get-record.mjs(1 hunks)components/airtable_oauth/actions/list-records-in-view/list-records-in-view.mjs(1 hunks)components/airtable_oauth/actions/list-records/list-records.mjs(1 hunks)components/airtable_oauth/actions/search-records/search-records.mjs(1 hunks)components/airtable_oauth/actions/update-comment/update-comment.mjs(1 hunks)components/airtable_oauth/actions/update-field/update-field.mjs(1 hunks)components/airtable_oauth/actions/update-record/update-record.mjs(1 hunks)components/airtable_oauth/actions/update-table/update-table.mjs(1 hunks)components/airtable_oauth/airtable_oauth.app.mjs(1 hunks)components/airtable_oauth/package.json(1 hunks)components/airtable_oauth/sources/common/common.mjs(2 hunks)components/airtable_oauth/sources/new-field/new-field.mjs(1 hunks)components/airtable_oauth/sources/new-modified-or-deleted-records-instant/new-modified-or-deleted-records-instant.mjs(1 hunks)components/airtable_oauth/sources/new-modified-or-deleted-records/new-modified-or-deleted-records.mjs(2 hunks)components/airtable_oauth/sources/new-or-modified-field/new-or-modified-field.mjs(1 hunks)components/airtable_oauth/sources/new-or-modified-records-in-view/new-or-modified-records-in-view.mjs(2 hunks)components/airtable_oauth/sources/new-or-modified-records/new-or-modified-records.mjs(1 hunks)components/airtable_oauth/sources/new-records-in-view/new-records-in-view.mjs(2 hunks)components/airtable_oauth/sources/new-records/new-records.mjs(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: pnpm publish
- GitHub Check: Publish TypeScript components
- GitHub Check: Verify TypeScript components
🔇 Additional comments (30)
components/airtable_oauth/package.json (1)
1-24: Version Bump Verified in Package ManifestThe version update from
"0.4.2"to"0.4.3"is correctly applied and in line with the coordinated versioning across the module. Please ensure that any dependent modules or documentation that reference this version are updated accordingly.components/airtable_oauth/actions/update-field/update-field.mjs (1)
1-9: Version Increment Confirmed in Update Field ActionThe version update to
"0.0.9"is consistent with our versioning strategy. There are no changes to the core functionality, and the update is straightforward.components/airtable_oauth/actions/get-record/get-record.mjs (1)
1-10: Version Update Verified in Get Record ActionThe version bump to
"0.0.10"is correct and aligns with similar updates in related modules. Please verify that all usages of this action are consistent with the new version.components/airtable_oauth/actions/update-comment/update-comment.mjs (1)
1-8: Version Increment Confirmed in Update Comment ActionThe version change from
"0.0.8"to"0.0.9"is correctly applied. Since the changes are solely version-related, everything appears to be in order.components/airtable_oauth/actions/list-records-in-view/list-records-in-view.mjs (1)
9-9: Version Update Consistency
The version was updated to"0.0.9"as part of a coordinated version bump. Please ensure that any enhancements (such as the newly introduced error handling or dynamic filtering support) implemented in shared modules (likecommonList) are thoroughly tested downstream.components/airtable_oauth/actions/create-single-record/create-single-record.mjs (1)
9-9: Coordinated Version Bump
The module version has been updated to"0.0.10", aligning with the overall update effort in related actions. No further changes in logic are present here; just verify that all integrations invoking this action are updated to reflect the new version if needed.components/airtable_oauth/sources/new-or-modified-records/new-or-modified-records.mjs (1)
9-9: Source Version Update Verification
The module’s version has been incremented to"1.0.1". This change is consistent with other updates in the Airtable OAuth sources. Please confirm that any error handling or event-processing logic (if modified in shared methods) behaves as expected.components/airtable_oauth/sources/new-field/new-field.mjs (1)
8-8: Version Increment Confirmation
The version has been updated from"1.0.0"to"1.0.1", keeping with the coordinated release. No functional changes are present; just confirm that downstream consumers are aware of this update if they rely on the version identifier.components/airtable_oauth/sources/new-records/new-records.mjs (1)
8-8: Consistent Version Bump
The module’s version is now"1.0.1". This update is in line with other sources in the package. Although the PR objectives mention dynamic filtering modifications (e.g., renaming a filter parameter), this file only exhibits a version change. Please verify that any related parameter changes are correctly implemented in the appropriate modules.components/airtable_oauth/actions/create-field/create-field.mjs (1)
8-8: Version Bump Updated to "0.1.1"The version update is a straightforward bump and does not affect functionality. This is consistent with the coordinated versioning approach across the component.
components/airtable_oauth/actions/search-records/search-records.mjs (1)
8-8: Version Bump Updated to "0.0.11"The version update here is purely cosmetic and maintains consistent versioning with no impact on logic or functionality.
components/airtable_oauth/actions/get-record-or-create/get-record-or-create.mjs (1)
9-9: Version Bump Updated to "0.0.10"This update solely bumps the version number to reflect new changes without modifying any underlying functionality.
components/airtable_oauth/actions/update-record/update-record.mjs (1)
9-9: Version Bump Updated to "0.0.10"The version field has been incremented appropriately. There are no functional changes in this update.
components/airtable_oauth/actions/create-or-update-record/create-or-update-record.mjs (1)
9-9: Version Bump Updated to "0.1.1"The version update is consistent with the other modules. No modifications to behavior or functionality are introduced.
components/airtable_oauth/actions/update-table/update-table.mjs (1)
7-7: Version Increment UpdateThe version property has been updated to
"0.0.9". This update aligns with the coordinated version bump across related Airtable OAuth components. Ensure that any dependencies or documentation referencing the previous version are updated accordingly.components/airtable_oauth/actions/create-comment/create-comment.mjs (1)
7-7: Version Increment UpdateThe version property is updated to
"0.0.9", maintaining consistency with other similar modules. No functionality changes were introduced here.components/airtable_oauth/actions/create-multiple-records/create-multiple-records.mjs (1)
12-12: Version Increment UpdateThe version property has been updated to
"0.0.9", which is consistent with the updates in the module. There are no functional changes in this hunk—only a version bump to reflect maintenance and minor improvements.components/airtable_oauth/sources/new-or-modified-field/new-or-modified-field.mjs (1)
9-9: Module Version BumpThe version number has been incremented to
"1.0.1". This minor update suggests bug fixes or small improvements. Please verify that any changes (if present) are accordingly documented and that integrations depending on this module are properly notified.components/airtable_oauth/sources/new-modified-or-deleted-records-instant/new-modified-or-deleted-records-instant.mjs (1)
11-11: Version Increment UpdateThe version number for this source has been incremented to
"0.1.1". The change is straightforward and consistent with the overall versioning strategy across the Airtable OAuth components. Ensure that any new error handling or filtering logic (if part of this PR) is adequately tested and documented.components/airtable_oauth/actions/delete-record/delete-record.mjs (1)
8-8: Version increment looks goodVersion has been updated from "0.0.8" to "0.0.9" as part of a coordinated version increment across multiple components in the PR.
components/airtable_oauth/actions/create-table/create-table.mjs (1)
7-7: Version increment looks goodVersion has been updated from "0.0.8" to "0.0.9" as part of a coordinated version increment across multiple components in the PR.
components/airtable_oauth/sources/new-records-in-view/new-records-in-view.mjs (2)
9-9: Version increment looks goodVersion has been updated from "0.0.9" to "0.0.10" as part of a coordinated version increment across the source components in the PR.
54-54: Parameter renamed to standard formatThe parameter has been renamed from
filterByFormulatoformulawhile maintaining the same functionality. This change standardizes the parameter naming across the codebase.components/airtable_oauth/sources/new-or-modified-records-in-view/new-or-modified-records-in-view.mjs (2)
9-9: Version increment looks goodVersion has been updated from "0.0.10" to "0.0.11" as part of a coordinated version increment across the source components in the PR.
53-53: Parameter renamed to standard formatThe parameter has been renamed from
filterByFormulatoformulawhile maintaining the same functionality. This change standardizes the parameter naming across the codebase while using theLAST_MODIFIED_TIME()formula to filter records.components/airtable_oauth/sources/new-modified-or-deleted-records/new-modified-or-deleted-records.mjs (2)
9-9: Version update looks goodVersion number has been properly incremented from 0.0.9 to 0.0.10 to reflect the changes in this component.
55-58: Good optimization for fetching modified recordsThe addition of a formula parameter to filter records based on their last modified time is an effective optimization, especially for large tables. This ensures only records that have been modified since the last check are retrieved.
components/airtable_oauth/sources/common/common.mjs (2)
20-25: Good addition of filterByFormula propertyAdding the
filterByFormulaproperty allows users to define custom filter conditions when configuring the source, enhancing the component's flexibility.
51-64: Well-implemented formula handling logicThe updated
getListRecordsParamsmethod now properly handles formula parameters and combines them with user-defined filter formulas using the AirtableAND()function. This implementation enhances the filtering capabilities while maintaining backward compatibility.components/airtable_oauth/airtable_oauth.app.mjs (1)
285-300: Improved error handling in listRecords methodAdding a try-catch block around the Airtable record selection is a good practice for error handling. This ensures that any failures during record retrieval are properly caught and formatted through the
throwFormattedErrormethod, improving the component's robustness.
michelle0927
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
WHY
Resolves #15982
Summary by CodeRabbit
New Features
Chores