How to expand tab size (workspace) in nodered instead of 8000X8000

Can anyone help me solve it?

If you are talking about the editor at the bottom right you will see:
bottom_right

the - makes the flows smaller (zooms out)
the o sets it back to the default size
the + zooms in

here is a sample of a zoomed out page

no, I mean this size, when I add more nodes it leads to not enough length of the page to add another node

Vào Th 5, 15 thg 8, 2024 vào lúc 22:26 Paul via Node-RED Forum <notifications@nodered.discoursemail.com> đã viết:

You need to provide more information because it is unclear to me where you are doing this.

Is this in a dashboard? DASHBOARD 1 OR 2?
What version of Node-RED and node.js are you using?
What device are you running NR on?
Are you using home assistant or docker?

Provide a sample flow of the issue.

Do you mean that you have not got enough space in the editor for all the nodes you need? Do you realise that you can (should) split your flow logically across multiple tabs? My systems typically have a few tens of tabs, each with a few tens of nodes.

I mean it reaches the limit of one page, currently I'm saving user texting data so when I switch to another page it will lose data.

Vào CN, 18 thg 8, 2024 vào lúc 03:16 Colin via Node-RED Forum <notifications@nodered.discoursemail.com> đã viết:

Look at the link nodes, they can be used to bridge across tabs and breaking the flow up into smaller sections will make it a LOT more readable and maintainable.

I don't know what that means, please explain.

To answer your question directly, the 8000x8000 size is hardcode in the editor and cannot be customised.

I'm building a chatbot, and I'm saving information from users. I tried using node link but it didn't work

const currentChat = msg.chat();
const userSessionData = flow.get('userSession') || {};
const chatId = currentChat.chatId;
if(!userSessionData.hasOwnProperty(chatId)) {
userSessionData[chatId] = {};
}
var content = msg.payload.content;
node.warn(content); const lang = content.title;
userSessionData[chatId]['lang'] = lang.includes('English') ? 'en' : 'vi';
userSessionData[chatId]['contentState'] = 'start';
msg.payload.lang=lang.includes('English') ? 'en' : 'vi';
msg.payload.contentState = 'start';
flow.set('userSession', userSessionData);
return msg;

this is how i get data and save data. If there's a better way to post the length of a tab

Vào CN, 18 thg 8, 2024 vào lúc 15:28 Colin via Node-RED Forum <notifications@nodered.discoursemail.com> đã viết:

Are you using a lot of flow context variables?

I see that you have some nodes in groups.

These groups are an excellent candidate for moving to another editor tab using a link-in at the group input and a "return to calling node" link at the group output.
But you have to ensure that any data needed by the group is passed in as a message property and not as context variables. Same for data set or modified within the group

Because you are using flow context it is only accessible on that flow tab. Personally I would not use context for this at all, but if you must then you can use global.set() which will save it in the global context which is available on all flows.

What about increasing the length of the tab instead of the previous maximum size being 8000x8000?

Vào CN, 18 thg 8, 2024 vào lúc 20:22 Colin via Node-RED Forum <notifications@nodered.discoursemail.com> đã viết:

See here -

Will the size be increased in the next version?

Will the size be increased in the next version, thanks?

There are no plans to do so. Is your 8000x8000 really completely full?

Is there a reason you can't use multiple pages for your flows ?
(with links between them if necessary)

How can I set and get the value of a variable so that it can be used by many pages?

Vào Th 5, 22 thg 8, 2024 vào lúc 04:24 dceejay via Node-RED Forum <notifications@nodered.discoursemail.com> đã viết:

You have been doing this in the code above;

const userSessionData = flow.get('userSession') || {};

flow.get/set, global.get/set

Then there are link nodes (link in/out), which work/connect on the same flow or across flow tabs.
There is a link call node, that makes it possible to reuse a flow (like a function)
Then there are subflows, which can be used to instantiate flows.

I cannot imagine that anyone can exhaust the current canvas space.