Commit Graph

41 Commits

Author SHA1 Message Date
कारतोफ्फेलस्क्रिप्ट™
4b11268a6e refactor(core): Implement a new OnPubSubEvent decorator (#15688) 2025-06-04 18:32:33 +02:00
कारतोफ्फेलस्क्रिप्ट™
7c806ff532 refactor(core): Refactor some imports to reduce baseline memory usage (#15916) 2025-06-03 11:23:44 +02:00
Iván Ovejero
c229e915ea refactor(core): Move Logger to @n8n/backend-common (#15721) 2025-05-30 12:57:47 +02:00
कारतोफ्फेलस्क्रिप्ट™
bbe2b12bf2 fix(core): Simplify Websocket origin security checks (#15761)
Co-authored-by: Danny Martini <danny@n8n.io>
2025-05-30 11:21:20 +02:00
Phillip Morton
b1687c6be2 fix(core): Add support for proxy using forward headers (#15006)
Co-authored-by: Danny Martini <danny@n8n.io>
2025-05-22 11:26:14 +02:00
Iván Ovejero
3176f6fc89 refactor(core): Move dependencies of Logger to standalone packages (#15338) 2025-05-13 16:55:42 +02:00
Iván Ovejero
20834abb56 refactor(core): Move interrelated entities to @n8n/db (#15050) 2025-05-02 12:19:32 +02:00
Iván Ovejero
e6381e09e3 refactor(core): Introduce @n8n/decorators package (#14784) 2025-04-23 16:39:49 +02:00
कारतोफ्फेलस्क्रिप्ट™
178628a59b fix(core): Add cross-origin checks on push endpoints (#14365) 2025-04-03 14:04:27 +02:00
Iván Ovejero
c2569a0607 refactor(core): Make placeholders in manual executions in workers temporary (#12463) 2025-01-14 14:32:00 +01:00
कारतोफ्फेलस्क्रिप्ट™
39d5e0ff87 refactor(core): Replace typedi with our custom DI system (no-changelog) (#12389)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2025-01-06 10:21:24 +01:00
Iván Ovejero
9432aa0b00 feat(core): Offload manual executions to workers (#11284) 2025-01-03 10:43:05 +01:00
Iván Ovejero
fe7fb41ad8 refactor(core): Fix push message type inference (#12331) 2024-12-20 19:45:04 +01:00
Iván Ovejero
95db031aa4 refactor: Introduce explicit-member-accessibility lint rule (#12325) 2024-12-20 11:44:01 +01:00
Iván Ovejero
28f1f6b561 refactor(core): Move multi-main state to InstanceSettings (#12144) 2024-12-11 18:25:22 +01:00
Iván Ovejero
d37acdb873 refactor(core): Make orchestration service smaller (#11275) 2024-10-16 17:34:32 +02:00
कारतोफ्फेलस्क्रिप्ट™
2f8c8448d3 refactor(core): Move push message types to a new shared package (no-changelog) (#10742) 2024-09-13 13:02:00 +02:00
Tomi Turtiainen
5156313074 refactor(core): Enable import/order eslint rule (#10794) 2024-09-12 19:07:18 +03:00
Tomi Turtiainen
2ea2bfe762 feat: Reintroduce collaboration feature (#10602) 2024-09-03 17:52:12 +03:00
Iván Ovejero
6485ca0a4b refactor(core): Enforce filename casing in cli package (no-changelog) (#10594) 2024-08-28 17:57:46 +02:00
Iván Ovejero
f667b384c9 refactor(core): Standardize filenames in cli (no-changelog) (#10484)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-08-22 11:10:37 +02:00
कारतोफ्फेलस्क्रिप्ट™
1fca3af335 refactor(core): Use type-safe event emitters (no-changelog) (#10234) 2024-07-30 13:23:01 +02:00
कारतोफ्फेलस्क्रिप्ट™
22990342df refactor(core): Delete all collaboration related code (no-changelog) (#9929) 2024-07-03 18:46:24 +02:00
कारतोफ्फेलस्क्रिप्ट™
072c3db97d refactor(core): Rename push sessionId to pushRef (#8905) 2024-04-03 13:43:14 +02:00
कारतोफ्फेलस्क्रिप्ट™
2b0e14e936 fix(core): Refactor push sessionid validation, and add unit tests (no-changelog) (#8815) 2024-03-05 18:57:29 +01:00
कारतोफ्फेलस्क्रिप्ट™
db4a419c8d refactor(core): Enforce authorization by default on all routes (no-changelog) (#8762) 2024-02-28 17:02:18 +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
1a0e285553 feat(core): Implement inter-main communication for test webhooks in multi-main setup (#8267) 2024-01-12 11:48:58 +01:00
Tomi Turtiainen
3a881be6c2 feat(core): Unify application components shutdown (#8097)
## Summary

Add `ShutdownService` and `OnShutdown` decorator for more unified way to
shutdown different components. Use this new way in the following
components:

- HTTP(S) server
- Pruning service
- Push connection
- License

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-12-22 12:39:58 +02:00
कारतोफ्फेलस्क्रिप्ट™
117962d473 feat(core): Update LLM applications building support (no-changelog) (#7710)
extracted out of #7336

---------

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>
2023-11-28 16:47:28 +01:00
Milorad FIlipović
77bc8ecd4b feat(editor): Show avatars for users currently working on the same workflow (#7763)
This PR introduces the following changes:
- New Vue stores: `collaborationStore` and `pushConnectionStore`
- Front-end push connection handling overhaul: Keep only a singe
connection open and handle it from the new store
- Add user avatars in the editor header when there are multiple users
working on the same workflow
- Sending a heartbeat event to back-end service periodically to confirm
user is still active

- Back-end overhauls (authored by @tomi):
  - Implementing a cleanup procedure that removes inactive users
  - Refactoring collaboration service current implementation

---------

Co-authored-by: Tomi Turtiainen <10324676+tomi@users.noreply.github.com>
2023-11-23 10:14:34 +01: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
Tomi Turtiainen
ac877014ed feat(core): Initial support for two-way communication over websockets (#7570)
- Enable two-way communication with web sockets
- Enable sending push messages to specific users
- Add collaboration service for managing active users for workflow

Missing things:
- State is currently kept only in memory, making this not work in
multi-master setups
- Removing a user from active users in situations where they go inactive
or we miss the "workflow closed" message
- I think a timer based solution for this would cover most edge cases.
I.e. have FE ping every X minutes, BE removes the user unless they have
received a ping in Y minutes, where Y > X
- FE changes to be added later by @MiloradFilipovic 

Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-07 17:26:45 +02:00
कारतोफ्फेलस्क्रिप्ट™
05586a900d refactor(core): Make Logger a service (no-changelog) (#7494) 2023-10-25 16:35:22 +02:00
कारतोफ्फेलस्क्रिप्ट™
8bdb07d33d fix(core): Setup websocket keep-live messages (#6866)
fixes #6757
2023-08-28 10:26:27 +02:00
Jan Oberhauser
a8bfb46183 fix(core): Fix WebSocket close codes 2023-08-04 16:40:03 +02:00
कारतोफ्फेलस्क्रिप्ट™
f4a18ba87d refactor(core): Refactor WorkflowStatistics code (no-changelog) (#6617)
refactor(core): Refactor WorkflowStatistics code
2023-07-18 11:28:24 +02:00
OlegIvaniv
e5620ab1e4 feat(API): Implement users account quota guards (#6434)
* feat(cli): Implement users account quota guards

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove comment

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Address PR comments

- Getting `usersQuota` from `Settings` repo
- Revert `isUserManagementEnabled` helper
- Fix FE listing of users

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Refactor isWithinUserQuota getter and fix tests

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Revert testDb.ts changes

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Cleanup & improve types

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix duplicated method

* Fix failing test

* Remove `isUserManagementEnabled` completely

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Check for globalRole.name to determine if user is owner

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix unit tests

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Set isInstanceOwnerSetUp in specs

* Fix SettingsUserView UM

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* refactor: License typings suggestions for users quota guards (#6636)

refactor: License typings suggestions

* Update packages/cli/src/Ldap/helpers.ts

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* Update packages/cli/test/integration/shared/utils.ts

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* Address PR comments

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Use 403 for all user quota related errors

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-07-12 14:11:46 +02:00
Iván Ovejero
8c008f5d22 refactor(core)!: Remove basic-auth, external-jwt-auth, and no-auth options (#6362)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-06-22 20:03:47 +02:00
कारतोफ्फेलस्क्रिप्ट™
52f740b9e8 refactor(core): Use an IoC container to manage singleton classes [Part-1] (no-changelog) (#5509)
* add typedi

* convert ActiveWorkflowRunner into an injectable service

* convert ExternalHooks into an injectable service

* convert InternalHooks into an injectable service

* convert LoadNodesAndCredentials into an injectable service

* convert NodeTypes and CredentialTypes into an injectable service

* convert ActiveExecutions into an injectable service

* convert WaitTracker into an injectable service

* convert Push into an injectable service

* convert ActiveWebhooks and  TestWebhooks into an injectable services

* handle circular references, and log errors when a circular dependency is found
2023-02-21 19:21:56 +01:00
कारतोफ्फेलस्क्रिप्ट™
538984dc2f feat(core): Add support for WebSockets as an alternative to Server-Sent Events (#5443)
Co-authored-by: Matthijs Knigge <matthijs@volcano.nl>
2023-02-10 15:02:47 +01:00