Csaba Tuncsik
dbd62a4992
feat: Introduce advanced permissions ( #7844 )
...
This PR introduces the possibility of inviting new users with an `admin`
role and changing the role of already invited users.
Also using scoped permission checks where applicable instead of using
user role checks.
---------
Co-authored-by: Val <68596159+valya@users.noreply.github.com >
Co-authored-by: Alex Grozav <alex@grozav.com >
Co-authored-by: Iván Ovejero <ivov.src@gmail.com >
2023-12-08 12:52:25 +01:00
Elias Meire
675ec21d33
feat: Data transformation nodes and actions in Nodes Panel ( #7760 )
...
- Split Items List node into separate nodes per action
- Review node descriptions
- New icons
- New sections in subcategories
---------
Co-authored-by: Giulio Andreini <andreini@netseven.it >
Co-authored-by: Deborah <deborah@starfallprojects.co.uk >
Co-authored-by: Michael Kret <michael.k@radency.com >
2023-12-08 11:40:05 +01:00
Tomi Turtiainen
b63f9cc533
feat(editor): Add user opened cred modal telemetry event (no-changelog) ( #7927 )
...
## Summary
Add `User opened Credential modal` telemetry event to the template
credential setup page, as specified
[here](https://www.notion.so/n8n/Handoff-a1150c38f6e042db91fdf61c56900967?pvs=4 )
2023-12-07 16:05:43 +02:00
Alex Grozav
92fa6233d3
fix: Run dev command only for core packages (no-changelog) ( #7928 )
...
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.
- Filters out `@n8n/chat` and `n8n-design-system` from `pnpm run dev`
- Fixes dev/build error appearing due to code string `import ... from
'@n8n/chat'`
#### How to test the change:
1. `pnpm run dev` should work as expected
2. The command should not run for the two packages above
3. The error regarding `@n8n/chat` should no longer appear
## 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
https://linear.app/n8n/issue/PAY-1089/run-dev-command-only-for-core-packages
## 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. N/A
> 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 17:28:33 +02:00
Alex Grozav
885dba6f12
refactor: Migrate externalHooks mixin to composables (no-changelog) ( #7930 )
...
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.
As part of NodeView refactor, this PR migrates all externalHooks calls
to `useExternalHooks` composable.
#### How to test the change:
1. Run using env `export N8N_DEPLOYMENT_TYPE=cloud`
2. Hooks should still run as expected
## 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
https://linear.app/n8n/issue/N8N-6349/externalhooks
## 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 17:28:09 +02:00
Alex Grozav
0a745d16e4
fix(editor): Add missing workflow id from route (no-changelog) ( #7918 )
...
## Summary
Fixes missing workflow id from route.
#### How to test the change:
1. Go to executions page for a workflow without executions
2. Wait for autoRefresh to start
3. Error appears in console due to missing `name` parameter
## 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
https://linear.app/n8n/issue/N8N-7075/error-missing-required-param-name
## 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.
- [ ] 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 10:43:40 +02:00
Alex Grozav
7c57332d8f
fix(editor): Add missing activeNode check for redrawing (no-changelog) ( #7919 )
...
## Summary
Wasn't able to reproduce, but `activeNode` sporadically returns null in
some scenarios. Added appropriate check.
## 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
https://linear.app/n8n/issue/N8N-7076/typeerror-cannot-read-properties-of-null-reading-name
## 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.
- [ ] 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 10:34:15 +02:00
Csaba Tuncsik
132d691cbf
fix(editor): Replace isInstanceOwner checks with scopes where applicable ( #7858 )
...
Co-authored-by: Alex Grozav <alex@grozav.com >
2023-12-04 10:02:54 +01:00
Elias Meire
39fa8d21bb
feat(editor): Add sections to create node panel ( #7831 )
...
This PR sets the stage for the node creator to handle sections within
subcategories. No visible changes result from this PR; the next PR will
define sections and assign nodes accordingly.
Sections are configurable in
`packages/editor-ui/src/components/Node/NodeCreator/viewsData.ts`:
```
{
type: 'subcategory',
key: FILES_SUBCATEGORY,
category: CORE_NODES_CATEGORY,
properties: {
title: FILES_SUBCATEGORY,
icon: 'file-alt',
sections: [
{
key: 'popular',
title: i18n.baseText('nodeCreator.sectionNames.popular'),
items: ['n8n-nodes-base.readBinaryFiles', 'n8n-nodes-base.compression'],
},
],
},
},
```
For example:
<img width="302" alt="image"
src="https://github.com/n8n-io/n8n/assets/8850410/74470c07-f4ea-4306-bd4a-8d33bd769b86 ">
---------
Co-authored-by: Michael Kret <michael.k@radency.com >
2023-12-04 10:02:07 +01:00
Milorad FIlipović
a8049a0def
perf(editor): Improve node rendering performance when opening large workflows ( #7904 )
...
## Summary
In an effort to do as little processing as possible in each `Node`
component, this PR passes current workflow object to it as a property
instead of calling the slow `getCurrentWorkflow` store getter a few
times in each node. This should substantially improve loading times for
large workflows.
As a benchmark, I was using a workflow from [this Linear
ticket](https://linear.app/n8n/issue/ADO-1501/deliveryhero-enterprise-instance-very-slow-loading-workflows )
and this fix brought down opening time by **20 seconds**. Together with
fixes from #7901 , this workflow was opening in less than **10 seconds**
on my laptop.
[Latest e2e run](https://github.com/n8n-io/n8n/actions/runs/7062162739 )
#### How to test the change:
1. Open a large workflow
2. Observe loading time
## Issues fixed
ADO-1523
https://community.n8n.io/t/ui-very-slow-with-more-than-100-nodes/8236/14
## 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-01 17:50:11 +01:00
Tomi Turtiainen
627ddb91fb
feat(editor): Open template credential setup from collection ( #7882 )
...
Open the template credential setup when using a template from the
collection view.
NOTE! This feature is still behind a feature flag. To test, set:
```js
localStorage.setItem('template-credentials-setup', 'true')
```
https://github.com/n8n-io/n8n/assets/10324676/46ccec7c-5a44-429e-99ad-1c10640e99e5
2023-11-30 14:09:12 +02:00
Iván Ovejero
ce2d388f05
fix(editor): Fix deletion of last execution at execution preview ( #7883 )
...
https://linear.app/n8n/issue/PAY-1062
2023-11-30 12:12:26 +01:00
Jan Oberhauser
87def60979
feat: Add AI tool building capabilities ( #7336 )
...
Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/langchain-memory-chat/23733
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com >
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com >
Co-authored-by: Val <68596159+valya@users.noreply.github.com >
Co-authored-by: Alex Grozav <alex@grozav.com >
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in >
Co-authored-by: Deborah <deborah@starfallprojects.co.uk >
Co-authored-by: Jesper Bylund <mail@jesperbylund.com >
Co-authored-by: Jon <jonathan.bennetts@gmail.com >
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com >
Co-authored-by: Giulio Andreini <andreini@netseven.it >
Co-authored-by: Mason Geloso <Mason.geloso@gmail.com >
Co-authored-by: Mason Geloso <hone@Masons-Mac-mini.local >
Co-authored-by: Mutasem Aldmour <mutasem@n8n.io >
2023-11-29 12:13:55 +01:00
Alex Grozav
72852a60eb
feat(editor): Replace middleware for Role checks with Scope checks ( #7847 )
2023-11-29 10:35:40 +02:00
Csaba Tuncsik
685ffd7413
fix(editor): Suppress dev server websocket messages in workflow view ( #7808 )
2023-11-28 17:30:44 +01: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
कारतोफ्फेलस्क्रिप्ट™
4a89504d54
fix(editor): Fix push connection on WorkerList and CommunityNodes pages (no-changelog) ( #7851 )
2023-11-28 16:45:50 +01:00
Csaba Tuncsik
e87e928144
fix(editor): Remove ability for users to select admin role in the UI (no-changelog) ( #7850 )
2023-11-28 15:11:02 +01:00
Tomi Turtiainen
4074107511
fix(editor): Fix credential icon for old node type version ( #7843 )
...
If a credential was for a node's older version, its icon was not shown.
2023-11-28 15:14:22 +02:00
कारतोफ्फेलस्क्रिप्ट™
753cbc1e96
refactor(editor): Delete some barrel files and reduce circular dependencies (no-changelog) ( #7838 )
2023-11-28 12:15:08 +01:00
Csaba Tuncsik
3ab3ec9da8
fix(editor): Allow owners and admins to share workflows and credentials they don't own ( #7833 )
2023-11-28 11:44:55 +01:00
Tomi Turtiainen
ac744d6702
test: Ado 1296 add e2e tests ( #7792 )
...
Adds e2e tests for the template credential setup.
2023-11-27 17:18:10 +02:00
Tomi Turtiainen
aae45b043b
feat: Ado 1296 spike credential setup in templates ( #7786 )
...
- Add a 'Setup template credentials' view to setup the credentials of a
template before it is created
2023-11-27 16:30:28 +02:00
Csaba Tuncsik
137e23853f
feat: Add user role select to users list settings page ( #7796 )
...

2023-11-27 13:38:03 +01:00
Alex Grozav
7cc7f226e5
fix(editor): Fix broken element-plus loading spinner (no-changelog) ( #7817 )
...
<img width="976" alt="image"
src="https://github.com/n8n-io/n8n/assets/6179477/aea8a4c8-277e-4527-b6e9-a5c3427097b6 ">
<img width="117" alt="image"
src="https://github.com/n8n-io/n8n/assets/6179477/14c8876c-5e26-4154-9fdf-8b1fe9e5f806 ">
2023-11-27 10:50:50 +02:00
Csaba Tuncsik
152883eed1
build: Upgrade lint related packages ( #7790 )
2023-11-27 09:11:52 +01:00
Tomi Turtiainen
87fa3c2985
test: Remove obsolete snapshot ( #7803 )
...
Fixes
```
Snapshots 1 obsolete
↳ src/components/banners/__tests__/V1Banner.spec.ts
· V1 Banner > should render banner if user is not woner 1
```
2023-11-24 11:53:28 +02:00
Elias Meire
da851986f6
feat(editor): Add node name and version to NDV node settings ( #7731 )
...
<img width="580" alt="image"
src="https://github.com/n8n-io/n8n/assets/8850410/85ac1c6e-9116-436a-a2ed-8d0ac162a287 ">
<img width="580" alt="image"
src="https://github.com/n8n-io/n8n/assets/8850410/08b37377-cef5-4f80-80c0-addfdd37f728 ">
---------
Co-authored-by: Giulio Andreini <andreini@netseven.it >
2023-11-23 18:28:07 +01:00
Elias Meire
902beffce5
fix(editor): Disable context menu actions in read-only mode ( #7789 )
...
Github issue / Community forum post (link here to close automatically):
2023-11-23 17:10:45 +01:00
Michael Auerswald
5835e055d3
fix(editor): Show nice error when environment is not set up ( #7778 )
...
Adds a nicer error message with a link for owners who press Push to Git
without having a repository connected yet.
2023-11-23 13:50:03 +01:00
Alex Grozav
67a88914f2
feat(editor): Add routing middleware, permission checks, RBAC store, RBAC component ( #7702 )
...
Github issue / Community forum post (link here to close automatically):
---------
Co-authored-by: Csaba Tuncsik <csaba@n8n.io >
2023-11-23 13:22:47 +02:00
Csaba Tuncsik
e128b23a2b
build: Upgrade to Vite 5 ( #7784 )
2023-11-23 11:55:02 +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
कारतोफ्फेलस्क्रिप्ट™
96fd2c51bd
fix(core): Show webhook urls for all webhook nodes (no-changelog) ( #7783 )
...
This reverts parts of https://github.com/n8n-io/n8n/pull/7113
2023-11-22 17:45:26 +01:00
Csaba Tuncsik
50f568560f
perf: Make frontend linting faster (no-changelog) ( #7717 )
...
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in >
2023-11-22 15:01:22 +01:00
Michael Auerswald
0d3d33dd1f
fix(editor): Only show push to git menu item to owners ( #7766 )
...
Removes the menu entry of "Push to Git" from the workflow menu for
non-owners, since they would not be able to push in the first place.
2023-11-21 15:20:15 +01:00
Michael Auerswald
ff0b6511f7
fix(editor): Use project diagram icon for worker view ( #7764 )
...
Swap monster truck for project diagram icon
2023-11-21 15:18:14 +01:00
Michael Auerswald
366cd672a7
fix(editor): Move workerview entry into settings menu ( #7761 )
...
As the worker view is not an essential function, it is being moved from
the main side bar to the settings side bar for the time being.
2023-11-21 11:29:24 +01:00
Elias Meire
8d12c1ad8d
feat(editor): Add node context menu ( #7620 )
...

2023-11-20 14:37:12 +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
कारतोफ्फेलस्क्रिप्ट™
2d039010db
fix(editor): Fix Admin panel icon in the sidebar for cloud deployments (no-changelog) ( #7738 )
...
Co-authored-by: ricardo <ricardoespinoza105@gmail.com >
Co-authored-by: Mutasem Aldmour <mutasem@n8n.io >
2023-11-17 14:44:47 +01:00
Mutasem Aldmour
44d3b3ed7e
fix(editor): Show v1 banner dismiss button if owner ( #7722 )
...
Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/v1-upgrade-banner-shall-be-dismissed-permanently/32775
2023-11-17 14:15:13 +01:00
कारतोफ्फेलस्क्रिप्ट™
fc60e9a809
refactor(core): Convert dynamic node-parameter routes to a decorated controller (no-changelog) ( #7284 )
...
1. Reduce a lot of code duplication
2. Move more endpoints out of `Server.ts`
3. Move all query-param parsing and validation into a middleware to make
the route handlers simpler.
2023-11-17 12:03:05 +01:00
Csaba Tuncsik
18817651ec
feat(editor): Node IO filter ( #7503 )
...
Co-authored-by: Omar Ajoue <krynble@gmail.com >
2023-11-15 16:19:48 +01:00
Giulio Andreini
0cebd28582
fix(editor): Dark mode sticky notes (no-changelog) ( #7716 )
2023-11-15 12:56:09 +01:00
Giulio Andreini
f1e7ef0117
fix(editor): Dark mode switch style fix and other tweaks (no-changelog) ( #7599 )
...
Github issue / Community forum post (link here to close automatically):
2023-11-14 17:13:30 +01:00
Alex Grozav
a262c450f7
feat: Rewrite Front End cloud and posthog hooks using TypeScript (no-changelog) ( #5491 )
2023-11-13 15:10:42 +02:00
Michael Kret
1c7225ebdb
feat(core): Expression function $ifEmpty ( #7660 )
...
Github issue / Community forum post (link here to close automatically):
---------
Co-authored-by: Elias Meire <elias@meire.dev >
2023-11-13 13:28:41 +02:00
Elias Meire
14035e1244
feat(editor): Add HTTP request nodes for credentials without a node ( #7157 )
...
Github issue / Community forum post (link here to close automatically):
---------
Co-authored-by: Giulio Andreini <g.andreini@gmail.com >
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in >
2023-11-13 12:11:16 +01:00
Michael Auerswald
cbc690907f
feat(editor): Adds a EE view to show worker details and job status ( #7600 )
...
This change expands on the command channel communication introduced
lately between the main instance(s) and the workers. The frontend gets a
new menu entry "Workers" which will, when opened, trigger a regular call
to getStatus from the workers. The workers then respond via their
response channel to the backend, which then pushes the status to the
frontend.
This introduces the use of ChartJS for metrics.
This feature is still in MVP state and thus disabled by default for the
moment.
2023-11-10 23:48:31 +01:00