-
-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(slow-start-up): refactors worker/modv lifecycle and module loading #618
Conversation
The worker now reports to the renderer process when it's done loading. main.js is waiting for modV's ready promise to resolve before mounting the Vue application. modV also sends an event to the background process to show the main window and close the splash screen. fixes #617
@2xAA this looks super cool, thank you very much! I just have one error:
Uncaught Exception:
TypeError: Object has been destroyed
at IpcMainImpl.eval (webpack:///./src/background.js?:123:16)
at IpcMainImpl.emit (events.js:327:22)
at Object.<anonymous> (electron/js2c/browser_init.js:157:9051)
at Object.emit (events.js:315:20) This happens every time modV is reloaded. |
I actually want to hold off on this until #623 is merged as the queuing of messages improves start-up time drastically. |
@2xAA thanks for the fix. Now when I reload modV, the whole window is white (excluding the navigation) until everything is loaded. Maybe add a loading spinner to the main window background? So that it's indicating that the application is loading? And also could you please resolve the conflicts? 🙏 |
What do you think? |
@TimPietrusky looks good, though the splash screen now has a background and loading animation 😅 |
@2xAA the issues have been addressed, please take another look! |
@TimPietrusky Awesome, seems to work fine :) |
# [3.19.0](3.18.0...3.19.0) (2021-11-09) ### Bug Fixes * **color-picker:** fixes colorPicker ([#631](#631)) ([293e223](293e223)) * **font-list:** updates dependancy ([#624](#624)) ([5aeecae](5aeecae)) * **gallery:** fixes gallery item preview ([#629](#629)) ([3272fbc](3272fbc)), closes [#597](#597) [#526](#526) * **groups:** fixes default value for groups inheritFrom ([#628](#628)) ([d80f5ef](d80f5ef)), closes [#627](#627) * **loop:** adds context to update method ([#641](#641)) ([1178273](1178273)) * **output-window:** Set proper encoding ([#634](#634)) ([41335b3](41335b3)) * **prop-default:** updates default prop check ([#646](#646)) ([0bc4e10](0bc4e10)), closes [#644](#644) * **rangecontrol:** fixes an infinite update loop ([#643](#643)) ([334e024](334e024)) * **release:** use node 14 ([dd05d88](dd05d88)) * removes menuBar from appearing on output windows ([#632](#632)) ([5d6ef6a](5d6ef6a)) * slow post message ([#623](#623)) ([cab2b82](cab2b82)) * **slow-start-up:** refactors worker/modv lifecycle and module loading ([#618](#618)) ([ea8a15d](ea8a15d)), closes [#617](#617) * **smoothing:** fixes inputLink smoothing ([#630](#630)) ([24864e2](24864e2)) * **splash-screen:** moves styles into main app.vue only ([#638](#638)) ([a90a09a](a90a09a)) ### Features * **isf:** remove unused error message & temp folder from media manager ([#636](#636)) ([4dfb299](4dfb299)) * **kick:** adds option for kick as inputlink and adds u_kick uniform for shaders ([#616](#616)) ([6aeac7f](6aeac7f)) * **offline-support:** Include raster.css + fonts ([#622](#622)) ([ef217bb](ef217bb)), closes [#621](#621) ### Performance Improvements * **module-inspector:** changes v-for key from id to index ([#625](#625)) ([c79cb81](c79cb81))
🎉 This PR is included in version 3.19.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
# [3.19.0](3.18.0...3.19.0) (2021-11-09) ### Bug Fixes * **color-picker:** fixes colorPicker ([#631](#631)) ([293e223](293e223)) * **font-list:** updates dependancy ([#624](#624)) ([5aeecae](5aeecae)) * **gallery:** fixes gallery item preview ([#629](#629)) ([3272fbc](3272fbc)), closes [#597](#597) [#526](#526) * **groups:** fixes default value for groups inheritFrom ([#628](#628)) ([d80f5ef](d80f5ef)), closes [#627](#627) * **loop:** adds context to update method ([#641](#641)) ([1178273](1178273)) * **output-window:** Set proper encoding ([#634](#634)) ([41335b3](41335b3)) * **prop-default:** updates default prop check ([#646](#646)) ([0bc4e10](0bc4e10)), closes [#644](#644) * **rangecontrol:** fixes an infinite update loop ([#643](#643)) ([334e024](334e024)) * **release:** use node 14 ([dd05d88](dd05d88)) * removes menuBar from appearing on output windows ([#632](#632)) ([5d6ef6a](5d6ef6a)) * slow post message ([#623](#623)) ([cab2b82](cab2b82)) * **slow-start-up:** refactors worker/modv lifecycle and module loading ([#618](#618)) ([ea8a15d](ea8a15d)), closes [#617](#617) * **smoothing:** fixes inputLink smoothing ([#630](#630)) ([24864e2](24864e2)) * **splash-screen:** moves styles into main app.vue only ([#638](#638)) ([a90a09a](a90a09a)) ### Features * **isf:** remove unused error message & temp folder from media manager ([#636](#636)) ([4dfb299](4dfb299)) * **kick:** adds option for kick as inputlink and adds u_kick uniform for shaders ([#616](#616)) ([6aeac7f](6aeac7f)) * **offline-support:** Include raster.css + fonts ([#622](#622)) ([ef217bb](ef217bb)), closes [#621](#621) ### Performance Improvements * **module-inspector:** changes v-for key from id to index ([#625](#625)) ([c79cb81](c79cb81))
The worker now reports to the renderer process when it's done loading. main.js is waiting for modV's ready promise to resolve before mounting the Vue application. modV also sends an event to the background process to show the main window and close the splash screen.
Speed gains can be measured on macOS (Intel). Windows seems about the same, but at least the UI isn't unresponsive while it's loading.
fixes #617