Commit Graph

4969 Commits (bf73261ecb52d88858bc2aef3bf4096d5748295d)

Author SHA1 Message Date
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 7f6abd15b0
Merge pull request #5310 from node-red/5236-add-missing-log
Simplify error logging when issue in settings file
2025-10-13 11:33:44 +01:00
Nick O'Leary 535366d742
Simplify error logging when issue in settings file 2025-10-13 11:26:54 +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 81959f8ca4
Update all the package files 2025-10-09 11:32:14 +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