node-mac-recorder 2.18.9 → 2.18.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,20 +1,12 @@
1
1
  {
2
2
  "permissions": {
3
3
  "allow": [
4
- "Bash(node:*)",
5
- "Bash(chmod:*)",
6
- "Bash(cat:*)",
7
- "Bash(git checkout:*)",
8
- "WebSearch",
9
- "WebFetch(domain:stackoverflow.com)",
10
- "Bash(timeout:*)",
11
- "Bash(grep:*)",
12
- "Bash(./test-cleanup.sh:*)",
13
- "Bash(FORCE_AVFOUNDATION=1 node test-avfoundation-dpr.js)",
14
- "Bash(FORCE_AVFOUNDATION=1 node test-cursor-fix.js)",
15
- "Bash(pkill:*)",
16
- "Bash(FORCE_AVFOUNDATION=1 node debug-cursor-scaling.js)",
17
- "Bash(FORCE_AVFOUNDATION=1 node test-final-cursor.js)"
4
+ "Bash(FORCE_AVFOUNDATION=1 node test-cursor-simple.js)",
5
+ "Bash(FORCE_AVFOUNDATION=1 timeout 10 node test-cursor-simple.js)",
6
+ "Bash(jq:*)",
7
+ "Bash(FORCE_AVFOUNDATION=1 timeout 15 node test-cursor-position.js)",
8
+ "Bash(FORCE_AVFOUNDATION=1 timeout 8 node test-cursor-debug.js)",
9
+ "Bash(FORCE_AVFOUNDATION=1 timeout 5 node test-cursor-debug.js)"
18
10
  ],
19
11
  "deny": [],
20
12
  "ask": []
package/index.js CHANGED
@@ -823,6 +823,23 @@ class MacRecorder extends EventEmitter {
823
823
 
824
824
  // Apply video-relative transformation for all recording types
825
825
  if (this.cursorDisplayInfo && this.cursorDisplayInfo.videoRelative) {
826
+ // FILTER: Only record cursor when it's on the target display
827
+ // Use cached display info to avoid async calls
828
+ const displayX = this.cursorDisplayInfo.displayX;
829
+ const displayY = this.cursorDisplayInfo.displayY;
830
+ const displayWidth = this.cursorDisplayInfo.displayWidth;
831
+ const displayHeight = this.cursorDisplayInfo.displayHeight;
832
+
833
+ const onTargetDisplay = position.x >= displayX &&
834
+ position.x < (displayX + displayWidth) &&
835
+ position.y >= displayY &&
836
+ position.y < (displayY + displayHeight);
837
+
838
+ if (!onTargetDisplay) {
839
+ // Skip cursor data when cursor is on different display
840
+ return;
841
+ }
842
+
826
843
  // Step 1: Transform global → display-relative coordinates
827
844
  const displayRelativeX = position.x - this.cursorDisplayInfo.displayX;
828
845
  const displayRelativeY = position.y - this.cursorDisplayInfo.displayY;
@@ -937,6 +954,13 @@ class MacRecorder extends EventEmitter {
937
954
  this.cursorCaptureFile = null;
938
955
  }
939
956
 
957
+ // Native cursor tracking'i durdur
958
+ try {
959
+ nativeBinding.stopCursorTracking();
960
+ } catch (nativeError) {
961
+ console.warn('Native cursor tracking stop failed:', nativeError.message);
962
+ }
963
+
940
964
  // Değişkenleri temizle
941
965
  this.lastCapturedData = null;
942
966
  this.cursorCaptureStartTime = null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-mac-recorder",
3
- "version": "2.18.9",
3
+ "version": "2.18.10",
4
4
  "description": "Native macOS screen recording package for Node.js applications",
5
5
  "main": "index.js",
6
6
  "keywords": [