I don't know how we'll feasibly solve the multide of potential race conditons and async clean up memory leaks without something like rxjs. So, this is a trial to see the following:
1. How much does it increase bundle size?
2. How effective is typechecking?
3. Does it solve some of the difficult cancelation issues we have?
If we want to use the new version of react-redux we need to be compatible with their types.
Sadly it does not seem to be possible to create a Dispatchable type which can be eiher a plain action or a thunk and still be compatible with react-redux's types becuase they use redux's Store type under the hood which assumes you have an object with a string type property.
* make milkdrop window first class
* move butterchurn options to top
* move layout and some other review tweaks
* move butterchurnOptions out of state
* add layout variable back
* review tweaks
* fix placement of style update
* fix lint errors/warnings
* use constant instead of string
* Revert "Don't re-center windows when loading from serialized state"
This reverts commit d778c03f61.
* Revert "Clean up comment"
This reverts commit 8253093a2b.
* Revert "Fix spelling of IndexedDB"
This reverts commit b34d90e998.
* Revert "Add a few more generic assertions about serialized state"
This reverts commit a8267581d0.
* Revert "Refactor debounce and throttle"
This reverts commit 6ecc5142b5.
* Revert "Double check that the serialized state we generated equals the one we have saved"
This reverts commit 82a81bf584.
* Revert "Add many tests for serialization"
This reverts commit 55603346c2.
* Revert "Split serialized state types into their own file"
This reverts commit 4c9c5b99d3.
* Revert "Refactor how we manage window positions"
This reverts commit d6a1baece3.
* Revert "Fix export"
This reverts commit 462cf4b42d.
* Revert "Clean up selectors file"
This reverts commit cdfa99383a.
* Revert "Mark serialization methods priviate for now"
This reverts commit fc79c77451.
* Revert "Add types for WindowManager"
This reverts commit 0a7f258b64.
* Revert "Export Box"
This reverts commit e94cdef100.
* Revert "Use browserSize from state. Make it non-optional"
This reverts commit 53481ba892.
* Revert "Add back resetWindowLayout"
This reverts commit 35f4004caa.
* Revert "Begin tracking window size"
This reverts commit 96ed2b353c.
* Revert "Use namespaced Utils for webamplazy"
This reverts commit 949a2bc771.
* Revert "Use namespaced Utils"
This reverts commit 3049350701.
* Revert "Add initial approach of recovering from bad window positions"
This reverts commit 1791babf1a.
* Revert "Move centerWindowsIfNeeded to an action creatorThis forces us to type it, as a nice side benefit"
This reverts commit 40e31f0577.
* Revert "Make state serialization opt-in (for now)"
This reverts commit bef421ebed.
* Revert "Persist focus, and handle bad focus"
This reverts commit 3f1861d4f8.
* Revert "Handle the case where `positions` might be an empty object to begin with"
This reverts commit f8544ed126.
* Revert "Don't center windows when restoring from serialized state"
This reverts commit ca1cfe3dc6.
* Revert "Center windows correctly, even if the windows don't start at 0,0"
This reverts commit 777d482e73.
* Revert "Make hotkeys a function not a singleton class that has side effects when you construct it"
This reverts commit 87ca43ba45.
* Revert "Move global file input out of NPM module"
This reverts commit 9f726899c7.
* Revert "Don't exclude generic windows"
This reverts commit 245dd166a2.
* Revert "Serialize window position as well"
This reverts commit b71e09284e.
* Revert "Persist window states (exept position)"
This reverts commit 690f650e4c.
* Revert "Serialize media state, and apply equalizer state to on deserialize"
This reverts commit 94e105b104.
* Revert "Add a flag to clear IndexDB state"
This reverts commit 364ddb7411.
* Revert "Serialize state to indexdb"
This reverts commit 60429b280a.