Commit Graph

5108 Commits (f8f675bc5cb279ff77b3d80874741da6c844e38e)

Author SHA1 Message Date
Nick O'Leary 1d5557b74d
Merge branch 'master' into 5463-fix-editablelist-overflow 2026-01-26 10:32:28 +00:00
Nick O'Leary b8d0233d1d
Revert overflow fix in editableList 2026-01-26 10:28:22 +00:00
Nick O'Leary 89db8f0d4f
Merge pull request #5462 from Dennis-SEG/fix/localfilesystem-race-condition-clean
fix: prevent race condition in localfilesystem context store during shutdown
2026-01-26 10:20:45 +00:00
Nick O'Leary 6b69500a5c
Merge pull request #5461 from Dennis-SEG/fix/node-close-double-resolve
fix: prevent double resolve in node close callback
2026-01-26 10:19:13 +00:00
Nick O'Leary 89b10a0a9d
Merge pull request #5457 from Dennis-SEG/fix/delay-node-race-condition
fix: prevent incorrect array modification in delay node
2026-01-26 09:50:18 +00:00
yuan-cloud 39e4d85a0d registry: fix importModule base dir for exports subpaths 2026-01-25 16:46:53 -05:00
Dennis-SEG ca01aa9148 fix: prevent race condition in localfilesystem context storage during close 2026-01-24 23:38:49 +01:00
Dennis-SEG 97e70a225b fix: prevent double resolve in node close callback 2026-01-24 23:20:52 +01:00
Dennis-SEG d0cabaf740 fix: prevent race condition in delay node idList splice
Check indexOf result before splicing to prevent removing wrong element
when clearDelayList() runs between timeout registration and execution.

If indexOf returns -1 (id already removed), splice(-1, 1) would incorrectly
remove the last element. Now we skip the splice if id is not found.

Fixes: Dennis-SEG/node-red#3
2026-01-24 23:00:46 +01:00
Nick O'Leary 28f04f3846
Bump for 5beta2 2026-01-21 14:04:19 +00:00
Nick O'Leary 3eb6ce9dd2
Reset sidebar state for beta.2 2026-01-21 12:42:58 +00:00
Nick O'Leary 8e45561e9b
Merge pull request #5390 from node-red/Add-pause-button-to-debug-sidebar
Add pause button to debug sidebar
2026-01-21 11:22:56 +00:00
Nick O'Leary 764731efa6
Add inline debug paused message 2026-01-21 11:19:31 +00:00
Nick O'Leary 6dcc434109
Merge pull request #5444 from node-red/5373-explorer-ux
UX updates for next beta
2026-01-21 09:49:24 +00:00
Nick O'Leary 8faebae4bc
Merge pull request #5391 from node-red/add-burst-mode-to-delay-node
add burst mode to delay node
2026-01-21 09:49:02 +00:00
Nick O'Leary 09f7733ac6
Fix simple deploy button border 2026-01-20 18:28:22 +00:00
Nick O'Leary 736bc30277
Merge branch 'master' into master-rebase 2026-01-20 17:12:55 +00:00
Nick O'Leary 62d393c9df
Fix linting 2026-01-20 16:52:29 +00:00
Nick O'Leary 02ad709d8b
Switch to different NR icon 2026-01-20 16:51:44 +00:00
Nick O'Leary 6d96c998fa
Fix restoring last selected sidebars 2026-01-20 16:51:21 +00:00
Nick O'Leary 0142085874
Lots of UI tweaks 2026-01-20 15:11:34 +00:00
Dennis-SEG fa5943b235 style: fix indentation in tcpin.js try-catch block 2026-01-18 15:51:44 +01:00
Dennis Bosmans 96bef841a0 fix: prevent uncaught exceptions in core node event handlers
Added try-catch blocks and null checks to event handlers in core nodes
to prevent uncaught exceptions from crashing the Node-RED runtime.

Changes per node:

**TCP (31-tcpin.js)**
- Wrapped all `on('data')` handlers in try-catch (TcpIn client/server, TcpGet)

**UDP (32-udp.js)**
- Wrapped `on('message')` handler in try-catch

**Exec (90-exec.js)**
- Wrapped stdout/stderr `on('data')` handlers in try-catch

**WebSocket (22-websocket.js)**
- Wrapped send() loop in handleEvent() with try-catch

**MQTT (10-mqtt.js)**
- Added null check for packet parameter in subscriptionHandler()
- Wrapped subscription handler callback in try-catch
- Added null check for mpacket.properties

Without these protections, malformed data or unexpected errors in async
event handlers could cause uncaught exceptions that crash the entire
Node-RED process.
2026-01-16 22:22:11 +01:00
Dave Conway-Jones 8f44ddca3b
Merge branch 'dev' into move-location-of-new-creds-files 2026-01-14 10:17:07 +00:00
Nick O'Leary 471c5eecda
WIP 2026-01-07 16:33:04 +00:00
Nick O'Leary b3f5cc457e
Bump for 4.1.3 2026-01-07 16:17:17 +00:00
Nick O'Leary 40655a59ad
Merge pull request #5406 from piotrbogun/5343/Editor/node-help-tab-arrow-key-navigation
5343/Editor/Bug: Node help tab resets focus when arrow keys are used to switch between nodes
2026-01-07 16:04:40 +00:00
Nick O'Leary cfe809e76a
Merge pull request #5427 from node-red/5405-quick-add-filter-fix
Ensure quick-add filter is applied properly when retriggering add
2026-01-07 15:57:25 +00:00
Nick O'Leary 0738754d40
Merge pull request #5421 from piotrbogun/5420/TreeList/scroll-on-overflow-navigation
TreeList: Fix widget treeList keyboard navigation scroll behavior
2026-01-07 15:52:39 +00:00
Nick O'Leary d6f6d9e9a3
Ensure quick-add filter is applied properly when retriggering add 2026-01-07 15:45:39 +00:00
Nick O'Leary 721bdbc9aa
Merge pull request #5392 from Dennis-SEG/fix/http-request-uncaught-exceptions
fix(http-request): prevent uncaught exceptions in async hooks
2026-01-07 15:37:36 +00:00
Nick O'Leary bc4f5feede
Merge pull request #5382 from node-red/fix-delay-node-variable-mode-error
Fix flushing when in variable delay mode
2026-01-07 15:16:04 +00:00
Nick O'Leary e7cd488409
Merge pull request #5425 from node-red/file-node-fix
File node TypedInput width fix
2026-01-07 15:15:37 +00:00
Nick O'Leary 60b3569edd
Apply suggestions from code review 2026-01-07 15:07:54 +00:00
Dave Conway-Jones 82a1f12179
Just fix file nodes for now 2026-01-07 15:07:54 +00:00
Dave Conway-Jones 26573c1b3c
Let TypedInput width be calculated - but forced 2026-01-07 15:07:54 +00:00
Piotr Bogun cdc83afdee Call reveal on a treelist target when it gets focused 2026-01-05 22:54:47 -06:00
Noley Holland 58b7fc745b
Merge branch 'master' into 5348/preserve-search-dialog-casing 2026-01-05 11:03:07 -08:00
Nick O'Leary 92ca0eea83
Merge pull request #5355 from GogoVega/improve-next-previous-tab-action
Allow actions show-next-tab and previous to loop
2026-01-05 17:38:32 +00:00
Nick O'Leary 267657c841
Merge pull request #5376 from hardillb/tls-certs-env-vars
Add TLS certs/keys from Env Vars
2026-01-05 17:37:51 +00:00
Nick O'Leary bd92ee12fa
Merge pull request #5418 from node-red/update-deps
Update body-parser
2026-01-05 17:35:26 +00:00
Nick O'Leary 626be956d1
Merge pull request #5416 from kazuhitoyokoi/master-fixgarbledtext
Use TextDecoder() to decode UTF-8 characters
2026-01-05 17:35:12 +00:00
Nick O'Leary bd2c4d83a9
Merge pull request #5414 from kazuhitoyokoi/master-fixcompletenode
Support source information in complete node
2026-01-05 17:29:13 +00:00
Nick O'Leary 8287a0aaab
Merge pull request #5412 from kazuhitoyokoi/master-fixstatusnode
Fix status node to retrieve status from all nodes
2026-01-05 17:28:24 +00:00
Nick O'Leary 4028ecdb78
Merge pull request #5407 from piotrbogun/5404/Editor/quick-add-dialog-junction-error
5404/Editor/Bug: Junction error in Quick Add dialog
2026-01-05 17:27:05 +00:00
Nick O'Leary 27ce7cd84d
Merge pull request #5410 from kazuhitoyokoi/master-fixtooltip
Add tooltip to delete button in node property UI
2026-01-05 17:21:26 +00:00
Nick O'Leary f4d713f8fe
Merge pull request #5409 from kazuhitoyokoi/master-fixhttprequest
Decrement count of http requests after error
2026-01-05 17:20:39 +00:00
Nick O'Leary f4b8af9c29
Update body-parser 2026-01-05 17:14:49 +00:00
Nick O'Leary 7bf72090a3
Merge pull request #5403 from kazuhitoyokoi/master-fixquickadddialog
Fix invalid node size in quick add dialog
2026-01-05 17:05:26 +00:00
Nick O'Leary c73a66afbe
Merge pull request #5400 from kazuhitoyokoi/master-fixdebugtab
Fix debug tab to copy displayed value
2026-01-05 16:56:00 +00:00
Nick O'Leary a7e3809e21
Merge pull request #5399 from kazuhitoyokoi/master-fixlibrary
Expand folder to avoid error in library
2026-01-05 16:51:42 +00:00
Nick O'Leary 839c17a08c
Merge pull request #5398 from kazuhitoyokoi/master-addval
Stricter validator for flow file name in project feature
2026-01-05 16:50:40 +00:00
Kazuhito Yokoi 4bc6d0a9bd Use TextDecoder() to decode UTF-8 characters 2026-01-04 19:17:28 +09:00
Kazuhito Yokoi e108554ea0 Support source information in complete node 2026-01-04 17:56:32 +09:00
Kazuhito Yokoi cc1662ab5c Fix status node to retrieve status from all nodes 2026-01-04 16:17:16 +09:00
Kazuhito Yokoi bcbd364ddd Add tooltip to delete button 2026-01-03 17:04:01 +09:00
Kazuhito Yokoi 8c594ac627 Decrement count of http requests after error 2026-01-03 14:31:46 +09:00
Piotr Bogun d8f9139d2e Add check for junction node type in the quick add menu 2026-01-02 16:15:40 -06:00
Piotr Bogun 957f701035 Add focus class to new selected label after removing focus class from previously selected label 2026-01-02 15:19:04 -06:00
Kazuhito Yokoi 187ce3bea4 Fix invalid node size in quick add dialog 2026-01-02 14:37:30 +09:00
Noley Holland 0689306569 Add new line at end of file 2025-12-30 11:13:44 -08:00
Noley Holland a55aa17939 Fix search dialog to preserve flow/subflow name casing & add unit tests 2025-12-30 11:13:10 -08:00
Kazuhito Yokoi 01ae461911 Expand folder to avoid error in library 2025-12-30 01:01:51 +09:00
Kazuhito Yokoi a401ea9216 Stricter validator for flow file name in project feature 2025-12-30 00:47:11 +09:00
Kazuhito Yokoi a2fdb198d6 Fix list size in Git config UI 2025-12-29 23:30:02 +09:00
Kazuhito Yokoi 811aaa9df4 Fix scrolling issue in Git config UI 2025-12-29 22:25:57 +09:00
Dennis-SEG f1b56dc6fa refactor: remove unused getHeaderValue() function 2025-12-24 00:46:07 +01:00
Dennis-SEG 2355709040 fix(http-request): prevent uncaught exceptions in async hooks
This PR fixes several issues that can cause uncaught exceptions and crash Node-RED:

1. Fixed typo: `toLowercase()` -> `toLowerCase()` in getHeaderValue()
2. Added try-catch to beforeRequest hook
3. Added try-catch to beforeRedirect hook
4. Added try-catch to afterResponse hook (digest auth)
5. Added input validation to extractCookies() with array check
6. Added input validation to buildDigestHeader() for nonce/realm

These changes ensure that malformed responses or invalid data from servers
don't crash the entire Node-RED runtime.

Fixes: Uncaught exceptions in HTTP request node
2025-12-23 21:32:49 +01:00
Dave Conway-Jones 6c39735051
add burst mode to delay node
and tests
2025-12-21 19:36:58 +00:00
Dave Conway-Jones 1a8a747955
add some translations
(from Google)
2025-12-18 11:24:22 +00:00
Dave Conway-Jones 3fa7ad9d3a
Add Paused label to footer to make it more obvious 2025-12-18 11:05:40 +00:00
Dave Conway-Jones 183326a685
Add pause button to debug sidebar 2025-12-17 19:31:42 +00:00
Nick O'Leary 34fe8c1057
Checkpoint 2025-12-15 13:39:43 +00:00
Dave Conway-Jones 636089b586
Fix flushing when in variable delay mode
to close #5381
2025-12-12 22:42:46 +00:00
Nick O'Leary c37f352531
Update for beta.1 2025-12-12 17:00:01 +00:00
Nick O'Leary 6c6be000eb
Rollup all the changes 2025-12-12 16:46:19 +00:00
Nick O'Leary ef0e67e65f
Checkpoint 2025-12-10 13:34:43 +00:00
Nick O'Leary e95fdb7fa6
Checkpoint 2025-12-09 18:05:09 +00:00
Ben Hardill 55d08ba79e
Move localfiles checkbox 2025-12-08 17:39:25 +00:00
Nick O'Leary 04f7c8dc9f
Checkpoint 2025-12-08 16:27:33 +00:00
Nick O'Leary 48b8659ddb
Show overflow button when not enough space in tab bar 2025-12-08 11:10:46 +00:00
Ben Hardill c17b6bfde8
Add TLS certs/keys from Env Vars 2025-12-07 12:48:33 +00:00
GogoVega 2c7a15ecb2
Move the logic to the right place 2025-12-07 12:04:59 +01:00
Kazuhito Yokoi 4b906734c9 Fix debug tab to copy displayed value 2025-12-06 00:21:16 +09:00
Nick O'Leary 97729cc68a
Merge branch 'master' into rel500b0 2025-12-05 10:57:54 +00:00
Nick O'Leary d5558dd6da
Merge pull request #4907 from node-red/Add-pfxp12-to-tls-options
Add ability to use pfx or p12 file for TLS connection settings option
2025-12-04 17:33:24 +00:00
Nick O'Leary 192a863ba6
Merge branch 'dev' into 5317-sidebar-panels 2025-12-04 14:41:06 +00:00
Nick O'Leary ea5cc1f53c
Fix touchmove event handling for panning workspace 2025-12-04 14:35:22 +00:00
Nick O'Leary 81ab7d7e0a
Update tour with sidebar details 2025-12-04 14:09:06 +00:00
Nick O'Leary 9e1fc2d289
Merge branch 'dev' into 5317-sidebar-panels 2025-12-04 13:49:14 +00:00
Nick O'Leary 108b861ae0
Merge pull request #5370 from node-red/beta-tour
Update tour for 5-beta
2025-12-04 13:48:56 +00:00
Nick O'Leary 4409732af6
Merge branch 'dev' into 5317-sidebar-panels 2025-12-04 13:41:07 +00:00
Nick O'Leary ebc079730d
Merge pull request #5312 from node-red/pan-zoom
Workspace pan/zoom updates
2025-12-04 13:40:20 +00:00
Nick O'Leary 39dc8073d3
Update tour for 5-beta 2025-12-04 13:37:44 +00:00
Nick O'Leary 503fe7377b
Fix linting 2025-12-04 13:37:23 +00:00
Nick O'Leary 9e9fa2b92d
Improve styling 2025-12-04 13:33:44 +00:00
Gerrit Riessen aef90576eb
Reveal node in search results with mouseover
This highlights nodes in the search results using a mouseover trigger.

See forum https://discourse.nodered.org/t/highlight-nodes-in-search-results-list/99747 for a discussion.
2025-12-04 13:01:59 +01:00
Nick O'Leary 78c1b7c3b1
Merge branch 'dev' into 5317-sidebar-panels 2025-12-03 16:58:26 +00:00
Nick O'Leary cab7ce247b
Prep dev branch for beta releases 2025-12-03 16:51:19 +00:00
Nick O'Leary 892bda813c
Bump for 4.1.2 2025-12-03 15:50:47 +00:00
Nick O'Leary fd1f534b56
Merge pull request #5352 from GogoVega/fix-5347-history
Fix invalid `dirty` state during redo after deployment
2025-12-03 14:39:15 +00:00
Nick O'Leary 8cf1e73a02
Merge pull request #5276 from GogoVega/fix-plugins-getConfig
Handle plugin name in `plugins.getConfig`
2025-12-03 13:58:27 +00:00
Ben Hardill ddff7c3170
Bump to 4.22.1 2025-12-02 19:57:52 +00:00
Ben Hardill 724eafe2d3
Make runtime version match 2025-12-02 11:38:02 +00:00
Ben Hardill e200576d08
Update express version
Update to pick up new version with CVE fixes

CVE: cve-2024-51999
2025-12-02 11:33:16 +00:00
GogoVega 49b85e3f73
Allow actions show-next-tab and previous to loop 2025-11-17 09:52:18 +01:00
GogoVega 2b65cf02b1
`markAllDirty` also needs to modify the redo list 2025-11-12 10:28:28 +01:00
Nick O'Leary 7b6c838e7e
Reshow scrollbars and disable navigator temporary show 2025-10-31 11:29:37 +00:00
Nick O'Leary 351d25a7d6
Fix nls message name 2025-10-31 11:29:37 +00:00
Nick O'Leary ccf8772dc0
Merge branch 'master' into pan-zoom 2025-10-30 14:18:51 +00:00
Nick O'Leary 096bafb75c
Update info tab sidebar 2025-10-30 14:15:59 +00:00
Nick O'Leary 56b2439511
Ensure tab button is visible when sorting 2025-10-30 11:50:18 +00:00
Nick O'Leary 8b0f926856
Improve styling for info sidebar on LH side 2025-10-30 11:50:09 +00:00
Nick O'Leary 9d019e25c2
Fix up port event cancelling on node-select 2025-10-29 17:50:50 +00:00
Nick O'Leary 603a6f0c11
Merge pull request #5337 from node-red/selection-to-subflow-menu
Add selection-to-subflow context menu item
2025-10-29 17:40:26 +00:00
Nick O'Leary ea5c134866
Merge pull request #5315 from stoprocent/master
Fix race condition in projects initialization by returning gitTools.init() promise
2025-10-29 17:32:20 +00:00
Nick O'Leary 18f2285a48
Add selection-to-subflow context menu item 2025-10-29 17:31:23 +00:00
Nick O'Leary c015645c03
Merge pull request #5325 from node-red/5319-subflow-port-fixes
Show subflow input label on virtual port
2025-10-29 17:16:27 +00:00
Nick O'Leary e9fa3f0a2b
Merge pull request #5323 from node-red/5244-clear-suggestions
Clear suggestions on node/port mouse down
2025-10-29 17:16:17 +00:00
Nick O'Leary bd8a1eda90
Make sidebar separators a bit narrower 2025-10-29 16:14:55 +00:00
Nick O'Leary 6924b399cc
Fix lock icon for read-only user 2025-10-29 15:29:35 +00:00
Nick O'Leary f690fcb295
Apply default layout 2025-10-29 11:01:13 +00:00
Nick O'Leary 41ed5c94b6
Don't squash buttons when resizing window 2025-10-29 10:51:31 +00:00
Nick O'Leary 858cf75670
Update palette sidebar icon to custom svg 2025-10-29 10:41:15 +00:00
Nick O'Leary d5a28ce5e7
Fix sidebar menu to include all options
Needed to reorder initialisation as sidebars were adding before the
menu component was initialised, meaning their menu entries didn't get
added
2025-10-29 10:40:21 +00:00
Nick O'Leary b6367bbb44
Track sidebar state 2025-10-29 10:40:02 +00:00
Nick O'Leary 6c36f789bd
Fix login display 2025-10-28 14:41:19 +00:00
Nick O'Leary 6ffa23a44e
Fix sidebar sortable for touch events 2025-10-27 16:28:40 +00:00
Nick O'Leary b23d455ad5
Fix tray positioning 2025-10-27 10:06:44 +00:00
Nick O'Leary 0ead2d815c
Update sidebar tab ux 2025-10-24 17:35:00 +01:00
Nick O'Leary 2e777db80c
Handle resizing and shade on separators 2025-10-24 11:40:56 +01:00
Nick O'Leary c90f93ec56
Fix sidebar apis for dual sidebars 2025-10-23 17:24:15 +01:00
Nick O'Leary fe4d40a776
Show subflow input label on virtual port 2025-10-23 15:37:07 +01:00
Nick O'Leary 6bb32775ba
Clear suggestions on node/port mouse down
Closes #5244
2025-10-23 13:52:44 +01:00
Nick O'Leary 6e264084e7
Fix z ordering of palette nodes 2025-10-22 11:39:13 +01:00
Nick O'Leary 4bcec3741d
Move palette footer to sidebar toolbar 2025-10-21 18:54:33 +01:00
Nick O'Leary b0cafda496
Reimplement Palette as Sidebar component 2025-10-21 17:46:59 +01:00
Nick O'Leary c9e0aaf34e
Make zoom scale 1 sticky to make it easier to get to 2025-10-21 09:24:58 +01:00
Nick O'Leary fa05811b08
Fix linting 2025-10-20 13:20:30 +01:00
Nick O'Leary 6813f373c6
Fix issues with navigator show/hide lifecycle 2025-10-20 13:15:52 +01:00
Nick O'Leary 3bbdc77300
Fix up space-to-pan event handling 2025-10-20 13:15:37 +01:00
Nick O'Leary 9cedcd0a78
Add nls message for zoom to fit 2025-10-20 13:15:09 +01:00
Marek Serafin 25e92c3501 Fix race condition in projects initialization
Add missing return statement for gitTools.init() promise to ensure
activeProject is set before getFlows() is called during startup.

Fixes intermittent 'No active project' warnings when projects feature
is enabled.
2025-10-18 18:04:06 +02:00
GogoVega ced0b30632
Fixe a typo in the variable name 2025-10-16 17:06:05 +02:00
dimitrieh 1638fa927b
Fix mouse wheel zoom sensitivity by detecting input device type
Mouse wheel events were being treated as trackpad input, causing excessive zoom jumps. Added delta magnitude detection (threshold: 50) to distinguish between mouse wheel (large deltas) and trackpad (small deltas), applying appropriate zoom calculation for each device.
2025-10-14 10:04:35 +01:00
dimitrieh 1ff980d190
Increase maximum zoom level to 2.0 2025-10-14 10:04:35 +01:00
dimitrieh 250f7ab897
Add minimap auto-show on flow startup and workspace changes
Shows minimap briefly when:
- Flow initially loads (if nodes exist)
- Switching between workspace tabs
- Continuing to show during zoom/pan navigation

Implementation:
- Listen to workspace:change events
- Check for active workspace with nodes before showing
- Use 100ms delay to ensure nodes are rendered
- Reuse existing showTemporary() for consistent behavior
2025-10-14 10:04:35 +01:00
dimitrieh d308bc7763
Remove debug console logs and update documentation 2025-10-14 10:04:35 +01:00
dimitrieh 79581bf51f
Refresh active nodes before zoom-to-fit to work immediately 2025-10-14 10:04:35 +01:00
dimitrieh f831df70ce
Fix zoom-to-fit to properly center nodes in viewport 2025-10-14 10:04:35 +01:00