Open lanitochka17 opened 1 month ago
Triggered auto assignment to @twisterdotcom (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.
Triggered auto assignment to @tgolen (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:
We think that this bug might be related to #wave-collect - Release 1
@kosmydel @hungvu193 @arosiclair Is it possible this is related to https://github.com/Expensify/App/pull/44733 ?
I don't think so. Those changes should only affect report exports.
Not a web-e blocker as discussed here
Sounds like @yuwenmemon might know what's happened here and he will be looking into it.
Weird, not able to reproduce this in Dev
Oh I see it now. @NikkiWines it looks like this is because we initially set the lastSync
isConnected
property to false:
https://github.com/Expensify/Integration-Server/commit/a4cca1bb4863dfcbe9c566cbeeaa47d5676c8c72#diff-49d9c0cf9775a8c0d9890e99f5085ddbed36dbe92d1d8ec3a3956e50d5d9a555R27
I think this will need to be fixed via the IS.
⚠️ Looks like this issue was linked to a Deploy Blocker here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
Connection options are missing in QBO connection
There's a check to skip showing the options if a connection is unverified. For QBO, that will depend on lastSync?.isConnected
.
We can just check if lastSync
object is not-null (or some other field).
@roryabraham This should be fixed when https://github.com/Expensify/Integration-Server/pull/8025 is deployed to prod.
tester was no longer able to reproduce, so I'm going to close this and check it off
Issue is still reproducible on the latest build 9.0.29-9
https://github.com/user-attachments/assets/6496f751-a381-4ee1-a15a-31b4f482bf74
I still cannot recreate this, I'm not clear how to follow the steps in the video without always having to configure the company you choose in QBO when you authenticate. It seems you never had to do that @lanitochka17?
Also this bug states that it occurs on MacOS: Chrome / Safari and Android: mWeb Chrome, but your video seems to show Desktop. Does this only happen for you on Desktop?
https://github.com/user-attachments/assets/5a415aef-1020-45c9-a61a-525b5b18fa4b
I'm going to downgrade this to Daily as I can't reliably reproduce and the mainline case of connecting in Chrome works fine.
Current assignee @twisterdotcom is eligible for the Bug assigner, not assigning anyone new.
I wasn't able to reproduce this exactly in Desktop, but I was able to see a split second here where we do see this behavior, but eventually, the menu options load.
https://github.com/user-attachments/assets/f4192109-c7e0-47e0-b25f-f67338df00ad
What's tipping me off is that we see Last synced
in both videos where this happens, which means the lastSync
object or something we're reading off of it is off.
So yeah for when we see Last synced
all I see in the connection object is this:
However, a few seconds later an onyxUpdate is pushed updating the connection and showing the full connection:
What looks to be happening is that the jobDone
event is getting sent before the policy update that updates the lastSync
value. cc @aldo-expensify
Yup, that's exactly it. If I play around with the debugger to delay the jobDone
notification this is what I see:
https://github.com/user-attachments/assets/a9f93430-01c1-49b7-bc93-5fb4f21547b3
@francoisl @aldo-expensify Not sure what the best way to fix this is 🤔
It's kind of a race condition and sits at the heart of how the new connection with Onyx updates works. A few ideas
jobDone
notification by 1 second - kind of hacky, doesn't solve the root of the problemjobDone
event. This way even if the onyx update from setting the connection data via the API doesn't come through, we send it directly from the IS.connectionData
for a connection yet.hmm what about passing some flag from the IS to the last SavePolicy
so that last SavePolicy
pushes the jobDone
instead of the IS?
This would be to ensure the right order of the events
Oooooooh, I like that 💡
@francoisl does that sound good to you?
But even if we do that, can a command in either Auth or PHP know when the Onyx updates queued by Auth have been sent?
Hmmm.. yeah. In theory, you would want to do this when you save the connection data, so that there's no race condition between the connection object having a config/data and the spinner stopping (jobDone
). However, there are other sync tasks that could still be running after that.
However, there are other sync tasks that could still be running after that.
but I think the user wouldn't be able to change any setting until the jobDone
is received, right? If the user can't touch any setting until that, then there won't be more syncs running.
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.14-1 Reproducible in staging?: Y Reproducible in production?: N If this was caught during regression testing, add the test name, ID and link from TestRail: N/A Issue reported by: Applause - Internal Team
Action Performed:
Expected Result:
QBO options (Import, Export, Card reconciliation and Advanced options) are displayed
Actual Result:
QBO options (Import, Export, Card reconciliation, and Advanced options) are not displayed
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
https://github.com/user-attachments/assets/68e150fa-1694-4b1f-b1b5-1345f6db5416
View all open jobs on GitHub