mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-09-06 20:54:26 +08:00
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 |
||
---|---|---|
.. | ||
account-sidebar | ||
attachments | ||
calendar-bar | ||
composer | ||
developer-bar | ||
file-list | ||
inbox-contact-elements | ||
message-list | ||
message-templates | ||
mode-switch | ||
notification-mailto | ||
notification-update-available | ||
notifications | ||
onboarding | ||
search-bar | ||
settings | ||
sidebar-fullcontact | ||
sidebar-inbox-internal | ||
thread-list | ||
today | ||
tooltip | ||
ui-dark | ||
ui-light | ||
unread-badge | ||
unread-notifications |