Open IuliiaHerets opened 1 month ago
Triggered auto assignment to @slafortune (Bug
), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.
We think that this bug might be related to #wave-collect - Release 1
Is there a credential for contributor to connect to QBO?
Triggered auto assignment to @madmax330 (DeployBlockerCash
), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.
:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
Forget to add a DeployBlockerCash
label
This issue reproducible for Xero connection also. Let me know if we need to create a new GH ticket. Thank you
https://github.com/user-attachments/assets/8bc748ce-8f98-4622-83fd-456cc5054e84
I was able to successfully connect to SuccessTeam1 - In the video I don't see where you entered the credentials, just selected a company file -
https://github.com/user-attachments/assets/66c9bbf4-3370-461f-babb-0d7815c5c44a
I got stuck on waiting for data to load
but it loaded on refresh
I think we can at the very least demote this for now.
I only see these logs for applausetester+kh010901@applause.expensifail.com. The auto sync failed due to
QBO auto sync error ~~ msg: 'Refresh token is no longer valid, need to renew credentials.' code: '407' class: 'OAuthAuthenticationException'
which doesn't really match the bug report (there was no error it just appeared stuck). That was also from yesterday not today. So it looks like the email in the report is not accurate.
Syncing is stuck at "Waiting for imported data to load". It disappears after reopening Accounting tab.
This sounds like some sync progress updates were not received. IIRC those don't use reliable updates so that may fix that issue. cc @aldo-expensify
This sounds like some sync progress updates were not received. IIRC those don't use reliable updates so that may fix that issue. cc @aldo-expensify
Seems like the jobDone
update is the only progress update sent through reliable updates: https://github.com/Expensify/Integration-Server/blob/f0fde768b3ea60545eac564ba367bf09cff67f40/src/expensify/progress/PushOnyxUpdateProgressManager.java#L51-L53
@aldo-expensify @arosiclair can one of you pick this up since you seem to know what's going on?
@aldo-expensify I think you're probably best to take it on?
I haven't had time yet to investigate, I'll try to get to it by the end of the week
@slafortune @aldo-expensify this issue was created 2 weeks ago. Are we close to a solution? Let's make sure we're treating this as a top priority. Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!
From the reports, it looks like a case where we miss onyx updates. I have tried a few times to reproduce and I haven't been able:
https://github.com/user-attachments/assets/c0c62e7b-7fab-4744-bf27-95afa5406d8c
Besides what you see in the video, I also tested:
This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989
Oh, trying again with closing the tab while the sync is happening left it in a permanent loading state
The connections
data in the policy is missing:
The policySyncProgress_
onyx data is showing that the job finished:
so the problem seems to be that somehow we ended up missing the policy.connections
data.
I then went offline and back online and it still shows as loading, but now the connections
data is there:
Even if now the policy.connections
data is there, the spinner is still stuck there... this last thing sounds like the component did not rerender when the onyx data changed.
I'm not sure this is necessarily internal
, from what I found here, it looks like we may be not re-rendering correctly when onyx data changes.
I fixed my dev env so I have integrations and pushed events working again. I'll try to reproduce again and see if I can fix something.
I'm not sure this is necessarily internal,
Cool, if we firm up on that, I'm sure someone from the C+ pool would be willing to do the work if they can.
Two things I see for now:
onyxUpdates
in the database for the collection policyConnectionSyncProgress_<policyID>
. This I think means that the jobDone
for some reason is not using reliable updates as I thought, so if you miss it because you close the window it is lost forever.ReconnectApp
which is what usually brings pending onyx updates. There is only a call to OpenInitialSettingsPage
, but this command doesn't load pending updates. I guess this is a problem that any setting page can have.Regarding the jobDone
being a reliable update, we had a bug here, fixing here: https://github.com/Expensify/Auth/pull/12801
Easy reproduction steps:
Why is this happening? because of point 2 here: https://github.com/Expensify/App/issues/49371#issuecomment-2418305801
The PR https://github.com/Expensify/Auth/pull/12801 was deployed and it was a necessary fix, but we still need to do something about commands like OpenInitialSettingsPage
not loading missed onyx updates. I'll start a slack convo in the engineering chat after lunch to get some consensus on what to do for this case.
Asked here: https://expensify.slack.com/archives/C03TQ48KC/p1729204325866909
Seems like the expectation is that ReconnectApp
should have been called after reopening the tab, so I'm going to investigate why it is not happening.
PR up: https://github.com/Expensify/App/pull/51110 for fixing the missing calls to ReconnectApp
.
@abdulrahuman5196 got assigned as reviewer (C+)
Just deployed to staging
Reviewing
label has been removed, please complete the "BugZero Checklist".
The solution for this issue has been :rocket: deployed to production :rocket: in version 9.0.55-10 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:
If no regressions arise, payment will be issued on 2024-11-07. :confetti_ball:
For reference, here are some details about the assignees on this issue:
@abdulrahuman5196 @slafortune The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]
[ ] [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment:
[ ] [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion:
[ ] [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.
@abdulrahuman5196 can you please complete the checklist?
bump @abdulrahuman5196
The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it.
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Version Number: 9.0.37-0 Reproducible in staging?: Y Reproducible in production?: N Email or phone of affected tester (no customers): applausetester+kh010901@applause.expensifail.com Issue reported by: Applause Internal Team
Action Performed:
Expected Result:
Syncing will be completed without issue.
Actual Result:
Syncing is stuck at "Waiting for imported data to load". It disappears after reopening Accounting tab.
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
https://github.com/user-attachments/assets/64c85a7e-af00-4adb-b683-2f164c978928
View all open jobs on GitHub
Issue Owner
Current Issue Owner: @slafortune