Skip to content

Commit 1e44e25

Browse files
committed
Merge remote-tracking branch 'remotes/origin/mila/BloomFilter' into HEAD
2 parents 6cf93f8 + 7c20d7d commit 1e44e25

File tree

114 files changed

+1843
-423
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+1843
-423
lines changed

.changeset/blue-eels-warn.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@firebase/firestore': patch
3+
'firebase': patch
4+
---
5+
6+
Improved debug logging of networking abstractions

.changeset/chilled-buckets-sneeze.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@firebase/firestore': patch
3+
'firebase': patch
4+
---
5+
6+
Check navigator.userAgent, in addition to navigator.appVersion, when determining whether to work around an IndexedDb bug in Safari.

.changeset/fluffy-seas-behave.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@firebase/auth": patch
3+
---
4+
5+
Explicitly set createdAt and lastLoginAt when cloning UserImpl

.changeset/heavy-starfishes-count.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.changeset/large-lemons-relax.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.changeset/perfect-colts-scream.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/popular-apples-peel.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

.changeset/popular-items-hide.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/soft-nails-give.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/sweet-rats-compete.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@firebase/firestore": minor
3+
'firebase': minor
4+
---
5+
6+
OR Query public API

.changeset/tough-taxis-travel.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.github/workflows/check-changeset.yml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Check Changeset
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
8+
env:
9+
GITHUB_PULL_REQUEST_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
10+
GITHUB_PULL_REQUEST_BASE_SHA: ${{ github.event.pull_request.base.sha }}
11+
12+
jobs:
13+
check_changeset:
14+
name: Check changeset vs changed files
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout Repo
19+
uses: actions/checkout@master
20+
with:
21+
# This makes Actions fetch all Git history so check_changeset script can diff properly.
22+
fetch-depth: 0
23+
- name: Set up Node (14)
24+
uses: actions/setup-node@v2
25+
with:
26+
node-version: 14.x
27+
- name: Yarn install
28+
run: yarn
29+
- name: Run changeset script
30+
# pull master so changeset can diff against it
31+
run: |
32+
git pull -f --no-rebase origin master:master
33+
yarn ts-node-script scripts/ci/check_changeset.ts
34+
id: check-changeset
35+
- name: Print changeset checker output
36+
run: echo "${{steps.check-changeset.outputs.CHANGESET_ERROR_MESSAGE}}"
37+
- name: Print blocking failure status
38+
run: echo "${{steps.check-changeset.outputs.BLOCKING_FAILURE}}"
39+
- name: Find Comment
40+
uses: peter-evans/find-comment@v1
41+
id: fc
42+
with:
43+
issue-number: ${{github.event.number}}
44+
body-includes: Changeset File Check
45+
- name: Create comment (missing packages)
46+
if: ${{!steps.fc.outputs.comment-id && steps.check-changeset.outputs.CHANGESET_ERROR_MESSAGE}}
47+
uses: peter-evans/create-or-update-comment@v1
48+
with:
49+
issue-number: ${{github.event.number}}
50+
body: |
51+
### Changeset File Check :warning:
52+
${{steps.check-changeset.outputs.CHANGESET_ERROR_MESSAGE}}
53+
- name: Update comment (missing packages)
54+
if: ${{steps.fc.outputs.comment-id}}
55+
uses: peter-evans/create-or-update-comment@v1
56+
with:
57+
comment-id: ${{steps.fc.outputs.comment-id}} && steps.check-changeset.outputs.CHANGESET_ERROR_MESSAGE}}
58+
edit-mode: replace
59+
body: |
60+
### Changeset File Check :warning:
61+
${{steps.check-changeset.outputs.CHANGESET_ERROR_MESSAGE}}
62+
- name: Update comment (no missing packages)
63+
if: ${{steps.fc.outputs.comment-id && !steps.check-changeset.outputs.CHANGESET_ERROR_MESSAGE}}
64+
uses: peter-evans/create-or-update-comment@v1
65+
with:
66+
comment-id: ${{steps.fc.outputs.comment-id}}
67+
edit-mode: replace
68+
body: |
69+
### Changeset File Check :white_check_mark:
70+
- No modified packages are missing from the changeset file.
71+
- No changeset formatting errors detected.
72+
# Don't want it to throw before editing the comment.
73+
- name: Fail if checker script logged a blocking failure
74+
if: ${{steps.check-changeset.outputs.BLOCKING_FAILURE == 'true'}}
75+
run: exit 1

common/api-review/firestore-lite.api.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ export type AggregateSpecData<T extends AggregateSpec> = {
4646
[P in keyof T]: T[P] extends AggregateField<infer U> ? U : never;
4747
};
4848

49+
// @public
50+
export function and(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;
51+
4952
// @public
5053
export function arrayRemove(...elements: unknown[]): FieldValue;
5154

@@ -234,6 +237,9 @@ export type NestedUpdateFields<T extends Record<string, unknown>> = UnionToInter
234237
[K in keyof T & string]: ChildUpdateFields<K, T[K]>;
235238
}[keyof T & string]>;
236239

240+
// @public
241+
export function or(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;
242+
237243
// @public
238244
export function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint;
239245

@@ -258,9 +264,17 @@ export class Query<T = DocumentData> {
258264
withConverter<U>(converter: FirestoreDataConverter<U>): Query<U>;
259265
}
260266

267+
// @public
268+
export function query<T>(query: Query<T>, compositeFilter: QueryCompositeFilterConstraint, ...queryConstraints: QueryNonFilterConstraint[]): Query<T>;
269+
261270
// @public
262271
export function query<T>(query: Query<T>, ...queryConstraints: QueryConstraint[]): Query<T>;
263272

273+
// @public
274+
export class QueryCompositeFilterConstraint {
275+
readonly type: 'or' | 'and';
276+
}
277+
264278
// @public
265279
export abstract class QueryConstraint {
266280
abstract readonly type: QueryConstraintType;
@@ -288,6 +302,9 @@ export class QueryFieldFilterConstraint extends QueryConstraint {
288302
readonly type = "where";
289303
}
290304

305+
// @public
306+
export type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;
307+
291308
// @public
292309
export class QueryLimitConstraint extends QueryConstraint {
293310
readonly type: 'limit' | 'limitToLast';

common/api-review/firestore.api.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ export type AggregateSpecData<T extends AggregateSpec> = {
4646
[P in keyof T]: T[P] extends AggregateField<infer U> ? U : never;
4747
};
4848

49+
// @public
50+
export function and(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;
51+
4952
// @public
5053
export function arrayRemove(...elements: unknown[]): FieldValue;
5154

@@ -382,6 +385,9 @@ export function onSnapshotsInSync(firestore: Firestore, observer: {
382385
// @public
383386
export function onSnapshotsInSync(firestore: Firestore, onSync: () => void): Unsubscribe;
384387

388+
// @public
389+
export function or(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;
390+
385391
// @public
386392
export function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint;
387393

@@ -411,9 +417,17 @@ export class Query<T = DocumentData> {
411417
withConverter<U>(converter: FirestoreDataConverter<U>): Query<U>;
412418
}
413419

420+
// @public
421+
export function query<T>(query: Query<T>, compositeFilter: QueryCompositeFilterConstraint, ...queryConstraints: QueryNonFilterConstraint[]): Query<T>;
422+
414423
// @public
415424
export function query<T>(query: Query<T>, ...queryConstraints: QueryConstraint[]): Query<T>;
416425

426+
// @public
427+
export class QueryCompositeFilterConstraint {
428+
readonly type: 'or' | 'and';
429+
}
430+
417431
// @public
418432
export abstract class QueryConstraint {
419433
abstract readonly type: QueryConstraintType;
@@ -441,6 +455,9 @@ export class QueryFieldFilterConstraint extends QueryConstraint {
441455
readonly type = "where";
442456
}
443457

458+
// @public
459+
export type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;
460+
444461
// @public
445462
export class QueryLimitConstraint extends QueryConstraint {
446463
readonly type: 'limit' | 'limitToLast';

0 commit comments

Comments
 (0)