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.29k stars 2.72k forks source link

[Awaiting checklist] [$125] [CRITICAL] [UX Reliability] Domain chat room is showing in focus mode in LHN despite not having any new messages #43782

Closed mountiny closed 1 month ago

mountiny commented 2 months ago

Problem

In focus mode, only pinned chats, drafts, GBR, unread chats should be showing in LHN. There is now also a domain room chat that is not unread, has not new messages, no GBR or RBR in it. Here is the onyx data. image

Why is it showing?

Solution

Investigate why the domain chat is showing in focus mode based on the report data above.

image

Issue OwnerCurrent Issue Owner: @
Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01c0a47577add24a8e
  • Upwork Job ID: 1801660890689304742
  • Last Price Increase: 2024-07-05
Issue OwnerCurrent Issue Owner: @twisterdotcom
melvin-bot[bot] commented 2 months ago

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

melvin-bot[bot] commented 2 months ago

Current assignee @mountiny is eligible for the AutoAssignerNewDotQuality assigner, not assigning anyone new.

melvin-bot[bot] commented 2 months 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.

melvin-bot[bot] commented 2 months ago

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

melvin-bot[bot] commented 2 months ago

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

puneetlath commented 2 months ago

I also have this same domain room in my foucs mode LHN even though its not unread. Here's its onyx data

Onyx Object ``` { "reportID": "75380810", "reportName": "#expensify.com", "type": "chat", "chatType": "domainAll", "ownerAccountID": 767578, "managerID": 0, "policyID": "_FAKE_", "participants": { "1": { "hidden": false }, "26328": { "hidden": false }, "281396": { "hidden": false }, "297463": { "hidden": false }, "623727": { "hidden": false }, "666702": { "hidden": false }, "704993": { "hidden": false }, "778531": { "hidden": false }, "1109065": { "hidden": false }, "1146648": { "hidden": false }, "1153269": { "hidden": false }, "1214769": { "hidden": false }, "1309498": { "hidden": false }, "1330212": { "hidden": false }, "1353644": { "hidden": false }, "1377139": { "hidden": false }, "1381556": { "hidden": false }, "1520269": { "hidden": false }, "1560347": { "hidden": false }, "1958521": { "hidden": false }, "2012843": { "hidden": false }, "2074551": { "hidden": false }, "2082326": { "hidden": false }, "2129354": { "hidden": false }, "2230455": { "hidden": false }, "2234069": { "hidden": false }, "2267637": { "hidden": false }, "2278174": { "hidden": false }, "2366079": { "hidden": false }, "2473133": { "hidden": false }, "2536717": { "hidden": false }, "2582644": { "hidden": false }, "2644832": { "hidden": false }, "2644835": { "hidden": false }, "2644838": { "hidden": false }, "2644839": { "hidden": false }, "2671946": { "hidden": false }, "2697693": { "hidden": false }, "2746397": { "hidden": false }, "2762690": { "hidden": false }, "2762691": { "hidden": false }, "2762692": { "hidden": false }, "2820722": { "hidden": false }, "2820725": { "hidden": false }, "2840332": { "hidden": false }, "2875893": { "hidden": false }, "2875905": { "hidden": false }, "2937132": { "hidden": false }, "3000672": { "hidden": false }, "3064822": { "hidden": false }, "3079110": { "hidden": false }, "3079111": { "hidden": false }, "3079112": { "hidden": false }, "3092322": { "hidden": false }, "3107470": { "hidden": false }, "3126513": { "hidden": false }, "3149650": { "hidden": false }, "3171124": { "hidden": false }, "3243510": { "hidden": false }, "3431989": { "hidden": false }, "3459014": { "hidden": false }, "3472166": { "hidden": false }, "3472167": { "hidden": false }, "3657342": { "hidden": false }, "3772464": { "hidden": false }, "3806748": { "hidden": false }, "3895429": { "hidden": false }, "4024333": { "hidden": false }, "4037741": { "hidden": false }, "4057821": { "hidden": false }, "4087621": { "hidden": false }, "4087623": { "hidden": false }, "4121216": { "hidden": false }, "4152127": { "hidden": false }, "4187104": { "hidden": false }, "4314163": { "hidden": false }, "4314164": { "hidden": false }, "4314165": { "hidden": false }, "4314166": { "hidden": false }, "4784620": { "hidden": false }, "4883492": { "hidden": false }, "4974958": { "hidden": false }, "5044284": { "hidden": false }, "5090992": { "hidden": false }, "5094346": { "hidden": false }, "5268244": { "hidden": false }, "5318345": { "hidden": false }, "5356024": { "hidden": false }, "5356092": { "hidden": false }, "5635513": { "hidden": false }, "5726973": { "hidden": false }, "5733301": { "hidden": false }, "5735188": { "hidden": false }, "5757820": { "hidden": false }, "5801774": { "hidden": false }, "5827150": { "hidden": false }, "6029384": { "hidden": false }, "6121383": { "hidden": false }, "6179491": { "hidden": false }, "6317681": { "hidden": false }, "6533726": { "hidden": false }, "6851710": { "hidden": false }, "7172565": { "hidden": false }, "7297966": { "hidden": false }, "7494755": { "hidden": false }, "7520197": { "hidden": false }, "7697132": { "hidden": false }, "7753792": { "hidden": false }, "7753800": { "hidden": false }, "7811534": { "hidden": false }, "7875768": { "hidden": false }, "7906268": { "hidden": false }, "8033800": { "hidden": false }, "8125084": { "hidden": false }, "8279983": { "hidden": false }, "8435593": { "hidden": false }, "8440563": { "hidden": false }, "8505565": { "hidden": false }, "8536674": { "hidden": false }, "8572718": { "hidden": false }, "8595733": { "hidden": false }, "8771975": { "hidden": false }, "8788142": { "hidden": false }, "8827839": { "hidden": false }, "8900169": { "hidden": false }, "8931541": { "hidden": false }, "8932118": { "hidden": false }, "8959101": { "hidden": false }, "9204349": { "hidden": false }, "9375152": { "hidden": false }, "9606781": { "hidden": false }, "9645353": { "hidden": false }, "9675014": { "hidden": false }, "9679724": { "hidden": false }, "9713816": { "hidden": false }, "9722304": { "hidden": false }, "9847009": { "hidden": false }, "9913826": { "hidden": false }, "10013133": { "hidden": false }, "10145166": { "hidden": false }, "10160771": { "hidden": false }, "10185791": { "hidden": false }, "10267258": { "hidden": false }, "10362760": { "hidden": false }, "10476956": { "hidden": false }, "10494364": { "hidden": false }, "10751130": { "hidden": false }, "10763682": { "hidden": false }, "10903701": { "hidden": false }, "10992496": { "hidden": false }, "11007914": { "hidden": false }, "11017746": { "hidden": false }, "11023767": { "hidden": false }, "11162460": { "hidden": false }, "11321336": { "hidden": false }, "11331514": { "hidden": false }, "11399964": { "hidden": false }, "11462583": { "hidden": false }, "11467882": { "hidden": false }, "11665625": { "hidden": false }, "11923112": { "hidden": false }, "11923438": { "hidden": false }, "11923508": { "hidden": false }, "11924214": { "hidden": false }, "11936152": { "hidden": false }, "12032067": { "hidden": false }, "12032073": { "hidden": false }, "12284283": { "hidden": false }, "12343542": { "hidden": false }, "12371319": { "hidden": false }, "12717247": { "hidden": false }, "12875748": { "hidden": false }, "14355615": { "hidden": false }, "14357819": { "hidden": false }, "14360437": { "hidden": false }, "14908969": { "hidden": false }, "15075601": { "hidden": false }, "15250571": { "hidden": false }, "15252830": { "hidden": false }, "15305309": { "hidden": false }, "15313597": { "hidden": false }, "15802250": { "hidden": false }, "15861944": { "hidden": false }, "15864555": { "hidden": false }, "15900278": { "hidden": false }, "15939596": { "hidden": false }, "15963635": { "hidden": false }, "15963637": { "hidden": false }, "15970235": { "hidden": false }, "15981793": { "hidden": false }, "16021408": { "hidden": false }, "16032013": { "hidden": false }, "16067348": { "hidden": false }, "16130894": { "hidden": false }, "16175199": { "hidden": false }, "16204002": { "hidden": false }, "16204005": { "hidden": false }, "16355733": { "hidden": false }, "16408064": { "hidden": false }, "16461184": { "hidden": false }, "16461194": { "hidden": false }, "16461196": { "hidden": false }, "16461202": { "hidden": false }, "16461207": { "hidden": false }, "16518810": { "hidden": false }, "16580005": { "hidden": false }, "16584051": { "hidden": false }, "16621117": { "hidden": false }, "16622898": { "hidden": false }, "16910579": { "hidden": false }, "16984222": { "hidden": false }, "17461325": { "hidden": false }, "17499147": { "hidden": false } }, "isPinned": false, "lastReadTime": "2023-08-21 15:20:52.543", "lastReadSequenceNumber": 37, "lastVisibleActionCreated": "2023-08-17 17:52:38.109", "lastVisibleActionLastModified": "2023-08-17 17:52:38.109", "lastMessageText": "I was having a mixed bag of connectivity issues. I thought it was just Slack at…", "lastActionType": "ADDCOMMENT", "lastActorAccountID": "297463", "notificationPreference": "daily", "stateNum": 0, "statusNum": 0, "oldPolicyName": "", "isOwnPolicyExpenseChat": false, "lastMessageHtml": "I was having a mixed bag of connectivity issues. I thought it was just Slack at first, but then I saw that my VPN connections were trying to reestablish themselves.", "hasOutstandingChildRequest": false, "hasOutstandingChildTask": false, "policyName": "", "writeCapability": "all", "description": "", "total": 0, "unheldTotal": 0, "currency": "USD", "isWaitingOnBankAccount": false, "nonReimbursableTotal": 0, "isCancelledIOU": false, "permissions": [ "read", "write" ], "policyAvatar": "", "welcomeMessage": "", "errorFields": {}, "participantAccountIDs": [ 1, 26328, 281396, 297463, 623727, 666702, 704993, 778531, 1109065, 1146648, 1153269, 1214769, 1309498, 1330212, 1353644, 1377139, 1381556, 1520269, 1560347, 1958521, 2012843, 2074551, 2082326, 2129354, 2230455, 2234069, 2267637, 2278174, 2366079, 2473133, 2536717, 2582644, 2644832, 2644835, 2644838, 2644839, 2671946, 2697693, 2746397, 2762690, 2762691, 2762692, 2820722, 2820725, 2840332, 2875893, 2875905, 2937132, 3000672, 3064822, 3079110, 3079111, 3079112, 3092322, 3107470, 3126513, 3149650, 3171124, 3243510, 3431989, 3459014, 3472166, 3472167, 3657342, 3772464, 3806748, 3895429, 4024333, 4037741, 4057821, 4087621, 4087623, 4121216, 4152127, 4187104, 4314163, 4314164, 4314165, 4314166, 4784620, 4883492, 4974958, 5044284, 5090992, 5094346, 5268244, 5318345, 5356024, 5356092, 5635513, 5726973, 5733301, 5735188, 5757820, 5801774, 5827150, 6029384, 6121383, 6179491, 6317681, 6533726, 6851710, 7172565, 7297966, 7494755, 7520197, 7697132, 7753792, 7753800, 7811534, 7875768, 7906268, 8033800, 8125084, 8279983, 8435593, 8440563, 8505565, 8536674, 8572718, 8595733, 8771975, 8788142, 8827839, 8900169, 8931541, 8932118, 8959101, 9204349, 9375152, 9606781, 9645353, 9675014, 9679724, 9713816, 9722304, 9847009, 9913826, 10013133, 10145166, 10160771, 10185791, 10267258, 10362760, 10476956, 10494364, 10751130, 10763682, 10903701, 10992496, 11007914, 11017746, 11023767, 11162460, 11321336, 11331514, 11399964, 11462583, 11467882, 11665625, 11923112, 11923438, 11923508, 11924214, 11936152, 12032067, 12032073, 12284283, 12343542, 12371319, 12717247, 12875748, 14355615, 14357819, 14360437, 14908969, 15075601, 15250571, 15252830, 15305309, 15313597, 15802250, 15861944, 15864555, 15900278, 15939596, 15963635, 15963637, 15970235, 15981793, 16021408, 16032013, 16067348, 16130894, 16175199, 16204002, 16204005, 16355733, 16408064, 16461184, 16461194, 16461196, 16461202, 16461207, 16518810, 16580005, 16584051, 16621117, 16622898, 16910579, 16984222, 17461325, 17499147 ], "visibleChatMemberAccountIDs": [ 1, 26328, 281396, 297463, 623727, 666702, 704993, 778531, 1109065, 1146648, 1153269, 1214769, 1309498, 1330212, 1353644, 1377139, 1381556, 1520269, 1560347, 1958521, 2012843, 2074551, 2082326, 2129354, 2230455, 2234069, 2267637, 2278174, 2366079, 2473133, 2536717, 2582644, 2644832, 2644835, 2644838, 2644839, 2671946, 2697693, 2746397, 2762690, 2762691, 2762692, 2820722, 2820725, 2840332, 2875893, 2875905, 2937132, 3000672, 3064822, 3079110, 3079111, 3079112, 3092322, 3107470, 3126513, 3149650, 3171124, 3243510, 3431989, 3459014, 3472166, 3472167, 3657342, 3772464, 3806748, 3895429, 4024333, 4037741, 4057821, 4087621, 4087623, 4121216, 4152127, 4187104, 4314163, 4314164, 4314165, 4314166, 4784620, 4883492, 4974958, 5044284, 5090992, 5094346, 5268244, 5318345, 5356024, 5356092, 5635513, 5726973, 5733301, 5735188, 5757820, 5801774, 5827150, 6029384, 6121383, 6179491, 6317681, 6533726, 6851710, 7172565, 7297966, 7494755, 7520197, 7697132, 7753792, 7753800, 7811534, 7875768, 7906268, 8033800, 8125084, 8279983, 8435593, 8440563, 8505565, 8536674, 8572718, 8595733, 8771975, 8788142, 8827839, 8900169, 8931541, 8932118, 8959101, 9204349, 9375152, 9606781, 9645353, 9675014, 9679724, 9713816, 9722304, 9847009, 9913826, 10013133, 10145166, 10160771, 10185791, 10267258, 10362760, 10476956, 10494364, 10751130, 10763682, 10903701, 10992496, 11007914, 11017746, 11023767, 11162460, 11321336, 11331514, 11399964, 11462583, 11467882, 11665625, 11923112, 11923438, 11923508, 11924214, 11936152, 12032067, 12032073, 12284283, 12343542, 12371319, 12717247, 12875748, 14355615, 14357819, 14360437, 14908969, 15075601, 15250571, 15252830, 15305309, 15313597, 15802250, 15861944, 15864555, 15900278, 15939596, 15963635, 15963637, 15970235, 15981793, 16021408, 16032013, 16067348, 16130894, 16175199, 16204002, 16204005, 16355733, 16408064, 16461184, 16461194, 16461196, 16461202, 16461207, 16518810, 16580005, 16584051, 16621117, 16622898, 16910579, 16984222, 17461325, 17499147 ] } ```
daledah commented 2 months ago

Proposal

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

[CRITICAL] [UX Reliability] Domain chat room is showing in focus mode in LHN despite not having any new messages

What is the root cause of that problem?

This early return is the problem https://github.com/Expensify/App/blob/main/src/libs/SidebarUtils.ts#L120-L122.

The condition is checking only participantAccountIDs.includes(CONST.ACCOUNT_ID.NOTIFICATIONS), it should've targeted only the system message (for Expensify account onboarding chat). But participantAccountIDs.includes(CONST.ACCOUNT_ID.NOTIFICATIONS) is targeting other chat types too. The Expensify domain chat room referenced in https://github.com/Expensify/App/issues/43782#issuecomment-2168485189 is one such chat. It also contains CONST.ACCOUNT_ID.NOTIFICATIONS as a participant, hence will early return true and included in the chat list regardless of focus mode.

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

Limit the condition to only the system chat https://github.com/Expensify/App/blob/main/src/libs/SidebarUtils.ts#L120, afterwards it will still work well for the Expensify account onboarding chat and will not affect other chats like domain room.

if (currentUserAccountID && AccountUtils.isAccountIDOddNumber(currentUserAccountID) && participantAccountIDs.includes(CONST.ACCOUNT_ID.NOTIFICATIONS) && isSystemChat) {
    return true;
}

The only change was to add && isSystemChat

What alternative solutions did you explore? (Optional)

AbdulRehmanMehar commented 2 months ago

Proposal

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

[CRITICAL] [UX Reliability] Domain chat room is showing in focus mode in LHN despite not having any new messages

What is the root cause of that problem?

The early return condition in the code at SidebarUtils.ts#L120 doesn't check whether the focus mode is active or not and displays system chat regardless of the priority mode.

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

We need to add a check for priority mode at SidebarUtils.ts#L121. It should display the report only if it's unread while the user is in focus mode.

What alternative solutions did you explore? (Optional)

N/A

melvin-bot[bot] commented 2 months ago

πŸ“£ @AbdulRehmanMehar! πŸ“£ 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>
AbdulRehmanMehar commented 2 months ago

Contributor details Your Expensify account email: mehars.6925@gmail.com Upwork Profile Link: https://www.upwork.com/freelancers/~010d76b8839f89f4a3

melvin-bot[bot] commented 2 months ago

βœ… Contributor details stored successfully. Thank you for contributing to Expensify!

twisterdotcom commented 2 months ago

@eVoloshchak how are these proposals?

eVoloshchak commented 2 months ago

As both contributors have pointed out, the problem is caused by an early return in https://github.com/Expensify/App/blob/main/src/libs/SidebarUtils.ts#L120-L122.

It was added in https://github.com/Expensify/App/pull/41343. Left a comment on the PR, it might be resolved as part of that issue, since PR was deployed to prod 5 days ago and is still in 7-day regression period

daledah commented 2 months ago

@twisterdotcom @eVoloshchak IMHO it'll be fair to fix here, as this issue was promoted as Help Wanted and contributors spent time providing the help and proposals based on that premise πŸ˜„

cc @mountiny @puneetlath

mountiny commented 2 months ago

@koko57 this seems to be still in the regression period so would make sense if you can fix it with @eVoloshchak

koko57 commented 2 months ago

@mountiny ok, so I can take care of this

melvin-bot[bot] commented 2 months ago

Reviewing label has been removed, please complete the "BugZero Checklist".

melvin-bot[bot] commented 2 months ago

The solution for this issue has been :rocket: deployed to production :rocket: in version 9.0.1-19 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-07-02. :confetti_ball:

For reference, here are some details about the assignees on this issue:

melvin-bot[bot] commented 2 months ago

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

melvin-bot[bot] commented 2 months ago

Payment Summary

Upwork Job

BugZero Checklist (@twisterdotcom)

melvin-bot[bot] commented 2 months ago

The solution for this issue has been :rocket: deployed to production :rocket: in version 9.0.3-7 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-07-10. :confetti_ball:

For reference, here are some details about the assignees on this issue:

melvin-bot[bot] commented 2 months ago

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

mountiny commented 2 months ago

I think this would be $125 to @eVoloshchak for their review. That is because this regression stemmed from PR they reviewed, however, its something they could not really test for easily so I err to the side of partial payment

melvin-bot[bot] commented 2 months ago

Upwork job price has been updated to $125

twisterdotcom commented 2 months ago

Payment Summary:

daledah commented 2 months ago

@twisterdotcom @mountiny I think I'm also due a partial compensation here because my proposal was used to fix the issue, and this issue was Help Wanted (actively seeking help) at the time I posted the proposal

mountiny commented 2 months ago

That is fair, the Help Wanted label was on the issue and similar solution was used so $50 to @daledah cc @twisterdotcom please

daledah commented 2 months ago

@mountiny I think same as the reviewer ($125) should be more fair. I think it takes equal (or more) effort to come up with the original RCA and working solution than to review the PR with existing solution.

What do you think?

mountiny commented 2 months ago

@daledah Sorry, $50 is more in line with how we handle such partial rewards. I do not think its valid to issue to full reward of this issue given you did not have to create the PR and complete the checklist/ test and record on all platforms, which is the time consuming part. I hope that makes sense

daledah commented 2 months ago

I do not think its valid to issue to full reward of this issue

@mountiny The issue was for $250, $125 is half the reward though.

Anyway I'd be happy with any final decision made here πŸ‘

mountiny commented 2 months ago

Yeah, I'm sorry, but $50 was being issued elsewhere, even for $250. I'm also sorry that the help wanted label was added, and then it was handled by the original PR author. This risk always exists as the PR author is supposed to fix regressions.

Hopefully, you can land the full reward on some other task where we merge your PR πŸ’ͺ thanks for contributing.

melvin-bot[bot] commented 1 month ago

@eVoloshchak @twisterdotcom @koko57 @mountiny this issue is now 4 weeks old, please consider:

Thanks!

eVoloshchak commented 1 month ago

Regression Test Proposal

  1. Use an account that is a member of a domain chat room
  2. Make sure there are no unread messages in the domain chat room
  3. Enable Focus Mode
  4. Verify domain chat room is hidden from LHN

Do we agree πŸ‘ or πŸ‘Ž

eVoloshchak commented 1 month ago

I think this would be $125 to @eVoloshchak for their review. That is because this regression stemmed from PR they reviewed, however, its something they could not really test for easily so I err to the side of partial payment

@mountiny, this regression stems from https://github.com/Expensify/App/pull/41343, which I wasn't involved in

twisterdotcom commented 1 month ago

Okay, as that PR wasn't reviewed by @eVoloshchak, I think we can do another $125, right @mountiny?

mountiny commented 1 month ago

@twisterdotcom @eVoloshchak sounds good, apologies for missing this!

twisterdotcom commented 1 month ago

Just a note then, I have updated the Payment Summary here for you to refer back to @eVoloshchak.

daledah commented 1 month ago

Sorry @twisterdotcom I'm also due payment here (see this)

mountiny commented 1 month ago

Sorry for missing that

JmillsExpensify commented 1 month ago

$250 approve for @eVoloshchak

twisterdotcom commented 1 month ago

@daledah same as this issue: https://github.com/Expensify/App/issues/44150#issuecomment-2249029743. I need a valid upwork profile link for you to send a payment contract to please. Could you drop a link to your profile or DM ted on Slack with it please?

I updated the Payment Summary here in the meantime too.

daledah commented 1 month ago

@twisterdotcom I'm having some issue with my Upwork account and actively resolving it, I'll give an update here early next week once it's resolved.

daledah commented 1 month ago

Could you drop a link to your profile

@twisterdotcom Sure, here it is https://www.upwork.com/freelancers/~0138d999529f34d33f. Please help send an offer to my profile there.

Thanks

twisterdotcom commented 1 month ago

Offer sent. Payment Summary updated with link.

daledah commented 1 month ago

@twisterdotcom I accepted that offer, thanks for helping πŸ™