You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"message": "move more jobs to disk write (#6156)\n\nMove file clean up task to disk write worker.\r\nFix unit test: close session has to run on a background thread",
"message": "Make the session id not depend on fetching the fid (#6152)\n\nMake generating a session id not depend on fetching the fid. This is\r\nneeded so we can allow the common worker to initialize, and start\r\naccepting use actions, before any data collection, settings, or fid\r\nvalidation happens.\r\n\r\nThe hash of the crashlytics installation id was used to pad the length\r\nand increase entropy. Instead of that, we use a random uuid now.\r\nVerified nothing depends on the source of that padding by manually\r\nsetting it to all 0s and doing an end-to-end test.\r\n\r\nThe way the session id is built is a little bit weird, using bytes. In\r\nthe future, we could rewrite this to use proper string formatting.",
"message": "Add a CrashlyticsWorkers container to manage the workers (#6178)\n\nAdd a CrashlyticsWorkers container to manage the workers, and define\r\nwhat each one is for. Also added a `submitTaskOnSuccess` method for\r\nconvenience. This will be useful for any of the user actions that get\r\ntriggered by send unsent reports.\r\n\r\nAlso found and fixed a bug in the worker queue. If a task gets cancelled\r\nand is followed by a runnable or callable already in the queue, it would\r\nhave been skipped. Now it's not a problem, and a test case added.",
"message": "Create a util for Crashlytics tasks, and move race into it (#6158)\n\nCreate a util for Crashlytics-specific Tasks, and move `race` into it.\r\nThis util class will hold other things later, so they don't make the\r\nworker class a mess. We will need something like `submitWaiting` next to\r\nblock until a task is complete, this is how data collection is\r\nimplemented.",
"message": "Improvements to the CrashlyticsWorker (#6143)\n\nAdded a method to submit a task followed by a continuation to the\r\nworker. This is useful for making a continuation happen right after the\r\nsubmitted task, even if other tasks were submitted to the worker in the\r\nmeantime. This will be useful for fetching settings from a network\r\nexecutor, then continuing on the common worker to parse the settings\r\njson.\r\n\r\nAlso added a method to race two tasks on the worker. This is useful for\r\nthings like waiting for an for explicit data collection enable call, or\r\nautomatic data collection being enabled.\r\n\r\nBoth methods have their behaviour fully documented in the javadoc and\r\ntested in unit tests.",
"message": "Add tests for internal apis used by development platform plugins (#6140)\n\nAdd test cases for internal apis used by development platform plugins so\r\nwe don't break them by accident during refactoring.\r\n\r\nWe should consider making the internal api more explicit.",
"message": "Move log and non-fatal persistence to disk write worker (#6133)\n\nOther metadata persistence is already on the right work from the\r\nprevious pr #6120\r\n- Move log and non-fatal persistence to disk write worker\r\n- Refine unit tests\r\n- Remove unused functions and interface",
"message": "Fix flaky test (#6132)\n\nFix flaky `submitTaskFromAnotherWorkerDoesNotUseLocalThreads` test. This\r\ntest would fail about 2% of the time on my machine due to dealing with\r\nthreads. With this change, it fails less than 0.5% of the time. Tested\r\nby running the test in a loop 1,000 times.",
"message": "User action refactor (#6120)\n\n- Creating common and disk worker based on Firebase background common\r\nexecutor\r\n- Move all user action directly to background thread and remove some\r\nunnecessary task submit\r\n- Add unit tests dependency for firebase common executor\r\n- Decouple crashlytics backend handler from user metadata and use disk\r\nwriting working for persistence write.",
"message": "Migrate to Firebase common executors (#6128)\n\nMigrate to Firebase common executors. Use the new `CrashlyticsWorker`\r\nfor common and disk write workers.",
"message": "Generalize the CrashlyticsWorker (#6126)\n\nGeneralize the CrashlyticsWorker.\r\n\r\nThe old CrashlyticsBackgroundWorker has a lot of overhead. Local\r\nexperimentation shows this generalized worker manages submitting tasks\r\nabout 4 times as fast.\r\n\r\nThe old background worker has some inaccurate Javadoc. I corrected and\r\nverified every detail mentioned in the Javadoc with integration tests.\r\nWe can rely on it now.\r\n\r\nI also found a bug in the old worker. If you cancel a task then submit a\r\nrunnable or callable, that will never execute because the chain breaks.\r\nI fixed it in the general worker and added test cases.\r\n\r\nNext steps will be to utilize the generic worker for the proposed\r\ncommon, network, and disk write workers.",
"message": "Add FirestoreClientProvider (#6050)\n\nIntroduce FirestoreClientProvider to manage life cycle and access to\r\nFirestoreClient. Calls to FirestoreClient are made through the reference\r\nheld in FirestoreClientProvider, thereby preparing for swapping\r\nFirestoreClient in future PR. This requires rewiring calls, such that\r\ncode does not hold a direct reference to FirestoreClient.\r\n\r\nI am open to a better name than FirestoeClientProvider...",
"message": "Check for notification_open duplicate logging based on message ID. (#6112)\n\n- Changed to use the message ID when checking for duplicate\r\nnotification_open logging instead of the Activity's Intent. This should\r\navoid logging again when an app starts another activity using a copy of\r\nthe notification's intent\r\n(https://github.com/firebase/firebase-android-sdk/issues/6091).",
"message": "Retry topic subscription on quota errors using exponential backoff (#6098)\n\nTopic subscription requests might hit a quota, but we can retry these\r\nfailures with exponential backoff incase they are transient. Retries will only be attempted as long as the app lives and will eventually backoff to 8 hours, so even if an app is consistently at quota, these extra sporadic retries should be harmless.\r\n\r\nFixes #6032",
0 commit comments