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

Merge pull request #7 from getsentry/ref/cache-directory #2

Open
wants to merge 1,273 commits into
base: master
Choose a base branch
from

Conversation

BertsLifee
Copy link

ref: Fixes for Add cacheDirectory option

📜 Description

💡 Motivation and Context

💚 How did you test it?

📝 Checklist

You have to check all boxes before merging:

  • I reviewed the submitted code.
  • 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.
  • 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

getsentry-bot and others added 30 commits November 10, 2022 01:07
Move the calculation of the flush dispatch time to the beginning of the
flush function to avoid any code until the call to dispatch_group_wait
adds up to the total flush duration.

Fixes getsentryGH-2334, getsentryGH-2340
Report pre-warmed app starts by dropping the first app start spans if pre-warming paused during these steps.
This approach will shorten the app start duration, but it represents the duration a user has to wait after clicking
the app icon until the app is responsive. We report the app start type in the appContext, so Sentry can make
changes to the UI for prewarmed app starts.

Fixes getsentryGH-1897
Split formatting swift and clang files for pre-commit.
The app state is needed on the next app start, to be copied to previous app state. This is needed to determine the app start type.
* feat: build errors with exceptions and underling errors: refactor to extract common init

* ref: json serialization error handling

before:
    - test if input is valid JSON with `-[NSJSONSerialization
    isValidJSON]` and if not, build our own error.
    - problem: no hints as to why the JSON is invalid

after:
    - attempt direct serialization with `-[NSJSONSerialization
    dataWithJSONObject:options:error:]` and use the library error
    - this can throw an exception in certain failure modes: surround
    the call with try/catch
    - use new functions in SentryError to create an NSError from
    either an NSException or the inout NSError
    - only compile like this for nonrelease builds so we don't incur
    the performance hit of throwing an exception (see apple's docs:
    "For best performance in 64-bit, you should throw exceptions only
    when absolutely necessary.")

Co-authored-by: Dhiogo Ramos Brustolin <[email protected]>
Bumps [fastlane](https://github.com/fastlane/fastlane) from 2.210.1 to 2.211.0.
- [Release notes](https://github.com/fastlane/fastlane/releases)
- [Commits](fastlane/fastlane@fastlane/2.210.1...fastlane/2.211.0)

---
updated-dependencies:
- dependency-name: fastlane
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ry#2386)

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.1.31 to 2.1.32.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@c3b6fce...4238421)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
The unit tests for iOS 12 need to install a simulator first,
which can take a couple of minutes.
The job sometimes times out in CI. We can increase the timeout only for
that job.
…SONObject (getsentry#2392)

Fix flaky test

SentrySerializationTests.testSerializationFailsWithInvalidJSONObject
Use the last breadcrumb's timestamp as the OOM event timestamp
Co-authored-by: Dhiogo Ramos Brustolin <[email protected]>
Fix reading from the integrations list while it's being modified
on another thread on the client.

Fixes getsentryGH-2397
brustolin and others added 29 commits February 3, 2023 10:27
SentryTracer is the core of performance, and it gets bigger and bigger with each new feature, therefore is getting harder to understand it.

This is the first step to reduce it. The goal in the future is to extract more behavior from it and use DI as replacement.
When closing the SDK directly after starting it, it could happen that the ANRTracker
didn't start its watchdog thread yet. Canceling the ANRTrackers thread required the
instance of the watchdog thread and didn't work correctly. This is fixed now by using
simple state management in the ANRTracker. While this is an edge case, it can help
with flaky tests, as the test logs showed signs of the ANRTracker running in the
background.
Add EXC_BAD_ACCESS subtypes to unhandled errors on arm CPUs.
Previously the CrashDoctor always diagnosed a memory crash as
Attempted to dereference garbage pointer at 0x13fd4582e. Now the SDK
replaces the generic message with the specific subtype.
Add missing atomic import for SentryProfilingConditionals as for some
nightly Swift versions the project didn't compile.

Fixes getsentryGH-2678
…#2688)

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.1 to 2.2.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@3ebbd71...17573ee)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Don't overwrite the existing status of auto-generated transactions
when finishing them.

Fixes getsentryGH-2402
…tsentry#2686)

Created a filter to avoid creating breadcrumbs for every key pressed in a UITextField control
If a SwiftUI view is used within a view controller or vice-versa, we mixed all the spans into only one transaction.

Co-authored-by: Philipp Hofmann <[email protected]>
We missed adding getsentry#2535 to the Changelog of 8.0.0.
Co-authored-by: Dhiogo Brustolin <[email protected]>
Co-authored-by: Sentry Github Bot <[email protected]>
…2698)

Adding the strong attribute to SentrySpanProtocol where applicable
Fix EXC_BAD_ACCESS in SentryTracer by using a weak reference when dispatching the
idle timeout to avoid accessing a garbage pointer.

Fixes getsentryGH-2696
Point out to check all checkboxes before merging.
Change debug image from apple to macho cause apple was
deprecated.

Fixes getsentryGH-2591
Add a script that applies a patch, so Xcode uploads iOS-Swift's dSYMs
to Sentry when building.
Change _Nullable to nullable for SentryThread.
The protocol contains a couple of nullable BOOLs that are of type
NSNumber. Setting these properties to something different than 0
or 1 leads to a serialized NSNumber, which violates the protocol.
With this refactoring 0 value always means false, and any nonzero
value is interpreted as true when serializing such nullable BOOLs.
Add a delegate for SentrySystemEventBreadcrumbs to be independent of SentrySDK to
make the validation of crumbs easier in SentrySystemEventBreadcrumbsTests, and
only one test in SentryAutoBreadcrumbTrackingIntegrationTests has to use the global
state of the SentrySDK for testing to reduce flakiness. Furthermore, use test classes
in SentryAutoBreadcrumbTrackingIntegrationTests when calling install to reduce
side effects when testing.
ref: Fixes for Add cacheDirectory option
BertsLifee referenced this pull request in BertsLifee/sentry-cocoa Mar 12, 2023
* disable flaky test_DataConsistency_readUrl_disabled

it was disabled in the unit tests but not in the iOS-Swift scheme for its UI tests

fail #1: https://github.com/getsentry/sentry-cocoa/actions/runs/3238645664/jobs/5307090889#step:4:1143
fail #2: https://github.com/getsentry/sentry-cocoa/actions/runs/3238645664/jobs/5307223688#step:4:1161
pass on rerun #3: https://github.com/getsentry/sentry-cocoa/actions/runs/3238645664/jobs/5307687742

* disable flaky unit tests

- `testGetRequest_SpanCreatedAndBaggageHeaderAdded` fails in https://github.com/getsentry/sentry-cocoa/actions/runs/3238645664/jobs/5307104221#step:9:49 and passes in subsequent try in https://github.com/getsentry/sentry-cocoa/actions/runs/3238645664/jobs/5307688649
- `testFlush_CalledSequentially_BlocksTwice` fails in https://github.com/getsentry/sentry-cocoa/actions/runs/3238645664/jobs/5307104166#step:9:39 and passes in subsequent try in https://github.com/getsentry/sentry-cocoa/actions/runs/3238645664/jobs/5307688591

* disable flaky testANRDetected_UpdatesAppStateToTrue

fails in https://github.com/getsentry/sentry-cocoa/actions/runs/3239188699/jobs/5308324227#step:9:39 and passes after retry in https://github.com/getsentry/sentry-cocoa/actions/runs/3239188699/jobs/5320658454

* rename to add _disabled suffix

* fix skiipped test names with _disabled suffixes
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.