mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-01-10 02:03:07 +08:00
cd9ccd85e2
Summary: WIP. The app launches and works for me. I still need to fix the tests just the DB ones though :D I changed the `DatabaseProxy` into a `DatabaseConnection` object. It will request a fully instantiated databse from the backend Browser. If we're already setup, it'll connect straight to the existing DB. If we're not setup, then it'll create a new database and run the inital schema migration on it. The `_createNewDatabase` promise won't resolve until the migration has run. Until we add in a more sophisticated migration system and get rid of the stupid `modelClassMap` that's shoved in `Utils`, I'm passing in a series of `_setupQueries()` to get everything started. The `DatabaseConnection` is also the one responsible for queuing up queries until the DB is fully populated and ready to go. We actually get a lot of queries before we're setup because a lot of Stores will make DB requests on `require` in their `constructor` or `init` methods. (remember all the times we call `_populateStore` in `init`). Now those queries are aggregated by the `DatabaseConnection` and then executed sequentially. Our methods like `persistModel` now resolve only after both the queries have completed AND their corresponding `triggerLater` has completed as well. Test Plan: in progress Reviewers: bengotow Reviewed By: bengotow Differential Revision: https://phab.nylas.com/D1688 |
||
---|---|---|
.. | ||
components | ||
fixtures | ||
models | ||
stores | ||
tasks | ||
action-bridge-spec.coffee | ||
auto-update-manager-spec.coffee | ||
buffered-process-spec.coffee | ||
clipboard-spec.coffee | ||
component-registry-spec.coffee | ||
database-view-spec.coffee | ||
menu-manager-spec.coffee | ||
model-view-selection-spec.coffee | ||
model-view-spec.coffee | ||
module-cache-spec.coffee | ||
nylas-protocol-handler-spec.coffee | ||
nylas-sync-worker-spec.coffee | ||
package-manager-spec.coffee | ||
package-spec.coffee | ||
style-manager-spec.coffee | ||
styles-element-spec.coffee | ||
task-spec.coffee | ||
test_utils.coffee | ||
theme-manager-spec.coffee | ||
undo-manager-spec.coffee | ||
utils-spec.coffee |