Commit Graph
79 Commits
Author SHA1 Message Date
Tomi Turtiainenandकारतोफ्फेलस्क्रिप्ट™ c078a516be feat(core): Enforce config file permissions on startup (#11328)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
2024-10-23 12:54:53 +03:00
Iván Ovejero c68782c633 feat(core): Introduce scoped logging (#11127) 2024-10-09 12:56:31 +02:00
Tomi Turtiainen 606eedbf1b fix: Forbid access to files outside source control work directory (#11152) 2024-10-08 15:53:53 +03:00
Iván Ovejero 3a9c65e1cb refactor(core): Modernize logger service (#11031) 2024-10-01 12:16:09 +02:00
Iván Ovejero d14bb36300 test(core): Mock filesystem in tests (#10823) 2024-09-17 09:15:09 +02:00
Iván Ovejero 0e61d7c2e8 refactor(core): Remove unused disable directives from backend packages (#10826) 2024-09-16 10:58:23 +02:00
Tomi Turtiainen 5156313074 refactor(core): Enable import/order eslint rule (#10794) 2024-09-12 19:07:18 +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
कारतोफ्फेलस्क्रिप्ट™ ab9835126e refactor(core): Use @/databases/ instead of @db/ (no-changelog) (#10573) 2024-08-27 17:24:20 +02:00
Iván Ovejero fd58a272e1 refactor(core): Standardize filename casing for controllers and databases (no-changelog) (#10564) 2024-08-27 16:44:32 +02:00
Iván Ovejero 96e69ad5f2 refactor(core): Standardize filename casing for environments and eventbus (no-changelog) (#10527) 2024-08-26 11:10:06 +02:00
Iván Ovejeroandकारतोफ्फेलस्क्रिप्ट™ f667b384c9 refactor(core): Standardize filenames in cli (no-changelog) (#10484)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-08-22 11:10:37 +02:00
Iván Ovejero 98115e95df fix(core): Ensure OAuth token data is not stubbed in source control (#10302) 2024-08-06 10:56:02 +02:00
Tomi Turtiainen afa43e75f6 test(core): Move unit tests closer to testable components (no-changelog) (#10287) 2024-08-05 12:12:25 +03:00
Iván Ovejero aa0a470dce refactor(core): Clean up event relays (no-changelog) (#10284) 2024-08-02 16:52:49 +02:00
Iván Ovejero e46341ac46 refactor(core): Remove unused telemetry payload (no-changelog) (#10158) 2024-07-23 16:42:25 +02:00
Iván Ovejero 03a833db51 fix(core): Support branches containing slashes in source control (#10109) 2024-07-22 13:21:56 +02:00
Iván Ovejero aba1c64500 refactor(core): Rename EventRelay to EventService (no-changelog) (#10110) 2024-07-19 12:55:38 +02:00
Iván Ovejero 5eca7c8e28 refactor(core): More decouplings from internal hooks (no-changelog) (#10099) 2024-07-19 10:33:13 +02:00
Iván Ovejero f876f9ec8b refactor(core): Decouple source control telemetry from internal hooks (no-changelog) (#10095) 2024-07-18 15:00:24 +02:00
Iván Ovejero e33a47311f refactor: Upgrade to TypeScript 5.5 (no-changelog) (#9828) 2024-06-24 17:49:59 +02:00
Iván Ovejero 44ea4c73eb refactor: Remove unused lint directives (no-changelog) (#9842) 2024-06-24 12:13:18 +02:00
Iván Ovejero 8e529219df refactor(core): Lint to restrict @n8n/typeorm to persistence layer (no-changelog) (#9840) 2024-06-24 10:24:05 +02:00
Danny Martini 8da0d6e9ba fix(core): Fix type errors (no-changelog) (#9571) 2024-05-31 14:06:13 +02:00
Iván Ovejero dbaac82f79 fix(core): Set source control repository to track remote if ready (#9532) 2024-05-29 10:21:21 +02:00
+5 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 093dcefafc fix(core): Stop relying on filesystem for SSH keys (#9217) 2024-04-25 15:09:12 +02:00
Iván Ovejero b8ab049932 refactor(core, editor): Remove legacy nodesAccess (no-changelog) (#9016) 2024-04-05 13:17:34 +02:00
Iván Ovejero ddc0f57116 refactor(core): Store SSH key pair for source control in DB settings (#8965) 2024-03-26 19:09:46 +01:00
Iván Ovejero 260bc07ca9 fix(core): Assign credential ownership correctly in source control import (#8955) 2024-03-26 17:18:41 +01:00
कारतोफ्फेलस्क्रिप्ट™ db4a419c8d refactor(core): Enforce authorization by default on all routes (no-changelog) (#8762) 2024-02-28 17:02:18 +01:00
कारतोफ्फेलस्क्रिप्ट™ 2811f77798 refactor(core): Rename RequireGlobalScope to GlobalScope (no-changelog) (#8760) 2024-02-28 14:40:02 +01:00
Tomi Turtiainen 05e13a68ea fix: Fix typeorm .save usage (no-changelog) (#8678) 2024-02-20 17:34:54 +02:00
कारतोफ्फेलस्क्रिप्ट™ 8e392cfc1d feat(core): Migrate to n8n's typeorm fork (#8590) 2024-02-08 15:13:29 +01:00
कारतोफ्फेलस्क्रिप्ट™ 033fd344b5 fix(core): Handle possibly invalid updatedAt timestamps in source-control (#8485) 2024-01-31 14:25:03 +01:00
कारतोफ्फेलस्क्रिप्ट™ d6deceacde refactor(core): Remove roleId indirection (no-changelog) (#8413) 2024-01-24 13:38:57 +01:00
Tomi Turtiainenandकारतोफ्फेलस्क्रिप्ट™ 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 23a4ac96c0 refactor(core): Continue moving typeorm operators to repositories (no-changelog) (#8212)
Follow-up to: https://github.com/n8n-io/n8n/pull/8186
2024-01-05 13:06:24 +01:00
Iván OvejeroandMichael Auerswald 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
Iván Ovejero 40c1eeeddd refactor(core): Continue moving typeorm operators to repositories (no-changelog) (#8186)
Follow-up to: #8163
2024-01-02 17:53:24 +01:00
Iván Ovejero 5aee7a1d48 refactor(core): Move typeorm operators from SourceControlExportService to repositories (no-changelog) (#8168)
Follow-up to: #8165
2023-12-28 09:27:38 +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
कारतोफ्फेलस्क्रिप्ट™ baee47a276 refactor(core): Move all base URLs to UrlService (no-changelog) (#8141)
This change kept coming up in #6713, #7773, and #8135. 
So this PR moves the existing code without actually changing anything,
to help get rid of some of the circular dependencies.


## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-22 15:19:50 +01:00
Iván Ovejero f49aebb740 refactor(core): Move instance owner retrieval to ownership service (no-changelog) (#7980)
## 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 13:35:09 +01:00
Iván Ovejero 8cb9c6b3ea ci: Introduce no-plain-errors lint rule for BE packages (no-changelog) (#7961)
## Summary
Require `ApplicationError` or its child classes instead of plain `Error`
in BE packages. This ensures the error will be normalized when reported
to Sentry, if applicable.

Follow-up to:
https://github.com/n8n-io/n8n/pulls?q=is%3Apr+is%3Aclosed+applicationerror

...

#### 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-08 12:51:49 +01:00
Iván Ovejero c08c5cc37b refactor(core): Switch plain errors in cli to ApplicationError (#7857)
Ensure all errors in `cli` 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/7839
2023-11-29 12:25:10 +01:00
Val a37f1cb0ba feat: Add initial scope checks via decorators (#7737) 2023-11-28 11:41:34 +00:00
Iván Ovejero 1c6178759c refactor(core): Reorganize error hierarchy in cli package (no-changelog) (#7839)
Ensure all errors in `cli` inherit from `ApplicationError` to continue
normalizing all the errors we report to Sentry

Follow-up to: https://github.com/n8n-io/n8n/pull/7820
2023-11-28 10:19:27 +01:00
Val 27e048c201 feat: Add Licensed decorator (no-changelog) (#7828)
Github issue / Community forum post (link here to close automatically):
2023-11-27 13:46:18 +00:00