-
Notifications
You must be signed in to change notification settings - Fork 938
Merge Master into Multi-Tab #568
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
Merge Master into Multi-Tab #568
Conversation
* Fix query string parsing * [AUTOMATED]: Prettier Code Styling * Feedback
* Adding testing module * Typescript it * [AUTOMATED]: Prettier Code Styling * [AUTOMATED]: License Headers * Do not register testing module with firebase * [AUTOMATED]: Prettier Code Styling * Feedback * Add owners
* Patch the version info and the firebase.SDK_VERSION * [AUTOMATED]: Prettier Code Styling
* Goes through and deletes old IDB entries * [AUTOMATED]: Prettier Code Styling * Fixing tests with db name differences * Altering some logic / logs
* Remove `return Promise.resolve()` statements from the codebase. * Fix compilation errors. * Fix more compiler errors. * Use `tslib` module and `importHelpers` Typescript compiler option. It reduces the size of TypeScript packages (namely `firebase-database`, `firebase-firestore`, `firebase-messaging` and the combined `firebase`) be reusing TypeScript helper methods (e.g. `__awaiter`) which were included in every single file relying on features not available in ES5 (emitted during transpilation process). * [AUTOMATED]: Prettier Code Styling * Regenerate top-level yarn.lock * Add `tslib` as a dependency to app, polyfill, storage, template and util packages. Since we set `importHelpers` compiler option to `true` in the base config, we need to add `tslib` to all packages. `*-types` packages are omitted since they do not contain any executable code. * Revert unnecessary change in comment formatting. * Revert moving comments out of empty else block to make the context more clear. Addresses @mikelehen review #422 (review)
* Run "yarn upgrade-interactive --latest" * Update gulp to a proper NPM dep * Regen yarn.lock * Fix typescript generics issues * [AUTOMATED]: Prettier Code Styling
* Adding Schema Migration * Pseudocode for Schema Migration * [AUTOMATED]: Prettier Code Styling * IndexedDb Schema Migration * Lint cleanup * Removing unused import * Removing user ID from instance row * [AUTOMATED]: Prettier Code Styling * Review comments * Lint fixes * Review * [AUTOMATED]: Prettier Code Styling * Fixing the tests * Closing the Database in the Schema tests * [AUTOMATED]: Prettier Code Styling * Changing test helper to close the DB * [AUTOMATED]: Prettier Code Styling * Making v2 the default version * [AUTOMATED]: Prettier Code Styling * Addressing comment * [AUTOMATED]: Prettier Code Styling * Renamed to ALL_STORES * Start work on adding query counts * Implement target count * [AUTOMATED]: Prettier Code Styling * Separate out add and update for the query cache * [AUTOMATED]: Prettier Code Styling * Comments and formatting * Comments and restructuring * [AUTOMATED]: Prettier Code Styling * Use SimpleDb, shorten iOS-y name * [AUTOMATED]: Prettier Code Styling * addTargetCount -> saveTargetCount * Fix lint warnings * Comment fixes * Rename test file * Add expectation for 0 targets if none were added * [AUTOMATED]: Prettier Code Styling * Switch to PersistenceTransaction for schema upgrade * Fix the other tests * [AUTOMATED]: Prettier Code Styling * Update comment * Add some asserts, revert to PersistencePromise * Add assert * [AUTOMATED]: Prettier Code Styling * helpers moved * Review feedback * Switch to just using fail() * Rename updateMetadata * Renaming and thread metadata through schema upgrade * Use the proper assert * Review feedback * [AUTOMATED]: Prettier Code Styling * Drop note re running time, initialize metadata to null * Fix tests that weren't calling start * [AUTOMATED]: Prettier Code Styling
* Start work on @firebase/logger package * Refactor to remove debug dep * [AUTOMATED]: Prettier Code Styling * [AUTOMATED]: License Headers * Expose a LogHandler type * Allow users to "silence" our logging * Adding some comments * Do @firebase/firestore integration * Do @firebase/database integration * [AUTOMATED]: Prettier Code Styling * Refactor to propagate the default level if changed * Add some basic tests * [AUTOMATED]: Prettier Code Styling * Feedback from @mikelehen and @schmidt-sebastian Refactor to also log fatal issues Refactor to not attempt to log if the level is invalid Adding docs and more feedback * [AUTOMATED]: Prettier Code Styling * Fixing an error message * Updating yarn.lock * Address @mikelehen feedback * [AUTOMATED]: Prettier Code Styling * Refactor logClient.log -> logClient.debug * Update deps * More @mikelehen feedback * Fixing comment * Feedback from @schmidt-sebastian
…-if offline. * Refactored OnlineState tracking out of RemoteStore and into new OnlineStateTracker component. * Added a 10 second timeout to transition from OnlineState.Unknown to OnlineState.Offline rather than waiting indefinitely for the stream to succeed or fail. * Added a SpecTest to verify OnlineState timeout behavior. * Misc cleanup: * Renamed OnlineState states: Failed => Offline, Healthy => Online * Renamed TimerIds (ListenStreamConnection => ListenStreamConnectionBackoff) * Added a dummy .catch() handler to the CancelablePromises returned by AsyncQueue.enqueueAfterDelay() to avoid UnhandledPromiseRejection log spam due to canceled timers. * Added ability to run timers from spec tests (including assigning string names to TimerId enum values) * Added TimerId.All to match iOS and make it easier to run all timers from spec tests.
* Refactor to organize shims by Object * [AUTOMATED]: Prettier Code Styling * [AUTOMATED]: License Headers
* Fix some issues w/ the release process. This commit addresses two issues: - The banner text not correctly displaying on macOS due to the changed emoji spacing - The release CLI throwing errors when trying to stage an unpublished package * [AUTOMATED]: Prettier Code Styling * Refactor to handle production initial releases * [AUTOMATED]: Prettier Code Styling
* Refactor so staging releases use a staging version * [AUTOMATED]: Prettier Code Styling
…rl parameter in WebChannel requests. (#554) I verified that the client still works against prod and that the ?database=... paremeter was included in every WebChannel network request. NOTE that prior to this change we were including the "google-cloud-resource-prefix" header on non-streaming RPC requests, but with this change we will not include the header or use the "database" url parameter.
…559) getNextMutationBatchAfterBatchId() was not respecting highestAcknowledgedBatchId and therefore we were resending writes if they had been acknowledged but not removed (aka the held write acks case). This showed up when a user disabled / enabled the network as reported here and I've included a spec test to emulate that case: firebase/firebase-ios-sdk#772
* passwordless signin added new files for passwordless signin added licence exported function * updated externs and types * [AUTOMATED]: Prettier Code Styling * added passwordless sign in in demo and fixed type * remove email in localstorage after used for passwordless sign in
* refactored storage test * [AUTOMATED]: Prettier Code Styling * [AUTOMATED]: Prettier Code Styling * migrate storage from localstorage to indexedDb * added worker compatibility, exposed finally, updated error message * appended photo size for google hosted image
…added the defensive check above). (#565)
4608d80
to
b75a991
Compare
So there's good news and bad news. 👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there. 😕 The bad news is that it appears that one or more commits were authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request. Note to project maintainer: This is a terminal state, meaning the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple small suggestions. Thanks for highlighting your conflict resolutions to make reviewing easier!
); | ||
} | ||
|
||
if (fromVersion < 3 && toVersion >= 3) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should probably be:
p = p.next(() => {
createClientMetadataStore(db);
createTargetChangeStore(db);
});
So we do everything in the right order (not that these migrations are order-dependent right now).
it('can install schema version 3', () => { | ||
return withDb(3, async db => { | ||
expect(db.version).to.be.equal(3); | ||
expect(getAllObjectStores(db)).to.have.members(ALL_STORES); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you intentionally using ALL_STORES instead of V3_STORES? I'd be inclined to use V3_STORES so these tests don't need to change over time as we add new stores in later schema versions...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking of changing this already, but kept it the same as before. Fixed now.
acb750f
to
75096d9
Compare
75096d9
to
2a5d3f6
Compare
Manual changes:
CONFLICT (content): Merge conflict in packages/firestore/test/unit/specs/spec_test_runner.ts
-> Used new runTimer method
https://gist.github.com/schmidt-sebastian/bd02873a161acba24a6438baa75847b6
CONFLICT (content): Merge conflict in packages/firestore/test/unit/specs/spec_builder.ts
-> Used new runTimer method
https://gist.github.com/schmidt-sebastian/40496c08e13f3c415f8e047b48a9e8ba
CONFLICT (content): Merge conflict in packages/firestore/src/util/async_queue.ts
-> Used new format for 'TimerId'
https://gist.github.com/schmidt-sebastian/835c49d1dfa9fb6232a7546ffd0a1fb0
CONFLICT (content): Merge conflict in packages/firestore/src/local/simple_db.ts
-> This file is now the same as master
CONFLICT (content): Merge conflict in packages/firestore/src/local/memory_persistence.ts
-> Made start() and shutdown() async
CONFLICT (content): Merge conflict in packages/firestore/src/local/indexeddb_schema.ts
-> Moved Multi-Tab to schema version 3
https://gist.github.com/schmidt-sebastian/200629f197349de02a7ceea9d7242e39
CONFLICT (content): Merge conflict in packages/firestore/src/local/indexeddb_persistence.ts
-> Formatting
packages/firestore/test/unit/local/indexeddb_schema.test.ts
-> Merged in my tests from schema_migration.test.ts and removed this file
https://gist.github.com/schmidt-sebastian/5312687e6a72e7240b11d6dac9c83b77