Mailspring/static
Ben Gotow e8f7f76080 feat(window-manager): Refactor window code, actually destroy main window when logging out
Summary:
Resolves T1200 and probably others.

This diff moves all the window management / hot loading into a new class called the WindowManager
and also changes the way the app transitions between onboarding and main window. When you log out,
the main window clears config and clearing the config causes the window manager to close the main
window and open the login window. When it detects a token again, it opens the main window.

This means you can't:
- Open the main window from the login window
- Open mailto: links and accidentally see the main window or a composer, since the draft store isn't
  running anywhere.
- Don't need to worry about properly resetting thigns when namespaces change, since the window
  is now actually re-created from scratch with the new auth token.

Be a little more defensive about namespace checks in draft-store

Move window code to window-manager

Rename AtomApplication to just `Application`

Specs fix

Test Plan: Run tests, would be good to have more for this.

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T1200

Differential Revision: https://review.inboxapp.com/D1501
2015-05-14 14:54:29 -07:00
..
components feat(tags): Tags dropdown and new features for Menu and Popover 2015-05-13 12:01:41 -07:00
fonts/FontAwesome Restoring SearchBar, adding FontAwesome for icons not designed yet 2015-03-03 09:49:15 -08:00
images feat(tags): Tags dropdown and new features for Menu and Popover 2015-05-13 12:01:41 -07:00
mixins fix(less): Lint errors preventing successful build 2015-03-05 15:42:38 -08:00
sounds feat(notifications): Initial pass at new mail notifications 2015-02-20 12:19:34 -08:00
variables feat(thread-list): Multiple selection, bulk actions, refactoring 2015-04-08 19:25:00 -07:00
buttons.less docs(*): Additional docs for DraftStoreExtensions 2015-04-28 10:38:24 -07:00
font-awesome.min.css Restoring SearchBar, adding FontAwesome for icons not designed yet 2015-03-03 09:49:15 -08:00
index.html feature(templates): Pick templates, fill variable regions, Draft extensions 2015-03-20 10:23:50 -07:00
index.js feat(window-manager): Refactor window code, actually destroy main window when logging out 2015-05-14 14:54:29 -07:00
index.less feat(unsafe-components): Wrap injected components, catch exceptions, clean up ComponentRegistry 2015-04-30 16:10:15 -07:00
inputs.less fix(*) minor patches and fixes for specs / ui 2015-03-05 19:09:42 -08:00
jasmine.less refactor(*): Remove Atom package dependecies and Atom styles! 2015-02-06 16:57:33 -08:00
linux.less fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
normalize.less fix(less): Lint errors preventing successful build 2015-03-05 15:42:38 -08:00
resizable.less button and less changes 2015-03-03 18:09:57 -08:00
selection.less fix(lint): fix linting css errors 2015-03-26 14:49:03 -04:00
type.less feat(composer): add popout icon and header styles 2015-03-10 18:14:53 -07:00
utilities.less fix(less): Lint errors preventing successful build 2015-03-05 15:42:38 -08:00
workspace.less feat(unsafe-components): Wrap injected components, catch exceptions, clean up ComponentRegistry 2015-04-30 16:10:15 -07:00