Encrypt notifications for Windows users with code version high enough to support this feature
Summary: This differential uses encryption API implemented in parent differential to encrypt windows notifications assuming that the client passes introduced code version checks. Additionally a one-liner change is introduced in desktop code that enables Windows clients to handle encrypted notifications.
Test Plan:
- Setup ngrok tunneling for http://localhost:3000
- Build windows desktop app following detailed instructions from: https://linear.app/comm/issue/ENG-5859/set-up-environment-for-windows-application-development
- Replace NEXT_CODE_VERSION in version-utils.js with 1 and all isStaffOrDev in cookies.js and send.js with true. (the reason is that to test Windows we have to use production build of the keyserver.
- Connect from Windows app to the keyserver. Ensure that new row in olm_sessions is created.
- Send notifications to Windows client. Ensure that version field of the row created in previous step increments with each notification and each notification is displayed correctly.
Reviewers: michal, kamil
Reviewed By: michal
Subscribers: ashoat, tomek
Differential Revision: https://phab.comm.dev/D10194