This differential upload iOS notification to blob service if its size exceeds APNs limits.
Details
Details
- Build iOS app.
- Background or kill the app.
- Send large notifications to the app. I used 16000 character notifications for testing.
- Ensure notification is displayed shortly after it was sent.
- Kill your local keyserver
- Open the app. Ensure that (entire!!!) message content is available in the thread.
Diff Detail
Diff Detail
- Repository
- rCOMM Comm
- Branch
- marcin/eng-4247
- Lint
No Lint Coverage - Unit
No Test Coverage
Event Timeline
keyserver/src/push/send.js | ||
---|---|---|
763–776 | Should these maybe be inside the if (canQueryBlobService) condition? |
keyserver/src/push/send.js | ||
---|---|---|
770 | Is it possible that blobUploadError isn't present but blobHash or encryptionKey is null? |
keyserver/src/push/send.js | ||
---|---|---|
763–776 | As explained in D8589 I wanted to avoid indentation. | |
770 | It is impossible.
async function generateKeyCommon(commonCrypto: Crypto): Promise<Uint8Array> { const algorithm = { name: 'AES-GCM', length: 256 }; const key = await commonCrypto.subtle.generateKey(algorithm, true, [ 'encrypt', 'decrypt', ]); const keyData = await commonCrypto.subtle.exportKey('raw', key); return new Uint8Array(keyData); } it cannot return null.
|
Comment Actions
Rename payloadSizeViolated to payloadSizeExceeded and devicesWithSizeViolation to devicesWithExcessiveSize