From 6a4ec1f3368011cf3e7dc59b4dab74906dfac033 Mon Sep 17 00:00:00 2001 From: Brian Chen Date: Tue, 21 May 2019 15:35:36 -0700 Subject: [PATCH 1/3] Make clearPersistence publicly available --- .../java/com/google/firebase/firestore/FirebaseFirestore.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java b/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java index 7f6907d891d..5da06b2f616 100644 --- a/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java +++ b/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java @@ -405,7 +405,7 @@ public static void setLoggingEnabled(boolean loggingEnabled) { * @return A Task that is resolved once the persistent storage has been cleared. Otherwise, the * Task is rejected with an error. */ - Task clearPersistence() { + public Task clearPersistence() { final TaskCompletionSource source = new TaskCompletionSource<>(); asyncQueue.enqueueAndForget( () -> { From ab057f2fa2c75755d5156bdfc82a00c8bd48f688 Mon Sep 17 00:00:00 2001 From: Brian Chen Date: Wed, 22 May 2019 10:06:09 -0700 Subject: [PATCH 2/3] add publicAPI --- .../java/com/google/firebase/firestore/FirebaseFirestore.java | 1 + 1 file changed, 1 insertion(+) diff --git a/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java b/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java index 5da06b2f616..3a1305b73b1 100644 --- a/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java +++ b/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java @@ -405,6 +405,7 @@ public static void setLoggingEnabled(boolean loggingEnabled) { * @return A Task that is resolved once the persistent storage has been cleared. Otherwise, the * Task is rejected with an error. */ + @PublicApi public Task clearPersistence() { final TaskCompletionSource source = new TaskCompletionSource<>(); asyncQueue.enqueueAndForget( From edae430e73f2a60b641f1c9672511c999bc4588c Mon Sep 17 00:00:00 2001 From: Brian Chen Date: Wed, 5 Jun 2019 11:05:14 -0700 Subject: [PATCH 3/3] add changelog entry --- firebase-firestore/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/firebase-firestore/CHANGELOG.md b/firebase-firestore/CHANGELOG.md index 971d94088c6..d0625776292 100644 --- a/firebase-firestore/CHANGELOG.md +++ b/firebase-firestore/CHANGELOG.md @@ -2,6 +2,10 @@ - [fixed] Updated gRPC to 1.21.0. A bug in the prior version would occasionally cause a crash if a network state change occurred concurrently with an RPC. (#428) +- [feature] Added `clearPersistence()`, which clears the persistent storage + including pending writes and cached documents. This is intended to help + write reliable tests (https://github.com/firebase/firebase-js-sdk/issues/449). + # 19.0.1 - [fixed] Fixed an issue that prevented schema migrations for clients with