Extract common code to lib
- Feed Queries
- All Stories
- Search
- Feed Search
- Transactions
- Transaction Logs
All Stories
Sep 11 2023
Remove unnecessary Kotlin WorkManager dependency
I checked our app .apk file size twice: first time on a parent commit to this one and second time on this commit. In between I uninstalled the app and executed ./gradlew clean. My results are below:
Parent commit:
This commit:
So we probably have already had guava in some other dependency since the size in MB didn't change at all. However please correct my if my method of checking the size was wrong.
Changes look good, thanks for fixing this!
Rebase stack
Use React.useCallback
Address @varun's feedback
Found one more plance. Don't know why it wasn't showing errors before...
In D9091#268772, @marcin wrote:One last question: Is it guaranteed that we call the notif's completionHandler only after the deletion tasks are finished?
It is not guaranteed and it is impossible to guarentee that since contentHandler is called quickly in the NSE while blob deletion takes place on the background thread in the main app so the system decides when it is best to call it. Additionally main app might not be running when NSE processes notification. However why would such guarantee be necessary in the first place? Blob download and persistence is synchronous and writing blob metadata to the storage which main app reads during deletion takes place afterwards. So the deletion process won't start until notification payload is persisted on the device so when user opens the app the message will be loaded and immediately visible in the app regardless on when delete requests are issued.
One last question: Is it guaranteed that we call the notif's completionHandler only after the deletion tasks are finished?
It is not guaranteed and it is impossible to guarentee that since contentHandler is called quickly in the NSE while blob deletion takes place on the background thread in the main app so the system decides when it is best to call it. Additionally main app might not be running when NSE processes notification. However why would such guarantee be necessary in the first place? Blob download and persistence is synchronous and writing blob metadata to the storage which main app reads during deletion takes place afterwards. So the deletion process won't start until notification payload is persisted on the device so when user opens the app the message will be loaded and immediately visible in the app regardless on when delete requests are issued.
rebase before landing
I understand that I am not a reviewer but @kamil wanted me to see this diff and I would like to note one thing. This cron job will only fire if keyserver's very first prekey's were marked as published somewhere else. In practice keyserver prekeys are published for the first time here: https://github.com/CommE2E/comm/blob/master/keyserver/src/responders/keys-responders.js#L59. However the only reason prekeys are marked as published there is that at the time this code was implemented we wanted to launch e2e notifs ASAP but the identity service was not ready, so we agreed on a temporary solution to mark prekey's as published when user fetches them to initialise olm notifications session with the keyserver. That said as of this differential this line should be deleted and we should find a place to publish keyserver's prekeys for the very first time after olm accounts for the keyserver are created.
One last question: Is it guaranteed that we call the notif's completionHandler only after the deletion tasks are finished?
Some more bugs I found while testing D8918, I will address them later
Rename shouldRestart, start db intialization on load, add comment for transform migration
LGTM but letting other reviewers take a look
Change initError to notSupported, move safari key init after setting status to initInProgress
Looks good! Only some questions inline
Thanks for this!
Hey no worries, this is a good shout. The reason that the tooltip is positioned like that is because the tooltip has 3 parts the label, the action buttons, and the timestamp and we center align based on all three of those elements
I can see that the placement is still bit wonky when the label is missing, but I feel like this might be outside the scope of this diff. I created a follow up linear task to eventually address this
https://linear.app/comm/issue/ENG-4879/make-the-message-action-tooltip-more-aligned-with-the-message
Sep 9 2023
Taking this one, I'll play with this a bit
In D9073#267323, @tomek wrote:Have you tested a scenario where externalSignal is used?
Rebase
Rebase
Rebase
Rebase
Update docker repository
Rebase, apply feedback
Rebase


