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