Page MenuHomePhabricator

Implement notification encryption on web
ClosedPublic

Authored by marcin on Jul 4 2024, 9:27 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Dec 22, 5:32 PM
Unknown Object (File)
Sun, Dec 22, 5:32 PM
Unknown Object (File)
Sun, Dec 22, 5:32 PM
Unknown Object (File)
Sun, Dec 22, 5:32 PM
Unknown Object (File)
Sun, Dec 22, 5:32 PM
Unknown Object (File)
Sun, Dec 22, 5:32 PM
Unknown Object (File)
Sun, Dec 22, 5:32 PM
Unknown Object (File)
Sun, Dec 22, 5:32 PM
Subscribers

Details

Summary

This differential implements notification encryption with olm session on web.

Test Plan

Tested in D12673

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

marcin requested review of this revision.Jul 4 2024, 9:44 AM
tomek added inline comments.
web/push-notif/notif-crypto-utils.js
318 ↗(On Diff #42041)

Why are we using the content key instead of notif?

This revision is now accepted and ready to land.Jul 10 2024, 4:49 AM
web/push-notif/notif-crypto-utils.js
318 ↗(On Diff #42041)

We are using key for notif session here. Content in this variable refers to "the content of notif olm session"

web/push-notif/notif-crypto-utils.js
318 ↗(On Diff #42041)

Can you rename? This seems like very confusing naming

Rename ...DataContent... -> ...Data... to remove confusion around Conent keyword when dealing with notifs sessions

Make encryptNotification a part of olmAPI. This change is ESSENTIAL on web since it makes encryptNotification run on shared worker. This enables us to deterministically handle race conditions.