-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Enhance Aidaform component with new sources for monitoring form creat… #19055
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
…ion and responses. Added `New Form Created` and `New Form Response` sources, enabling event emission for new forms and responses. Updated `aidaform.app.mjs` with new prop definitions and methods for form management. Bump version to 0.7.0 in package.json.
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
WalkthroughThe changes refactor the AidaForm app module with a new API helper suite including pagination, URL construction, and request utilities, then introduce two new polling sources to monitor form creation and new form responses respectively. Changes
Sequence Diagram(s)sequenceDiagram
participant Timer
participant Source as Response Source
participant App as aidaform.app
participant API as AidaForm API
participant DB as State (db)
Timer->>Source: trigger run()
Source->>DB: _getLastDate()
DB-->>Source: lastDate
Source->>App: listResponses(formId)
App->>App: paginate({fn, params})
loop For each paginated batch
App->>API: GET /forms/{formId}/responses?limit=100&marker=X
API-->>App: responses + marker
App-->>App: yield each response
end
App-->>Source: responses array
Source->>Source: filter(created_at > lastDate)
Source->>Source: sort descending, reverse for emit
Source->>Source: emit each response (oldest→newest)
Source->>DB: _setLastDate(newest.created_at)
DB-->>Source: state saved
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes
Areas requiring extra attention:
Pre-merge checks and finishing touches❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
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.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (4)
components/aidaform/aidaform.app.mjs(1 hunks)components/aidaform/package.json(1 hunks)components/aidaform/sources/new-form-response/new-form-response.mjs(1 hunks)components/aidaform/sources/new-form/new-form.mjs(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-06-04T17:52:05.780Z
Learnt from: GTFalcao
Repo: PipedreamHQ/pipedream PR: 16954
File: components/salesloft/salesloft.app.mjs:14-23
Timestamp: 2025-06-04T17:52:05.780Z
Learning: In the Salesloft API integration (components/salesloft/salesloft.app.mjs), the _makeRequest method returns response.data which directly contains arrays for list endpoints like listPeople, listCadences, listUsers, and listAccounts. The propDefinitions correctly call .map() directly on these responses without needing to destructure a nested data property.
Applied to files:
components/aidaform/aidaform.app.mjs
📚 Learning: 2025-09-15T22:01:11.472Z
Learnt from: GTFalcao
Repo: PipedreamHQ/pipedream PR: 18362
File: components/leonardo_ai/actions/generate-image/generate-image.mjs:103-105
Timestamp: 2025-09-15T22:01:11.472Z
Learning: In Pipedream components, pipedream/platform's axios implementation automatically excludes undefined values from HTTP requests, so there's no need to manually check for truthiness before including properties in request payloads.
Applied to files:
components/aidaform/aidaform.app.mjs
📚 Learning: 2024-10-10T19:18:27.998Z
Learnt from: GTFalcao
Repo: PipedreamHQ/pipedream PR: 14265
File: components/the_magic_drip/sources/common.mjs:35-43
Timestamp: 2024-10-10T19:18:27.998Z
Learning: In `components/the_magic_drip/sources/common.mjs`, when processing items in `getAndProcessData`, `savedIds` is intentionally updated with IDs of both emitted and non-emitted items to avoid emitting retroactive events upon first deployment and ensure only new events are emitted as they occur.
Applied to files:
components/aidaform/sources/new-form/new-form.mjscomponents/aidaform/sources/new-form-response/new-form-response.mjs
🧬 Code graph analysis (2)
components/aidaform/sources/new-form/new-form.mjs (1)
components/aidaform/sources/new-form-response/new-form-response.mjs (2)
lastDate(35-35)responseArray(44-44)
components/aidaform/sources/new-form-response/new-form-response.mjs (1)
components/aidaform/sources/new-form/new-form.mjs (2)
lastDate(29-29)responseArray(30-30)
⏰ 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). (4)
- GitHub Check: pnpm publish
- GitHub Check: Publish TypeScript components
- GitHub Check: Verify TypeScript components
- GitHub Check: Lint Code Base
lcaresia
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!
For Integration QA: |
|
Hi everyone, all test cases are passed! Ready for release! Test reports
|
Resolves #13338
Summary by CodeRabbit
New Features
Chores