Dimitrie Hoekstra
bf73261ecb
Prevent UI pinch-to-zoom while keeping canvas zoomable
...
- Add touch-action CSS to prevent pinch-zoom on UI elements
- Apply touch-action: pan-x pan-y to html, body, and editor
- Apply touch-action: none to canvas for custom gestures
- Add JavaScript prevention for touchpad pinch on non-canvas areas
- Block Ctrl+wheel events outside the workspace chart
2025-10-14 10:04:30 +01:00
Dimitrie Hoekstra
3e2fb85821
Add two-finger panning and spacebar+click panning
...
- Implement spacebar+left-click panning for desktop
- Add two-finger pan gesture for touch devices
- Use mode locking to prevent laggy gesture switching
- Lock into pan or zoom mode based on initial movement
- Fix focal point regression caused by pan/zoom interaction
- Improve gesture detection with better thresholds (10px for zoom, 5px for pan)
2025-10-14 10:04:30 +01:00
Dimitrie Hoekstra
541977312e
Improve zoom smoothness and control
...
- Make mouse wheel zoom smooth without jarring animations
- Reduce zoom acceleration from 2x to 1.2x max
- Slow down zoom velocity by 40-50% for better control
- Add asymmetric zoom speeds (zoom out slower than zoom in)
- Reduce acceleration range to 0.7-1.1 for gentler transitions
- Disable legacy mousewheel handler in favor of modern wheel event
2025-10-14 10:04:30 +01:00
Dimitrie Hoekstra
782821b590
Fix zoom focal point stability at canvas edges
...
- Store focal point in workspace coordinates instead of screen coordinates
- Prevents focal point drift when scroll changes due to canvas boundaries
- Maintains consistent zoom focus even when view shifts at edges
- Add early return in zoomView() to prevent unnecessary updates at zoom limits
- Improve gesture state management for both trackpad and touch gestures
2025-10-14 10:04:30 +01:00
Dimitrie Hoekstra
49222c5737
Fix trackpad zoom direction - spreading fingers now zooms in
...
- Inverted deltaY value for trackpad pinch gestures
- Matches standard macOS trackpad behavior
- Spreading fingers (negative deltaY) zooms in
- Pinching fingers (positive deltaY) zooms out
2025-10-14 10:04:29 +01:00
Dimitrie Hoekstra
eaf68815fd
Implement smooth zoom functionality with pinch-to-zoom support
...
- Add smooth zoom animation with 125ms duration and easing curves
- Implement space+scroll zoom mode alongside existing Alt+scroll
- Fix pinch-to-zoom with proper ratio-based scaling and fixed focal point
- Add gesture state management for consistent zoom behavior
- Enhance spacebar handling to prevent scroll artifacts
- Fix zoom button layout (correct zoom in/out direction)
- Add zoom animation utilities (view-zoom-animator.js)
- Add zoom configuration constants (view-zoom-constants.js)
- Fix scale lock issues with improved tolerance handling
- Update Gruntfile to include new zoom modules in build
Features implemented:
- Smooth animated zoom transitions (125ms with ease-out)
- Space+scroll for zoom mode
- Fixed focal point during pinch gestures
- No scroll artifacts when pressing space
- Proper state management when cursor leaves canvas
- Natural acceleration/deceleration curves
Known issue: Trackpad pinch-to-zoom needs additional work on macOS
2025-10-14 10:04:29 +01:00
claude[bot]
bd51b0c153
feat: Add enhanced zoom and scroll features
...
- Added space+scroll zoom functionality
- Implemented cursor-centered zoom (focuses on cursor position)
- Enhanced pinch-to-zoom with trackpad support (Ctrl+wheel)
- Added momentum scrolling with edge bounce animation
- Improved touch pinch gesture handling with proper center tracking
Co-authored-by: Dimitrie Hoekstra <dimitrieh@users.noreply.github.com>
2025-10-14 10:04:28 +01:00
Nick O'Leary
2f2199e71b
Bump for 4.1.1 release
2025-10-13 11:37:18 +01:00
Nick O'Leary
c9b7263e21
Merge pull request #5300 from node-red/5287-fix-httpin-middleware-handling
...
Do not assume rawBody middleware is last in stack when moving it
2025-10-13 11:17:20 +01:00
Nick O'Leary
2c1fe60d25
Merge pull request #5307 from GogoVega/5245-filter-suggestions-for-disabled-set
...
Filter suggestions to ensure only enabled set are shown
2025-10-13 11:12:12 +01:00
Nick O'Leary
b5edcf6ac9
Update packages/node_modules/@node-red/editor-client/src/js/ui/view.js
2025-10-13 11:06:30 +01:00
Nick O'Leary
6d1fd0b616
Show all catalog items if small enough and no search time provided
2025-10-13 10:56:40 +01:00
GogoVega
c1cd5d9593
Filter suggestions to ensure only enabled set are shown
2025-10-10 18:16:25 +02:00
Nick O'Leary
5427d43a98
Merge pull request #5306 from node-red/5244-redraw-after-clearing-suggestion
...
Force a redraw after clearing suggested flow on mouse down
2025-10-10 16:03:36 +01:00
Nick O'Leary
f4cbebca66
Merge pull request #5299 from joebordes/i18n_003
...
i18n(NodeRed) update ES translation files to latest code base
2025-10-10 15:50:48 +01:00
Nick O'Leary
4173e9a71b
Force a redraw after clearing suggested flow on mouse down
2025-10-10 15:47:31 +01:00
Nick O'Leary
e85476b925
Merge pull request #5301 from node-red/5245-filter-suggestions-for-known-types
...
Filter suggestions to ensure only known types are shown
2025-10-10 15:06:00 +01:00
GogoVega
7c1505eeaf
Use the action label if provided
2025-10-10 13:38:03 +02:00
Nick O'Leary
00b879f855
Filter suggestions to ensure only known types are shown
2025-10-10 12:02:36 +01:00
Nick O'Leary
471f0d8bea
Do not assume rawBody middleware is last in stack when moving it
2025-10-10 11:35:27 +01:00
Nick O'Leary
0e8b403ec8
Merge branch 'master' into 5264-fix-sfpath-envvar
2025-10-10 11:20:06 +01:00
Joe Bordes
fd4e78089b
i18n(NodeRed) update ES translation files to latest code base
2025-10-09 17:12:38 +02:00
Nick O'Leary
0519b94786
Fix jsonata error reporting in Inject node
...
Fixes #5270
2025-10-09 14:50:52 +01:00
Nick O'Leary
34c59a58e5
Ensure flow property is set on sf instance nodes so NR_SUBFLOW_PATH can be evaluated
2025-10-09 14:42:27 +01:00
Nick O'Leary
f60f12cf47
Merge pull request #5296 from node-red/5242-fix-subflow-quickadd
...
Handle subflow virtual port nodes when generating quick-add context
2025-10-09 14:10:14 +01:00
Nick O'Leary
39975fd46a
Handle subflow virtual port nodes when generating quick-add context
2025-10-09 13:56:19 +01:00
Nick O'Leary
947feb09b3
Ignore disabled nodes when checking for dependency modules
2025-10-09 13:15:49 +01:00
Nick O'Leary
b0485b1229
Merge pull request #5293 from GogoVega/fix-5286
...
Prevents label from taking up all the space for env autocomplete
2025-10-09 11:26:36 +01:00
Nick O'Leary
e5ebf5029c
Merge pull request #5292 from GogoVega/fix-5289
...
Fix env autocomplete result if searchKey starts with `${`
2025-10-09 11:25:59 +01:00
Nick O'Leary
1813a5791d
Merge pull request #5290 from node-red/5283-fix-ui-lockup-for-typed-arrays
...
Fix UI lock-up when typed arrays are expanded in debug window
2025-10-09 11:24:43 +01:00
Nick O'Leary
42d53c1cc5
Merge pull request #5281 from olivierpelet/master
...
Fix config node resolution in packaged subflow within subflow
2025-10-09 11:05:12 +01:00
Nick O'Leary
11feee3294
Merge pull request #5278 from GogoVega/fix-5275
...
Fix undo node output changes inside a Subflow
2025-10-09 10:18:46 +01:00
Nick O'Leary
762631e813
Merge pull request #5277 from GogoVega/notify-plugin-added
...
Notify installed plugins from the Palette Manager
2025-10-09 10:12:39 +01:00
Nick O'Leary
75e6ba209c
Merge pull request #5266 from node-red/fix-monaco-uncaught-promise-canceled
...
Fix uncaught Monaco error
2025-10-09 10:09:45 +01:00
Nick O'Leary
17fe94d368
Merge pull request #5265 from node-red/add-url-types-to-server-side-fn
...
Add 'url' module to default server-side types in Monaco editor
2025-10-09 10:07:28 +01:00
Nick O'Leary
6ffe5700b7
Merge pull request #5263 from hardillb/catch-red-comms-subscribe-error
...
Catch errors from RED.comms.subscribe callback
2025-10-09 10:07:05 +01:00
Nick O'Leary
7ae2f03ef3
Merge pull request #5257 from node-red/fix-range-nodes-escapes
...
Fix rounding errors for range node when using float inputs and intege…
2025-10-09 10:05:54 +01:00
GogoVega
ebf5ae0ef3
Prevents label from taking up all the space for env autocomplete
2025-10-08 15:27:07 +02:00
GogoVega
90d5776f79
Fix env autocomplete result if searchKey starts with `${`
2025-10-08 14:41:20 +02:00
Stephen McLaughlin
963de93780
Merge branch 'master' into 5283-fix-ui-lockup-for-typed-arrays
2025-10-05 12:25:12 +01:00
Steve-Mcl
36f98133bf
Fix UI lock-up when typed arrays are expanded in debug window
...
closes #5283
2025-10-05 12:18:18 +01:00
olivierpelet
c7f671a971
Merge branch 'master' into master
2025-09-24 09:52:00 +02:00
GogoVega
cad105bbd1
Fix undo node output changes if instances exist
2025-09-22 10:33:22 +02:00
GogoVega
83df61018f
Fix undo node output changes inside a Subflow
2025-09-22 09:53:09 +02:00
GogoVega
dc318b5477
Notify installed plugins from the Palette Manager
2025-09-21 21:14:21 +02:00
Mauricio Bonani
21f93eac09
Remove empty if block
...
Fixes #5272
2025-09-17 14:24:43 -04:00
Steve-Mcl
b074b67ed1
Fix uncaught error, update monaco, update types
2025-09-07 20:51:17 +01:00
Steve-Mcl
dfb19b2636
add 'url' module to default server-side types in Monaco editor
2025-09-07 20:43:56 +01:00
Ben Hardill
d35b31cbef
Catch errors from RED.comms.subscribe callback
...
fixes #5262
2025-09-05 14:25:37 +01:00
Dave Conway-Jones
4ae8fcbc45
Fix range node to handle input min > max
...
and add tests
and add pin hover to show confiog
2025-08-29 15:08:23 +01:00
Dave Conway-Jones
7b51f30d11
Fix rounding errors for range node when using float inputs and integer outputs
...
And add extra tests
2025-08-28 15:18:02 +01:00
Nick O'Leary
9ad329e5a1
Merge pull request #5237 from GogoVega/fix-node-docs-icon
...
Fix node documentation icon for long catalog loading
2025-08-28 13:53:02 +01:00
Nick O'Leary
65785be169
Merge pull request #5241 from kazuhitoyokoi/master-fixhttprequest
...
Show requesting status correctly in http request node when multiple processes are working
2025-08-28 13:52:30 +01:00
Nick O'Leary
9b472180a8
Merge pull request #5239 from kazuhitoyokoi/addtooltip
...
Add tooltip for event log view
2025-08-28 13:51:49 +01:00
Ben Hardill
54849e9e62
fix test
2025-08-20 19:12:09 +01:00
Ben Hardill
b7cef0bce7
Update packages/node_modules/@node-red/nodes/core/sequence/17-split.js
2025-08-20 18:45:26 +01:00
Ben Hardill
22a3f47060
Speed up split node
...
fixes #5251
The code changed from 4.0.x to 4.1.x
This change to to prevent making changes to the orginial input `msg`
object incase any values were stored in context (pass by refernce).
The change meant that for every output message the whole original
input `msg` was being cloned, which could be huge, causing a big
performance regresion.
This fix ensures the clone of the orginial `msg` is only done once
and the much smaller output message is then cloned again to update
`msg.parts` object for each output. This results in lots of small
clones rather than lots of very large clones.
2025-08-20 18:40:19 +01:00
olivierpelet
d58b802160
Fix config node resolution in packaged subflows when instancied in a subflow
2025-08-13 15:22:47 +02:00
Kazuhito Yokoi
f70770a63d
Show requesting status correctly in http request node when multiple processes are working
2025-08-03 14:23:23 +09:00
Kazuhito Yokoi
a7491b0227
Add tooltip for event log view
2025-08-03 09:43:56 +09:00
GogoVega
addec16001
Fix the node docs icon for long catalog loading
2025-07-31 11:26:09 +02:00
Nick O'Leary
ab1f1a284e
Update for 4.1.0 release
2025-07-29 15:55:04 +01:00
Debadutta Panda
f57d7d9382
Improve raw body parser to handle skipped parsing and ended streams
2025-07-26 02:44:31 +05:30
Nick O'Leary
b4ff0c7824
Bump dependencies
2025-07-22 10:04:03 +01:00
Nick O'Leary
432884f84a
Merge pull request #5223 from node-red/5219-fix-undo-splice-in-group
...
Add splice history events to original add event
2025-07-21 17:47:49 +01:00
Nick O'Leary
2b5fa37b70
Add splice history events to original add event
2025-07-21 17:26:34 +01:00
Nick O'Leary
412f4465c7
Merge branch 'master' into dev
2025-07-21 16:29:52 +01:00
Nick O'Leary
1749ef7ac0
Support cjs files
2025-07-21 16:19:11 +01:00
Nick O'Leary
9b4acba82e
Merge pull request #5202 from node-red/5198-monaco-esc-handling
...
Better Monaco `esc` key bubbling
2025-07-21 15:24:12 +01:00
Nick O'Leary
0845811671
Merge pull request #5207 from node-red/node24-support
...
Updates for Node 24
2025-07-21 15:14:24 +01:00
Stephen McLaughlin
7b4cb442e1
Merge branch 'dev' into multiple-suggestions
2025-07-14 16:34:38 +01:00
Nick O'Leary
e97e307fed
Add typeSearch context when adding nodes
2025-07-14 15:20:53 +01:00
Nick O'Leary
c0b9fb5eac
Handle applying suggestion without having selected one
2025-07-14 14:28:04 +01:00
Nick O'Leary
be47aac3ef
Add got to runtime package
2025-07-11 16:17:50 +01:00
Nick O'Leary
8380c06a19
Support multiple suggestions at once
2025-07-11 09:32:51 +01:00
Nick O'Leary
a3563026a5
Merge pull request #5210 from kazuhitoyokoi/master-fixrbe
...
Update help document of filter node
2025-07-10 10:04:20 +01:00
Nick O'Leary
2608beeea5
Merge pull request #5206 from GogoVega/french-nls-4.1
...
Update French translation for 4.1
2025-07-10 10:03:40 +01:00
ZJ van de Weg
1eb6056843
Fix inject node validation to support binary and hexadecimal numbers
...
The inject node was using a restrictive regex that only accepted decimal
numbers, while the switch node properly supported binary (0b) and
hexadecimal (0x) formats. This inconsistency caused the inject node to
show validation errors for valid number formats.
Updated the inject node to use the same validateTypedProperty utility
function as the switch node, ensuring consistent number validation
across both nodes.
Fixes #5208
2025-07-07 16:19:34 +02:00
Kazuhito Yokoi
1f48dd5c0a
Update help document of filter node
2025-07-07 00:19:06 +09:00
Nick O'Leary
cf2af7988d
Update packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/projects/git/index.js
2025-07-04 15:21:59 +01:00
Nick O'Leary
b364f8f9b6
Handle deprecated calls to child_process with args
2025-07-04 14:59:58 +01:00
GogoVega
df53354f02
Update French translation for 4.1
2025-07-03 12:46:56 +02:00
Nick O'Leary
3f66dd2134
Apply suggestion from @knolleary
2025-07-02 16:03:15 +01:00
Kazuhito Yokoi
49b4c2bfee
Add Japanese translations for 4.1.0-beta.2
2025-06-29 23:46:40 +09:00
Steve-Mcl
d60e48a0f5
Prevent esc of monaco widgets bubbling up to edit form scope
...
closes #5200
2025-06-29 11:37:52 +01:00
GogoVega
68c2640b68
Do not select a nearest node if move is active
2025-06-29 12:16:55 +02:00
Nick O'Leary
2c63d2fe4c
Bump for 4.1.0-beta.2
2025-06-26 15:14:34 +01:00
Nick O'Leary
8d822f52ea
Remove testing plugins
2025-06-26 15:08:46 +01:00
Nick O'Leary
7f147b97ca
Merge pull request #5195 from node-red/add-splice-to-add-event
...
Add `splice` property to nodes:add event context
2025-06-26 15:07:10 +01:00
Nick O'Leary
26f9052f51
Merge pull request #5194 from node-red/5082-autocomplete-plugin-support
...
Add support for plugin sources of autoComplete fields
2025-06-26 15:06:17 +01:00
Nick O'Leary
c532b55513
Add `splice` property to nodes:add event context
2025-06-26 15:01:06 +01:00
Nick O'Leary
9bf9b7a635
Update context on autoComplete api
2025-06-26 14:30:13 +01:00
Nick O'Leary
0ae9f3dd8a
Add support for plugin sources of autoComplete fields
2025-06-26 14:21:21 +01:00
Nick O'Leary
b18fb321b6
Do not update suggestion whilst typeSearch hiding
2025-06-26 11:05:55 +01:00
Nick O'Leary
176ab9c554
Merge branch 'master' into dev
2025-06-26 11:01:07 +01:00
Nick O'Leary
ebc475c76f
Merge pull request #5180 from node-red/suggest-api-improvements
...
setSuggestedFlow api improvements
2025-06-26 10:40:13 +01:00
Nick O'Leary
2d67d082c6
On update suggestion view when it changes
2025-06-26 10:36:06 +01:00
Nick O'Leary
0b172be7a5
Don't require x/y when providing single node in suggestion api
2025-06-26 10:30:25 +01:00
Nick O'Leary
08c3feb8d0
Merge pull request #5192 from node-red/jquery-update
...
Update jquery
2025-06-26 10:17:47 +01:00
Nick O'Leary
cd4a951983
Update jquery
2025-06-26 10:05:21 +01:00