Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.34k stars 2.77k forks source link

[$250] Imported reports become "Hmm... it's not here" in new dot #46576

Open m-natarajan opened 1 month ago

m-natarajan commented 1 month ago

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: v9.0.14-5 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: @hannojg Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1722248571855789

Action Performed:

  1. Imported reports in old dot (the attached file, 500 reports)
  2. The reports show up in the workspace chat in new dot after import
  3. clicking on a report in new dot gets you the "Hmm... it's not here" error

Expected Result:

Imported reports are usable in new dot

Actual Result:

Clicking on a report in new dot gets you the "Hmm... it's not here" error

Workaround:

unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

Screenshots/Videos

https://github.com/user-attachments/assets/1d387d6a-ba67-4964-98bf-5f5373dc7027

View all open jobs on GitHub

https://github.com/user-attachments/assets/f21708d1-2101-4f13-bba2-48a8ed91ba86

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01cad85d32f0e40e56
  • Upwork Job ID: 1822053156621252764
  • Last Price Increase: 2024-09-06
Issue OwnerCurrent Issue Owner: @hoangzinh
melvin-bot[bot] commented 1 month ago

Triggered auto assignment to @kevinksullivan (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.

melvin-bot[bot] commented 1 month ago

@kevinksullivan Huh... This is 4 days overdue. Who can take care of this?

melvin-bot[bot] commented 1 month ago

@kevinksullivan 6 days overdue. This is scarier than being forced to listen to Vogon poetry!

melvin-bot[bot] commented 1 month ago

@kevinksullivan 8 days overdue is a lot. Should this be a Weekly issue? If so, feel free to change it!

melvin-bot[bot] commented 1 month ago

Job added to Upwork: https://www.upwork.com/jobs/~01cad85d32f0e40e56

melvin-bot[bot] commented 1 month ago

Triggered auto assignment to Contributor-plus team member for initial proposal review - @hoangzinh (External)

kevinksullivan commented 1 month ago

I think this is a low priority Control item, because it's covering a backwards compatibility edge case

melvin-bot[bot] commented 1 month ago

📣 @sandeepvasudewan! 📣 Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork. Please follow these steps:

  1. Make sure you've read and understood the contributing guidelines.
  2. Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
  3. Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
  4. Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details. Screen Shot 2022-11-16 at 4 42 54 PM Format:
    Contributor details
    Your Expensify account email: <REPLACE EMAIL HERE>
    Upwork Profile Link: <REPLACE LINK HERE>
sandeepvasudewan commented 1 month ago

Contributor details Your Expensify account email: vasudewansandeep@gmail.com Upwork Profile Link: vasudewansandeep@gmail.com

melvin-bot[bot] commented 1 month ago

✅ Contributor details stored successfully. Thank you for contributing to Expensify!

hoangzinh commented 1 month ago

Hi @sandeepvasudewan can you update your proposal with the PROPOSAL_TEMPLATE here?

sandeepvasudewan commented 1 month ago

Proposal

Please re-state the problem that we are trying to solve in this issue.

The problem we are addressing is that when reports are imported from the old dot to the new dot, they initially appear in the workspace chat. However, when users click on these reports, they encounter an error message: "Hmm... it's not here," rendering the reports inaccessible.

What is the root cause of that problem?

The root cause of the problem likely stems from discrepancies between the report identifiers, URLs, or metadata used in the old dot versus those expected in the new dot. This mismatch causes the new dot system to fail in correctly locating or displaying the imported reports, leading to the error message.

What changes do you think we should make in order to solve the problem?

To solve this issue, we should implement the following changes:

  1. Normalize Report IDs/URLs: During the import process, ensure that report IDs/URLs are converted to match the format expected by the new dot system. This normalization process will involve mapping old dot identifiers to their corresponding new dot formats.
  2. Enhance Routing Logic: Update the routing logic in the new dot to handle these normalized IDs/URLs properly. This may include adding backward compatibility to ensure that reports are correctly routed and displayed.
  3. Introduce a Fallback Mechanism: Implement a fallback mechanism that attempts to locate reports using alternative identifiers or metadata in cases where the initial lookup fails.

What alternative solutions did you explore? (Optional)

Alternative solutions considered include:

hoangzinh commented 1 month ago

@sandeepvasudewan you don't need to delete and then create a new comment/proposal. Just update the existing one and leave a comment update (Ref: https://github.com/Expensify/App/blob/main/contributingGuides/CONTRIBUTING.md#propose-a-solution-for-the-job)

Btw,

The root cause of the problem likely stems from discrepancies between the report identifiers, URLs, or metadata used in the old dot versus those expected in the new dot

Can you give describe exactly what are differents between the report identifiers, URLs, or metadata used in the old dot versus those expected in the new dot?

This mismatch causes the new dot system to fail in correctly locating or displaying the imported reports

Then, can you reference to which line of code in New Dot that locates imported reports as you mentioned above? Thank you

melvin-bot[bot] commented 1 month ago

@hoangzinh @kevinksullivan this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

hoangzinh commented 1 month ago

Still waiting proposals

melvin-bot[bot] commented 1 month ago

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

hoangzinh commented 1 month ago

Same as above

melvin-bot[bot] commented 4 weeks ago

@hoangzinh, @kevinksullivan Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

hoangzinh commented 4 weeks ago

Still waiting proposals

melvin-bot[bot] commented 4 weeks ago

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

NJ-2020 commented 3 weeks ago

Hi Which type of export i need to export the reports inside the OD? Screenshot 2024-08-23 at 20 53 47

I've tried many of thems but no one work

hoangzinh commented 3 weeks ago

Hi @NJ-2020 can you try to use CSV format here https://expensify.slack.com/archives/C049HHMV9SM/p1722248613331059?thread_ts=1722248571.855789&cid=C049HHMV9SM?

NJ-2020 commented 3 weeks ago

@hoangzinh Oh sorry, I cannot access the slack chat room, because it's a private.

hoangzinh commented 3 weeks ago

Oh sorry. Can you check this template? mock_data.csv

NJ-2020 commented 3 weeks ago

@hoangzinh Thanks, But did you mean i can create a new layout inside the OD on top of that file CV, I've tried that but some properties when trying to link the value i.e {report:nameHere} are not quite accurate meaning like there is no exact or the property name

And after exporting the file, and try to import again still not working

melvin-bot[bot] commented 3 weeks ago

@hoangzinh @kevinksullivan this issue is now 4 weeks old, please consider:

Thanks!

wildan-m commented 3 weeks ago

Imported reports in old dot (the attached file, 500 reports)

Where is the attached file? how to import?

hoangzinh commented 3 weeks ago

We can go to OD -> Bulk Import Invoices to download an sample CSV here

Screenshot 2024-08-29 at 23 35 31

hoangzinh commented 3 weeks ago

Btw, I think it's a BE issue. The OpenReport API returns "Report not found" for those imported reports

Screenshot 2024-08-29 at 23 34 41

cc @kevinksullivan can you add internal label for this issue? Thank you.

melvin-bot[bot] commented 3 weeks ago

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

melvin-bot[bot] commented 2 weeks ago

@hoangzinh, @kevinksullivan Huh... This is 4 days overdue. Who can take care of this?

hoangzinh commented 2 weeks ago

cc @kevinksullivan on this comment https://github.com/Expensify/App/issues/46576#issuecomment-2318321600

melvin-bot[bot] commented 2 weeks ago

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

hoangzinh commented 2 weeks ago

Not overdue

melvin-bot[bot] commented 1 week ago

@hoangzinh, @kevinksullivan Whoops! This issue is 2 days overdue. Let's get this updated quick!

hoangzinh commented 1 week ago

Not overdue, waiting assign internal issue

CyberAndrii commented 1 week ago

This happens when clientLastReadTime is not an empty string in the first OpenReport request. It can also be reproduced by opening the #announce room from LHN. I agree this is a BE issue.

https://github.com/Expensify/App/blob/a506fa44fd45d4948a9bfbd9c83b0a0312721133/src/libs/actions/Report.ts#L963

https://github.com/user-attachments/assets/b13ced5c-5efa-4162-9d5d-bdef16f4b7f9

melvin-bot[bot] commented 1 week ago

Triggered auto assignment to @zanyrenney (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.

kevinksullivan commented 1 week ago

Sorry I missed the internal assignment @hoangzinh , updated. Looping in another BZ member as well as I'm going OOO. Thanks @zanyrenney !

zanyrenney commented 1 week ago

No worries Kev!

sonialiap commented 4 days ago

Ioni reported a similar issue

When I click on some old expenses (not all), I get redirected to https://staging.new.expensify.com/search/view/3431960930982529 or https://staging.new.expensify.com/search/view/0 (this same IDs every time, no matter the transaction I click) and see Hmm... it's not here page

melvin-bot[bot] commented 3 days ago

@hoangzinh, @zanyrenney Huh... This is 4 days overdue. Who can take care of this?

hoangzinh commented 3 days ago

Awaiting internal pickup