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)
Mon, Oct 14, 8:23 PM
Unknown Object (File)
Mon, Oct 14, 8:23 PM
Unknown Object (File)
Mon, Oct 14, 8:22 PM
Unknown Object (File)
Mon, Oct 14, 8:22 PM
Unknown Object (File)
Mon, Oct 14, 8:22 PM
Unknown Object (File)
Mon, Oct 14, 8:22 PM
Unknown Object (File)
Sun, Oct 13, 9:12 AM
Unknown Object (File)
Fri, Oct 11, 12:09 AM
Subscribers

Details

Summary

This differential implements notification encryption with olm session on web.

Test Plan

Tested in D12673

Diff Detail

Repository
rCOMM Comm
Lint
No Lint Coverage
Unit
No Test Coverage

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.