Summary
We started this chapter by introducing the Redux middleware. As an example, we used redux-diff-logger
to monitor mutations in the store. We also plugged in a collection of tools (redux-devtools
), enabling DevTools-like panels on a page for inspecting the store and traveling back in time using the cancelling actions. Closing with Redux, we examined unit-testing of action creators and reducers.
In this chapter, we created the Capturer
service responsible for taking screenshots and recording screencasts. We achieved capturing of desktop video input in MediaStream
by using webkitGetUserMedia
API. With the Canvas API, we managed to take a still frame from the video stream and convert it into an image. For video recording, we went with the MediaRecorder
API. Both screenshot and screencast actions we have provided with the corresponding desktop notifications. We implemented an application menu in the system tray and bound it to the store. To access capturing actions even without opening...