-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Feature - HTTP request node #12509
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
Merged
FelixMalfait
merged 158 commits into
twentyhq:main
from
abdulrahmancodes:feat/http-request-node
Jun 13, 2025
Merged
Feature - HTTP request node #12509
FelixMalfait
merged 158 commits into
twentyhq:main
from
abdulrahmancodes:feat/http-request-node
Jun 13, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…a for HTTP requests in workflow actions
… HTTP request actions
…ith default settings
…ted utility functions for header type and icon color
…kflowRunStepNodeDetail and WorkflowStepDetail for handling HTTP request actions
…ok for form management and move HTTP methods and placeholders to constants.
Fixes twentyhq#10177 Modified `usePersistField` to check for deep equality between the value to persist and the current record store value before sending an update query.
…YY, YYYY/MM/DD) (twentyhq#12333) Closes twentyhq#12152 https://github.com/user-attachments/assets/53640777-578f-4de8-a1f8-52d409a7582d --------- Co-authored-by: etiennejouan <[email protected]>
better logging to troubleshoot calendar events failure : ``` [Nest] 1 - � [GoogleCalendarGetEventsService] Error: internal_failure� ```
…q#12368) # Improved participant matching with additional emails support Closes twentyhq#8991 This PR extends the participant matching system to support additional emails in addition to primary emails for both calendar events and messages. Previously, the system only matched participants based on primary emails, missing matches with secondary email addresses. - Contact creation now consider both primary and additional emails when checking for existing contacts - Calendar and message participant listeners now handle both primary and additional email changes - Added tests ## To test this PR: Check that: - Primary emails take precedence over additional emails in matching - Case-insensitive email comparisons work correctly - A contact is not created if a person already exists with the email as its additional email - Event listeners handle both creation and update scenarios - Matching and unmatching logic works for complex email change scenarios - When unmatching after a change in a primary or secondary email, events and messages should be rematched if another person has this email as its primary or secondary email. --------- Co-authored-by: guillim <[email protected]>
https://github.com/user-attachments/assets/3bea63cc-b098-4252-8787-fc6263f01e8d Closes twentyhq#12277 --------- Co-authored-by: prastoin <[email protected]> Co-authored-by: Charles Bochet <[email protected]>
Follow up on twentyhq#12368 --------- Co-authored-by: Thomas des Francs <[email protected]>
Add a post hook to restore workflow sub-entities
As title Fix consist by awaiting for getFunctionInputFromSourceCode response
## Before <img width="492" alt="image" src="https://github.com/user-attachments/assets/6c85baea-3b58-4196-87ab-dcc7bcb4e5ca" /> ## After <img width="477" alt="image" src="https://github.com/user-attachments/assets/0428f1f0-ef73-4fa1-b778-d1536a8b84e6" />
If you tried to add a delay in `refreshObjectMetadataItems` like this` await new Promise((resolve) => setTimeout(resolve, 5000))`, then this caused an issue where the user was redirected to his workspace because the metadata was not loaded. This happened because I had removed the call to fetch metadata explicitly in useAuth (instead relying on the effect to fetch it because it was done twice). I had removed it because this was causing issues in the onboarding process where /metadata was called too early and then cached with the wrong reply. The correct fix is instead to change the fetch policy to `network only` to stop hiding re-renders to the object metadata effect with Apollo's cache mechanism. Now the [] reply isn't cached in the onboarding, the metadata effect is only triggered during initial page load and refresh should be called explicitely. I also noticed a bug on the server side where sometimes the frontend was passing a token for public requests (login token exchange request, public domain data request). I removed the check so that the backend completely ignores the token when it's passed on public request. The downside is that we're losing information for logs (who did that request to a public endpoint), but it doesn't make much sense to throw authentication errors on that endpoint imo. Probably a better root-cause fix would be to understand why a token is still passed on the frontend, but that would require more investigation — the bug happened when I was signing up and redirected from the app.xxx domain to the workspace domain
Fixes twentyhq#11942 This PR creates two different dropdown z indexes, one for normal dropdowns, and one for the dropdowns inside modals.
Closes twentyhq#12427 This PR introduces a comprehensive search filter system that enhances the application's data filtering capabilities. At its core, the implementation leverages a custom useSearchFilter hook that manages search state and operations, providing a consistent search experience across different components. The search functionality is optimized for performance through debounced operations (500ms) and efficient state management using Recoil. Users can trigger search through keyboard shortcuts (Ctrl/Cmd + F) or UI interactions, with the system maintaining search state persistence and providing clear visual feedback. The implementation integrates seamlessly with the existing record filtering system, view bar components, and advanced filter system, while ensuring good performance through optimized re-renders and component state isolation. https://github.com/user-attachments/assets/12936189-fba8-44b3-a30c-d8cb6d6bd514 --------- Co-authored-by: Félix Malfait <[email protected]> Co-authored-by: Félix Malfait <[email protected]> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: Marie <[email protected]> Co-authored-by: Charles Bochet <[email protected]> Co-authored-by: Jordan Chalupka <[email protected]> Co-authored-by: Charles Bochet <[email protected]> Co-authored-by: Thomas Trompette <[email protected]> Co-authored-by: Guillim <[email protected]> Co-authored-by: Raphaël Bosi <[email protected]> Co-authored-by: jaspass04 <[email protected]> Co-authored-by: martmull <[email protected]> Co-authored-by: Thomas des Francs <[email protected]> Co-authored-by: Etienne <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions <[email protected]> Co-authored-by: Weiko <[email protected]> Co-authored-by: Matt Dvertola <[email protected]> Co-authored-by: guillim <[email protected]> Co-authored-by: Zeroday BYTE <[email protected]>
Created by Github action --------- Co-authored-by: github-actions <[email protected]>
Cleaning up to prepare for a few tests
- Add some subfield imports : primaryLinkLabel / primaryPhoneCallingCode / additionalPhones - Add validation rules for field and subfield Comments - Check other validations that can be done - Refacto on subFieldKey ("...Label") - Add global tests on validation step - [issue](twentyhq/core-team-issues#1067) closes twentyhq/core-team-issues#903 closes twentyhq/core-team-issues#910 closes twentyhq/core-team-issues#985 closes twentyhq/core-team-issues#904
Created by Github action --------- Co-authored-by: github-actions <[email protected]>
…tests for clarity and focus.
…by removing isDefined utility
…nd icon assignment based on action type and name
… values instead of using msg macro
…tency and readability
…el to 'URL' for consistency in display
…abel to 'HTTP Method' for consistency in capitalization
…cing InputMode type with a boolean state for raw JSON. Update conditional rendering for input fields accordingly.
…put and WorkflowEditActionHttpRequest components
… in enrichment check, clarifying OutputSchema handling for both code and HTTP request types.
…' for improved clarity
…ext' for better representation
… for improved readability and efficiency
…quest story for clarity
…story for consistency
FelixMalfait
approved these changes
Jun 13, 2025
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.
Great work!!!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #1072
Screen.Recording.2025-06-10.at.5.20.37.PM.mov