Skip to content

Commit a4a8856

Browse files
Merge
2 parents 860b649 + 261bbd5 commit a4a8856

File tree

26 files changed

+130
-92
lines changed

26 files changed

+130
-92
lines changed

.github/workflows/test-all.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Run All Tests
22

3-
on:
3+
on:
44
pull_request:
55
branches:
66
- master
@@ -20,6 +20,10 @@ jobs:
2020
uses: actions/setup-node@v1
2121
with:
2222
node-version: 10.x
23+
- name: install Chrome stable
24+
run: |
25+
sudo apt-get update
26+
sudo apt-get install google-chrome-stable
2327
- name: Test setup and yarn install
2428
run: |
2529
cp config/ci.config.json config/project.json

.github/workflows/test-changed.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ jobs:
1313
uses: actions/setup-node@v1
1414
with:
1515
node-version: 10.x
16+
- name: install Chrome stable
17+
run: |
18+
sudo apt-get update
19+
sudo apt-get install google-chrome-stable
1620
- name: Test setup and yarn install
1721
run: |
1822
cp config/ci.config.json config/project.json

integration/browserify/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"test": "karma start --single-run"
88
},
99
"dependencies": {
10-
"firebase": "7.8.1"
10+
"firebase": "7.8.2"
1111
},
1212
"devDependencies": {
1313
"@babel/core": "7.7.7",

integration/firebase-typings/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"test": "tsc"
77
},
88
"dependencies": {
9-
"firebase": "7.8.1"
9+
"firebase": "7.8.2"
1010
},
1111
"devDependencies": {
1212
"typescript": "3.7.5"

integration/firestore/gulpfile.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ function copyTests() {
4242
const firebaseFirestoreSdk = resolve(
4343
__dirname,
4444
isPersistenceEnabled()
45-
? '../../packages/firestore/dist/index.esm.min.js'
45+
? '../../packages/firestore/dist/index.esm.js'
4646
: '../../packages/firestore/dist/index.memory.esm.js'
4747
);
4848
return gulp

integration/messaging/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"test:manual": "mocha --exit"
99
},
1010
"dependencies": {
11-
"firebase": "7.8.1"
11+
"firebase": "7.8.2"
1212
},
1313
"devDependencies": {
1414
"chai": "4.2.0",

integration/typescript/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"test": "karma start --single-run"
77
},
88
"dependencies": {
9-
"firebase": "7.8.1"
9+
"firebase": "7.8.2"
1010
},
1111
"devDependencies": {
1212
"@babel/core": "7.7.7",

integration/webpack/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"test": "karma start --single-run"
88
},
99
"dependencies": {
10-
"firebase": "7.8.1"
10+
"firebase": "7.8.2"
1111
},
1212
"devDependencies": {
1313
"@babel/core": "7.7.7",

packages/firebase/firestore/index.min.ts

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

packages/firebase/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "firebase",
3-
"version": "7.8.1",
3+
"version": "7.8.2",
44
"description": "Firebase JavaScript library for web and Node.js",
55
"author": "Firebase <[email protected]> (https://firebase.google.com/)",
66
"license": "Apache-2.0",
@@ -42,7 +42,7 @@
4242
"@firebase/app-types": "0.5.1",
4343
"@firebase/auth": "0.13.5",
4444
"@firebase/database": "0.5.21",
45-
"@firebase/firestore": "1.10.1",
45+
"@firebase/firestore": "1.10.2",
4646
"@firebase/functions": "0.4.32",
4747
"@firebase/installations": "0.4.2",
4848
"@firebase/messaging": "0.6.4",

packages/firebase/rollup.config.js

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -147,12 +147,6 @@ const componentBuilds = pkg.components
147147
})
148148
.reduce((a, b) => a.concat(b), []);
149149

150-
const firestoreMinifiedBuild = {
151-
input: `firestore/index.min.ts`,
152-
output: createUmdOutputConfig(`firebase-firestore.min.js`),
153-
plugins: [...plugins, uglify()],
154-
external: ['@firebase/app']
155-
};
156150

157151
const firestoreMemoryBuild = {
158152
input: `firestore/index.memory.ts`,
@@ -277,7 +271,6 @@ const completeBuilds = [
277271
export default [
278272
...appBuilds,
279273
...componentBuilds,
280-
firestoreMinifiedBuild,
281274
firestoreMemoryBuild,
282275
...completeBuilds
283276
];

packages/firestore/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
# Unreleased
2+
- [fixed] Fixed an issue where auth credentials were not respected in Cordova
3+
environments (#2626).
4+
- [fixed] Fixed a performance regression introduced by the addition of
5+
`Query.limitToLast(n: number)` in Firestore 1.7.0 (Firebase 7.3.0) (#2620).
6+
- [fixed] Fixed an issue where `CollectionReference.add()` would reject
7+
custom types when using `withConverter()` (#2606).
8+
9+
# 1.9.3
210
- [fixed] Fixed an issue where auth credentials were not respected in some
311
Firefox or Chrome extensions. (#1491)
412
- [changed] Firestore previously required that every document read in a

packages/firestore/externs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"externs" : [
3+
"node_modules/@types/node/base.d.ts",
34
"node_modules/typescript/lib/lib.es5.d.ts",
45
"node_modules/typescript/lib/lib.dom.d.ts",
56
"node_modules/typescript/lib/lib.es2015.promise.d.ts",

packages/firestore/package.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@firebase/firestore",
3-
"version": "1.10.1",
3+
"version": "1.10.2",
44
"description": "",
55
"author": "Firebase <[email protected]> (https://firebase.google.com/)",
66
"scripts": {
@@ -26,13 +26,10 @@
2626
"main": "dist/index.node.cjs.js",
2727
"mainMemoryPersistence": "dist/index.node.memory.cjs.js",
2828
"browser": "dist/index.cjs.js",
29-
"browserMinified": "dist/index.cjs.min.js",
3029
"browserMemoryPersistence": "dist/index.memory.cjs.js",
3130
"module": "dist/index.esm.js",
32-
"moduleMinified": "dist/index.esm.min.js",
3331
"moduleMemoryPersistence": "dist/index.memory.esm.js",
3432
"esm2017": "dist/index.esm2017.js",
35-
"esm2017Minified": "dist/index.esm2017.min.js",
3633
"esm2017MemoryPersistence": "dist/index.memory.esm2017.js",
3734
"license": "Apache-2.0",
3835
"files": [

packages/firestore/rollup.config.js

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,6 @@ const terserOptions = {
6464
* ES5 Builds
6565
*/
6666
const es5BuildPlugins = [
67-
typescriptPlugin({
68-
typescript,
69-
cacheRoot: './.cache/es5/'
70-
}),
71-
json()
72-
];
73-
74-
const es5MinifiedBuildPlugins = [
7567
typescriptPlugin({
7668
typescript,
7769
transformers,
@@ -150,15 +142,6 @@ const es5Builds = [
150142
plugins: es5BuildPlugins,
151143
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`))
152144
},
153-
{
154-
input: 'index.ts',
155-
output: [
156-
{ file: pkg.browserMinified, format: 'cjs', sourcemap: true },
157-
{ file: pkg.moduleMinified, format: 'es', sourcemap: true }
158-
],
159-
plugins: es5MinifiedBuildPlugins,
160-
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`))
161-
},
162145
{
163146
input: 'index.memory.ts',
164147
output: [
@@ -190,19 +173,6 @@ const es5Builds = [
190173
* ES2017 Builds
191174
*/
192175
const es2017BuildPlugins = [
193-
typescriptPlugin({
194-
typescript,
195-
tsconfigOverride: {
196-
compilerOptions: {
197-
target: 'es2017'
198-
}
199-
},
200-
cacheRoot: './.cache/es2017/'
201-
}),
202-
json({ preferConst: true })
203-
];
204-
205-
const es2017MinifiedBuildPlugins = [
206176
typescriptPlugin({
207177
typescript,
208178
tsconfigOverride: {
@@ -230,6 +200,7 @@ const es2017Builds = [
230200
},
231201
plugins: es2017BuildPlugins,
232202
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`))
203+
<<<<<<< HEAD
233204
},
234205
{
235206
input: 'index.ts',
@@ -256,6 +227,8 @@ const es2017Builds = [
256227
}
257228
return deps.some(dep => id === dep || id.startsWith(`${dep}/`));
258229
}
230+
=======
231+
>>>>>>> master
259232
}
260233
];
261234

packages/firestore/src/api/database.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2405,7 +2405,10 @@ export class CollectionReference<T = firestore.DocumentData> extends Query<T>
24052405

24062406
add(value: T): Promise<firestore.DocumentReference<T>> {
24072407
validateExactNumberOfArgs('CollectionReference.add', arguments, 1);
2408-
validateArgType('CollectionReference.add', 'object', 1, value);
2408+
const convertedValue = this._converter
2409+
? this._converter.toFirestore(value)
2410+
: value;
2411+
validateArgType('CollectionReference.add', 'object', 1, convertedValue);
24092412
const docRef = this.doc();
24102413
return docRef.set(value).then(() => docRef);
24112414
}

packages/firestore/src/platform_browser/webchannel_connection.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {
2929
isBrowserExtension,
3030
isElectron,
3131
isIE,
32+
isMobileCordova,
3233
isReactNative,
3334
isUWP
3435
} from '@firebase/util';
@@ -275,6 +276,7 @@ export class WebChannelConnection implements Connection {
275276
// known to (sometimes) not include an Origin. See
276277
// https://github.com/firebase/firebase-js-sdk/issues/1491.
277278
if (
279+
!isMobileCordova() &&
278280
!isReactNative() &&
279281
!isElectron() &&
280282
!isIE() &&

packages/firestore/src/util/sorted_set.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,13 @@ export class SortedSet<T> {
135135

136136
unionWith(other: SortedSet<T>): SortedSet<T> {
137137
let result: SortedSet<T> = this;
138+
139+
// Make sure `result` always refers to the larger one of the two sets.
140+
if (result.size < other.size) {
141+
result = other;
142+
other = this;
143+
}
144+
138145
other.forEach(elem => {
139146
result = result.add(elem);
140147
});

packages/firestore/test/integration/api/database.test.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1219,12 +1219,9 @@ apiDescribe('Database', (persistence: boolean) => {
12191219

12201220
it('for CollectionReference.withConverter()', () => {
12211221
return withTestDb(persistence, async db => {
1222-
const docRef = db
1223-
.collection('posts')
1224-
.withConverter(postConverter)
1225-
.doc();
1222+
const coll = db.collection('posts').withConverter(postConverter);
12261223

1227-
await docRef.set(new Post('post', 'author'));
1224+
const docRef = await coll.add(new Post('post', 'author'));
12281225
const postData = await docRef.get();
12291226
const post = postData.data();
12301227
expect(post).to.not.equal(undefined);

packages/messaging/src/controllers/window-controller.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,12 @@ export class WindowController implements FirebaseMessaging, FirebaseService {
167167
scope: DEFAULT_SW_SCOPE
168168
}
169169
);
170+
171+
// The timing when browser updates sw when sw has an update is unreliable by my experiment.
172+
// It leads to version conflict when the SDK upgrades to a newer version in the main page, but
173+
// sw is stuck with the old version. For example, https://github.com/firebase/firebase-js-sdk/issues/2590
174+
// The following line reliably updates sw if there was an update.
175+
this.swRegistration.update().catch(() => { /* it is non blocking and we don't care if it failed */ });
170176
} catch (e) {
171177
throw ERROR_FACTORY.create(ErrorCode.FAILED_DEFAULT_REGISTRATION, {
172178
browserErrorMessage: e.message

packages/rxfire/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "rxfire",
3-
"version": "3.9.10",
3+
"version": "3.9.11",
44
"private": false,
55
"description": "Firebase JavaScript library RxJS",
66
"author": "Firebase <[email protected]> (https://firebase.google.com/)",
@@ -41,7 +41,7 @@
4141
"rxjs": "6.x.x"
4242
},
4343
"devDependencies": {
44-
"firebase": "7.8.1",
44+
"firebase": "7.8.2",
4545
"rollup": "1.28.0",
4646
"rollup-plugin-commonjs": "10.1.0",
4747
"rollup-plugin-node-resolve": "5.2.0",

packages/testing/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@firebase/testing",
3-
"version": "0.16.8",
3+
"version": "0.16.9",
44
"description": "",
55
"author": "Firebase <[email protected]> (https://firebase.google.com/)",
66
"main": "dist/index.cjs.js",
@@ -15,7 +15,7 @@
1515
},
1616
"license": "Apache-2.0",
1717
"dependencies": {
18-
"firebase": "7.8.1",
18+
"firebase": "7.8.2",
1919
"@firebase/logger": "0.1.35",
2020
"@firebase/util": "0.2.40",
2121
"@types/request": "2.48.4",

packages/testing/src/api/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ function initializeApp(
134134
({
135135
getToken: async () => ({ accessToken: accessToken }),
136136
getUid: () => null,
137-
addAuthTokenListener: (listener) => {
137+
addAuthTokenListener: listener => {
138138
// Call listener once immediately with predefined accessToken.
139139
listener(accessToken);
140140
},

scripts/emulator-testing/emulators/firestore-emulator.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export class FirestoreEmulator extends Emulator {
2626
// Use locked version of emulator for test to be deterministic.
2727
// The latest version can be found from firestore emulator doc:
2828
// https://firebase.google.com/docs/firestore/security/test-rules-emulator
29-
'https://storage.googleapis.com/firebase-preview-drop/emulator/cloud-firestore-emulator-v1.10.4.jar',
29+
'https://storage.googleapis.com/firebase-preview-drop/emulator/cloud-firestore-emulator-v1.8.2.jar',
3030
port
3131
);
3232
this.projectId = projectId;

0 commit comments

Comments
 (0)