Iván Ovejero
c4e39451db
refactor(core): Continue breaking dependency cycles (no-changelog) ( #8545 )
2024-02-06 10:08:46 +01:00
Iván Ovejero
dc5ec8f946
refactor(core): Streamline flows in multi-main mode (no-changelog) ( #8446 )
2024-02-05 09:26:55 +01:00
Iván Ovejero
92f939f827
fix(core): Fix workflow tagging failure due to unique constraint check ( #8505 )
2024-02-02 12:36:55 +01:00
कारतोफ्फेलस्क्रिप्ट™
5832d3ca46
fix(core): Fix PermissionChecker.check, and add additional unit tests ( #8528 )
2024-02-02 12:21:53 +01:00
Iván Ovejero
dac511b710
refactor(core): Modernize credentials controllers and services (no-changelog) ( #8488 )
...
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-01-31 09:48:48 +01:00
Iván Ovejero
9e93980957
fix(core): Prevent calling internal hook email event if emailing is disabled ( #8462 )
...
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-01-29 16:15:30 +01:00
Iván Ovejero
db48bdd6d1
fix(core): Handle zero execution statistics on metrics collection during license renewal ( #8463 )
2024-01-26 17:50:19 +01:00
कारतोफ्फेलस्क्रिप्ट™
c70fa66e76
refactor(core): Use DI for WorkflowRunner (no-changelog) ( #8372 )
2024-01-26 13:49:39 +01:00
कारतोफ्फेलस्क्रिप्ट™
7c49004018
refactor(core): Use DI for eventBus code - Part 1 (no-changelog) ( #8434 )
2024-01-26 12:21:15 +01:00
कारतोफ्फेलस्क्रिप्ट™
d6deceacde
refactor(core): Remove roleId indirection (no-changelog) ( #8413 )
2024-01-24 13:38:57 +01:00
Iván Ovejero
c0bc94c78f
refactor(core): Finish removing UserManagementHelper
(no-changelog) ( #8418 )
2024-01-23 13:58:31 +01:00
Iván Ovejero
a0a1830696
feat(core): Email recipients on resource shared ( #8408 )
2024-01-23 12:03:59 +01:00
Danny Martini
ae06fdeb62
fix(core): Fix update workflow cli command being unable to activate all workflows ( #8412 )
...
Co-authored-by: Daniel Schröder <daniel.schroeder@skriptfabrik.com>
2024-01-23 10:59:06 +01:00
कारतोफ्फेलस्क्रिप्ट™
913c8c6b0c
feat(core): Upgrade oclif (no-changelog) ( #8381 )
2024-01-22 18:25:36 +01:00
Cornelius Suermann
d597c2ab29
feat: Extend collection of usage metrics during license renewal (no-changelog) ( #8369 )
...
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2024-01-22 12:29:28 +01:00
Iván Ovejero
f35d4fcbd8
refactor(core): Simplify OrchestrationService
(no-changelog) ( #8364 )
2024-01-22 11:16:29 +01:00
Tomi Turtiainen
99457019f7
feat: Nudge users to become template creators if eligible ( #8357 )
2024-01-17 19:07:34 +02:00
Tomi Turtiainen
9a1cc56806
fix: Set '@typescript-eslint/return-await' rule to 'always' for node code (no-changelog) ( #8363 )
...
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-01-17 17:08:50 +02:00
Iván Ovejero
2eb829a6b4
refactor(core): Use DI in execution services (no-changelog) ( #8358 )
2024-01-17 15:42:19 +01:00
कारतोफ्फेलस्क्रिप्ट™
7cdbb424e3
refactor(core): Move methods from WorkflowHelpers into various workflow services (no-changelog) ( #8348 )
2024-01-17 10:16:13 +01:00
Iván Ovejero
7bb2d1799e
refactor(core): Consolidate executions controllers (no-changelog) ( #8349 )
2024-01-16 16:52:21 +01:00
Ricardo Espinoza
3c2a4000ae
refactor(core): Use DI for LDAP code (no-changelog) ( #8248 )
...
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-01-15 09:01:48 -05:00
Iván Ovejero
1a0e285553
feat(core): Implement inter-main communication for test webhooks in multi-main setup ( #8267 )
2024-01-12 11:48:58 +01:00
Omar Ajoue
8a7c629ea1
fix: Store workflow settings when saving an execution ( #8288 )
2024-01-10 14:20:37 +00:00
Iván Ovejero
0dabe5c74e
fix: Fix user reinvites on FE and BE ( #8261 )
2024-01-09 13:52:34 +01:00
Tomi Turtiainen
8affdf680d
fix: Hide cred setup button from canvas (no-changelog) ( #8255 )
2024-01-08 13:59:04 +02:00
Iván Ovejero
90c065e999
refactor(core): Convert workflows controller to DI (no-changelog) ( #8253 )
2024-01-08 12:54:23 +01:00
Iván Ovejero
f2939568cf
perf(core): Optimize workflow activation errors ( #8242 )
...
At https://github.com/n8n-io/n8n/pull/8213 we introduced Redis hashes
for workflow ownership and manual webhooks...
- to remove clutter from multiple related keys at the top level,
- to improve performance by preventing serializing-deserializing, and
- to guarantee atomicity during concurrent updates in multi-main setup.
Workflow activation errors can also benefit from this. Added test
coverage as well.
To test manually, create a workflow with a trigger with an invalid
credential, edit the workflow's `active` column to `true`, and restart.
The activation error should show as a red triangle on canvas and in the
workflow list.
2024-01-05 13:06:42 +01:00
Iván Ovejero
f53c482939
perf(core): Improve caching service ( #8213 )
...
Story: https://linear.app/n8n/issue/PAY-1188
- Implement Redis hashes on the caching service, based on Micha's work
in #7747 , adapted from `node-cache-manager-ioredis-yet`. Optimize
workflow ownership lookups and manual webhook lookups with Redis hashes.
- Simplify the caching service by removing all currently unused methods
and options: `enable`, `disable`, `getCache`, `keys`, `keyValues`,
`refreshFunctionEach`, `refreshFunctionMany`, `refreshTtl`, etc.
- Remove the flag `N8N_CACHE_ENABLED`. Currently some features on
`master` are broken with caching disabled, and test webhooks now rely
entirely on caching, for multi-main setup support. We originally
introduced this flag to protect against excessive memory usage, but
total cache usage is low enough that we decided to drop this setting.
Apparently this flag was also never documented.
- Overall caching service refactor: use generics, reduce branching, add
discriminants for cache kinds for better type safety, type caching
events, improve readability, remove outdated docs, etc. Also refactor
and expand caching service tests.
Follow-up to: https://github.com/n8n-io/n8n/pull/8176
---------
Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
2024-01-05 11:52:44 +01:00
कारतोफ्फेलस्क्रिप्ट™
cfe9525dd4
fix(core): Better input validation for the changeRole endpoint ( #8189 )
...
also refactored the code to
1. stop passing around `scope === 'global'`, since this code can be used
only for changing globalRole.
2. leak less details when input validation fails.
## Review / Merge checklist
- [x] PR title and summary are descriptive
- [x] Tests included
2024-01-03 09:33:35 +01:00
Iván Ovejero
ece48d6a13
refactor(core): Unify workflow controllers (no-changelog) ( #8175 )
...
Combine EE workflows controller into main workflows controller,
protecting paid functionality behind feature flag checks.
2023-12-29 14:23:58 +01:00
Iván Ovejero
e418d42450
refactor(core): Move typeorm
operators from various sources into repositories (no-changelog) ( #8174 )
...
Follow-up to: #8165
2023-12-28 13:14:10 +01:00
Iván Ovejero
2c6ffb0153
fix(core): Minor improvements to multi-main setup (no-changelog) ( #8012 )
...
- Move webhook, poller and trigger activation logs closer to activation
event
- Enrich response of `/debug/multi-main-setup`
- Ensure workflow updates broadcast activation state changes only if
state changed
- Fix bug on workflow activation after leadership change
- Ensure debug controller is not available in production
---------
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-12-27 16:55:01 +01:00
कारतोफ्फेलस्क्रिप्ट™
f69ddcd796
refactor(core): Use Dependency Injection for all Controller classes (no-changelog) ( #8146 )
...
## Review / Merge checklist
- [x] PR title and summary are descriptive
2023-12-27 11:50:43 +01:00
कारतोफ्फेलस्क्रिप्ट™
4007163651
refactor(core): Delete unused code, and fix typings in tests (no-changelog) ( #8142 )
2023-12-22 15:41:29 +01:00
कारतोफ्फेलस्क्रिप्ट™
021add0f39
refactor(core): Move active workflows endpoints to a decorated controller class (no-changelog) ( #8101 )
...
This is a continuation of migrating all rest endpoints to decorated controller classes
2023-12-22 11:28:42 +01:00
Iván Ovejero
9ac8825a67
refactor(core): Move error execution creation to execution service (no-changelog) ( #8006 )
...
Continue breaking down legacy helpers.
Note: `getUserById` is unused.
2023-12-21 14:15:46 +01:00
Iván Ovejero
38d1336fa7
refactor: Add telemetry for RBAC (no-changelog) ( #8056 )
...
https://linear.app/n8n/issue/PAY-1142
2023-12-19 17:02:52 +01:00
कारतोफ्फेलस्क्रिप्ट™
a63d94f28c
refactor(core): Move license endpoints to a decorated controller class (no-changelog) ( #8074 )
2023-12-19 12:13:19 +01:00
Iván Ovejero
73d400a1bf
refactor(core): Inject dependencies into workflow services (no-changelog) ( #8066 )
...
Inject dependencies into workflow services (no-changelog)
Up next:
- ~~Make workflow services injectable~~ #8033
- ~~Inject dependencies into workflow services~~ (current)
- Consolidate workflow controllers into one
- Make workflow controller injectable
- Inject dependencies into workflow controller
2023-12-18 16:10:30 +01:00
Iván Ovejero
1e7a309e63
refactor(core): Make workflow services injectable (no-changelog) ( #8033 )
...
Refactor static workflow service classes into DI-compatible classes
Context: https://n8nio.slack.com/archives/C069HS026UF/p1702466571648889
Up next:
- Inject dependencies into workflow services
- Consolidate workflow controllers into one
- Make workflow controller injectable
- Inject dependencies into workflow controller
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-12-15 12:59:56 +01:00
Iván Ovejero
c5e6ba8cdd
fix(core): Restore workflow ID during execution creation ( #8031 )
...
## Summary
Restore workflow ID during execution creation removed by [this
PR](https://github.com/n8n-io/n8n/pull/8002/files#diff-c8cbb62ca9ab2ae45e5f565cd8c63fff6475809a6241ea0b90acc575615224af ).
The missing workflow ID, and more generally the fact that `workflow.id`
is optional when it should not be, causes `PermissionChecker.check` to
misreport a credential as inaccessible when it should be accessible.
More generally, start reporting ID-less workflows so we can root them
out and prevent this at type level.
## Related tickets and issues
https://n8nio.slack.com/archives/C035KBDA917/p1702539465555529
2023-12-14 18:13:12 +01:00
Iván Ovejero
53c0b49d15
fix(core): Initialize queue once in queue mode ( #8025 )
...
We're initializing the queue twice because of a [bad
merge](2c63474538
).
No associated known bugs but no need to init the queue twice. We should
follow up by investigating if any pending bugs can be associated to
this.
2023-12-14 16:16:12 +01:00
Iván Ovejero
7b5d0a9546
refactor(core): Introduce import service (no-changelog) ( #8001 )
...
Consolidate import logic into import service.
Also fixes:
- https://linear.app/n8n/issue/PAY-1086
- https://github.com/n8n-io/n8n/issues/7881
-
https://community.n8n.io/t/cli-workflow-imports-failing-after-upgrade-to-v1-18-0/33780
- https://linear.app/n8n/issue/PAY-221
- https://github.com/n8n-io/n8n/issues/5477
- https://community.n8n.io/t/export-workflows-with-tags-got-created/6161
2023-12-13 10:00:21 +01:00
Iván Ovejero
d0e44d450f
feat(core): Add multi-main setup debug endpoint (no-changelog) ( #7991 )
...
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.
Adi's idea here to help diagnose:
https://n8nio.slack.com/archives/C069KJBJ8HE/p1702300349277609?thread_ts=1702299930.728029&cid=C069KJBJ8HE
...
#### How to test the change:
1. ...
## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers
...
## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md ))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs ) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
>
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227 )
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce )
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e ).
2023-12-12 15:18:32 +01:00
कारतोफ्फेलस्क्रिप्ट™
1d870412ca
refactor(core): Don't use DB transactions on ExecutionRepository.createNewExecution ( #8002 )
...
Saving execution data is one of the slowest DB operations in the
application, and is likely behind some of the sqlite transaction
concurrency issues we've been seeing.
This not only remove the 2 separate transactions for saving
`ExecutionEntity` and `ExecutionData`, but also remove fields from
`ExecutionData.workflowData` that don't need to be saved (like `tags`,
`shared`, `statistics`, `triggerCount`, etc).
2023-12-12 14:36:56 +01:00
Iván Ovejero
c378f60a25
refactor(core): Introduce password utility (no-changelog) ( #7979 )
...
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.
Continue breaking down `UserManagementHelper.ts`
...
#### How to test the change:
1. ...
## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers
...
## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md ))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs ) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
>
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227 )
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce )
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e ).
2023-12-11 18:23:42 +01:00
Val
42e828d5c6
fix: Restrict updating/deleting of shared but not owned credentials ( #7950 )
...
## Summary
Fix shared members being able to edit and delete credentials they don't
own
#### How to test the change:
1. ...
## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers
...
## Review / Merge checklist
- [x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md ))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs ) or follow-up
ticket created.
- [x] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
>
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227 )
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce )
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e ).
2023-12-07 10:35:40 +00:00
Ricardo Espinoza
f5502cc628
fix(core): Make sure mfa secret and recovery codes are not returned on login ( #7936 )
...
## Summary
What: Fix issue of login endpoint returning secret and recovery codes
when MFA is enabled. Bug was introduced in this
[PR](https://github.com/n8n-io/n8n/pull/6994 ), specifically in this
[line](https://github.com/n8n-io/n8n/pull/6994/files#diff-95a87cb029a3d26e6722df2e68132453fc254fc1f4540cbdaa95cfdbda1893deL91 ).
Why: We should not be filtering the secret and recovery codes
Same PR caused the issues on ticket ->
https://linear.app/n8n/issue/ADO-1494/on-user-list-copy-password-reset-link-and-copy-invite-link-are-broken
## Review / Merge checklist
- [x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md ))
- [x] [Docs updated](https://github.com/n8n-io/n8n-docs ) or follow-up
ticket created.
- [x] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
>
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227 )
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce )
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e ).
2023-12-06 10:00:13 +01:00
Val
9604b87da9
fix: Return scopes on invitation accept endpoint (no-changelog) ( #7917 )
...
## Summary
Return scopes on the invitation accept endpoint. The UI uses information
until the user refreshes the pages so it's causing inconsistency for the
new admin role.
#### How to test the change:
1. ...
## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers
...
## Review / Merge checklist
- [x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md ))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs ) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
>
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227 )
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce )
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e ).
2023-12-05 11:18:41 +01:00