Iván Ovejero
6b52bebf52
refactor(core): Tear down internal hooks (no-changelog) ( #10340 )
2024-08-12 10:13:15 +02:00
Iván Ovejero
aa0a470dce
refactor(core): Clean up event relays (no-changelog) ( #10284 )
2024-08-02 16:52:49 +02:00
कारतोफ्फेलस्क्रिप्ट™
efb71dd9ad
fix(core): Fix oauth2 callback and add integration tests (no-changelog) ( #10272 )
2024-08-01 11:02:36 +02:00
Tomi Turtiainen
3d23f2f333
test(core): Fix typing issues in tests (no-changelog) ( #10244 )
2024-07-30 20:24:01 +02:00
Iván Ovejero
2c710ac7d2
refactor(core): Clean up Prometheus service (no-changelog) ( #10068 )
2024-07-18 10:27:35 +02:00
Iván Ovejero
8b2f76b92e
refactor(core): Decouple projects telemetry (no-changelog) ( #10081 )
2024-07-17 11:56:27 +02:00
Iván Ovejero
b42f652f1b
test(core): Add tests for Prometheus metrics service (no-changelog) ( #10050 )
2024-07-15 12:16:27 +02:00
Val
1d5b9836ca
fix: Rename LDAP files to include .ee (no-changelog) ( #9943 )
2024-07-05 09:51:16 +02:00
Iván Ovejero
c82579bf76
fix(core): Disconnect Redis after pausing queue during worker shutdown ( #9928 )
...
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-07-04 18:07:47 +02:00
कारतोफ्फेलस्क्रिप्ट™
3b70330ff6
refactor(core): Auto-register controllers at startup (no-changelog) ( #9781 )
2024-06-19 09:57:40 +02:00
कारतोफ्फेलस्क्रिप्ट™
2d02c73fbd
refactor(core): Refactor cli command tests (no-changelog) ( #9731 )
2024-06-18 10:50:39 +02:00
Iván Ovejero
817167cf4b
refactor(core): Merge event bus controllers and remove dead code (no-changelog) ( #9688 )
2024-06-10 17:38:02 +02:00
Iván Ovejero
d21ad15c1f
fix(core): Fix 431 for large dynamic node parameters ( #9384 )
2024-05-21 19:11:02 +02:00
Csaba Tuncsik
596c472ecc
feat: RBAC ( #8922 )
...
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Valya Bullions <valya@n8n.io>
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: Danny Martini <despair.blue@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: oleg <me@olegivaniv.com>
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: Elias Meire <elias@meire.dev>
Co-authored-by: Giulio Andreini <andreini@netseven.it>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Ayato Hayashi <go12limchangyong@gmail.com>
2024-05-17 10:53:15 +02:00
Iván Ovejero
7b925ab871
refactor(core): Rename ActiveWorkflowRunner
to ActiveWorkflowManager
(no-changelog) ( #9280 )
2024-05-06 17:54:05 +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
कारतोफ्फेलस्क्रिप्ट™
a7108d14f9
fix(core): Some more browser-id related fixes (no-changelog) ( #9102 )
2024-04-10 10:37:23 +02:00
Iván Ovejero
ef45da95f1
test(core): Improve coverage for ActiveWorkflowRunner
(no-changelog) ( #8946 )
2024-03-25 17:59:59 +01:00
कारतोफ्फेलस्क्रिप्ट™
56c8791aff
refactor(core): Remove all legacy auth middleware code (no-changelog) ( #8755 )
2024-02-28 13:12:28 +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
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
कारतोफ्फेलस्क्रिप्ट™
c70fa66e76
refactor(core): Use DI for WorkflowRunner (no-changelog) ( #8372 )
2024-01-26 13:49:39 +01:00
कारतोफ्फेलस्क्रिप्ट™
d6deceacde
refactor(core): Remove roleId indirection (no-changelog) ( #8413 )
2024-01-24 13:38:57 +01:00
Iván Ovejero
f35d4fcbd8
refactor(core): Simplify OrchestrationService
(no-changelog) ( #8364 )
2024-01-22 11:16:29 +01: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
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
90c065e999
refactor(core): Convert workflows controller to DI (no-changelog) ( #8253 )
2024-01-08 12:54:23 +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
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
कारतोफ्फेलस्क्रिप्ट™
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
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
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
Iván Ovejero
29e7a98f3e
test(core): Use license mocker in RBAC tests (no-changelog) ( #7912 )
...
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.
...
#### 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-04 13:56:48 +01:00
Val
5f4a9524ec
refactor(core): Add central license mock for integration tests (no-changelog) ( #7871 )
...
Github issue / Community forum post (link here to close automatically):
2023-11-30 09:23:09 +01:00
Iván Ovejero
476806ebb0
feat(core): Allow admin creation ( #7837 )
...
https://linear.app/n8n/issue/PAY-1038
2023-11-29 13:55:41 +01:00
Iván Ovejero
2356fb0f0c
feat(core): Set up endpoint for all existing roles with license flag ( #7834 )
...
https://linear.app/n8n/issue/PAY-1034/create-endpoint-to-list-all-existing-roles
2023-11-28 14:16:47 +01:00
Val
5acb7b94c0
refactor: Refactor variables controller into a RestController (no-changelog) ( #7822 )
...
Github issue / Community forum post (link here to close automatically):
2023-11-27 12:17:09 +00:00
Iván Ovejero
75a5807c72
perf(core): Make user controller tests faster (no-changelog) ( #7819 )
...
Before: `17.949 s`
After: `3.886 s`
Followup to:
https://github.com/n8n-io/n8n/pull/7797#discussion_r1404148034
2023-11-27 11:56:06 +01:00
Iván Ovejero
4c4082503c
feat(core): Coordinate manual workflow activation and deactivation in multi-main scenario ( #7643 )
...
Followup to #7566 | Story: https://linear.app/n8n/issue/PAY-926
### Manual workflow activation and deactivation
In a multi-main scenario, if the user manually activates or deactivates
a workflow, the process (whether leader or follower) that handles the
PATCH request and updates its internal state should send a message into
the command channel, so that all other main processes update their
internal state accordingly:
- Add to `ActiveWorkflows` if activating
- Remove from `ActiveWorkflows` if deactivating
- Remove and re-add to `ActiveWorkflows` if the update did not change
activation status.
After updating their internal state, if activating or deactivating, the
recipient main processes should push a message to all connected
frontends so that these can update their stores and so reflect the value
in the UI.
### Workflow activation errors
On failure to activate a workflow, the main instance should record the
error in Redis - main instances should always pull activation errors
from Redis in a multi-main scenario.
### Leadership change
On leadership change...
- The old leader should stop pruning and the new leader should start
pruning.
- The old leader should remove trigger- and poller-based workflows and
the new leader should add them.
2023-11-17 15:58:50 +01:00
Ricardo Espinoza
8e0ae3cf8c
refactor: Extract Invitation routes to InvitationController (no-changelog) ( #7726 )
...
This PR:
- Creates `InvitationController`
- Moves `POST /users` to `POST /invitations` and move related test to
`invitations.api.tests`
- Moves `POST /users/:id` to `POST /invitations/:id/accept` and move
related test to `invitations.api.tests`
- Adjusts FE to use new endpoints
- Moves all the invitation logic to the `UserService`
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-16 12:39:43 -05:00
कारतोफ्फेलस्क्रिप्ट™
000e76e3b4
ci(core): Reduce memory usage in tests (part-2) (no-changelog) ( #7671 )
...
This also gets rid of `Db.collection`, which was another source of
circular dependencies.
2023-11-10 15:04:26 +01:00
कारतोफ्फेलस्क्रिप्ट™
0346b211a7
ci(core): Reduce memory usage in tests (part-1) (no-changelog) ( #7654 )
2023-11-08 16:29:39 +01:00
कारतोफ्फेलस्क्रिप्ट™
60314248f4
fix(core): Make password-reset urls valid only for single-use ( #7622 )
2023-11-07 15:35:43 +01:00
Iván Ovejero
c857e42677
feat(core): Coordinate workflow activation in multiple main scenario in internal API ( #7566 )
...
Story: https://linear.app/n8n/issue/PAY-926
This PR coordinates workflow activation on instance startup and on
leadership change in multiple main scenario in the internal API. Part 3
on manual workflow activation and deactivation will be a separate PR.
### Part 1: Instance startup
In multi-main scenario, on starting an instance...
- [x] If the instance is the leader, it should add webhooks, triggers
and pollers.
- [x] If the instance is the follower, it should not add webhooks,
triggers or pollers.
- [x] Unit tests.
### Part 2: Leadership change
In multi-main scenario, if the main instance leader dies…
- [x] The new main instance leader must activate all trigger- and
poller-based workflows, excluding webhook-based workflows.
- [x] The old main instance leader must deactivate all trigger- and
poller-based workflows, excluding webhook-based workflows.
- [x] Unit tests.
To test, start two instances and check behavior on startup and
leadership change:
```
EXECUTIONS_MODE=queue N8N_LEADER_SELECTION_ENABLED=true N8N_LICENSE_TENANT_ID=... N8N_LICENSE_ACTIVATION_KEY=... N8N_LOG_LEVEL=debug npm run start
EXECUTIONS_MODE=queue N8N_LEADER_SELECTION_ENABLED=true N8N_LICENSE_TENANT_ID=... N8N_LICENSE_ACTIVATION_KEY=... N8N_LOG_LEVEL=debug N8N_PORT=5679 npm run start
```
2023-11-07 13:48:48 +01:00
कारतोफ्फेलस्क्रिप्ट™
05586a900d
refactor(core): Make Logger a service (no-changelog) ( #7494 )
2023-10-25 16:35:22 +02:00
कारतोफ्फेलस्क्रिप्ट™
b6de910cbe
refactor(core): Abstract away InstanceSettings and encryptionKey
into injectable services (no-changelog) ( #7471 )
...
This change ensures that things like `encryptionKey` and `instanceId`
are always available directly where they are needed, instead of passing
them around throughout the code.
2023-10-23 13:39:35 +02:00
कारतोफ्फेलस्क्रिप्ट™
55c6a1b0d3
fix(core): Do not return inviteAcceptUrl
in response if email was sent ( #7465 )
2023-10-19 13:58:06 +02:00