Open muttmuure opened 3 months ago
@Kureev could you please give us an update?
π£ It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? πΈ
Hi, I am Kiryl from Margelo and I can work on this issue.
Feel free to re-assign this ticket on me π
I'm back from OoO @kadiealexander β thanks for holding down the fort!
Still waiting for launch to production before closing!
Still on staging π
Hit production 2 days ago! π New date is Aug. 26 based on 7-day holding period
https://github.com/Expensify/App/pull/47243 introduced a new regression: https://github.com/Expensify/App/pull/47338#issuecomment-2309712427
Hello, it'll be great if you could fix the regression with priority because it is crashing the app when using copilot
https://github.com/Expensify/App/pull/47338#issuecomment-2309712427
@kirillzyusko could you possibly look into it?
Steps to reproduce
https://github.com/Expensify/App/pull/47338#issuecomment-2308560242
@christipaval yes, I'll look into the problem and will try to fix it ASAP! π
Edited by proposal-police: This proposal was edited at 2024-09-11 07:14:46 UTC.
The app crashes when switching copilot accounts
It's a bug with withOnyx
where it doesn't give the most up-to-date data. In this case, onyx returns undefined
for lastVisitedPath
.
This later causes the ReportScreen
component to receive a route where the route.params.reportID
property is set to an empty string.
Then reportIDFromRoute
is assigned to route.params.reportID
.
Next, we use the reportIDFromRoute
variable to fetch the report data from Onyx.
However, because reportIDFromRoute
is set to an empty string, useOnyx
throws this error:
'reportNameValuePairs_991706764973694' key can't be changed to 'reportNameValuePairs_'. useOnyx() only supports dynamic keys if they are both collection member keys from the same collection e.g. from 'collection_id1' to 'collection_id2'.
We can check here if the report is loaded. If not, a skeleton component will be shown
const shouldShowSkeleton =
- (isLinkingToMessage && !isLinkedMessagePageReady) || (!isLinkingToMessage && !isInitialPageReady) || isLoadingReportOnyx || !isCurrentReportLoadedFromOnyx || isLoading;
+ (isLinkingToMessage && !isLinkedMessagePageReady) || (!isLinkingToMessage && !isInitialPageReady) || isEmptyObject(reportOnyx) || isLoadingReportOnyx || !isCurrentReportLoadedFromOnyx || isLoading;
@CyberAndrii the proposal looks good to me! Do you want me to continue to work on this issue or will you fix it?
I'm currently trying to reproduce the problem, but I'm not getting emails and can not proceed further with reproduction π€·ββοΈ
@cristipaval let's assign @CyberAndrii to fix it because they can reproduce the bug?
@kirillzyusko sure, will do.
I'm not getting emails
Could this be related to https://github.com/Expensify/App/issues/47979?
Upwork job price has been updated to $250
Adjusted the title due to the Regression π
Could this be related to https://github.com/Expensify/App/issues/47979?
I think it's related to https://expensify.slack.com/archives/C049HHMV9SM/p1724645117851719
Hey @allroundexperts can you review my proposal?
@allroundexperts previous steps doesn't work anymore. Also I can't reproduce this in Safari so use Chrome. New steps:
newDotCopilot
betahttps://github.com/user-attachments/assets/7c38e985-f666-4d82-b5d5-a09d398c8fba
Let's assign @CyberAndrii
C+ reviewed π π π https://github.com/Expensify/App/issues/43656#issuecomment-2310235866
Current assignee @cristipaval is eligible for the choreEngineerContributorManagement assigner, not assigning anyone new.
(and assign me)
π£ @CyberAndrii π An offer has been automatically sent to your Upwork account for the Contributor role π Thanks for contributing to the Expensify app!
Offer link Upwork job Please accept the offer and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review π§βπ» Keep in mind: Code of Conduct | Contributing π
assigned all the peeps!
Proposal looks good to me too, my only note is that last time we migrated something to useOnyx it ended up breaking everything haha so we should just make sure to test a lot, even unrelated flows!
@CyberAndrii our PR has been reverted because it caused a bug.
Bug: Old reports don't open because openReport
command is not called.
Steps to reproduce
report_[reportID]
.r/[reportID]
openReport
command is called from network tabSee more here - https://expensify.slack.com/archives/C01GTK53T8Q/p1725902444282339?thread_ts=1725890512.566159&cid=C01GTK53T8Q
Alright we're back to where we started.
@CyberAndrii @kirillzyusko @allroundexperts i could use all your help to fix the app crash when we switch accounts as a copilot.
@rushatgabhane This line is causing the issue
Before my PR, the clientLastReadTime
property was set to an empty string because ${ONYXKEYS.COLLECTION.REPORT}${reportID}
was not yet loaded at that point. However since OpenReport
is now called slightly later, it receives a value like 2024-09-09 19:35:18.842
which causes the backend to return a 403 error.
which causes the backend to return a 403 error
not sure how did you get 403
error. Do you have any reproducible steps?
Nevermind, it was related to https://github.com/Expensify/App/issues/46576.
Moving the empty object check from isLoadingReportOnyx
to shouldShowSkeleton
fixes the loading issue for me.
https://github.com/Expensify/App/commit/1a496328e6083b896009c8cf3899827226f2f616
cool, we can test it in the PR. it won't cause this bug - https://github.com/Expensify/App/issues/43656#issuecomment-2338679611 right?
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: v1.4.82-4 Reproducible in staging?: Y Reproducible in production?: Y If this was caught during regression testing, add the test name, ID and link from TestRail: Email or phone of affected tester (no customers): Logs: https://stackoverflow.com/c/expensify/questions/4856 Expensify/Expensify Issue URL: Issue reported by: @kevinksullivan Slack conversation: https://expensify.slack.com/archives/C05LX9D6E07/p1717013309521369
Action Performed:
~As part of the
OpenApp
, we load a parent reportAction for all reports stored locally. When the app executesOpenReport
, if present, we load the parent reportAction first.~OpenApp
command now returns the last report action for each chat in the LHN. We want to show it instantly when the user opens a report from the LHN, and the loading skeleton above it.message A
to Bob in their DMmessage A
, which creates a new chat in their LHNmessage B
message A
in the LHNmessage B
in the LHNExpected Result:
Bob should see the
message B
as the last message on the report page and a loading skeleton above it, indicating that the report actions are being fetchedActual Result:
Bob sees the
message A
on the report page, with no loading spinner, until the OpenReport command returns the report actions. Sometimes Bob sees no message but a full page loading skeleton.Workaround:
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @Kureev