-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[$250] [HOLD for payment 2025-01-30] Background network processing #50140
Comments
Hey, I'm Szymon from Callstack and I can work on this 🫡 |
Hey, I started working on this issue and in first place I looked on what are possible libraries that we leverage to solve this problem. I've started with Native platforms. There are not many tools that are solving this problem well, and actually there are two that I found that are maintained:
I'd go with |
Hey, update from my side. I successfully implemented PoC of registering background task with |
Updated P/S |
This issue has not been updated in over 15 days. @szymonrybczak eroding to Monthly issue. P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do! |
Hey, just to update this issue with current status - we'll be developing our own implementation of executing background task. Here's a separate issue with all necessary informations: #52700 |
Triggered auto assignment to @luacmartins, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
Current assignee @shubham1206agra is eligible for the External assigner, not assigning anyone new. |
📣 @shubham1206agra 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app! |
@mananjadhav, @luacmartins, @shubham1206agra, @szymonrybczak Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@luacmartins @mountiny Can you assign a BZ for the payout here? |
Triggered auto assignment to @laurenreidexpensify ( |
@laurenreidexpensify Quick bump on the payment summary. |
BugZero Checklist:
Bug classificationSource of bug:
Where bug was reported:
Who reported the bug:
Regression Test Proposal Template
Regression Test ProposalPrecondition:Test:Do we agree 👍 or 👎 |
Payment Summary:
|
@mananjadhav sorry for delay - this was a weekly so not on my immediate radar. |
This was more of a non-customer issue. There's no specific regression test suite and can be tagged as feature request. |
@mananjadhav, @luacmartins, @shubham1206agra, @laurenreidexpensify, @szymonrybczak Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Closing as no further action required |
$250 approved for @mananjadhav |
Problem
The primary issue we aim to address is ensuring the reliability of message delivery in our chat app. Users have reported instances where messages fail to send, only being dispatched when the app is reopened. This problem is particularly evident in the following scenarios:
● iOS: Messages are not sent when the app transitions to the background, during shifts from offline to online status, or under poor internet conditions.
● Android: Similar issues occur when the app is backgrounded with unstable internet connections. Additionally, there is uncertainty about the app’s behavior during transitions from offline to online across different Android devices.
Solution
To enhance the user experience, we propose implementing background task processing to manage network requests even when the app is not actively open. This approach aims to:
By addressing these issues, we aim to provide a seamless messaging experience, ensuring that messages are sent promptly and reliably, regardless of the app’s state or network conditions.
Additional Solutions for Web and Desktop
Web: Leverage Service Workers for handling background sync when internet connection is re-established.
Desktop: Use Electron’s background task handling capabilities (e.g., electron-ipc).
Before (current app - Android Slow connection)
no_background_processing.mp4
After
background_processing_android_working.mp4
Cases:
User is offline or in a poor network connection
User takes some actions and serializes network requests
User puts app in the background
User regains network connection, requests from the queue start executing.
User opens the app and has no remaining network requests (or maybe a few)
Open the app from a notification
Read it
Write a response
Switch apps
This background processing will prevent a message from not being sent due to moving quickly to the background.
Slack Thread: https://expensify.slack.com/archives/C05LX9D6E07/p1727884875529299
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @Issue Owner
Current Issue Owner: @mananjadhavThe text was updated successfully, but these errors were encountered: