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?
* Try running screenshot tests on Travis
* Standardize domain in integration tests
* Allow images to not match that well
* Turn back on all other tests
SteroPannerNode handled mono files correctly, but apparently panning is not the same as balance.
Eventually I found a work around [here](https://github.com/WebAudio/web-audio-api/issues/975#issue-177242377). The idea is to use a dummy GainNode before the channel splitter to handle the up-mixing before the split is applied.
Tested a mono file as well as left/right balance on Chrome, Firefox, and Safari on Mac desktop.
* 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.
* Add tsconfig.json and static module resolution for ts
* Add trailing newline to tsconfig
* Change tsc module to commonjs to support .json import
* Add tsc as dependency and to scripts
* Convert milkdrop presets
* refactor preset conversion into own class
* save converted preset to preset list
* allow adding multiple presets and convert presets on demand
* remove unused presetConverter prop
* some review tweaks
* switch to package version of preset converter
* remove now unneeded webpack change
* handle preset conversion errors