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