Skip to content

Conversation

markushi
Copy link
Member

@markushi markushi commented Oct 2, 2025

📜 Description

Adds an experimental option to enable an alternate way to capture screenshots, using a fake Canvas which draws rectangles instead of text, producing a safer way to mask all sensitive content.

💡 Motivation and Context

No masking issues.

💚 How did you test it?

Manually

📝 Checklist

  • I added GH Issue ID & Linear ID
  • I added tests to verify the changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • Review from the native team if needed.
  • No breaking change or entry added to the changelog.
  • No breaking change for hybrid SDKs or communicated to hybrid SDKs.

🔮 Next steps

Copy link
Contributor

github-actions bot commented Oct 2, 2025

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 375.72 ms 457.44 ms 81.72 ms
Size 1.58 MiB 2.12 MiB 547.74 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
23d6b12 354.10 ms 408.38 ms 54.28 ms
9fbb112 361.43 ms 427.57 ms 66.14 ms
1df7eb6 397.04 ms 429.64 ms 32.60 ms
c8125f3 397.65 ms 485.14 ms 87.49 ms
ee747ae 358.21 ms 389.41 ms 31.20 ms
b750b96 408.98 ms 480.32 ms 71.34 ms
f634d01 359.58 ms 433.88 ms 74.30 ms
806307f 357.85 ms 424.64 ms 66.79 ms
ee747ae 374.71 ms 455.18 ms 80.47 ms
ce0a49e 532.00 ms 609.96 ms 77.96 ms

App size

Revision Plain With Sentry Diff
23d6b12 1.58 MiB 2.10 MiB 532.31 KiB
9fbb112 1.58 MiB 2.11 MiB 539.18 KiB
1df7eb6 1.58 MiB 2.10 MiB 532.97 KiB
c8125f3 1.58 MiB 2.10 MiB 532.32 KiB
ee747ae 1.58 MiB 2.10 MiB 530.95 KiB
b750b96 1.58 MiB 2.10 MiB 533.19 KiB
f634d01 1.58 MiB 2.10 MiB 533.40 KiB
806307f 1.58 MiB 2.10 MiB 533.42 KiB
ee747ae 1.58 MiB 2.10 MiB 530.95 KiB
ce0a49e 1.58 MiB 2.10 MiB 532.94 KiB

Previous results on branch: markushi/canvas-approach

Startup times

Revision Plain With Sentry Diff
1b16487 375.34 ms 440.81 ms 65.47 ms
1b42121 377.29 ms 423.63 ms 46.34 ms
0a0b1e3 353.33 ms 370.31 ms 16.98 ms
8b9eb06 389.33 ms 448.42 ms 59.09 ms
191c05d 370.45 ms 429.70 ms 59.25 ms
04bebea 403.28 ms 417.84 ms 14.56 ms
8b7fc28 390.50 ms 444.36 ms 53.86 ms

App size

Revision Plain With Sentry Diff
1b16487 1.58 MiB 2.12 MiB 547.06 KiB
1b42121 1.58 MiB 2.12 MiB 547.01 KiB
0a0b1e3 1.58 MiB 2.11 MiB 542.83 KiB
8b9eb06 1.58 MiB 2.12 MiB 547.07 KiB
191c05d 1.58 MiB 2.12 MiB 547.71 KiB
04bebea 1.58 MiB 2.12 MiB 547.06 KiB
8b7fc28 1.58 MiB 2.11 MiB 543.01 KiB

@markushi markushi marked this pull request as ready for review October 13, 2025 09:05
cursor[bot]

This comment was marked as outdated.

Copy link
Contributor

github-actions bot commented Oct 14, 2025

Messages
📖 Do not forget to update Sentry-docs with your feature once the pull request gets approved.

Generated by 🚫 dangerJS against 9caa949

cursor[bot]

This comment was marked as outdated.

}
}
}
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: CanvasStrategy Fails to Close ImageReaders

The CanvasStrategy.close() method doesn't close the ImageReader instances held in freePictureRef and unprocessedPictureRef. These ImageReaders allocate native resources that require explicit cleanup, leading to resource leaks.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants