Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: associate dart errors with replays #2070

Merged
merged 4 commits into from
Jun 13, 2024

Conversation

vaind
Copy link
Collaborator

@vaind vaind commented May 26, 2024

@vaind vaind changed the base branch from main to feat/android-replay May 26, 2024 20:10
Copy link
Contributor

github-actions bot commented May 26, 2024

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

Generated by 🚫 dangerJS against bc157ab

@vaind
Copy link
Collaborator Author

vaind commented May 26, 2024

@buenaflor you've already reviewed the main replay PR so I've created this change as a separate one, so that it's easier to review. Please let me know if the changes are OK in general (because I'm not so sure around these areas of the code) and I'll update tests afterwards.

Copy link

codecov bot commented May 26, 2024

Codecov Report

Attention: Patch coverage is 0% with 7 lines in your changes are missing coverage. Please review.

Project coverage is 92.50%. Comparing base (a93da0b) to head (bc157ab).

Files Patch % Lines
...lutter/lib/src/native/java/sentry_native_java.dart 0.00% 5 Missing ⚠️
...ib/src/event_processor/replay_event_processor.dart 0.00% 2 Missing ⚠️
Additional details and impacted files
@@                   Coverage Diff                   @@
##           feat/android-replay    #2070      +/-   ##
=======================================================
- Coverage                92.69%   92.50%   -0.19%     
=======================================================
  Files                       60       60              
  Lines                     1970     1974       +4     
=======================================================
  Hits                      1826     1826              
- Misses                     144      148       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@buenaflor
Copy link
Contributor

buenaflor commented May 28, 2024

fyi, the sqflite analyze ci failure is not related to this PR

@vaind vaind force-pushed the feat/android-replay-errors branch from d60c28b to 61c75ca Compare May 29, 2024 06:15
@vaind
Copy link
Collaborator Author

vaind commented May 29, 2024

I'll update tests afterwards.

I've added the tests now

@vaind vaind merged commit 114ed86 into feat/android-replay Jun 13, 2024
128 of 130 checks passed
@vaind vaind deleted the feat/android-replay-errors branch June 13, 2024 07:10
vaind added a commit that referenced this pull request Aug 1, 2024
* minor gradle fixes

* tmp: local sentry-java build

* tmp: use relative path to sentry-java

* tmp: local java build patches

* replay options

* replay recorder

* wip: JNI native bindings

* use compatible jnigen

* add missing gradlew to flutter/android

* replay recorder JNI binding code

* replay recorder binding jni code

* jni 0.6

* wip: android jni replay

* replay binding

* glue code for jni

* chore: update to cocoa 8.24.1-alpha.0

* wip: cocoa integration

* wip: ios replay

* cleanup

* formatting

* android fixes

* move native setup to the native sdk integration

* cleanup & improvements

* improve widget filter and implement redact options

* fix image scaling

* ktlint format

* ci fixes

* fix tests

* add jnigen scripts

* use android 7.9.0 alpha.1

* move native init & close to SentryNative

* cleanup

* add macOS integration link

* rollback cocoa changes

* remove jni/jnigen

* wip: methodchannel based android recorder

* callback

* linter issues

* minor fixes

* more fixes

* linter issues

* cleanup

* improve logging

* move replay to experimental, same as in other SDKs

* improve tree shaking

* test: scheduler

* support browser test

* fix compat with old flutter

* cleanup

* rename recorder_widget_filter.dart

* fixup scheduler test

* improve test coverage

* pr cleanup

* test: widget filter

* cleanup

* test widget filter visibility

* cleanup

* always add screenshot widget

* recorder test

* cleanup

* limit recorder test to vm

* wip: integration test

* cleanup

* ktlint format

* detekt suppression

* ktlint format

* improve scheduler stop  behavior

* wip: error replay mapping

* suppress detekt TooGenericExceptionThrown

* Update flutter/lib/src/replay/recorder.dart

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>

* Update flutter/lib/src/native/java/sentry_native_java.dart

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>

* improve comments

* feat: associate dart errors with replays (#2070)

* feat: associate dart errors with replays

* ktlint

* cleanup

* tests

* chote: remove path dependency

* fix tests

* feat: replay breadcrumbs (android) (#2163)

* feat: replay breadcrumbs

* ktlint format

* fixup tests

* cleanup

* linter issues

* detekt linter issue

* move touch path build to dart to deduplicate

* fix metrics app compilation

* linter issue

* test: native replay integration binding (#2189)

* wip: test native integration

* test: native replay binding

* update example

* chore: update pubspec

* fixup tests

* Update flutter/test/mocks.dart

* chore: update changelog

* fix publishing

* release: 8.6.0-alpha.2

---------

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>
Co-authored-by: getsentry-bot <bot@sentry.io>
Co-authored-by: getsentry-bot <bot@getsentry.com>
vaind added a commit that referenced this pull request Aug 7, 2024
* minor gradle fixes

* tmp: local sentry-java build

* tmp: use relative path to sentry-java

* tmp: local java build patches

* replay options

* replay recorder

* wip: JNI native bindings

* use compatible jnigen

* add missing gradlew to flutter/android

* replay recorder JNI binding code

* replay recorder binding jni code

* jni 0.6

* wip: android jni replay

* replay binding

* glue code for jni

* chore: update to cocoa 8.24.1-alpha.0

* wip: cocoa integration

* wip: ios replay

* cleanup

* formatting

* android fixes

* move native setup to the native sdk integration

* cleanup & improvements

* improve widget filter and implement redact options

* fix image scaling

* ktlint format

* ci fixes

* fix tests

* add jnigen scripts

* use android 7.9.0 alpha.1

* move native init & close to SentryNative

* cleanup

* add macOS integration link

* rollback cocoa changes

* remove jni/jnigen

* wip: methodchannel based android recorder

* callback

* linter issues

* minor fixes

* more fixes

* linter issues

* cleanup

* improve logging

* move replay to experimental, same as in other SDKs

* improve tree shaking

* test: scheduler

* support browser test

* fix compat with old flutter

* cleanup

* rename recorder_widget_filter.dart

* fixup scheduler test

* improve test coverage

* pr cleanup

* test: widget filter

* cleanup

* test widget filter visibility

* cleanup

* always add screenshot widget

* recorder test

* cleanup

* limit recorder test to vm

* wip: integration test

* cleanup

* ktlint format

* detekt suppression

* ktlint format

* improve scheduler stop  behavior

* wip: error replay mapping

* suppress detekt TooGenericExceptionThrown

* Update flutter/lib/src/replay/recorder.dart

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>

* Update flutter/lib/src/native/java/sentry_native_java.dart

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>

* improve comments

* feat: associate dart errors with replays (#2070)

* feat: associate dart errors with replays

* ktlint

* cleanup

* tests

* chote: remove path dependency

* wip: ios replay

* fix result callback

* iOS related refactorings

* logs

* fix tests

* call captureReplay on iOS & set

* ios replay breadcrumbs

* feat: replay breadcrumbs (android) (#2163)

* feat: replay breadcrumbs

* ktlint format

* fixup tests

* cleanup

* linter issues

* detekt linter issue

* move touch path build to dart to deduplicate

* fix metrics app compilation

* linter issue

* test: native replay integration binding (#2189)

* wip: test native integration

* test: native replay binding

* update example

* chore: update pubspec

* fixup tests

* Update flutter/test/mocks.dart

* chore: update changelog

* fix publishing

* release: 8.6.0-alpha.2

* cleanup

* fix macos compilation

* test: iOS support

* linter issues

* linter issues

* chore: update changelog

* Update flutter/lib/src/native/cocoa/sentry_native_cocoa.dart

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>

---------

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>
Co-authored-by: getsentry-bot <bot@sentry.io>
Co-authored-by: getsentry-bot <bot@getsentry.com>
vaind added a commit that referenced this pull request Sep 2, 2024
* Flutter replay for Android (#2032)

* minor gradle fixes

* tmp: local sentry-java build

* tmp: use relative path to sentry-java

* tmp: local java build patches

* replay options

* replay recorder

* wip: JNI native bindings

* use compatible jnigen

* add missing gradlew to flutter/android

* replay recorder JNI binding code

* replay recorder binding jni code

* jni 0.6

* wip: android jni replay

* replay binding

* glue code for jni

* chore: update to cocoa 8.24.1-alpha.0

* wip: cocoa integration

* wip: ios replay

* cleanup

* formatting

* android fixes

* move native setup to the native sdk integration

* cleanup & improvements

* improve widget filter and implement redact options

* fix image scaling

* ktlint format

* ci fixes

* fix tests

* add jnigen scripts

* use android 7.9.0 alpha.1

* move native init & close to SentryNative

* cleanup

* add macOS integration link

* rollback cocoa changes

* remove jni/jnigen

* wip: methodchannel based android recorder

* callback

* linter issues

* minor fixes

* more fixes

* linter issues

* cleanup

* improve logging

* move replay to experimental, same as in other SDKs

* improve tree shaking

* test: scheduler

* support browser test

* fix compat with old flutter

* cleanup

* rename recorder_widget_filter.dart

* fixup scheduler test

* improve test coverage

* pr cleanup

* test: widget filter

* cleanup

* test widget filter visibility

* cleanup

* always add screenshot widget

* recorder test

* cleanup

* limit recorder test to vm

* wip: integration test

* cleanup

* ktlint format

* detekt suppression

* ktlint format

* improve scheduler stop  behavior

* wip: error replay mapping

* suppress detekt TooGenericExceptionThrown

* Update flutter/lib/src/replay/recorder.dart

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>

* Update flutter/lib/src/native/java/sentry_native_java.dart

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>

* improve comments

* feat: associate dart errors with replays (#2070)

* feat: associate dart errors with replays

* ktlint

* cleanup

* tests

* chote: remove path dependency

* fix tests

* feat: replay breadcrumbs (android) (#2163)

* feat: replay breadcrumbs

* ktlint format

* fixup tests

* cleanup

* linter issues

* detekt linter issue

* move touch path build to dart to deduplicate

* fix metrics app compilation

* linter issue

* test: native replay integration binding (#2189)

* wip: test native integration

* test: native replay binding

* update example

* chore: update pubspec

* fixup tests

* Update flutter/test/mocks.dart

* chore: update changelog

* fix publishing

* release: 8.6.0-alpha.2

---------

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>
Co-authored-by: getsentry-bot <bot@sentry.io>
Co-authored-by: getsentry-bot <bot@getsentry.com>

* fix: update android calls after SDK update (#2211)

* fix: update android calls after SDK update

* ktlint

* feat: iOS replay support (#2209)

* minor gradle fixes

* tmp: local sentry-java build

* tmp: use relative path to sentry-java

* tmp: local java build patches

* replay options

* replay recorder

* wip: JNI native bindings

* use compatible jnigen

* add missing gradlew to flutter/android

* replay recorder JNI binding code

* replay recorder binding jni code

* jni 0.6

* wip: android jni replay

* replay binding

* glue code for jni

* chore: update to cocoa 8.24.1-alpha.0

* wip: cocoa integration

* wip: ios replay

* cleanup

* formatting

* android fixes

* move native setup to the native sdk integration

* cleanup & improvements

* improve widget filter and implement redact options

* fix image scaling

* ktlint format

* ci fixes

* fix tests

* add jnigen scripts

* use android 7.9.0 alpha.1

* move native init & close to SentryNative

* cleanup

* add macOS integration link

* rollback cocoa changes

* remove jni/jnigen

* wip: methodchannel based android recorder

* callback

* linter issues

* minor fixes

* more fixes

* linter issues

* cleanup

* improve logging

* move replay to experimental, same as in other SDKs

* improve tree shaking

* test: scheduler

* support browser test

* fix compat with old flutter

* cleanup

* rename recorder_widget_filter.dart

* fixup scheduler test

* improve test coverage

* pr cleanup

* test: widget filter

* cleanup

* test widget filter visibility

* cleanup

* always add screenshot widget

* recorder test

* cleanup

* limit recorder test to vm

* wip: integration test

* cleanup

* ktlint format

* detekt suppression

* ktlint format

* improve scheduler stop  behavior

* wip: error replay mapping

* suppress detekt TooGenericExceptionThrown

* Update flutter/lib/src/replay/recorder.dart

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>

* Update flutter/lib/src/native/java/sentry_native_java.dart

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>

* improve comments

* feat: associate dart errors with replays (#2070)

* feat: associate dart errors with replays

* ktlint

* cleanup

* tests

* chote: remove path dependency

* wip: ios replay

* fix result callback

* iOS related refactorings

* logs

* fix tests

* call captureReplay on iOS & set

* ios replay breadcrumbs

* feat: replay breadcrumbs (android) (#2163)

* feat: replay breadcrumbs

* ktlint format

* fixup tests

* cleanup

* linter issues

* detekt linter issue

* move touch path build to dart to deduplicate

* fix metrics app compilation

* linter issue

* test: native replay integration binding (#2189)

* wip: test native integration

* test: native replay binding

* update example

* chore: update pubspec

* fixup tests

* Update flutter/test/mocks.dart

* chore: update changelog

* fix publishing

* release: 8.6.0-alpha.2

* cleanup

* fix macos compilation

* test: iOS support

* linter issues

* linter issues

* chore: update changelog

* Update flutter/lib/src/native/cocoa/sentry_native_cocoa.dart

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>

---------

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>
Co-authored-by: getsentry-bot <bot@sentry.io>
Co-authored-by: getsentry-bot <bot@getsentry.com>

* fix: cocoa sdk renamed errorSampleRate to onErrorSampleRate

* fixup changelog

* release: 8.8.0-alpha.1

* chore: update changelog

* update changelog

---------

Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>
Co-authored-by: getsentry-bot <bot@sentry.io>
Co-authored-by: getsentry-bot <bot@getsentry.com>
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.

2 participants