Page MenuHomePhabricator

Implement sending large thick thread notifs
ClosedPublic

Authored by marcin on Sep 26 2024, 1:07 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Dec 18, 10:02 AM
Unknown Object (File)
Wed, Dec 18, 10:02 AM
Unknown Object (File)
Wed, Dec 18, 10:02 AM
Unknown Object (File)
Wed, Dec 18, 10:02 AM
Unknown Object (File)
Wed, Dec 18, 10:02 AM
Unknown Object (File)
Wed, Dec 18, 10:02 AM
Unknown Object (File)
Wed, Dec 18, 10:02 AM
Unknown Object (File)
Wed, Dec 18, 10:01 AM
Subscribers

Details

Summary

This differential uploads large e2ee notifs to blob service

Test Plan

Modify app to log all blob that it sends (JS) and decrypted blobs that it receives (native code). Send large and small notifs around. Ensure that only large notifs are logged in native code. Ensure that if there are multiple devices of the same platform as receivers only one distinct blob is uploaded to blob service.

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

lib/push/send-hooks.react.js
295–296 ↗(On Diff #44612)

This function is sync and does both

308–309 ↗(On Diff #44612)

I'd move this directly into fetch call inside assignMultipleHolders

lib/utils/blob-service.js
88–91 ↗(On Diff #44612)

In case we're going to leave this hack, we need to leave in-code comment here.
We're relying on undocumented behavior of React Native on iOS

lib/push/android-notif-creators.js
172 ↗(On Diff #44612)

What is the reason behind this change?

225–228 ↗(On Diff #44612)

It might be worth hiding less obvious code into a function with a readable name, e.g. generateUUIDs.

lib/push/send-hooks.react.js
265 ↗(On Diff #44612)

It is confusing to see a notifs related argument in a general-purpose function. Can we rename it?

Send string on native and blob on web.

tomek added 1 blocking reviewer(s): bartek.
lib/push/android-notif-creators.js
172 ↗(On Diff #44612)

Debuging artifact.

lib/utils/blob-service.js
88–91 ↗(On Diff #44612)

Hack was deleted.

This revision is now accepted and ready to land.Sep 27 2024, 6:51 AM
This revision was landed with ongoing or failed builds.Sep 27 2024, 7:48 AM
This revision was automatically updated to reflect the committed changes.