Skip to content

Fix user action blocking behaviour when data collection disabled #6218

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

Merged
merged 4 commits into from
Aug 27, 2024

Conversation

themiswang
Copy link
Contributor

@themiswang themiswang commented Aug 26, 2024

Make doBackgroundInitializationAsync submit a callable instead of submit task

Submit task results in a blocking behaviour when SettingsTask cannot be resolved during initialization
Remove un-necessary task return

Copy link
Contributor

Vertex AI Mock Responses Check ⚠️

A newer major version of the mock responses for Vertex AI unit tests is available. update_responses.sh should be updated to clone the latest version of the responses: v3.1

@google-oss-bot
Copy link
Contributor

1 Warning
⚠️ Did you forget to add a changelog entry? (Add the 'no-changelog' label to the PR to silence this warning.)

Generated by 🚫 Danger

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Aug 26, 2024

Coverage Report 1

Affected Products

  • firebase-crashlytics

    Overall coverage changed from ? (e896ac4) to 11.57% (c39b3c3) by ?.

    130 individual files with coverage change

    FilenameBase (e896ac4)Merge (c39b3c3)Diff
    AnalyticsDeferredProxy.java?0.00%?
    AnalyticsEventLogger.java?0.00%?
    AnalyticsEventReceiver.java?0.00%?
    AppData.java?50.00%?
    AutoCrashlyticsReportEncoder.java?57.80%?
    AutoRolloutAssignmentEncoder.java?0.00%?
    AutoValue_CrashlyticsReport.java?0.00%?
    AutoValue_CrashlyticsReportWithSessionId.java?0.00%?
    AutoValue_CrashlyticsReport_ApplicationExitInfo.java?58.42%?
    AutoValue_CrashlyticsReport_ApplicationExitInfo_BuildIdMappingForArch.java?0.00%?
    AutoValue_CrashlyticsReport_CustomAttribute.java?0.00%?
    AutoValue_CrashlyticsReport_FilesPayload.java?0.00%?
    AutoValue_CrashlyticsReport_FilesPayload_File.java?0.00%?
    AutoValue_CrashlyticsReport_Session.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Application.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Application_Organization.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Device.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application_Execution.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application_ProcessDetails.java?40.35%?
    AutoValue_CrashlyticsReport_Session_Event_Device.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Log.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_RolloutAssignment.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_RolloutAssignment_RolloutVariant.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_RolloutsState.java?0.00%?
    AutoValue_CrashlyticsReport_Session_OperatingSystem.java?0.00%?
    AutoValue_CrashlyticsReport_Session_User.java?0.00%?
    AutoValue_InstallIdProvider_InstallIds.java?0.00%?
    AutoValue_RolloutAssignment.java?0.00%?
    AutoValue_StaticSessionData.java?0.00%?
    AutoValue_StaticSessionData_AppData.java?0.00%?
    AutoValue_StaticSessionData_DeviceData.java?0.00%?
    AutoValue_StaticSessionData_OsData.java?0.00%?
    BackgroundPriorityRunnable.java?0.00%?
    BatteryState.java?0.00%?
    BlockingAnalyticsEventLogger.java?0.00%?
    BreadcrumbAnalyticsEventReceiver.java?0.00%?
    BreadcrumbHandler.java?0.00%?
    BreadcrumbSource.java?0.00%?
    BuildIdInfo.java?62.50%?
    BytesBackedNativeSessionFile.java?0.00%?
    CachedSettingsIo.java?0.00%?
    CLSUUID.java?0.00%?
    CommonUtils.java?1.09%?
    CrashlyticsAnalyticsListener.java?0.00%?
    CrashlyticsAppQualitySessionsStore.java?0.00%?
    CrashlyticsAppQualitySessionsSubscriber.java?0.00%?
    CrashlyticsController.java?18.57%?
    CrashlyticsCore.java?0.61%?
    CrashlyticsFileMarker.java?30.77%?
    CrashlyticsNativeComponent.java?0.00%?
    CrashlyticsNativeComponentDeferredProxy.java?25.00%?
    CrashlyticsOriginAnalyticsEventLogger.java?0.00%?
    CrashlyticsRegistrar.java?0.00%?
    CrashlyticsRemoteConfigListener.kt?0.00%?
    CrashlyticsReport.java?4.65%?
    CrashlyticsReportDataCapture.java?3.33%?
    CrashlyticsReportJsonTransform.java?1.01%?
    CrashlyticsReportPersistence.java?3.06%?
    CrashlyticsReportWithSessionId.java?0.00%?
    CrashlyticsTasks.java?0.00%?
    CrashlyticsUncaughtExceptionHandler.java?0.00%?
    CrashlyticsWorker.java?37.21%?
    CrashlyticsWorkers.kt?42.31%?
    CurrentTimeProvider.java?0.00%?
    CustomKeysAndValues.java?0.00%?
    DataCollectionArbiter.java?84.27%?
    DataTransportCrashlyticsReportSender.java?48.28%?
    DefaultSettingsJsonTransform.java?0.00%?
    DefaultSettingsSpiCall.java?0.00%?
    DeliveryMechanism.java?0.00%?
    DevelopmentPlatformProvider.java?0.00%?
    DisabledBreadcrumbSource.java?0.00%?
    ExecutorUtils.java?0.00%?
    FileBackedNativeSessionFile.java?0.00%?
    FileLogStore.java?0.00%?
    FileStore.java?29.85%?
    FirebaseCrashlytics.java?0.00%?
    FirebaseCrashlytics.kt?0.00%?
    FirebaseInstallationId.kt?0.00%?
    HttpGetRequest.java?0.00%?
    HttpRequestFactory.java?0.00%?
    HttpResponse.java?0.00%?
    IdManager.java?2.63%?
    InstallerPackageNameProvider.java?0.00%?
    InstallIdProvider.java?0.00%?
    KeysMap.java?24.32%?
    KeyValueBuilder.kt?0.00%?
    LogFileManager.java?60.71%?
    Logger.java?40.54%?
    MetaDataStore.java?17.83%?
    MiddleOutFallbackStrategy.java?0.00%?
    MiddleOutStrategy.java?0.00%?
    NativeSessionFile.java?0.00%?
    NativeSessionFileGzipper.java?0.00%?
    NativeSessionFileProvider.java?0.00%?
    OnDemandCounter.java?0.00%?
    ProcessDetailsProvider.kt?70.59%?
    QueueFile.java?0.00%?
    QueueFileLogStore.java?7.58%?
    RemoteConfigDeferredProxy.java?0.00%?
    RemoveRepeatsStrategy.java?0.00%?
    ReportQueue.java?0.00%?
    ResponseParser.java?0.00%?
    RolloutAssignment.java?0.00%?
    RolloutAssignmentList.java?44.44%?
    SessionReportingCoordinator.java?42.20%?
    Settings.java?95.00%?
    SettingsCacheBehavior.java?0.00%?
    SettingsController.java?0.00%?
    SettingsJsonConstants.java?0.00%?
    SettingsJsonParser.java?0.00%?
    SettingsJsonTransform.java?0.00%?
    SettingsProvider.java?0.00%?
    SettingsRequest.java?0.00%?
    SettingsSpiCall.java?0.00%?
    SettingsV3JsonTransform.java?0.00%?
    StackTraceTrimmingStrategy.java?0.00%?
    StaticSessionData.java?0.00%?
    SystemCurrentTimeProvider.java?0.00%?
    TrimmedThrowableData.java?0.00%?
    UnavailableAnalyticsEventLogger.java?0.00%?
    UserMetadata.java?22.33%?
    Utils.java?0.00%?

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/qjIbE29SJW.html

Copy link
Contributor

github-actions bot commented Aug 26, 2024

Unit Test Results

  8 files    8 suites   21s ⏱️
22 tests 22 ✔️ 0 💤 0
44 runs  44 ✔️ 0 💤 0

Results for commit 3fa1f1b.

♻️ This comment has been updated with latest results.

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Aug 26, 2024

Size Report 1

Affected Products

  • base

    TypeBase (e896ac4)Merge (c39b3c3)Diff
    apk (aggressive)?8.80 kB? (?)
    apk (release)?9.77 kB? (?)
  • firebase-crashlytics

    TypeBase (e896ac4)Merge (c39b3c3)Diff
    aar?410 kB? (?)
    apk (aggressive)?698 kB? (?)
    apk (release)?5.85 MB? (?)
  • firebase-crashlytics-ndk

    TypeBase (e896ac4)Merge (c39b3c3)Diff
    aar?1.65 MB? (?)
    apk (aggressive / arm64-v8a)?1.87 MB? (?)
    apk (aggressive / armeabi-v7a)?1.34 MB? (?)
    apk (aggressive / x86)?1.85 MB? (?)
    apk (aggressive / x86_64)?1.91 MB? (?)
    apk (release / arm64-v8a)?7.01 MB? (?)
    apk (release / armeabi-v7a)?6.49 MB? (?)
    apk (release / x86)?6.99 MB? (?)
    apk (release / x86_64)?7.06 MB? (?)
  • firebase-sessions

    TypeBase (e896ac4)Merge (c39b3c3)Diff
    aar?168 kB? (?)
    apk (aggressive)?560 kB? (?)
    apk (release)?5.52 MB? (?)

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/1lsabyLOQo.html

@themiswang themiswang changed the title timeout race for 10 sec Fix user action blocking behaviour when data collection disabled Aug 27, 2024
@themiswang themiswang marked this pull request as ready for review August 27, 2024 01:38
Copy link
Contributor

@mrober mrober left a comment

Choose a reason for hiding this comment

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

LGTM!

@themiswang themiswang merged commit 079548f into crashlytics-exception-handler Aug 27, 2024
13 of 14 checks passed
@themiswang themiswang deleted the timeoutRace branch August 27, 2024 13:57
themiswang added a commit that referenced this pull request Sep 17, 2024
Make doBackgroundInitializationAsync submit a callable instead of submit
task

Submit task results in a blocking behaviour when `SettingsTask` cannot
be resolved during initialization
Remove un-necessary task return
@firebase firebase locked and limited conversation to collaborators Sep 27, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants