Page MenuHomePhabricator

Implement sending large thick thread notifs
ClosedPublic

Authored by marcin on Thu, Sep 26, 1:07 PM.
Tags
None
Referenced Files
F2835069: D13495.id44630.diff
Sat, Sep 28, 12:37 PM
F2834277: D13495.diff
Sat, Sep 28, 10:39 AM
F2833770: D13495.diff
Sat, Sep 28, 8:52 AM
Unknown Object (File)
Fri, Sep 27, 9:11 AM
Unknown Object (File)
Fri, Sep 27, 9:11 AM
Unknown Object (File)
Fri, Sep 27, 9:11 AM
Unknown Object (File)
Fri, Sep 27, 9:11 AM
Unknown Object (File)
Fri, Sep 27, 9:11 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
Branch
marcin/eng-8709
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

lib/push/send-hooks.react.js
295–296

This function is sync and does both

308–309

I'd move this directly into fetch call inside assignMultipleHolders

lib/utils/blob-service.js
88–91

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

What is the reason behind this change?

225–228

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

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

Debuging artifact.

lib/utils/blob-service.js
88–91

Hack was deleted.

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