Skip to content
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

[HOLD Issue #309277][$1000] LHN - Chat that doesn't have a message does not disappears from the LHN #22806

Closed
6 tasks done
lanitochka17 opened this issue Jul 13, 2023 · 85 comments
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. Engineering Internal Requires API changes or must be handled by Expensify staff Weekly KSv2

Comments

@lanitochka17
Copy link

lanitochka17 commented Jul 13, 2023

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Action Performed:

Scenario "empty DMs"

  1. Go to https://staging.new.expensify.com/
  2. Login with any account
  3. Search for a user that you don't have any messages with and open the chat. Don't send any message
  4. Navigate away from the conversation by clicking any other available conversation in the LHN list

Scenario "empty threads"

  1. Go to https://staging.new.expensify.com/
  2. Login with any account
  3. Select any user
  4. Select "Reply in Tread" option

Expected Result:

  1. Conversation with no messages should disappear from LHN conversation list
  2. Thread report is not displayed until the comment is posted

Actual Result:

  1. Conversation that doesn't have any messages doesn't disappear from from LHN
  2. Thread report is displayed when the comment is not posted

Workaround:

Unknown

Platforms:

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

  • Android / native
  • Android / Chrome
  • iOS / native
  • iOS / Safari
  • MacOS / Chrome / Safari
  • MacOS / Desktop

Version Number: 1.3.37.1

Reproducible in staging?: Yes

Reproducible in production?: Yes

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

Notes/Photos/Videos: Any additional supporting documentation

Scenario "empty DMs"

Bug6117623_Recording__322.mp4

Scenario "empty threads"

Recording.3738.mp4

Expensify/Expensify Issue URL:

Issue reported by: Applause - Internal Team

Slack conversation:

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~013fc034f8ebadf86c
  • Upwork Job ID: 1681415083049984000
  • Last Price Increase: 2023-08-01
@lanitochka17 lanitochka17 added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Jul 13, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jul 13, 2023

Triggered auto assignment to @alexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

@melvin-bot
Copy link

melvin-bot bot commented Jul 13, 2023

Bug0 Triage Checklist (Main S/O)

  • This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
  • This bug is not a duplicate report (check E/App issues and #expensify-bugs)
    • If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead
  • This bug is reproducible using the reproduction steps in the OP. S/O
    • If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
    • If the reproduction steps aren't clear and you determine the correct steps, please update the OP.
  • This issue is filled out as thoroughly and clearly as possible
    • Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.
  • I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@dukenv0307

This comment was marked as outdated.

@dukenv0307
Copy link
Contributor

@alexpensify

One more thing, if the user creates a new room and doesn't send any message, could we should hide the room report in LHN? If not, we should add condition to check if this report is room or not?

As I mentioned in my proposal above, could you help to confirm? And then I can update my proposal as expected

@alexpensify
Copy link
Contributor

I'll review soon and update.

@alexpensify
Copy link
Contributor

This one is on my testing list for the week.

@melvin-bot melvin-bot bot added the Overdue label Jul 18, 2023
@kbecciv
Copy link

kbecciv commented Jul 18, 2023

Hi @alexpensify We have Slack discussion about the opening "empty threads" and for starting "empty DMs" https://expensify.slack.com/archives/C049HHMV9SM/p1689466696046149, how would you like me to handle the opening "empty threads? Would you like me to create another GH ticket or combine? @quinthar would like to fully test that shared solution on both flows. Thank you in advance.

@alexpensify
Copy link
Contributor

@kbecciv - let's add the additional flow to this GH. Please update the original GH to include the flow that David mentioned, Thanks!

@melvin-bot melvin-bot bot removed the Overdue label Jul 18, 2023
@alexpensify alexpensify added the External Added to denote the issue can be worked on by a contributor label Jul 18, 2023
@melvin-bot melvin-bot bot changed the title LHN - Chat that doesn't have a message does not disappears from the LHN [$1000] LHN - Chat that doesn't have a message does not disappears from the LHN Jul 18, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jul 18, 2023

Job added to Upwork: https://www.upwork.com/jobs/~013fc034f8ebadf86c

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Jul 18, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jul 18, 2023

Current assignee @alexpensify is eligible for the External assigner, not assigning anyone new.

@melvin-bot
Copy link

melvin-bot bot commented Jul 18, 2023

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

@alexpensify
Copy link
Contributor

Adding the external label for now. @rushatgabhane - could you please review the proposal and identify if it will work to address both flows? Thanks!

@kbecciv
Copy link

kbecciv commented Jul 19, 2023

@alexpensify I added two scenarios, please let me know if anything else I need to do. Thanks

@dukenv0307
Copy link
Contributor

dukenv0307 commented Jul 19, 2023

@alexpensify @kbecciv I have a bit curious. Could you help me to confirm?

  1. Currently, When clicking reply in the thread, The App will redirect to the thread report, and the new report is created in LHN. But if the user clicks on another report, the thread report will disappear.
    We don't want to display the thread report in LHN when the user clicks on reply in the thread eventhough the report screen is on this thread chat, right?
    I want to confirm that because maybe it is intentional as mentioned here

    App/src/libs/ReportUtils.js

    Lines 2098 to 2103 in 2d2008a

    // Include the currently viewed report. If we excluded the currently viewed report, then there
    // would be no way to highlight it in the options list and it would be confusing to users because they lose
    // a sense of context.
    if (report.reportID === currentReportId) {
    return true;
    }
  2. If the user creates a new room and doesn't send any message, could we should hide the room report in LHN?

@alexpensify
Copy link
Contributor

@quinthar - you were part of the Slack thread that mentioned the other flow. Can you share more feedback for @dukenv0307's questions? Thanks!

@alexpensify
Copy link
Contributor

I'll start a discussion tomorrow to confirm the flows.

@alexpensify
Copy link
Contributor

@quinthar
Copy link
Contributor

Hi there, great questions. First, I'd like to expand the problem description. The problem consists of two parts:

Problem 1

When you create a DM/thread, it is shared with the other party immediately, before you even type. It appears as unread on their LHN, which reveals that you are thinking about writing something to them, but haven't yet. This is a confusing privacy violation.

Problem 2

When you a DM/thread, if you choose not to post anything, you and the party still see it in your LHNs forever.

Solution

Do not notify the server of the new DM/thread until after the user has actually posted the first message. If they do not post a message, then the server should never know that you even considered it.

@alexpensify
Copy link
Contributor

@dukenv0307 are there other questions or are you good to prepare your updated proposal that includes both flows?

@dukenv0307
Copy link
Contributor

dukenv0307 commented Jul 25, 2023

@quinthar Thanks for your clarification.

If the user creates a new room without a message, could we hide the room report in LHN?

Could you also help to confirm this point?

@melvin-bot
Copy link

melvin-bot bot commented Jul 25, 2023

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

@cristipaval cristipaval changed the title [HOLD Web-E][$1000] LHN - Chat that doesn't have a message does not disappears from the LHN [HOLD Issue #309277][$1000] LHN - Chat that doesn't have a message does not disappears from the LHN Aug 21, 2023
@alexpensify
Copy link
Contributor

Weekly Update: On Hold

@cristipaval
Copy link
Contributor

As far as I saw lately, this is not reproducible anymore and the empty chats are hidden from the LHN.

@cristipaval
Copy link
Contributor

@alexpensify could you confirm and close the issue?

@alexpensify
Copy link
Contributor

I'm catching up from being OOO, I will test tomorrow.

@alexpensify
Copy link
Contributor

Still on my testing list

@alexpensify
Copy link
Contributor

Yeah, I confirmed too, and will close this GH.

@dukenv0307
Copy link
Contributor

dukenv0307 commented Sep 6, 2023

@alexpensify I think contributors should be eligible for compensation in this issue. The solution provided was valid at the time, contributors assigned and the process of reviewing the pull request had already begun. However, due to subsequent changes, the solution became outdated.

There were many precedents to this like here and here.

Thanks!

cc @rushatgabhane @cristipaval

@alexpensify
Copy link
Contributor

@dukenv0307 - I'll review the feedback and follow up later this week.

@alexpensify
Copy link
Contributor

Still on my review list

@alexpensify
Copy link
Contributor

alexpensify commented Sep 20, 2023

Thanks for your patience here. Since the examples shared here, there have been a few updates to the partial payment process. I need to ask a few questions and would like your opinions:

  1. What compensation do you think is the percent due here for the work input here - 0, 25, 50, OR 100%?
  2. Reasoning why has been shared here.

@dukenv0307 and @rushatgabhane - please reply, Thanks!

@alexpensify alexpensify reopened this Sep 20, 2023
@dukenv0307
Copy link
Contributor

dukenv0307 commented Sep 21, 2023

@alexpensify Thanks for looking into this!

According to the precedents mentioned here and many others, the payout should be 100%. The work is almost complete here but unfortunately it's outdated due to changes outside of our control.

@alexpensify
Copy link
Contributor

Thanks for sharing @dukenv0307!

@rushatgabhane - can you share some feedback or if you agree? Thanks!

@rushatgabhane
Copy link
Member

rushatgabhane commented Sep 25, 2023

@Christinadobrzyn
Copy link
Contributor

Also reached out to BZ about payment - https://expensify.slack.com/archives/C01SKUP7QR0/p1695743819720659

@alexpensify
Copy link
Contributor

@rushatgabhane I should have included this before but there is a process for partial payments. The summary is:

Ask the C+ or contributor what compensation they think they’re due and ask them to provide reasoning why. Also ask them to present their compensation request as a percent of the job price where standard payments are 0, 25, 50 and 100%.

From there, I will review and plan accordingly. I'd still appreciate if you shared a percent here. Thanks!

@melvin-bot melvin-bot bot added the Overdue label Oct 9, 2023
@alexpensify
Copy link
Contributor

Not overdue, waiting for feedback. @rushatgabhane when you get a chance can you share the percentage number? Thanks!

@melvin-bot melvin-bot bot removed the Overdue label Oct 9, 2023
@cristipaval
Copy link
Contributor

Just sharing my thoughts here:

  • The C+ did review the proposals and jumped into the conversation, but there was no real code review or testing. 25% should be fine for them.
  • The assigned contributor spent some time on the accepted solution and encountered some challenges. They raised them here, and there was some back and forth. Paying 100% is fair in this case.

@alexpensify
Copy link
Contributor

alexpensify commented Oct 11, 2023

Thanks, I will start this payment breakdown.

@alexpensify
Copy link
Contributor

Here is the payment summary:

  • External issue reporter N/A
  • Contributor that fixed the issue @dukenv0307 $1000
  • Contributor+ that helped on the issue and/or PR @rushatgabhane $250

Upwork Job: https://www.upwork.com/jobs/~01b0decd73ba4f11c0

*If applicable, the bonuses will be applied on the final payment

Extra Notes regarding payment: This payment breakdown has been in discussion but here is the summary #22806 (comment)

@alexpensify
Copy link
Contributor

@dukenv0307 - I've sent a proposal via Upwork. Please accept and I can complete the process, thanks!

@dukenv0307
Copy link
Contributor

@dukenv0307 - I've sent a proposal via Upwork. Please accept and I can complete the process, thanks!

@alexpensify accepted, thank you!

@JmillsExpensify
Copy link

$250 payment approved for @rushatgabhane based on BZ summary.

@alexpensify
Copy link
Contributor

alexpensify commented Oct 18, 2023

Everyone has been paid! I've completed the process in Upwork for @dukenv0307.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something is broken. Auto assigns a BugZero manager. Engineering Internal Requires API changes or must be handled by Expensify staff Weekly KSv2
Projects
None yet
Development

No branches or pull requests

10 participants