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
- Lint
No Lint Coverage - Unit
No Test Coverage
Event Timeline
| keyserver/src/push/send.js | ||
|---|---|---|
| 763–776 ↗ | (On Diff #29439) | Should these maybe be inside the if (canQueryBlobService) condition? |
| keyserver/src/push/send.js | ||
|---|---|---|
| 770 ↗ | (On Diff #29439) | Is it possible that blobUploadError isn't present but blobHash or encryptionKey is null? |
| keyserver/src/push/send.js | ||
|---|---|---|
| 763–776 ↗ | (On Diff #29439) | As explained in D8589 I wanted to avoid indentation. |
| 770 ↗ | (On Diff #29439) | 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