Michael Kret
643d66c0ae
feat(n8n Form Page Node): New node ( #10390 )
...
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Shireen Missi <94372015+ShireenMissi@users.noreply.github.com>
2024-10-17 14:59:53 +01:00
Tomi Turtiainen
e94cda3837
feat: Add support for $env in the js task runner (no-changelog) ( #11177 )
Test Master / install-and-build (push) Waiting to run
Test Master / Unit tests (18.x) (push) Blocked by required conditions
Test Master / Unit tests (20.x) (push) Blocked by required conditions
Test Master / Unit tests (22.4) (push) Blocked by required conditions
Test Master / Lint (push) Blocked by required conditions
Test Master / Notify Slack on failure (push) Blocked by required conditions
Benchmark Docker Image CI / build (push) Waiting to run
2024-10-09 17:31:45 +03:00
Michael Kret
41228b472d
feat: Human in the loop ( #10675 )
...
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
2024-10-07 16:45:22 +03:00
oleg
ef5b7cf9b7
feat(core): Implement Dynamic Parameters within regular nodes used as AI Tools ( #10862 )
2024-10-02 13:31:22 +02:00
Tomi Turtiainen
4f0a1a953f
refactor: Enable import/order for design-system, workflow and @n8n packages ( #10847 )
2024-09-18 10:19:33 +03:00
Ricardo Espinoza
c4eb3746d7
refactor: Use NodeConnectionType
consistently across the code base (no-changelog) ( #10595 )
2024-08-29 09:55:53 -04:00
Iván Ovejero
6cb3072a5d
fix(editor): Use pinned data to resolve expressions in unexecuted nodes ( #9693 )
...
Co-authored-by: Milorad Filipovic <milorad@n8n.io>
Co-authored-by: Mutasem Aldmour <mutasem@n8n.io>
2024-06-27 10:49:53 +02:00
Iván Ovejero
44ea4c73eb
refactor: Remove unused lint directives (no-changelog) ( #9842 )
2024-06-24 12:13:18 +02:00
Danny Martini
4ac9266820
fix(core)!: $(...).[last,first,all]()
defaulting to the first output instead of the output that connects the nodes ( #9760 )
2024-06-19 15:10:30 +02:00
Michael Kret
a00467c9fa
feat(core): Node version available in expression ( #9350 )
2024-05-10 09:51:26 +03:00
Iván Ovejero
d92f994913
fix(editor): Resolve $vars
and $secrets
in expressions in credentials fields ( #9289 )
2024-05-03 14:39:31 +02:00
Iván Ovejero
a3b59843d5
refactor(core): Lint for cyclomatic complexity in BE packages (no-changelog) ( #9111 )
2024-04-10 14:02:02 +02:00
Iván Ovejero
19d9e71cb9
fix(core): Add missing nodeCause
to paired item error ( #8976 )
2024-03-26 18:17:00 +01:00
Elias Meire
45461c8cb5
fix: Overhaul expression error messages related to paired item ( #8765 )
2024-03-21 16:59:22 +01:00
Michael Kret
ed6dc86d60
feat: Add more AI node info to telemetry ( #8827 )
2024-03-07 12:46:07 +02:00
Elias Meire
f9a99ec029
feat: No expression error when node hasn’t executed ( #8448 )
...
Co-authored-by: Giulio Andreini <andreini@netseven.it>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-02-27 10:29:16 +01:00
Jan Oberhauser
ad82f0c0c8
feat(core): Add support for $("NodeName").isExecuted ( #8683 )
2024-02-20 18:25:04 +01:00
oleg
f5274302f8
fix: Fix resolving of expressions of deeply nested sub-nodes ( #8612 )
2024-02-14 10:42:55 +01:00
कारतोफ्फेलस्क्रिप्ट™
cc2f0ada76
ci: Enforce noUnusedLocals
on all backend and nodes packages (no-changelog) ( #8428 )
2024-01-25 14:33:35 +01:00
Iván Ovejero
67702c2485
refactor(core): Switch plain errors in workflow
to ApplicationError
(no-changelog) ( #7877 )
...
Ensure all errors in `workflow` are `ApplicationError` or children of it
and contain no variables in the message, to continue normalizing all the
errors we report to Sentry
Follow-up to: https://github.com/n8n-io/n8n/pull/7873
2023-11-30 12:46:45 +01:00
Iván Ovejero
dff8456382
refactor(core): Reorganize error hierarchy in core
and workflow
packages (no-changelog) ( #7820 )
...
Ensure all errors in `core` and `workflow` inherit from
`ApplicationError` so that we start normalizing all the errors we report
to Sentry
Follow-up to:
https://github.com/n8n-io/n8n/pull/7757#discussion_r1404338844
### `core` package
`ApplicationError`
- `FileSystemError` (abstract)
- `FileNotFoundError`
- `DisallowedFilepathError`
- `BinaryDataError` (abstract)
- `InvalidModeError`
- `InvalidManagerError`
- `InvalidExecutionMetadataError`
### `workflow` package
`ApplicationError`
- `ExecutionBaseError` (abstract)
- `WorkflowActivationError`
- `WorkflowDeactivationError`
- `WebhookTakenError`
- `WorkflowOperationError`
- `SubworkflowOperationError`
- `CliWorkflowOperationError`
- `ExpressionError`
- `ExpressionExtensionError`
- `NodeError` (abstract)
- `NodeOperationError`
- `NodeApiError`
- `NodeSSLError`
Up next:
- Reorganize errors in `cli`
- Flatten the hierarchy in `workflow` (do we really need
`ExecutionBaseError`?)
- Remove `ExecutionError` type
- Stop throwing plain `Error`s
- Replace `severity` with `level`
- Add node and credential types as `tags`
- Add workflow IDs and execution IDs as `extras`
2023-11-27 15:33:21 +01:00
Jan Oberhauser
655efeaf66
feat(core): Add optional Error-Output ( #7460 )
...
Add an additional optional error output to which all items get sent that
could not be processed.

Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/error-connector-for-nodes/3094
https://community.n8n.io/t/error-handling-at-node-level-detect-node-execution-status/26791
---------
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
2023-10-30 18:42:47 +01:00
कारतोफ्फेलस्क्रिप्ट™
35bb42c1b9
refactor(core): Avoid passing around static state like default timezone (no-changelog) ( #7221 )
2023-10-27 14:17:52 +02:00
Iván Ovejero
ec141416e2
fix(core): Fix expression with paired item with multi-input node ( #7424 )
...
https://linear.app/n8n/issue/PAY-630
Minimal repro:
https://internal.users.n8n.cloud/workflow/9HSkIy4T1LqXbm1H
2023-10-12 17:32:14 +02:00
Iván Ovejero
47e8953ec9
fix(core): Fix error on missing paired item data ( #7399 )
...
<img width="1015" alt="Capture 2023-10-11 at 10 07 02@2x"
src="https://github.com/n8n-io/n8n/assets/44588767/0305f62d-0a7b-4ce7-b78f-a8d8454e2532 ">
2023-10-11 11:34:55 +02:00
कारतोफ्फेलस्क्रिप्ट™
00a4b8b0c6
feat(core): Add support for building LLM applications ( #7235 )
...
This extracts all core and editor changes from #7246 and #7137 , so that
we can get these changes merged first.
ADO-1120
[DB Tests](https://github.com/n8n-io/n8n/actions/runs/6379749011 )
[E2E Tests](https://github.com/n8n-io/n8n/actions/runs/6379751480 )
[Workflow Tests](https://github.com/n8n-io/n8n/actions/runs/6379752828 )
---------
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-10-02 17:33:43 +02:00
कारतोफ्फेलस्क्रिप्ट™
8126181e18
fix(editor): Avoid infinite loops when resolving the expression {{ $parameter }}
(no-changelog) ( #6855 )
...
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
2023-08-07 11:52:33 +02:00
Iván Ovejero
72523462ea
refactor: Clear unused ESLint directives from BE packages (no-changelog) ( #6798 )
2023-07-31 11:00:48 +02:00
कारतोफ्फेलस्क्रिप्ट™
bf351243df
fix(Code Node): Install python modules always in a user-writable folder ( #6568 )
...
* upgrade pyodide
* install pyodide modules to a custom user-writable path
* in `augmentObject` `newData` is never undefined
2023-07-07 16:43:45 +02:00
Ricardo Espinoza
3db2707b8e
fix: Show error when referencing node that exist but has not been executed ( #6496 )
...
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-06-23 01:45:54 +02:00
Iván Ovejero
1197811a1e
fix(core)!: Allow syntax errors and expression errors to fail executions ( #6352 )
...
* fix: Unify expression error behavior for v1
* fix: Add `package.json` to `tsconfig.build.json`
* fix: Make `isFrontend` a constant
* fix: Use CommonJS require to read version
* fix: Use `JSON.parse()` and `fs.readFileSync()`
* feat(editor): Make WF name a link on /executions (#6354 )
* make wf name a link in exec view
* link color
* make wf name a link in exec view
* link color
---------
Co-authored-by: Alex Grozav <alex@grozav.com>
* fix: Try restoring inclusions in tsconfig files
* fix: Try with copy
* refactor: Switch base branch and remove global toggle
* chore: Remove unrelated changes
* chore: Restore lockfile
* fix: Ensure all expression errors fail executions
* uncaught ExpressionErrors should not fail e2e tests
---------
Co-authored-by: romainminaud <romain.minaud@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-06-22 21:04:59 +02:00
Jan Oberhauser
4b0e0b7970
fix(core): Fix pairedItem for alwaysOutputData & multi identical resolve ( #6405 )
2023-06-21 10:38:28 +03:00
कारतोफ्फेलस्क्रिप्ट™
f9b3aeac44
refactor(Code Node): Constently handle various kinds of data returned by user code ( #6002 )
2023-04-19 13:09:46 +02:00
Iván Ovejero
b13b7d73e7
fix(core): Fix paired item returning wrong data ( #5898 )
...
* 🐛 Fix paired item returning wrong data
* 🧪 Add e2e test
* ⏪ Restore injection for simulated execution
2023-04-14 13:33:27 +02:00
कारतोफ्फेलस्क्रिप्ट™
c9d9069c0e
refactor(core): Stronger typing for workflow settings (no-changelog) ( #5754 )
2023-03-24 13:11:48 +01:00
Jan Oberhauser
0876c38aae
feat(core): Augment data instead of copying it ( #5487 )
2023-03-16 15:14:34 +01:00
Jan Oberhauser
5f238ea641
fix(editor): Display correct error message for env access ( #5634 )
2023-03-10 14:16:18 +01:00
Iván Ovejero
6d811f0d9f
feat(editor): Completions for extensions in expression editor ( #5130 )
...
* 🔥 Remove test extensions
* 🚧 Add test description
* 📘 Expand types
* ⚡ Export extensions
* ⚡ Export collection
* ⚡ Mark all proxies
* ✏️ Rename for clarity
* ⚡ Export from barrel
* ✨ Create datatype completions
* ⚡ Mount datatype completions
* 🧪 Adjust tests
* ⚡ Add `path` prop
* 🔥 Remove `()` from completion labels
* ⚡ Filter out completions for pseudo-proxies
* 🐛 Fix method error
* ⚡ Add metrics
* ✏️ Improve naming
* ✨ Start completion on empty resolvable
* ✨ Implement completion previews
* ⚡ Break out completion manager
* ⚡ Implement in expression editor modal
* ✏️ Improve naming
* ⚡ Filter out irrelevant completions
* ✨ Add preview hint
* ✏️ Improve comments
* 🎨 Style preview hint
* ⚡ Expand `hasNoParams`
* ⚡ Add spacing for readability
* ⚡ Add error codes
* ✏️ Add comment
* 🐛 Fix Esc behavior
* ⚡ Parse Unicode
* ⚡ Throw on invalid `DateTime`
* ⚡ Fix second root completion detection
* ⚡ Switch message at completable prefix position
* 🐛 Fix function names for non-dev build
* 🐛 Fix `json` handling
* 🔥 Comment out previews
* ♻️ Apply feedback
* 🔥 Remove extensions
* 🚚 Rename extensions
* ⚡ Adjust some implementations
* 🔥 Remove dummy extensions
* 🐛 Fix object regex
* ♻️ Apply feedback
* ✏️ Fix typos
* ✏️ Add `fn is not a function` message
* 🔥 Remove check
* ✨ Add `isNotEmpty` for objects
* 🚚 Rename `global` to `alpha`
* 🔥 Remove `encrypt`
* ⚡ Restore `is not a function` error
* ⚡ Support `week` on `extract()`
* 🧪 Fix tests
* ⚡ Add validation to some string extensions
* ⚡ Validate number arrays in some extensions
* 🧪 Fix tests
* ✏️ Improve error message
* ⏪ Revert extensions framework changes
* 🧹 Previews cleanup
* ⚡ Condense blank completions
* ⚡ Refactor dollar completions
* ⚡ Refactor non-dollar completions
* ⚡ Refactor Luxon completions
* ⚡ Refactor datatype completions
* ⚡ Use `DATETIMEUNIT_MAP`
* ✏️ Update test description
* ⏪ Revert "Use `DATETIMEUNIT_MAP`"
This reverts commit 472a77df5c
.
* 🧪 Add tests
* ♻️ Restore generic extensions
* 🔥 Remove logs
* 🧪 Expand tests
* ✨ Add `Math` completions
* ✏️ List breaking change
* ⚡ Add doc tooltips
* 🐛 Fix node selector regex
* 🐛 Fix `context` resolution
* 🐛 Allow dollar completions in args
* ⚡ Make numeric array methods context-dependent
* 📝 Adjust docs
* 🐛 Fix selector ref
* ⚡ Surface error for valid URL
* 🐛 Disallow whitespace in `isEmail` check
* 🧪 Fix test for `isUrl`
* ⚡ Add comma validator in `toFloat`
* ⚡ Add validation to `$jmespath()`
* ⏪ Revert valid URL error
* ⚡ Adjust `$jmespath()` validation
* 🧪 Adjust `isUrl` test
* ⚡ Remove `{}` and `[]` from compact
* ✏️ Update docs
* 🚚 Rename `stripTags` to `removeTags`
* ⚡ Do not inject whitespace inside resolvable
* ⚡ Make completions aware of `()`
* ✏️ Add note
* ⚡ Update sorting
* ⚡ Hide active node name from node selector
* 🔥 Remove `length()` and its aliases
* ⚡ Validate non-zero for `chunk`
* ✏️ Reword all error messages
* 🐛 Fix `$now` and `$today`
* ⚡ Simplify with `stripExcessParens`
* ⚡ Fold luxon into datatype
* 🧪 Clean up tests
* 🔥 Remove tests for removed methods
* 👕 Fix type
* ⬆️ Upgrade lang pack
* ⏪ Undo change to `vitest` command
* 🔥 Remove unused method
* ⚡ Separate `return` line
* ✏️ Improve description
* 🧪 Expand tests for initial-only completions
* 🧪 Add bracket-aware completions
* ⚡ Make check for `all()` stricter
* ✏️ Adjust explanatory comments
* 🔥 Remove unneded copy
* 🔥 Remove outdated comment
* ⚡ Make naming consistent
* ✏️ Update comments
* ⚡ Improve URL scheme check
* ✏️ Add comment
* 🚚 Move extension
* ✏️ Update `BREAKING-CHANGES.md`
* ✏️ Update upcoming version
* ✏️ Fix grammar
* ✏️ Shorten message
* 🐛 Fix `Esc` behavior
* 🐛 Fix `isNumeric`
* ✨ Support native methods
* 🧪 Skip Pinia tests
* ✏️ Shorten description
* 🔥 Remove outdated comment
* 🧪 Unskip Pinia tests
* ✏️ Add comments
* 🧪 Expand tests to natives
* ✏️ Add clarifying comments
* ⚡ Use `setTimeout` to make telemetry non-blocking
* 🐛 Account for no active node in cred modal
* ✨ Resolve without workflow
* 🔥 Remove `Esc` handling on NDV
* ⚡ Use `isDateTime`
* 🚚 Move `unique` to next phase
This array extension takes optional args.
* ⚡ Merge export
* 🧪 Fix tests
* ⏪ Restore check
* ✏️ Make breaking change description more accurate
* 🧪 Fix e2e tests
2023-02-02 12:35:38 +01:00
Iván Ovejero
2ca959b383
refactor: Integrate consistent-type-imports
in BE packages (no-changelog) ( #5270 )
2023-01-27 14:56:56 +01:00
Jan Oberhauser
3ea83d872e
fix(core): Fix execute-once incoming data handling ( #5211 )
2023-01-23 12:47:07 +01:00
Jan Oberhauser
c9e158e458
fix(core): Throw error in UI on expression referencing missing node but do not fail execution ( #5158 )
...
fix(core): Throw error in UI on expression referencing missing node but
do not fail execution
2023-01-13 16:22:37 +01:00
कारतोफ्फेलस्क्रिप्ट™
b7faf4a0df
fix: Don't throw error on expressions referring to nodes that don't exist in the workflow ( #5155 )
2023-01-13 15:14:03 +01:00
Iván Ovejero
f4140d011f
feat(editor): Introduce proxy completions to expressions ( #5075 )
...
* ⚡ Introduce proxy completions to expressions
* 🧪 Add tests
* ⚡ Replace snippet with alphabetic char completions
* ⚡ Tighten `DateTime` check
* 🧹 Clean up `n8nLang`
* 🔥 Remove duplicate
* 👕 Remove non-null assertion
* ⚡ Confirm that `overlay` is needed
* 🔥 Remove comment
* 🔥 Remove more unneeded code
* 🔥 Remove unneded Pinia setup
* ⚡ Simplify syntax
2023-01-06 10:07:36 +01:00
Iván Ovejero
d9b98fc8be
refactor: Lint for no unneeded backticks ( #5057 ) (no-changelog)
...
* ✨ Create rule `no-unneeded-backticks`
* 👕 Enable rule
* ⚡ Run rule on `cli`
* ⚡ Run rule on `core`
* ⚡ Run rule on `workflow`
* ⚡ Rule rule on `design-system`
* ⚡ Run rule on `node-dev`
* ⚡ Run rule on `editor-ui`
* ⚡ Run rule on `nodes-base`
2022-12-29 12:20:43 +01:00
कारतोफ्फेलस्क्रिप्ट™
5db9c46043
ci: Break most of the circular dependencies in code (no-changelog) ( #4990 )
2022-12-21 10:46:26 +01:00
Iván Ovejero
07b2f7678c
fix(core): Remove nodeGetter
checks ( #4883 )
...
🔥 Remove `nodeGetter` checks
2022-12-12 09:46:53 +01:00
Jan Oberhauser
38d7300d2a
fix(Split In Batches Node): Fix issue with pairedItem ( #4873 )
...
fix(SplitInBatches Node): Fix issue with pairedItem
2022-12-09 13:39:06 +01:00
Iván Ovejero
0bd13c7173
fix(core): Make expression resolution improvements ( #4829 )
...
⚡ Make expression resolution improvements
2022-12-07 12:07:32 +01:00
Iván Ovejero
59771c80ea
feat(editor): Overhaul expression editor modal ( #4631 )
...
* feat(editor): Integrate CodeMirror into expression editor modal (#4563 )
* ✨ Initial setup
* 👕 Fix lint
* ⚡ Extract segments
* ⚡ Implement var insertion
* 👕 Ignore `.d.cts`
* ⚡ Refactor to simplify
* ✨ Add brace handler
* ✨ Fully replace input and output
* feat(editor): Adjust resolved expression to match parameter input hint (#4600 )
* ✨ Initial adjustments
* 🐛 Prevent empty decorations
* ⚡ Adjust resolved expression to match param input hint
* ✏️ Improve comment
* 👕 Remove lint rule
* ✏️ Fix typo
* ✏️ Fix closing brace
* ⚡ Clean up `displayableSegments()`
* feat(editor): Apply styling to expression editor modal (#4607 )
🎨 Apply styling
* feat(core): Improve errors in evaluated expression (#4619 )
* 🐛 Fix env var access for FE
* 🔥 Remove excess closing bracket
* 🚧 Set up TODO
* ✏️ Update copy
* ⚡ Deny env vars access to FE
* 👕 Remove unneeded lint exception
* 📘 Remove unneeded typing
* feat(editor): Dynamically delay evaluation resolution (#4625 )
* ✏️ Update copy
* ⚡ Dynamically delay evaluation resolution
* 🔥 Remove unneeded computed property
* refactor(editor): Pre-review cleanup (#4627 )
* 🔥 Remove `ExpressionInput` component
* 🔥 Remove Quill
* ✏️ Rename i18n key
* 🎨 Place border on correct element
* 🐛 Handle syntax errors
* ⚡ Add sample autocompletions
* 🐛 Fix auto-extending behavior
* feat(editor): Improve escaping behavior (#4641 )
* 🎨 Hide hint on small screen
* ⚡ Improve escaping
* refactor(editor): Apply styling feedback to expression editor modal (#4660 )
* 🎨 Restyle hint
* 🎨 Restyle param input hint
* 🔥 Remove `e.g.`
* ⚡ Tweak delay
* 🎨 Restyle output
* 🎨 Tweak theme
* ✏️ Tweak copy
* refactor(editor): Apply feedback 2022.11.22 (#4697 )
* 🎨 Change background color
* ⚡ Focus on mount
* ⚡ Account for preexisting braces on injection
* 🐛 Fix `$workflow` showing as not saved
* ✏️ Tweak copy
* 🐛 Fix readonly focus
* ⚡ Focus input on paste
* ⚡ Sync inputs with modal
* ✏️ Tweak copy
* refactor(editor): Apply feedback 2022.11.23 (#4705 )
* ⚡ Allow newlines
* ⚡ Set cursor at end of content
* ⚡ Do not defocus on paste on Chrome
* ⚡ Fix import
* 🧪 Add e2e tests
* ⚡ Cleanup
* ⚡ Add telemetry
* 🔥 Remove log
* ⚡ Expose error properties
* 🧪 Rename test
* ⚡ Move `getCurrentWorkflow()` call
* ⏪ Revert highlighting removal per feedback
* ⚡ Add i18n keys
* 🚚 Move computed property to local state
* 🎨 Use CSS vars
* ⚡ Update `pnpm-lock.yaml`
* ⚡ Apply readonly state
* ⚡ Use prop
* ⚡ Complete fix
2022-12-01 13:26:22 +01:00
Iván Ovejero
3d67df490c
fix(core): Fix $items().length
in Execute Once mode ( #4755 )
...
* 🐛 Fix `$items.length` in Execute Once mode
* 🔥 Remove logging
2022-11-29 17:30:39 +01:00