-
Notifications
You must be signed in to change notification settings - Fork 578
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
Add check if Sessions is disabled #5061
Conversation
Coverage Report 1Affected Products
Test Logs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚢
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have tests to validate this change? Basically I'm surprised that we did not have tests where we validate that we do not sent events when sessions SDK is disabled. We should add tests to ensure that this scenario is tested.
I am adding these tests in a new PR. |
* Do not send session id to subscribers if Sessions is disabled * Move the Sessions settings disabled check to after subscrubers
* Initial commit for Firebase Sessions SDK (#4713) * Initial commit for Firebase Sessions SDK * Add copyright notice * Remove redundant dependency * Revert 'Remove redundant dependency' to avoid using api * Generate api.txt file * Implement SessionInitiator and hook it up to lifecycle events (#4723) * Implement SessionInitiator and hook it up to lifecycle events * Add a warning when failed to register lifecycle callbacks * Fix formatting * Use kotlin.time.Duration instead of Long for time intervals (#4733) * Use kotlin.time.Duration instead of Long for time intervals * Adjust test constants * Simplify elapsedRealtime to always be millis precision * Add SessionGenerator to generate the Session ID (#4747) * Add SessionEvent data class (#4763) * Add SessionEvent data class * Add enum test case * Remove serialization (this will be handled in encoders) and rename SessionState * Generate a SessionEvent based on the SessionState * Rename SessionState to SessionDetails * Firebase Session Event * Add Firebase Sessions Test App (#4775) * Add Firebase Sessions Test App * Remove boilerplate * Add JSON encoder for SessionEvents (#4778) * Use the private setter pattern on SessionGenerator.currentSession (#4785) * Use the private setter pattern on SessionGenerator.currentSession * Comments * Integrate with FirebaseInstallations. (#4796) * Populate firebaseInstallationId field in session (#4801) * Package session start event's application information. (#4829) * Fix workflows for Firebase Sessions (#4841) * Use googleServices.gradle * Move package level function to object to fix api surface check * Add android manifest file with versionName set to fix android tests * Update pinned deps * Make getApplicationInfo look leaner * Setup configuration layer for the library. (#4853) * Fix Firebase Sessions test app temporarily (#4858) * Add GDT to Firebase Sessions (#4851) * Add README files (#4857) * Fix test app and add README's * Undo app changes * Undo app changes * Add description and formatting to README file * Add google-services.json file to unit tests (#4868) * Setup sessions e2e workflow (#4859) * Start setting up sessions e2e workflow * Remove schedule * Format * Setup gcloud * Set FIREBASE_APP_CHECK_DEBUG_SECRET * Set FTL_RESULTS_BUCKET * Add schedule * Add 20 min * Implement local manifest override configs (#4877) * Fix encoding for Session Events (#4870) * Use test app for Sessions e2e test (#4881) * Use test app for Sessions e2e test * Add test lab plugin * Use firebase-sessions branch * Increase time to log session to 60 seconds * Move currentTimeUs into WallClock (#4890) * Populate sampling rate in session event (#4891) * Populate sampling rate in session event * Fix test * Fix merge * Add TimeProvider interface to abstract away the clock (#4905) * Add TimeProvider interface to abstract away the clock * Add comment about default elapsed time being zero * Fill in device_model field for AQS (#4892) * Implement sampling (#4896) * Implement sampling * return * Remove collectEvents from SessionDetails, use sessionGenerator.collectEvents * Don't generate whole Session Start event for sampled event * Fix log message * Add Sessions to benchmark config (#4914) * Introduce remote config cache for storing configs fetched remotely. (#4917) * Make logging consistent with Apple SDK (#4919) * Pass a CoroutineContext, not CoroutineDispatcher, to SessionCoordinator (#4950) * Implement remote config fetcher to fetch and cache configs. (#4967) * Add os_version, app_build_version, device_manufacturer for Sessions #11222 (#4984) * Add App information for config fetching. (#4992) * Update the header params for network request. (#4995) * Add thread safe FirebaseSessionsDependencies (#4983) * Add thread safe FirebaseSessionsDependencies * Remove debug line * Format * Address comments * Rename to getRegisteredSubscribers * Add register api to FirebaseSessions so products can integrate (#4989) * Add thread safe FirebaseSessionsDependencies * Remove debug line * Format * Add register api to FirebaseSessions so products can integrate * Fix Android tests and api txt file * Address comments * Address comments * Rename to getRegisteredSubscribers * Fix callsite * Add Sessions to Crashlytics (#4993) * Add thread safe FirebaseSessionsDependencies * Remove debug line * Format * Add register api to FirebaseSessions so products can integrate * Fix Android tests and api txt file * Add Sessions to Crashlytics * Address comments * Address comments * Rename to getRegisteredSubscribers * Fix callsite * Add todo * Fix gradle command in README * Use firebase-encoders-processor instead of manually building encoder (#5030) * Fix behaviour with multiple subscribers (#5031) * Fix behaviour with multiple subscribers * Fix format * Integrate Firebase Performance with Firebase Sessions. (#5020) * Clean up how we launch suspend functions (#5028) * Make `initiateSessionStart` a suspend function * Notify subscribers regardless of sampling and data collection state * Add timestamp to SessionDetails * Fix format * Generate the session details on main thread * Fix tests * Call it sessionStartTimestampUs for clarity sake * Add and populate appQualitySessionId in Crashlytics reports (#5045) * Add and populate appQualitySessionId in Crashlytics reports * Bump Crashlytics ktx target sdk to 33, same as Java sdk * Log warning when missing AQS session id * Pin firebase-datatransport version (#5070) * Use AQS provided sessionId for Fireperf events. (#5060) * Fix firebase-crashlytics-ktx instrumented tests (#5068) * Fix firebase-crashlytics-ktx deps * Fix CrashlyticsTests and clean up build file * Make FirebaseCrashlyticsKtxRegistrar internal * Bump health metrics compile sdk * Add versionName version * Add check if Sessions is disabled (#5061) * Do not send session id to subscribers if Sessions is disabled * Move the Sessions settings disabled check to after subscrubers * Add fid to Crashlytics report (#5052) * Add fid to Crashlytics report * Format * Handle IOExceptions when fetching remote settings (#5092) * Handle IOExceptions went fetching remote settings * Add failure test case for RemoteSettingsFetcher * Make remote settings fetch non-blocking (#5095) * Ensure the settings cache has loaded from disk before reading any values (#5103) * Make remote settings fetch non-blocking * Ensure the settings cache has loaded from disk before reading any values * Fix runtime exception with a load-bearing empty block * Inline the definition of metadata to avoid needing an empty block * Comments * Fetch remote settings on session, not on launch (#5107) * Make remote settings fetch non-blocking * Ensure the settings cache has loaded from disk before reading any values * Fix runtime exception with a load-bearing empty block * Inline the definition of metadata to avoid needing an empty block * Fetch remote settings on session, not on launch * Log warning when we fail to fetch the fid --------- Co-authored-by: Sam Edson <samedson@google.com> Co-authored-by: Visu <visumickey@gmail.com>
No description provided.