Skip to content

feat(rtdb, firestore): create values() and dataObjects() Flows #4804

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 8 commits into from
Apr 4, 2023

Conversation

thatfiredev
Copy link
Member

This PR should add the database Flows approved in go/kotlin-flows-firebase-android-addendum

@thatfiredev thatfiredev requested a review from rlazo March 21, 2023 10:19
@github-actions
Copy link
Contributor

github-actions bot commented Mar 21, 2023

Javadoc Changes:
--- /Users/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/database/ktx/package-summary.html	2023-04-03 23:40:05.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/database/ktx/package-summary.html	2023-04-03 23:35:47.000000000 +0000
@@ -90,6 +90,13 @@
               <p>Returns the content of the MutableData converted to a POJO.</p>
             </td>
           </tr>
+          <tr>
+            <td><code>inline <a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a>&lt;T?&gt;</code></td>
+            <td>
+              <div><code>&lt;T&nbsp;:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>&gt; <a href="/docs/reference/kotlin/com/google/firebase/database/Query.html">Query</a>.<a href="/docs/reference/kotlin/com/google/firebase/database/ktx/package-summary.html#(com.google.firebase.database.Query).values()">values</a>()</code></div>
+              <p>Starts listening to this query and emits its values converted to a POJO via a <code><a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a></code>.</p>
+            </td>
+          </tr>
         </tbody>
       </table>
     </div>
@@ -105,7 +112,7 @@
             <td><code><a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a>&lt;<a href="/docs/reference/kotlin/com/google/firebase/database/ktx/ChildEvent.html">ChildEvent</a>&gt;</code></td>
             <td>
               <div><code><a href="/docs/reference/kotlin/com/google/firebase/database/Query.html">Query</a>.<a href="/docs/reference/kotlin/com/google/firebase/database/ktx/package-summary.html#(com.google.firebase.database.Query).childEvents()">childEvents</a></code></div>
-              <p>Starts listening to this query's child events and emits its values via a Flow.</p>
+              <p>Starts listening to this query's child events and emits its values via a <code><a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a></code>.</p>
             </td>
           </tr>
           <tr>
@@ -119,7 +126,7 @@
             <td><code><a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a>&lt;<a href="/docs/reference/kotlin/com/google/firebase/database/DataSnapshot.html">DataSnapshot</a>&gt;</code></td>
             <td>
               <div><code><a href="/docs/reference/kotlin/com/google/firebase/database/Query.html">Query</a>.<a href="/docs/reference/kotlin/com/google/firebase/database/ktx/package-summary.html#(com.google.firebase.database.Query).snapshots()">snapshots</a></code></div>
-              <p>Starts listening to this query and emits its values via a Flow.</p>
+              <p>Starts listening to this query and emits its values via a <code><a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a></code>.</p>
             </td>
           </tr>
         </tbody>
@@ -153,11 +160,24 @@
       <p>Returns the content of the MutableData converted to a POJO.</p>
       <p>Supports generics like List<> or Map<>. Use @JvmSuppressWildcards to force the compiler to use the type <code>T</code>, and not <code>? extends T</code>.</p>
     </div>
+    <div class="api-item"><a name="-com.google.firebase.database.Query-.values--"></a><a name="values"></a>
+      <h3 class="api-name" id="(com.google.firebase.database.Query).values()">values</h3>
+      <pre class="api-signature no-pretty-print">inline&nbsp;fun&nbsp;&lt;T&nbsp;:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>&gt; <a href="/docs/reference/kotlin/com/google/firebase/database/Query.html">Query</a>.<a href="/docs/reference/kotlin/com/google/firebase/database/ktx/package-summary.html#(com.google.firebase.database.Query).values()">values</a>():&nbsp;<a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a>&lt;T?&gt;</pre>
+      <p>Starts listening to this query and emits its values converted to a POJO via a <code><a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a></code>.</p>
+      <ul>
+        <li>
+          <p>When the returned flow starts being collected, a <code><a href="/docs/reference/kotlin/com/google/firebase/database/ValueEventListener.html">ValueEventListener</a></code> will be attached.</p>
+        </li>
+        <li>
+          <p>When the flow completes, the listener will be removed.</p>
+        </li>
+      </ul>
+    </div>
     <h2>Extension properties</h2>
     <div class="api-item"><a name="(com.google.firebase.database.Query).getChildEvents()"></a><a name="(com.google.firebase.database.Query).setChildEvents()"></a><a name="-com.google.firebase.database.Query-.getChildEvents--"></a><a name="-com.google.firebase.database.Query-.setChildEvents--"></a>
       <h3 class="api-name" id="(com.google.firebase.database.Query).childEvents()">childEvents</h3>
       <pre class="api-signature no-pretty-print">val&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/database/Query.html">Query</a>.<a href="/docs/reference/kotlin/com/google/firebase/database/ktx/package-summary.html#(com.google.firebase.database.Query).childEvents()">childEvents</a>:&nbsp;<a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a>&lt;<a href="/docs/reference/kotlin/com/google/firebase/database/ktx/ChildEvent.html">ChildEvent</a>&gt;</pre>
-      <p>Starts listening to this query's child events and emits its values via a Flow.</p>
+      <p>Starts listening to this query's child events and emits its values via a <code><a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a></code>.</p>
       <ul>
         <li>
           <p>When the returned flow starts being collected, a <code><a href="/docs/reference/kotlin/com/google/firebase/database/ChildEventListener.html">ChildEventListener</a></code> will be attached.</p>
@@ -175,7 +195,7 @@
     <div class="api-item"><a name="(com.google.firebase.database.Query).getSnapshots()"></a><a name="(com.google.firebase.database.Query).setSnapshots()"></a><a name="-com.google.firebase.database.Query-.getSnapshots--"></a><a name="-com.google.firebase.database.Query-.setSnapshots--"></a>
       <h3 class="api-name" id="(com.google.firebase.database.Query).snapshots()">snapshots</h3>
       <pre class="api-signature no-pretty-print">val&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/database/Query.html">Query</a>.<a href="/docs/reference/kotlin/com/google/firebase/database/ktx/package-summary.html#(com.google.firebase.database.Query).snapshots()">snapshots</a>:&nbsp;<a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a>&lt;<a href="/docs/reference/kotlin/com/google/firebase/database/DataSnapshot.html">DataSnapshot</a>&gt;</pre>
-      <p>Starts listening to this query and emits its values via a Flow.</p>
+      <p>Starts listening to this query and emits its values via a <code><a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a></code>.</p>
       <ul>
         <li>
           <p>When the returned flow starts being collected, a <code><a href="/docs/reference/kotlin/com/google/firebase/database/ValueEventListener.html">ValueEventListener</a></code> will be attached.</p>
--- /Users/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/ktx/package-summary.html	2023-04-03 23:40:17.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/ktx/package-summary.html	2023-04-03 23:35:53.000000000 +0000
@@ -33,6 +33,20 @@
         </colgroup>
         <tbody class="list">
           <tr>
+            <td><code>inline <a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a>&lt;T?&gt;</code></td>
+            <td>
+              <div><code>&lt;T&nbsp;:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>&gt; <a href="/docs/reference/kotlin/com/google/firebase/firestore/DocumentReference.html">DocumentReference</a>.<a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#(com.google.firebase.firestore.DocumentReference).dataObjects(com.google.firebase.firestore.MetadataChanges)">dataObjects</a>(metadataChanges:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/firestore/MetadataChanges.html">MetadataChanges</a>)</code></div>
+              <p>Starts listening to the document referenced by this <code>DocumentReference</code> with the given options and emits its values converted to a POJO via a <code><a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a></code>.</p>
+            </td>
+          </tr>
+          <tr>
+            <td><code>inline <a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a>&lt;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html">List</a>&lt;T&gt;&gt;</code></td>
+            <td>
+              <div><code>&lt;T&nbsp;:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>&gt; <a href="/docs/reference/kotlin/com/google/firebase/firestore/Query.html">Query</a>.<a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#(com.google.firebase.firestore.Query).dataObjects(com.google.firebase.firestore.MetadataChanges)">dataObjects</a>(metadataChanges:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/firestore/MetadataChanges.html">MetadataChanges</a>)</code></div>
+              <p>Starts listening to this query with the given options and emits its values converted to a POJO via a <code><a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a></code>.</p>
+            </td>
+          </tr>
+          <tr>
             <td><code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code></td>
             <td>
               <div><code><a href="/docs/reference/kotlin/com/google/firebase/ktx/Firebase.html">Firebase</a>.<a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#(com.google.firebase.ktx.Firebase).firestore(com.google.firebase.FirebaseApp)">firestore</a>(app:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a>)</code></div>
@@ -151,6 +165,86 @@
       <p>Returns a <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestoreSettings.html">FirebaseFirestoreSettings</a></code> instance initialized using the <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#firestoreSettings(kotlin.Function1)">init</a></code> function.</p>
     </div>
     <h2>Extension functions</h2>
+    <div class="api-item"><a name="-com.google.firebase.firestore.DocumentReference-.dataObjects-com.google.firebase.firestore.MetadataChanges-"></a><a name="dataobjects"></a>
+      <h3 class="api-name" id="(com.google.firebase.firestore.DocumentReference).dataObjects(com.google.firebase.firestore.MetadataChanges)">dataObjects</h3>
+      <pre class="api-signature no-pretty-print">inline&nbsp;fun&nbsp;&lt;T&nbsp;:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>&gt; <a href="/docs/reference/kotlin/com/google/firebase/firestore/DocumentReference.html">DocumentReference</a>.<a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#(com.google.firebase.firestore.DocumentReference).dataObjects(com.google.firebase.firestore.MetadataChanges)">dataObjects</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;metadataChanges:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/firestore/MetadataChanges.html">MetadataChanges</a> = MetadataChanges.EXCLUDE<br>):&nbsp;<a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a>&lt;T?&gt;</pre>
+      <p>Starts listening to the document referenced by this <code>DocumentReference</code> with the given options and emits its values converted to a POJO via a <code><a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a></code>.</p>
+      <ul>
+        <li>
+          <p>When the returned flow starts being collected, an EventListener will be attached.</p>
+        </li>
+        <li>
+          <p>When the flow completes, the listener will be removed.</p>
+        </li>
+      </ul>
+      <div class="devsite-table-wrapper">
+        <table class="responsive">
+          <colgroup>
+            <col width="40%">
+            <col>
+          </colgroup>
+          <thead>
+            <tr>
+              <th colspan="100%">Parameters</th>
+            </tr>
+          </thead>
+          <tbody class="list">
+            <tr>
+              <td><code>&lt;T&nbsp;:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>&gt;</code></td>
+              <td>
+                <p>The type of the object to convert to.</p>
+              </td>
+            </tr>
+            <tr>
+              <td><code>metadataChanges:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/firestore/MetadataChanges.html">MetadataChanges</a> = MetadataChanges.EXCLUDE</code></td>
+              <td>
+                <p>controls metadata-only changes. Default: <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/MetadataChanges.EXCLUDE.html">MetadataChanges.EXCLUDE</a></code></p>
+              </td>
+            </tr>
+          </tbody>
+        </table>
+      </div>
+    </div>
+    <div class="api-item"><a name="-com.google.firebase.firestore.Query-.dataObjects-com.google.firebase.firestore.MetadataChanges-"></a><a name="dataobjects"></a>
+      <h3 class="api-name" id="(com.google.firebase.firestore.Query).dataObjects(com.google.firebase.firestore.MetadataChanges)">dataObjects</h3>
+      <pre class="api-signature no-pretty-print">inline&nbsp;fun&nbsp;&lt;T&nbsp;:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>&gt; <a href="/docs/reference/kotlin/com/google/firebase/firestore/Query.html">Query</a>.<a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#(com.google.firebase.firestore.Query).dataObjects(com.google.firebase.firestore.MetadataChanges)">dataObjects</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;metadataChanges:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/firestore/MetadataChanges.html">MetadataChanges</a> = MetadataChanges.EXCLUDE<br>):&nbsp;<a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a>&lt;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html">List</a>&lt;T&gt;&gt;</pre>
+      <p>Starts listening to this query with the given options and emits its values converted to a POJO via a <code><a href="https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html">Flow</a></code>.</p>
+      <ul>
+        <li>
+          <p>When the returned flow starts being collected, an EventListener will be attached.</p>
+        </li>
+        <li>
+          <p>When the flow completes, the listener will be removed.</p>
+        </li>
+      </ul>
+      <div class="devsite-table-wrapper">
+        <table class="responsive">
+          <colgroup>
+            <col width="40%">
+            <col>
+          </colgroup>
+          <thead>
+            <tr>
+              <th colspan="100%">Parameters</th>
+            </tr>
+          </thead>
+          <tbody class="list">
+            <tr>
+              <td><code>&lt;T&nbsp;:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>&gt;</code></td>
+              <td>
+                <p>The type of the object to convert to.</p>
+              </td>
+            </tr>
+            <tr>
+              <td><code>metadataChanges:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/firestore/MetadataChanges.html">MetadataChanges</a> = MetadataChanges.EXCLUDE</code></td>
+              <td>
+                <p>controls metadata-only changes. Default: <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/MetadataChanges.EXCLUDE.html">MetadataChanges.EXCLUDE</a></code></p>
+              </td>
+            </tr>
+          </tbody>
+        </table>
+      </div>
+    </div>
     <div class="api-item"><a name="-com.google.firebase.ktx.Firebase-.firestore-com.google.firebase.FirebaseApp-"></a><a name="firestore"></a>
       <h3 class="api-name" id="(com.google.firebase.ktx.Firebase).firestore(com.google.firebase.FirebaseApp)">firestore</h3>
       <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/ktx/Firebase.html">Firebase</a>.<a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#(com.google.firebase.ktx.Firebase).firestore(com.google.firebase.FirebaseApp)">firestore</a>(app:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a>):&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></pre>

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Mar 21, 2023

Coverage Report 1

Affected Products

  • firebase-database-ktx

    Overall coverage changed from 17.95% (eaefea8) to 16.28% (95ce611) by -1.67%.

    FilenameBase (eaefea8)Merge (95ce611)Diff
    Emitters.kt?0.00%?
    SafeCollector.common.kt?0.00%?
  • firebase-firestore

    Overall coverage changed from 44.17% (eaefea8) to 44.17% (95ce611) by +0.00%.

    FilenameBase (eaefea8)Merge (95ce611)Diff
    PatchMutation.java98.39%100.00%+1.61%
  • firebase-firestore-ktx

    Overall coverage changed from 25.00% (eaefea8) to 19.05% (95ce611) by -5.95%.

    FilenameBase (eaefea8)Merge (95ce611)Diff
    Emitters.kt?0.00%?
    Firestore.kt25.00%21.05%-3.95%
    SafeCollector.common.kt?0.00%?

Test Logs

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

@google-oss-bot
Copy link
Contributor

The public api surface has changed for the subproject firebase-firestore_ktx:
error: Removed method com.google.firebase.firestore.ktx.FirestoreKt.dataObject(com.google.firebase.firestore.DocumentReference,com.google.firebase.firestore.MetadataChanges) [RemovedMethod]
error: Added method com.google.firebase.firestore.ktx.FirestoreKt.dataObjects(com.google.firebase.firestore.DocumentReference,com.google.firebase.firestore.MetadataChanges) [AddedMethod]

Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 21, 2023

Unit Test Results

   212 files   -    562     212 suites   - 562   2m 58s ⏱️ - 31m 43s
1 518 tests  - 3 335  1 500 ✔️  - 3 332  18 💤  - 3  0 ±0 
3 036 runs   - 6 467  3 000 ✔️  - 6 461  36 💤  - 6  0 ±0 

Results for commit fcd6c06. ± Comparison against base commit eaefea8.

♻️ This comment has been updated with latest results.

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Mar 21, 2023

Size Report 1

Affected Products

  • firebase-database-ktx

    TypeBase (eaefea8)Merge (95ce611)Diff
    aar22.6 kB28.1 kB+5.54 kB (+24.5%)
    apk (release)2.11 MB2.11 MB+752 B (+0.0%)
  • firebase-firestore-ktx

    TypeBase (eaefea8)Merge (95ce611)Diff
    aar13.6 kB24.5 kB+11.0 kB (+80.8%)
    apk (release)4.32 MB4.32 MB+2.55 kB (+0.1%)

Test Logs

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

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Mar 21, 2023

Startup Time Report 1

Note: Layout is sometimes suboptimal due to limited formatting support on GitHub. Please check this report on GCS.

Notes

Startup Times

  • fire-fst

    DeviceStatisticsDistributions
    oriole-32
    Percentileeaefea895ce611DiffSignificant (?)
    p10343 ±36 μs318 ±17 μs-24.6 μs (-7.2%)NO
    p25361 ±50 μs328 ±19 μs-33.1 μs (-9.2%)NO
    p50384 ±66 μs344 ±25 μs-40.5 μs (-10.5%)NO
    p75440 ±105 μs377 ±63 μs-62.4 μs (-14.2%)NO
    p90541 ±163 μs456 ±147 μs-84.8 μs (-15.7%)NO

    20 test runs in comparison
    CommitTest Runs
    eaefea8
    • 2023-04-03_20:54:31.326033_EFgs
    • 2023-04-03_20:54:31.339465_ezKQ
    • 2023-04-03_20:54:31.339494_BrcD
    • 2023-04-03_20:54:31.339503_QkeP
    • 2023-04-03_20:54:31.339509_ECah
    • 2023-04-03_20:54:31.339516_XSKf
    • 2023-04-03_20:54:31.339524_UDyg
    • 2023-04-03_20:54:31.339531_Poyr
    • 2023-04-03_20:54:31.339553_AWUS
    • 2023-04-03_20:54:31.339559_WVJQ
    95ce611
    • 2023-04-03_23:44:37.970032_rajV
    • 2023-04-03_23:44:37.980121_lSUr
    • 2023-04-03_23:44:37.980323_FcLe
    • 2023-04-03_23:44:37.980332_xIFd
    • 2023-04-03_23:44:37.980339_PqWP
    • 2023-04-03_23:44:37.980345_dZUq
    • 2023-04-03_23:44:37.980352_teib
    • 2023-04-03_23:44:37.980358_htkb
    • 2023-04-03_23:44:37.980364_QYWQ
    • 2023-04-03_23:44:37.980370_rkBr
    redfin-30
    Percentileeaefea895ce611DiffSignificant (?)
    p10628 ±22 μs630 ±24 μs+2.64 μs (+0.4%)NO
    p25644 ±25 μs651 ±31 μs+7.04 μs (+1.1%)NO
    p50672 ±32 μs678 ±40 μs+6.60 μs (+1.0%)NO
    p75712 ±46 μs718 ±59 μs+6.10 μs (+0.9%)NO
    p90761 ±60 μs803 ±112 μs+42.0 μs (+5.5%)NO

    20 test runs in comparison
    CommitTest Runs
    eaefea8
    • 2023-04-03_20:54:31.326033_EFgs
    • 2023-04-03_20:54:31.339465_ezKQ
    • 2023-04-03_20:54:31.339494_BrcD
    • 2023-04-03_20:54:31.339503_QkeP
    • 2023-04-03_20:54:31.339509_ECah
    • 2023-04-03_20:54:31.339516_XSKf
    • 2023-04-03_20:54:31.339524_UDyg
    • 2023-04-03_20:54:31.339531_Poyr
    • 2023-04-03_20:54:31.339553_AWUS
    • 2023-04-03_20:54:31.339559_WVJQ
    95ce611
    • 2023-04-03_23:44:37.970032_rajV
    • 2023-04-03_23:44:37.980121_lSUr
    • 2023-04-03_23:44:37.980323_FcLe
    • 2023-04-03_23:44:37.980332_xIFd
    • 2023-04-03_23:44:37.980339_PqWP
    • 2023-04-03_23:44:37.980345_dZUq
    • 2023-04-03_23:44:37.980352_teib
    • 2023-04-03_23:44:37.980358_htkb
    • 2023-04-03_23:44:37.980364_QYWQ
    • 2023-04-03_23:44:37.980370_rkBr
  • fire-rtdb

    DeviceStatisticsDistributions
    oriole-32
    Percentileeaefea895ce611DiffSignificant (?)
    p1036.5 ±8 μs32.6 ±4 μs-3.93 μs (-10.8%)NO
    p2539.7 ±10 μs34.3 ±5 μs-5.41 μs (-13.6%)NO
    p5044.8 ±14 μs37.6 ±7 μs-7.21 μs (-16.1%)NO
    p7554.3 ±21 μs43.4 ±11 μs-10.9 μs (-20.1%)NO
    p9072.6 ±39 μs50.9 ±15 μs-21.6 μs (-29.8%)NO

    20 test runs in comparison
    CommitTest Runs
    eaefea8
    • 2023-04-03_20:54:31.326033_EFgs
    • 2023-04-03_20:54:31.339465_ezKQ
    • 2023-04-03_20:54:31.339494_BrcD
    • 2023-04-03_20:54:31.339503_QkeP
    • 2023-04-03_20:54:31.339509_ECah
    • 2023-04-03_20:54:31.339516_XSKf
    • 2023-04-03_20:54:31.339524_UDyg
    • 2023-04-03_20:54:31.339531_Poyr
    • 2023-04-03_20:54:31.339553_AWUS
    • 2023-04-03_20:54:31.339559_WVJQ
    95ce611
    • 2023-04-03_23:44:37.970032_rajV
    • 2023-04-03_23:44:37.980121_lSUr
    • 2023-04-03_23:44:37.980323_FcLe
    • 2023-04-03_23:44:37.980332_xIFd
    • 2023-04-03_23:44:37.980339_PqWP
    • 2023-04-03_23:44:37.980345_dZUq
    • 2023-04-03_23:44:37.980352_teib
    • 2023-04-03_23:44:37.980358_htkb
    • 2023-04-03_23:44:37.980364_QYWQ
    • 2023-04-03_23:44:37.980370_rkBr
    redfin-30
    Percentileeaefea895ce611DiffSignificant (?)
    p1075.8 ±11 μs68.9 ±9 μs-6.93 μs (-9.1%)NO
    p2579.6 ±11 μs73.9 ±9 μs-5.72 μs (-7.2%)NO
    p5084.6 ±12 μs80.0 ±9 μs-4.51 μs (-5.3%)NO
    p7592.6 ±14 μs90.7 ±12 μs-1.96 μs (-2.1%)NO
    p90105 ±17 μs110 ±21 μs+5.29 μs (+5.0%)NO

    20 test runs in comparison
    CommitTest Runs
    eaefea8
    • 2023-04-03_20:54:31.326033_EFgs
    • 2023-04-03_20:54:31.339465_ezKQ
    • 2023-04-03_20:54:31.339494_BrcD
    • 2023-04-03_20:54:31.339503_QkeP
    • 2023-04-03_20:54:31.339509_ECah
    • 2023-04-03_20:54:31.339516_XSKf
    • 2023-04-03_20:54:31.339524_UDyg
    • 2023-04-03_20:54:31.339531_Poyr
    • 2023-04-03_20:54:31.339553_AWUS
    • 2023-04-03_20:54:31.339559_WVJQ
    95ce611
    • 2023-04-03_23:44:37.970032_rajV
    • 2023-04-03_23:44:37.980121_lSUr
    • 2023-04-03_23:44:37.980323_FcLe
    • 2023-04-03_23:44:37.980332_xIFd
    • 2023-04-03_23:44:37.980339_PqWP
    • 2023-04-03_23:44:37.980345_dZUq
    • 2023-04-03_23:44:37.980352_teib
    • 2023-04-03_23:44:37.980358_htkb
    • 2023-04-03_23:44:37.980364_QYWQ
    • 2023-04-03_23:44:37.980370_rkBr
  • timeToInitialDisplay

    DeviceStatisticsDistributions
    oriole-32
    Percentileeaefea895ce611DiffSignificant (?)
    p10194 ±6 ms195 ±2 ms+945 μs (+0.5%)NO
    p25200 ±6 ms201 ±2 ms+317 μs (+0.2%)NO
    p50208 ±7 ms208 ±3 ms-28.4 μs (-0.0%)NO
    p75219 ±17 ms218 ±3 ms-1.35 ms (-0.6%)NO
    p90227 ±21 ms229 ±3 ms+1.34 ms (+0.6%)NO

    20 test runs in comparison
    CommitTest Runs
    eaefea8
    • 2023-04-03_20:54:31.326033_EFgs
    • 2023-04-03_20:54:31.339465_ezKQ
    • 2023-04-03_20:54:31.339494_BrcD
    • 2023-04-03_20:54:31.339503_QkeP
    • 2023-04-03_20:54:31.339509_ECah
    • 2023-04-03_20:54:31.339516_XSKf
    • 2023-04-03_20:54:31.339524_UDyg
    • 2023-04-03_20:54:31.339531_Poyr
    • 2023-04-03_20:54:31.339553_AWUS
    • 2023-04-03_20:54:31.339559_WVJQ
    95ce611
    • 2023-04-03_23:44:37.970032_rajV
    • 2023-04-03_23:44:37.980121_lSUr
    • 2023-04-03_23:44:37.980323_FcLe
    • 2023-04-03_23:44:37.980332_xIFd
    • 2023-04-03_23:44:37.980339_PqWP
    • 2023-04-03_23:44:37.980345_dZUq
    • 2023-04-03_23:44:37.980352_teib
    • 2023-04-03_23:44:37.980358_htkb
    • 2023-04-03_23:44:37.980364_QYWQ
    • 2023-04-03_23:44:37.980370_rkBr
    redfin-30
    Percentileeaefea895ce611DiffSignificant (?)
    p10231 ±4 ms254 ±3 ms+23.7 ms (+10.3%)YES
    p25237 ±5 ms260 ±3 ms+23.6 ms (+9.9%)MAYBE
    p50244 ±5 ms268 ±4 ms+24.0 ms (+9.8%)MAYBE
    p75252 ±5 ms276 ±4 ms+23.7 ms (+9.4%)MAYBE
    p90259 ±5 ms289 ±8 ms+30.4 ms (+11.7%)MAYBE

    20 test runs in comparison
    CommitTest Runs
    eaefea8
    • 2023-04-03_20:54:31.326033_EFgs
    • 2023-04-03_20:54:31.339465_ezKQ
    • 2023-04-03_20:54:31.339494_BrcD
    • 2023-04-03_20:54:31.339503_QkeP
    • 2023-04-03_20:54:31.339509_ECah
    • 2023-04-03_20:54:31.339516_XSKf
    • 2023-04-03_20:54:31.339524_UDyg
    • 2023-04-03_20:54:31.339531_Poyr
    • 2023-04-03_20:54:31.339553_AWUS
    • 2023-04-03_20:54:31.339559_WVJQ
    95ce611
    • 2023-04-03_23:44:37.970032_rajV
    • 2023-04-03_23:44:37.980121_lSUr
    • 2023-04-03_23:44:37.980323_FcLe
    • 2023-04-03_23:44:37.980332_xIFd
    • 2023-04-03_23:44:37.980339_PqWP
    • 2023-04-03_23:44:37.980345_dZUq
    • 2023-04-03_23:44:37.980352_teib
    • 2023-04-03_23:44:37.980358_htkb
    • 2023-04-03_23:44:37.980364_QYWQ
    • 2023-04-03_23:44:37.980370_rkBr

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

@thatfiredev
Copy link
Member Author

@rlazo I updated this PR to make sure the Firestore Changelog matches the current Release Notes. Can you please take a look at the changes?

@rlazo
Copy link
Collaborator

rlazo commented Apr 4, 2023

@rlazo I updated this PR to make sure the Firestore Changelog matches the current Release Notes. Can you please take a look at the changes?

LGTM. I've sync'd the release notes of several SDKs in #4844 It should be fine, but please double check there.

@thatfiredev
Copy link
Member Author

@rlazo Thanks! Just checked and it seems like Firestore's changelog is unchanged there. I'll merge this one

@thatfiredev thatfiredev merged commit c062de8 into master Apr 4, 2023
@thatfiredev thatfiredev deleted the rpf-moar-kotlin-flows branch April 4, 2023 16:17
@firebase firebase locked and limited conversation to collaborators May 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants