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 Onyx 266] Deleted workspace blinks in workspace list after deleting #15550

Closed
6 tasks done
kavimuru opened this issue Feb 28, 2023 · 52 comments
Closed
6 tasks done
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. Monthly KSv2

Comments

@kavimuru
Copy link

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Action Performed:

  1. Turn off network
  2. Create a workspace
  3. Delete the workspace
  4. Turn on network
  5. Notice that the deleted workspace blinks

Expected Result:

The deleted workspace should not be visible

Actual Result:

The deleted workspace blinks

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.2.77-0
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
Notes/Photos/Videos:

Screen.Recording.2023-02-27.at.16.55.07.mov
Recording.1612.mp4

Expensify/Expensify Issue URL:
Issue reported by: @tienifr
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1677491995032769

View all open jobs on GitHub

@kavimuru kavimuru added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Feb 28, 2023
@MelvinBot
Copy link

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

@melvin-bot melvin-bot bot locked and limited conversation to collaborators Feb 28, 2023
@MelvinBot
Copy link

MelvinBot commented Feb 28, 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

@kadiealexander
Copy link
Contributor

Reproduced on web staging:

2023-03-01_13-57-02.mp4

@kadiealexander
Copy link
Contributor

Like this issue, I think this might need to go on hold based on this issue.

@iwiznia, @JmillsExpensify, @trjExpensify, @neil-marcellini could one of you please take a peep and confirm my thoughts?

@neil-marcellini
Copy link
Contributor

Yep this is a great example of the replay effect. Let's hold it.

@neil-marcellini
Copy link
Contributor

I added it to the tracking issue as well.

@trjExpensify
Copy link
Contributor

Yep this is a great example of the replay effect. Let's hold it.

+1. Updated the title and dropped it to monthly.

@trjExpensify trjExpensify added Monthly KSv2 and removed Daily KSv2 labels Mar 1, 2023
@trjExpensify trjExpensify changed the title Deleted workspace blinks in workspace list after deleting [Hold - #12755] Deleted workspace blinks in workspace list after deleting Mar 1, 2023
@iwiznia
Copy link
Contributor

iwiznia commented Mar 1, 2023

Should we just close this? I assume that whatever we do to solve the replay issue will be a solution that solves all cases of it, no?

@trjExpensify
Copy link
Contributor

trjExpensify commented Mar 1, 2023

We keep them open and on hold typically so people find them and don't re-report them. So adding it to the tracker and placing it on Hold to retest all the "known" cases makes sense. When we do fix it, we'll then pay out the bug reporter for it as well where applicable.

@iwiznia
Copy link
Contributor

iwiznia commented Mar 1, 2023

Ah makes sense!

@kadiealexander
Copy link
Contributor

Thanks team!!

@Expensify Expensify unlocked this conversation Mar 21, 2023
@melvin-bot melvin-bot bot added the Overdue label Apr 3, 2023
@kadiealexander
Copy link
Contributor

Not overdue, still on hold.

@melvin-bot melvin-bot bot removed the Overdue label Apr 4, 2023
@neil-marcellini
Copy link
Contributor

I've tested this flow of creating and deleting a workspace while offline, with the replay effect solution. It's not working because of some characteristic of Onyx.update. To test this I took all of the updates from the API.write requests that are sent to Onyx.update here when the SequentialQueue finishes processing, and I called Onyx.update with them. If you search for policy_BEB826F4F75AD818 in indexedDB in the devtools after, it will show up, however it should not since the last update to that key is to set it to null. I found this test to be a bit flakey too, sometimes it works, sometimes it does not.

Rather than diving into Onyx, I think the first thing to try would be to not return the entire massive policy object when creating a workspace, because we don't do that when fetching policies here. I do think this test reveals that we can't rely on Onyx.update to always complete all updates in a batch, in order, before notifying subscribers / writing to local storage. @marcaaron I thought you might find this interesting.

Onyx updates
const createUpdates = [
    {
        onyxMethod: 'merge',
        key: 'account',
        value: {
            guideCalendarLink: null,
        },
    },
    {
        onyxMethod: 'merge',
        key: 'policy_BEB826F4F75AD818',
        value: {
            approvalMode: 'OPTIONAL',
            approver: 'neil+chat@expensifail.com',
            autoReporting: true,
            autoReportingOffset: 'lastDayOfMonth',
            automaticJoiningEnabled: true,
            categoryObjects: {
                Advertising: {
                    enabled: true,
                    name: 'Advertising',
                },
                Benefits: {
                    enabled: true,
                    name: 'Benefits',
                },
                Car: {
                    enabled: true,
                    name: 'Car',
                },
                Equipment: {
                    enabled: true,
                    name: 'Equipment',
                },
                Fees: {
                    enabled: true,
                    name: 'Fees',
                },
                'Home Office': {
                    enabled: true,
                    name: 'Home Office',
                },
                Insurance: {
                    enabled: true,
                    name: 'Insurance',
                },
                Interest: {
                    enabled: true,
                    name: 'Interest',
                },
                Labor: {
                    enabled: true,
                    name: 'Labor',
                },
                Maintenance: {
                    enabled: true,
                    name: 'Maintenance',
                },
                Materials: {
                    enabled: true,
                    name: 'Materials',
                },
                'Meals and Entertainment': {
                    enabled: true,
                    name: 'Meals and Entertainment',
                },
                'Office Supplies': {
                    enabled: true,
                    name: 'Office Supplies',
                },
                Other: {
                    enabled: true,
                    name: 'Other',
                },
                'Professional Services': {
                    enabled: true,
                    name: 'Professional Services',
                },
                Rent: {
                    enabled: true,
                    name: 'Rent',
                },
                Taxes: {
                    enabled: true,
                    name: 'Taxes',
                },
                Travel: {
                    enabled: true,
                    name: 'Travel',
                },
                Utilities: {
                    enabled: true,
                    name: 'Utilities',
                },
            },
            customUnits: {
                '643f2afec903e': {
                    attributes: {
                        unit: 'mi',
                    },
                    customUnitID: '643f2afec903e',
                    defaultCategory: 'Car',
                    enabled: true,
                    name: 'Distance',
                    rates: {
                        '643f2afec91aa': {
                            currency: 'USD',
                            customUnitRateID: '643f2afec91aa',
                            enabled: true,
                            name: 'Default Rate',
                            rate: 65.5,
                        },
                    },
                },
            },
            defaultCategoryOrigin: 'US',
            disabledFields: {
                defaultBillable: true,
            },
            eReceipts: true,
            employeeList: [
                {
                    email: 'neil+chat@expensifail.com',
                    forwardsTo: '',
                    role: 'admin',
                    submitsTo: 'neil+chat@expensifail.com',
                },
            ],
            exportLayouts: [],
            fcrmEnabled: false,
            fieldList: [
                {
                    defaultExternalID: null,
                    defaultValue: '{report:type} {report:startdate}',
                    deletable: true,
                    disabledOptions: [],
                    externalID: null,
                    externalIDs: [],
                    fieldID: 'text_title',
                    isTax: false,
                    keys: [],
                    name: 'title',
                    orderWeight: 0,
                    origin: null,
                    target: 'expense',
                    type: 'formula',
                    value: null,
                    values: [],
                },
            ],
            glCodes: false,
            harvesting: {
                enabled: true,
            },
            invoice: {
                markUp: 0,
            },
            isReceiptVisibilityPublic: false,
            lastModified: 1681861374840957,
            maxExpenseAge: 10000000000,
            maxExpenseAmount: 10000000000,
            maxExpenseAmountNoReceipt: 10000000000,
            mccGroup: {
                airlines: {
                    category: 'Travel',
                    groupID: 'airlines',
                },
                commuter: {
                    category: 'Car',
                    groupID: 'commuter',
                },
                gas: {
                    category: 'Car',
                    groupID: 'gas',
                },
                goods: {
                    category: 'Materials',
                    groupID: 'goods',
                },
                groceries: {
                    category: 'Meals and Entertainment',
                    groupID: 'groceries',
                },
                hotel: {
                    category: 'Travel',
                    groupID: 'hotel',
                },
                mail: {
                    category: 'Office Supplies',
                    groupID: 'mail',
                },
                meals: {
                    category: 'Meals and Entertainment',
                    groupID: 'meals',
                },
                rental: {
                    category: 'Travel',
                    groupID: 'rental',
                },
                services: {
                    category: 'Professional Services',
                    groupID: 'services',
                },
                taxi: {
                    category: 'Travel',
                    groupID: 'taxi',
                },
                uncategorized: {
                    category: 'Other',
                    groupID: 'uncategorized',
                },
                utilities: {
                    category: 'Utilities',
                    groupID: 'utilities',
                },
            },
            mccToCategory: {
                mcc1520: 'Professional Services',
                mcc1711: 'Professional Services',
                mcc1731: 'Professional Services',
                mcc1740: 'Professional Services',
                mcc1750: 'Professional Services',
                mcc1761: 'Professional Services',
                mcc1771: 'Professional Services',
                mcc1799: 'Professional Services',
                mcc2741: 'Professional Services',
                mcc2791: 'Professional Services',
                mcc2842: 'Professional Services',
                mcc3000: 'Travel',
                mcc3001: 'Travel',
                mcc3002: 'Travel',
                mcc3003: 'Travel',
                mcc3004: 'Travel',
                mcc3005: 'Travel',
                mcc3006: 'Travel',
                mcc3007: 'Travel',
                mcc3008: 'Travel',
                mcc3009: 'Travel',
                mcc3010: 'Travel',
                mcc3011: 'Travel',
                mcc3012: 'Travel',
                mcc3013: 'Travel',
                mcc3014: 'Travel',
                mcc3015: 'Travel',
                mcc3016: 'Travel',
                mcc3017: 'Travel',
                mcc3018: 'Travel',
                mcc3019: 'Travel',
                mcc3020: 'Travel',
                mcc3021: 'Travel',
                mcc3022: 'Travel',
                mcc3023: 'Travel',
                mcc3024: 'Travel',
                mcc3025: 'Travel',
                mcc3026: 'Travel',
                mcc3027: 'Travel',
                mcc3028: 'Travel',
                mcc3029: 'Travel',
                mcc3030: 'Travel',
                mcc3031: 'Travel',
                mcc3032: 'Travel',
                mcc3033: 'Travel',
                mcc3034: 'Travel',
                mcc3035: 'Travel',
                mcc3036: 'Travel',
                mcc3037: 'Travel',
                mcc3038: 'Travel',
                mcc3039: 'Travel',
                mcc3040: 'Travel',
                mcc3041: 'Travel',
                mcc3042: 'Travel',
                mcc3043: 'Travel',
                mcc3044: 'Travel',
                mcc3045: 'Travel',
                mcc3046: 'Travel',
                mcc3047: 'Travel',
                mcc3048: 'Travel',
                mcc3049: 'Travel',
                mcc3050: 'Travel',
                mcc3051: 'Travel',
                mcc3052: 'Travel',
                mcc3053: 'Travel',
                mcc3054: 'Travel',
                mcc3055: 'Travel',
                mcc3056: 'Travel',
                mcc3057: 'Travel',
                mcc3058: 'Travel',
                mcc3059: 'Travel',
                mcc3060: 'Travel',
                mcc3061: 'Travel',
                mcc3062: 'Travel',
                mcc3063: 'Travel',
                mcc3064: 'Travel',
                mcc3065: 'Travel',
                mcc3066: 'Travel',
                mcc3067: 'Travel',
                mcc3068: 'Travel',
                mcc3069: 'Travel',
                mcc3070: 'Travel',
                mcc3071: 'Travel',
                mcc3072: 'Travel',
                mcc3073: 'Travel',
                mcc3074: 'Travel',
                mcc3075: 'Travel',
                mcc3076: 'Travel',
                mcc3077: 'Travel',
                mcc3078: 'Travel',
                mcc3079: 'Travel',
                mcc3080: 'Travel',
                mcc3081: 'Travel',
                mcc3082: 'Travel',
                mcc3083: 'Travel',
                mcc3084: 'Travel',
                mcc3085: 'Travel',
                mcc3086: 'Travel',
                mcc3087: 'Travel',
                mcc3088: 'Travel',
                mcc3089: 'Travel',
                mcc3090: 'Travel',
                mcc3091: 'Travel',
                mcc3092: 'Travel',
                mcc3093: 'Travel',
                mcc3094: 'Travel',
                mcc3095: 'Travel',
                mcc3096: 'Travel',
                mcc3097: 'Travel',
                mcc3098: 'Travel',
                mcc3099: 'Travel',
                mcc3100: 'Travel',
                mcc3101: 'Travel',
                mcc3102: 'Travel',
                mcc3103: 'Travel',
                mcc3104: 'Travel',
                mcc3105: 'Travel',
                mcc3106: 'Travel',
                mcc3107: 'Travel',
                mcc3108: 'Travel',
                mcc3109: 'Travel',
                mcc3110: 'Travel',
                mcc3111: 'Travel',
                mcc3112: 'Travel',
                mcc3113: 'Travel',
                mcc3114: 'Travel',
                mcc3115: 'Travel',
                mcc3116: 'Travel',
                mcc3117: 'Travel',
                mcc3118: 'Travel',
                mcc3119: 'Travel',
                mcc3120: 'Travel',
                mcc3121: 'Travel',
                mcc3122: 'Travel',
                mcc3123: 'Travel',
                mcc3124: 'Travel',
                mcc3125: 'Travel',
                mcc3126: 'Travel',
                mcc3127: 'Travel',
                mcc3128: 'Travel',
                mcc3129: 'Travel',
                mcc3130: 'Travel',
                mcc3131: 'Travel',
                mcc3132: 'Travel',
                mcc3133: 'Travel',
                mcc3134: 'Travel',
                mcc3135: 'Travel',
                mcc3136: 'Travel',
                mcc3137: 'Travel',
                mcc3138: 'Travel',
                mcc3139: 'Travel',
                mcc3140: 'Travel',
                mcc3141: 'Travel',
                mcc3142: 'Travel',
                mcc3143: 'Travel',
                mcc3144: 'Travel',
                mcc3145: 'Travel',
                mcc3146: 'Travel',
                mcc3147: 'Travel',
                mcc3148: 'Travel',
                mcc3149: 'Travel',
                mcc3150: 'Travel',
                mcc3151: 'Travel',
                mcc3152: 'Travel',
                mcc3153: 'Travel',
                mcc3154: 'Travel',
                mcc3155: 'Travel',
                mcc3156: 'Travel',
                mcc3157: 'Travel',
                mcc3158: 'Travel',
                mcc3159: 'Travel',
                mcc3160: 'Travel',
                mcc3161: 'Travel',
                mcc3162: 'Travel',
                mcc3163: 'Travel',
                mcc3164: 'Travel',
                mcc3165: 'Travel',
                mcc3166: 'Travel',
                mcc3167: 'Travel',
                mcc3168: 'Travel',
                mcc3169: 'Travel',
                mcc3170: 'Travel',
                mcc3171: 'Travel',
                mcc3172: 'Travel',
                mcc3173: 'Travel',
                mcc3174: 'Travel',
                mcc3175: 'Travel',
                mcc3176: 'Travel',
                mcc3177: 'Travel',
                mcc3178: 'Travel',
                mcc3179: 'Travel',
                mcc3180: 'Travel',
                mcc3181: 'Travel',
                mcc3182: 'Travel',
                mcc3183: 'Travel',
                mcc3184: 'Travel',
                mcc3185: 'Travel',
                mcc3186: 'Travel',
                mcc3187: 'Travel',
                mcc3188: 'Travel',
                mcc3189: 'Travel',
                mcc3190: 'Travel',
                mcc3191: 'Travel',
                mcc3192: 'Travel',
                mcc3193: 'Travel',
                mcc3194: 'Travel',
                mcc3195: 'Travel',
                mcc3196: 'Travel',
                mcc3197: 'Travel',
                mcc3198: 'Travel',
                mcc3199: 'Travel',
                mcc3200: 'Travel',
                mcc3201: 'Travel',
                mcc3202: 'Travel',
                mcc3203: 'Travel',
                mcc3204: 'Travel',
                mcc3205: 'Travel',
                mcc3206: 'Travel',
                mcc3207: 'Travel',
                mcc3208: 'Travel',
                mcc3209: 'Travel',
                mcc3210: 'Travel',
                mcc3211: 'Travel',
                mcc3212: 'Travel',
                mcc3213: 'Travel',
                mcc3214: 'Travel',
                mcc3215: 'Travel',
                mcc3216: 'Travel',
                mcc3217: 'Travel',
                mcc3218: 'Travel',
                mcc3219: 'Travel',
                mcc3220: 'Travel',
                mcc3221: 'Travel',
                mcc3222: 'Travel',
                mcc3223: 'Travel',
                mcc3224: 'Travel',
                mcc3225: 'Travel',
                mcc3226: 'Travel',
                mcc3227: 'Travel',
                mcc3228: 'Travel',
                mcc3229: 'Travel',
                mcc3230: 'Travel',
                mcc3231: 'Travel',
                mcc3232: 'Travel',
                mcc3233: 'Travel',
                mcc3234: 'Travel',
                mcc3235: 'Travel',
                mcc3236: 'Travel',
                mcc3237: 'Travel',
                mcc3238: 'Travel',
                mcc3239: 'Travel',
                mcc3240: 'Travel',
                mcc3241: 'Travel',
                mcc3242: 'Travel',
                mcc3243: 'Travel',
                mcc3244: 'Travel',
                mcc3245: 'Travel',
                mcc3246: 'Travel',
                mcc3247: 'Travel',
                mcc3248: 'Travel',
                mcc3249: 'Travel',
                mcc3250: 'Travel',
                mcc3251: 'Travel',
                mcc3252: 'Travel',
                mcc3253: 'Travel',
                mcc3254: 'Travel',
                mcc3255: 'Travel',
                mcc3256: 'Travel',
                mcc3257: 'Travel',
                mcc3258: 'Travel',
                mcc3259: 'Travel',
                mcc3260: 'Travel',
                mcc3261: 'Travel',
                mcc3262: 'Travel',
                mcc3263: 'Travel',
                mcc3264: 'Travel',
                mcc3265: 'Travel',
                mcc3266: 'Travel',
                mcc3267: 'Travel',
                mcc3268: 'Travel',
                mcc3269: 'Travel',
                mcc3270: 'Travel',
                mcc3271: 'Travel',
                mcc3272: 'Travel',
                mcc3273: 'Travel',
                mcc3274: 'Travel',
                mcc3275: 'Travel',
                mcc3276: 'Travel',
                mcc3277: 'Travel',
                mcc3278: 'Travel',
                mcc3279: 'Travel',
                mcc3280: 'Travel',
                mcc3281: 'Travel',
                mcc3282: 'Travel',
                mcc3283: 'Travel',
                mcc3284: 'Travel',
                mcc3285: 'Travel',
                mcc3286: 'Travel',
                mcc3287: 'Travel',
                mcc3288: 'Travel',
                mcc3289: 'Travel',
                mcc3290: 'Travel',
                mcc3291: 'Travel',
                mcc3292: 'Travel',
                mcc3293: 'Travel',
                mcc3294: 'Travel',
                mcc3295: 'Travel',
                mcc3296: 'Travel',
                mcc3297: 'Travel',
                mcc3298: 'Travel',
                mcc3299: 'Travel',
                mcc3351: 'Travel',
                mcc3352: 'Travel',
                mcc3353: 'Travel',
                mcc3354: 'Travel',
                mcc3355: 'Travel',
                mcc3356: 'Travel',
                mcc3357: 'Travel',
                mcc3358: 'Travel',
                mcc3359: 'Travel',
                mcc3360: 'Travel',
                mcc3361: 'Travel',
                mcc3362: 'Travel',
                mcc3363: 'Travel',
                mcc3364: 'Travel',
                mcc3365: 'Travel',
                mcc3366: 'Travel',
                mcc3367: 'Travel',
                mcc3368: 'Travel',
                mcc3369: 'Travel',
                mcc3370: 'Travel',
                mcc3371: 'Travel',
                mcc3372: 'Travel',
                mcc3373: 'Travel',
                mcc3374: 'Travel',
                mcc3375: 'Travel',
                mcc3376: 'Travel',
                mcc3377: 'Travel',
                mcc3378: 'Travel',
                mcc3379: 'Travel',
                mcc3380: 'Travel',
                mcc3381: 'Travel',
                mcc3382: 'Travel',
                mcc3383: 'Travel',
                mcc3384: 'Travel',
                mcc3385: 'Travel',
                mcc3386: 'Travel',
                mcc3387: 'Travel',
                mcc3388: 'Travel',
                mcc3389: 'Travel',
                mcc3390: 'Travel',
                mcc3391: 'Travel',
                mcc3392: 'Travel',
                mcc3393: 'Travel',
                mcc3394: 'Travel',
                mcc3395: 'Travel',
                mcc3396: 'Travel',
                mcc3397: 'Travel',
                mcc3398: 'Travel',
                mcc3399: 'Travel',
                mcc3400: 'Travel',
                mcc3401: 'Travel',
                mcc3402: 'Travel',
                mcc3403: 'Travel',
                mcc3404: 'Travel',
                mcc3405: 'Travel',
                mcc3406: 'Travel',
                mcc3407: 'Travel',
                mcc3408: 'Travel',
                mcc3409: 'Travel',
                mcc3410: 'Travel',
                mcc3411: 'Travel',
                mcc3412: 'Travel',
                mcc3413: 'Travel',
                mcc3414: 'Travel',
                mcc3415: 'Travel',
                mcc3416: 'Travel',
                mcc3417: 'Travel',
                mcc3418: 'Travel',
                mcc3419: 'Travel',
                mcc3420: 'Travel',
                mcc3421: 'Travel',
                mcc3422: 'Travel',
                mcc3423: 'Travel',
                mcc3424: 'Travel',
                mcc3425: 'Travel',
                mcc3426: 'Travel',
                mcc3427: 'Travel',
                mcc3428: 'Travel',
                mcc3429: 'Travel',
                mcc3430: 'Travel',
                mcc3431: 'Travel',
                mcc3432: 'Travel',
                mcc3433: 'Travel',
                mcc3434: 'Travel',
                mcc3435: 'Travel',
                mcc3436: 'Travel',
                mcc3437: 'Travel',
                mcc3438: 'Travel',
                mcc3439: 'Travel',
                mcc3440: 'Travel',
                mcc3441: 'Travel',
                mcc3501: 'Travel',
                mcc3502: 'Travel',
                mcc3503: 'Travel',
                mcc3504: 'Travel',
                mcc3505: 'Travel',
                mcc3506: 'Travel',
                mcc3507: 'Travel',
                mcc3508: 'Travel',
                mcc3509: 'Travel',
                mcc3510: 'Travel',
                mcc3511: 'Travel',
                mcc3512: 'Travel',
                mcc3513: 'Travel',
                mcc3514: 'Travel',
                mcc3515: 'Travel',
                mcc3516: 'Travel',
                mcc3517: 'Travel',
                mcc3518: 'Travel',
                mcc3519: 'Travel',
                mcc3520: 'Travel',
                mcc3521: 'Travel',
                mcc3522: 'Travel',
                mcc3523: 'Travel',
                mcc3524: 'Travel',
                mcc3525: 'Travel',
                mcc3526: 'Travel',
                mcc3527: 'Travel',
                mcc3528: 'Travel',
                mcc3529: 'Travel',
                mcc3530: 'Travel',
                mcc3531: 'Travel',
                mcc3532: 'Travel',
                mcc3533: 'Travel',
                mcc3534: 'Travel',
                mcc3535: 'Travel',
                mcc3536: 'Travel',
                mcc3537: 'Travel',
                mcc3538: 'Travel',
                mcc3539: 'Travel',
                mcc3540: 'Travel',
                mcc3541: 'Travel',
                mcc3542: 'Travel',
                mcc3543: 'Travel',
                mcc3544: 'Travel',
                mcc3545: 'Travel',
                mcc3546: 'Travel',
                mcc3547: 'Travel',
                mcc3548: 'Travel',
                mcc3549: 'Travel',
                mcc3550: 'Travel',
                mcc3551: 'Travel',
                mcc3552: 'Travel',
                mcc3553: 'Travel',
                mcc3554: 'Travel',
                mcc3555: 'Travel',
                mcc3556: 'Travel',
                mcc3557: 'Travel',
                mcc3558: 'Travel',
                mcc3559: 'Travel',
                mcc3560: 'Travel',
                mcc3561: 'Travel',
                mcc3562: 'Travel',
                mcc3563: 'Travel',
                mcc3564: 'Travel',
                mcc3565: 'Travel',
                mcc3566: 'Travel',
                mcc3567: 'Travel',
                mcc3568: 'Travel',
                mcc3569: 'Travel',
                mcc3570: 'Travel',
                mcc3571: 'Travel',
                mcc3572: 'Travel',
                mcc3573: 'Travel',
                mcc3574: 'Travel',
                mcc3575: 'Travel',
                mcc3576: 'Travel',
                mcc3577: 'Travel',
                mcc3578: 'Travel',
                mcc3579: 'Travel',
                mcc3580: 'Travel',
                mcc3581: 'Travel',
                mcc3582: 'Travel',
                mcc3583: 'Travel',
                mcc3584: 'Travel',
                mcc3585: 'Travel',
                mcc3586: 'Travel',
                mcc3587: 'Travel',
                mcc3588: 'Travel',
                mcc3589: 'Travel',
                mcc3590: 'Travel',
                mcc3591: 'Travel',
                mcc3592: 'Travel',
                mcc3593: 'Travel',
                mcc3594: 'Travel',
                mcc3595: 'Travel',
                mcc3596: 'Travel',
                mcc3597: 'Travel',
                mcc3598: 'Travel',
                mcc3599: 'Travel',
                mcc3600: 'Travel',
                mcc3601: 'Travel',
                mcc3602: 'Travel',
                mcc3603: 'Travel',
                mcc3604: 'Travel',
                mcc3605: 'Travel',
                mcc3606: 'Travel',
                mcc3607: 'Travel',
                mcc3608: 'Travel',
                mcc3609: 'Travel',
                mcc3610: 'Travel',
                mcc3611: 'Travel',
                mcc3612: 'Travel',
                mcc3613: 'Travel',
                mcc3614: 'Travel',
                mcc3615: 'Travel',
                mcc3616: 'Travel',
                mcc3617: 'Travel',
                mcc3618: 'Travel',
                mcc3619: 'Travel',
                mcc3620: 'Travel',
                mcc3621: 'Travel',
                mcc3622: 'Travel',
                mcc3623: 'Travel',
                mcc3624: 'Travel',
                mcc3625: 'Travel',
                mcc3626: 'Travel',
                mcc3627: 'Travel',
                mcc3628: 'Travel',
                mcc3629: 'Travel',
                mcc3630: 'Travel',
                mcc3631: 'Travel',
                mcc3632: 'Travel',
                mcc3633: 'Travel',
                mcc3634: 'Travel',
                mcc3635: 'Travel',
                mcc3636: 'Travel',
                mcc3637: 'Travel',
                mcc3638: 'Travel',
                mcc3639: 'Travel',
                mcc3640: 'Travel',
                mcc3641: 'Travel',
                mcc3642: 'Travel',
                mcc3643: 'Travel',
                mcc3644: 'Travel',
                mcc3645: 'Travel',
                mcc3646: 'Travel',
                mcc3647: 'Travel',
                mcc3648: 'Travel',
                mcc3649: 'Travel',
                mcc3650: 'Travel',
                mcc3651: 'Travel',
                mcc3652: 'Travel',
                mcc3653: 'Travel',
                mcc3654: 'Travel',
                mcc3655: 'Travel',
                mcc3656: 'Travel',
                mcc3657: 'Travel',
                mcc3658: 'Travel',
                mcc3659: 'Travel',
                mcc3660: 'Travel',
                mcc3661: 'Travel',
                mcc3662: 'Travel',
                mcc3663: 'Travel',
                mcc3664: 'Travel',
                mcc3665: 'Travel',
                mcc3666: 'Travel',
                mcc3667: 'Travel',
                mcc3668: 'Travel',
                mcc3669: 'Travel',
                mcc3670: 'Travel',
                mcc3671: 'Travel',
                mcc3672: 'Travel',
                mcc3673: 'Travel',
                mcc3674: 'Travel',
                mcc3675: 'Travel',
                mcc3676: 'Travel',
                mcc3677: 'Travel',
                mcc3678: 'Travel',
                mcc3679: 'Travel',
                mcc3680: 'Travel',
                mcc3681: 'Travel',
                mcc3682: 'Travel',
                mcc3683: 'Travel',
                mcc3684: 'Travel',
                mcc3685: 'Travel',
                mcc3686: 'Travel',
                mcc3687: 'Travel',
                mcc3688: 'Travel',
                mcc3689: 'Travel',
                mcc3690: 'Travel',
                mcc3691: 'Travel',
                mcc3692: 'Travel',
                mcc3693: 'Travel',
                mcc3694: 'Travel',
                mcc3695: 'Travel',
                mcc3696: 'Travel',
                mcc3697: 'Travel',
                mcc3698: 'Travel',
                mcc3699: 'Travel',
                mcc3700: 'Travel',
                mcc3701: 'Travel',
                mcc3702: 'Travel',
                mcc3703: 'Travel',
                mcc3704: 'Travel',
                mcc3705: 'Travel',
                mcc3706: 'Travel',
                mcc3707: 'Travel',
                mcc3708: 'Travel',
                mcc3709: 'Travel',
                mcc3710: 'Travel',
                mcc3711: 'Travel',
                mcc3712: 'Travel',
                mcc3713: 'Travel',
                mcc3714: 'Travel',
                mcc3715: 'Travel',
                mcc3716: 'Travel',
                mcc3717: 'Travel',
                mcc3718: 'Travel',
                mcc3719: 'Travel',
                mcc3720: 'Travel',
                mcc3721: 'Travel',
                mcc3722: 'Travel',
                mcc3723: 'Travel',
                mcc3724: 'Travel',
                mcc3725: 'Travel',
                mcc3726: 'Travel',
                mcc3727: 'Travel',
                mcc3728: 'Travel',
                mcc3729: 'Travel',
                mcc3730: 'Travel',
                mcc3731: 'Travel',
                mcc3732: 'Travel',
                mcc3733: 'Travel',
                mcc3734: 'Travel',
                mcc3735: 'Travel',
                mcc3736: 'Travel',
                mcc3737: 'Travel',
                mcc3738: 'Travel',
                mcc3739: 'Travel',
                mcc3740: 'Travel',
                mcc3741: 'Travel',
                mcc3742: 'Travel',
                mcc3743: 'Travel',
                mcc3744: 'Travel',
                mcc3745: 'Travel',
                mcc3746: 'Travel',
                mcc3747: 'Travel',
                mcc3748: 'Travel',
                mcc3749: 'Travel',
                mcc3750: 'Travel',
                mcc3751: 'Travel',
                mcc3752: 'Travel',
                mcc3753: 'Travel',
                mcc3754: 'Travel',
                mcc3755: 'Travel',
                mcc3756: 'Travel',
                mcc3757: 'Travel',
                mcc3758: 'Travel',
                mcc3759: 'Travel',
                mcc3760: 'Travel',
                mcc3761: 'Travel',
                mcc3762: 'Travel',
                mcc3763: 'Travel',
                mcc3764: 'Travel',
                mcc3765: 'Travel',
                mcc3766: 'Travel',
                mcc3767: 'Travel',
                mcc3768: 'Travel',
                mcc3769: 'Travel',
                mcc3770: 'Travel',
                mcc3771: 'Travel',
                mcc3772: 'Travel',
                mcc3773: 'Travel',
                mcc3774: 'Travel',
                mcc3775: 'Travel',
                mcc3776: 'Travel',
                mcc3777: 'Travel',
                mcc3778: 'Travel',
                mcc3779: 'Travel',
                mcc3780: 'Travel',
                mcc3781: 'Travel',
                mcc3782: 'Travel',
                mcc3783: 'Travel',
                mcc3784: 'Travel',
                mcc3785: 'Travel',
                mcc3786: 'Travel',
                mcc3787: 'Travel',
                mcc3788: 'Travel',
                mcc3789: 'Travel',
                mcc3790: 'Travel',
                mcc3826: 'Travel',
                mcc3831: 'Travel',
                mcc3832: 'Travel',
                mcc3835: 'Travel',
                mcc4011: 'Car',
                mcc4111: 'Car',
                mcc4112: 'Car',
                mcc4119: 'Professional Services',
                mcc4121: 'Travel',
                mcc4131: 'Car',
                mcc4214: 'Office Supplies',
                mcc4215: 'Office Supplies',
                mcc4225: 'Other',
                mcc4411: 'Professional Services',
                mcc4457: 'Travel',
                mcc4468: 'Materials',
                mcc4511: 'Travel',
                mcc4582: 'Travel',
                mcc4722: 'Travel',
                mcc4723: 'Travel',
                mcc4784: 'Car',
                mcc4789: 'Car',
                mcc4812: 'Utilities',
                mcc4814: 'Utilities',
                mcc4815: 'Utilities',
                mcc4816: 'Utilities',
                mcc4821: 'Utilities',
                mcc4829: 'Other',
                mcc4899: 'Utilities',
                mcc4900: 'Utilities',
                mcc5013: 'Materials',
                mcc5021: 'Materials',
                mcc5039: 'Materials',
                mcc5044: 'Materials',
                mcc5045: 'Materials',
                mcc5046: 'Materials',
                mcc5047: 'Materials',
                mcc5051: 'Materials',
                mcc5065: 'Materials',
                mcc5072: 'Materials',
                mcc5074: 'Materials',
                mcc5085: 'Materials',
                mcc5094: 'Materials',
                mcc5099: 'Materials',
                mcc5111: 'Materials',
                mcc5122: 'Materials',
                mcc5131: 'Materials',
                mcc5137: 'Materials',
                mcc5139: 'Materials',
                mcc5169: 'Materials',
                mcc5172: 'Materials',
                mcc5192: 'Materials',
                mcc5193: 'Materials',
                mcc5198: 'Materials',
                mcc5199: 'Materials',
                mcc5200: 'Materials',
                mcc5211: 'Materials',
                mcc5231: 'Materials',
                mcc5251: 'Materials',
                mcc5261: 'Materials',
                mcc5271: 'Materials',
                mcc5300: 'Materials',
                mcc5309: 'Materials',
                mcc5310: 'Materials',
                mcc5311: 'Materials',
                mcc5331: 'Materials',
                mcc5399: 'Materials',
                mcc5411: 'Meals and Entertainment',
                mcc5422: 'Meals and Entertainment',
                mcc5441: 'Meals and Entertainment',
                mcc5451: 'Meals and Entertainment',
                mcc5462: 'Meals and Entertainment',
                mcc5499: 'Meals and Entertainment',
                mcc5511: 'Materials',
                mcc5521: 'Materials',
                mcc5531: 'Materials',
                mcc5532: 'Materials',
                mcc5533: 'Materials',
                mcc5541: 'Car',
                mcc5542: 'Car',
                mcc5551: 'Materials',
                mcc5561: 'Materials',
                mcc5571: 'Materials',
                mcc5592: 'Materials',
                mcc5598: 'Materials',
                mcc5599: 'Materials',
                mcc5611: 'Materials',
                mcc5621: 'Materials',
                mcc5631: 'Materials',
                mcc5641: 'Materials',
                mcc5651: 'Materials',
                mcc5655: 'Materials',
                mcc5661: 'Materials',
                mcc5681: 'Materials',
                mcc5691: 'Materials',
                mcc5697: 'Materials',
                mcc5698: 'Materials',
                mcc5699: 'Materials',
                mcc5712: 'Materials',
                mcc5713: 'Materials',
                mcc5714: 'Materials',
                mcc5718: 'Materials',
                mcc5719: 'Materials',
                mcc5722: 'Materials',
                mcc5732: 'Materials',
                mcc5733: 'Materials',
                mcc5734: 'Materials',
                mcc5735: 'Materials',
                mcc5811: 'Meals and Entertainment',
                mcc5812: 'Meals and Entertainment',
                mcc5813: 'Meals and Entertainment',
                mcc5814: 'Meals and Entertainment',
                mcc5815: 'Materials',
                mcc5816: 'Materials',
                mcc5817: 'Materials',
                mcc5818: 'Materials',
                mcc5832: 'Other',
                mcc5912: 'Meals and Entertainment',
                mcc5921: 'Meals and Entertainment',
                mcc5931: 'Materials',
                mcc5932: 'Materials',
                mcc5933: 'Materials',
                mcc5935: 'Materials',
                mcc5937: 'Materials',
                mcc5940: 'Materials',
                mcc5941: 'Materials',
                mcc5942: 'Materials',
                mcc5943: 'Materials',
                mcc5944: 'Materials',
                mcc5945: 'Materials',
                mcc5946: 'Materials',
                mcc5947: 'Materials',
                mcc5948: 'Materials',
                mcc5949: 'Materials',
                mcc5950: 'Materials',
                mcc5960: 'Professional Services',
                mcc5961: 'Other',
                mcc5962: 'Travel',
                mcc5963: 'Materials',
                mcc5964: 'Materials',
                mcc5965: 'Materials',
                mcc5966: 'Materials',
                mcc5967: 'Materials',
                mcc5968: 'Professional Services',
                mcc5969: 'Other',
                mcc5970: 'Materials',
                mcc5971: 'Materials',
                mcc5972: 'Materials',
                mcc5973: 'Materials',
                mcc5975: 'Materials',
                mcc5976: 'Materials',
                mcc5977: 'Materials',
                mcc5978: 'Materials',
                mcc5983: 'Materials',
                mcc5992: 'Materials',
                mcc5993: 'Materials',
                mcc5994: 'Materials',
                mcc5995: 'Materials',
                mcc5996: 'Materials',
                mcc5997: 'Materials',
                mcc5998: 'Materials',
                mcc5999: 'Materials',
                mcc6010: 'Other',
                mcc6011: 'Other',
                mcc6012: 'Other',
                mcc6051: 'Other',
                mcc6211: 'Other',
                mcc6300: 'Professional Services',
                mcc6381: 'Other',
                mcc6399: 'Professional Services',
                mcc6513: 'Other',
                mcc6530: 'Other',
                mcc6531: 'Other',
                mcc6532: 'Other',
                mcc6533: 'Other',
                mcc6534: 'Other',
                mcc6535: 'Other',
                mcc6540: 'Other',
                mcc6611: 'Other',
                mcc6760: 'Other',
                mcc7011: 'Travel',
                mcc7012: 'Travel',
                mcc7032: 'Professional Services',
                mcc7033: 'Professional Services',
                mcc7210: 'Professional Services',
                mcc7211: 'Professional Services',
                mcc7216: 'Professional Services',
                mcc7217: 'Professional Services',
                mcc7221: 'Professional Services',
                mcc7230: 'Professional Services',
                mcc7251: 'Professional Services',
                mcc7261: 'Professional Services',
                mcc7273: 'Professional Services',
                mcc7276: 'Professional Services',
                mcc7277: 'Professional Services',
                mcc7278: 'Professional Services',
                mcc7296: 'Professional Services',
                mcc7297: 'Professional Services',
                mcc7298: 'Professional Services',
                mcc7299: 'Professional Services',
                mcc7311: 'Professional Services',
                mcc7321: 'Professional Services',
                mcc7332: 'Other',
                mcc7333: 'Professional Services',
                mcc7338: 'Professional Services',
                mcc7339: 'Professional Services',
                mcc7342: 'Professional Services',
                mcc7349: 'Professional Services',
                mcc7361: 'Professional Services',
                mcc7372: 'Professional Services',
                mcc7375: 'Professional Services',
                mcc7379: 'Professional Services',
                mcc7392: 'Professional Services',
                mcc7393: 'Professional Services',
                mcc7394: 'Professional Services',
                mcc7395: 'Professional Services',
                mcc7399: 'Professional Services',
                mcc742: 'Professional Services',
                mcc7511: 'Car',
                mcc7512: 'Travel',
                mcc7513: 'Travel',
                mcc7519: 'Travel',
                mcc7523: 'Car',
                mcc7531: 'Materials',
                mcc7534: 'Materials',
                mcc7535: 'Materials',
                mcc7538: 'Materials',
                mcc7542: 'Materials',
                mcc7549: 'Materials',
                mcc7622: 'Professional Services',
                mcc7623: 'Professional Services',
                mcc7629: 'Professional Services',
                mcc763: 'Other',
                mcc7631: 'Professional Services',
                mcc7641: 'Professional Services',
                mcc7692: 'Professional Services',
                mcc7699: 'Professional Services',
                mcc780: 'Professional Services',
                mcc7829: 'Professional Services',
                mcc7832: 'Professional Services',
                mcc7841: 'Professional Services',
                mcc7911: 'Professional Services',
                mcc7922: 'Professional Services',
                mcc7929: 'Professional Services',
                mcc7932: 'Professional Services',
                mcc7933: 'Professional Services',
                mcc7941: 'Professional Services',
                mcc7991: 'Professional Services',
                mcc7992: 'Professional Services',
                mcc7993: 'Professional Services',
                mcc7994: 'Professional Services',
                mcc7995: 'Professional Services',
                mcc7996: 'Professional Services',
                mcc7997: 'Professional Services',
                mcc7998: 'Professional Services',
                mcc7999: 'Professional Services',
                mcc8011: 'Professional Services',
                mcc8021: 'Professional Services',
                mcc8031: 'Professional Services',
                mcc8041: 'Professional Services',
                mcc8042: 'Professional Services',
                mcc8043: 'Professional Services',
                mcc8044: 'Other',
                mcc8049: 'Professional Services',
                mcc8050: 'Professional Services',
                mcc8062: 'Professional Services',
                mcc8071: 'Professional Services',
                mcc8099: 'Professional Services',
                mcc8111: 'Professional Services',
                mcc8211: 'Professional Services',
                mcc8220: 'Professional Services',
                mcc8241: 'Professional Services',
                mcc8244: 'Professional Services',
                mcc8249: 'Professional Services',
                mcc8299: 'Professional Services',
                mcc8351: 'Professional Services',
                mcc8398: 'Other',
                mcc8641: 'Other',
                mcc8651: 'Other',
                mcc8661: 'Other',
                mcc8675: 'Materials',
                mcc8699: 'Other',
                mcc8734: 'Professional Services',
                mcc8911: 'Professional Services',
                mcc8931: 'Professional Services',
                mcc8999: 'Professional Services',
                mcc9211: 'Professional Services',
                mcc9222: 'Professional Services',
                mcc9223: 'Professional Services',
                mcc9311: 'Professional Services',
                mcc9399: 'Professional Services',
                mcc9402: 'Office Supplies',
                mcc9405: 'Professional Services',
                mcc9700: 'Other',
                mcc9701: 'Other',
                mcc9702: 'Professional Services',
                mcc9950: 'Other',
            },
            modifiedCategories: false,
            modifiedTags: false,
            name: "Expensifail's Workspace 2",
            outputCurrency: 'USD',
            owner: 'neil+chat@expensifail.com',
            requiresCategory: false,
            requiresTag: false,
            role: 'admin',
            rter: {
                visibility: {
                    enabled: true,
                },
            },
            strictWorkflow: true,
            tagLists: [
                {
                    tagListData: {
                        name: 'Tag',
                        tags: [],
                    },
                },
            ],
            tagObjects: [],
            tax: {
                trackingEnabled: false,
            },
            technicalContact: 'neil+chat@expensifail.com',
            type: 'free',
            units: {
                time: {
                    enabled: false,
                    rate: 50,
                },
            },
            welcomeNote: [],
            chatReportIDAnnounce: 3623666748648081,
            chatReportIDAdmins: 2051546831513810,
            id: 'BEB826F4F75AD818',
        },
    },
    {
        onyxMethod: 'mergecollection',
        key: 'report_',
        value: {
            report_2051546831513810: {
                reportID: '2051546831513810',
                reportName: '#admins',
                type: 'chat',
                chatType: 'policyAdmins',
                ownerEmail: '__FAKE__',
                policyID: 'BEB826F4F75AD818',
                maxSequenceNumber: 1,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: true,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 23:42:54.839',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 23:42:54.839',
                lastMessageText: '',
                lastActorEmail: '__FAKE__',
                notificationPreference: 'always',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_3623666748648081: {
                reportID: '3623666748648081',
                reportName: '#announce',
                type: 'chat',
                chatType: 'policyAnnounce',
                ownerEmail: '__FAKE__',
                policyID: 'BEB826F4F75AD818',
                maxSequenceNumber: 1,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 23:42:54.837',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 23:42:54.837',
                lastMessageText: '',
                lastActorEmail: '__FAKE__',
                notificationPreference: 'daily',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_3702601733439592: {
                reportID: '3702601733439592',
                reportName: '',
                type: 'chat',
                chatType: 'policyExpenseChat',
                ownerEmail: 'neil+chat@expensifail.com',
                policyID: 'BEB826F4F75AD818',
                maxSequenceNumber: 1,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: null,
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 23:42:54.841',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: true,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
        },
    },
];

const deleteUpdates = [
    {
        onyxMethod: 'merge',
        key: 'report_2051546831513810',
        value: {
            statusNum: 2,
            stateNum: 2,
            oldPolicyName: "Expensifail's Workspace 2",
        },
    },
    {
        onyxMethod: 'merge',
        key: 'reportActions_2051546831513810',
        value: {
            '8754318369191362799': {
                person: [
                    {
                        type: 'TEXT',
                        style: 'strong',
                        text: 'Neil Chat',
                    },
                ],
                actorEmail: 'neil+chat@expensifail.com',
                actorAccountID: 220,
                message: [
                    {
                        type: 'TEXT',
                        style: 'strong',
                        text: 'You',
                    },
                    {
                        type: 'TEXT',
                        style: 'normal',
                        text: ' closed this report',
                    },
                ],
                originalMessage: {
                    policyName: "Expensifail's Workspace 2",
                    reason: 'policyDeleted',
                },
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_3.png',
                created: '2023-04-18 23:42:55.886',
                timestamp: 1681861375,
                reportActionTimestamp: 1681861375886,
                automatic: false,
                actionName: 'CLOSED',
                shouldShow: true,
                reportActionID: '8754318369191362799',
            },
            '3895461646874688466': {
                reportActionID: '3895461646874688466',
                actionName: 'CREATED',
                created: '2023-04-18 23:42:54.839',
                reportActionTimestamp: 1681861374839,
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_3.png',
                message: [
                    {
                        type: 'TEXT',
                        style: 'strong',
                        text: '__FAKE__',
                    },
                    {
                        type: 'TEXT',
                        style: 'normal',
                        text: ' created this report',
                    },
                ],
                person: [
                    {
                        type: 'TEXT',
                        style: 'strong',
                        text: '__FAKE__',
                    },
                ],
                automatic: false,
                sequenceNumber: 0,
                shouldShow: true,
            },
        },
    },
    {
        onyxMethod: 'merge',
        key: 'report_3623666748648081',
        value: {
            statusNum: 2,
            stateNum: 2,
            oldPolicyName: "Expensifail's Workspace 2",
        },
    },
    {
        onyxMethod: 'merge',
        key: 'reportActions_3623666748648081',
        value: {
            '2610302983423970612': {
                person: [
                    {
                        type: 'TEXT',
                        style: 'strong',
                        text: 'Neil Chat',
                    },
                ],
                actorEmail: 'neil+chat@expensifail.com',
                actorAccountID: 220,
                message: [
                    {
                        type: 'TEXT',
                        style: 'strong',
                        text: 'You',
                    },
                    {
                        type: 'TEXT',
                        style: 'normal',
                        text: ' closed this report',
                    },
                ],
                originalMessage: {
                    policyName: "Expensifail's Workspace 2",
                    reason: 'policyDeleted',
                },
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_3.png',
                created: '2023-04-18 23:42:55.887',
                timestamp: 1681861375,
                reportActionTimestamp: 1681861375887,
                automatic: false,
                actionName: 'CLOSED',
                shouldShow: true,
                reportActionID: '2610302983423970612',
            },
            '1174186489906693815': {
                reportActionID: '1174186489906693815',
                actionName: 'CREATED',
                created: '2023-04-18 23:42:54.837',
                reportActionTimestamp: 1681861374837,
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_3.png',
                message: [
                    {
                        type: 'TEXT',
                        style: 'strong',
                        text: '__FAKE__',
                    },
                    {
                        type: 'TEXT',
                        style: 'normal',
                        text: ' created this report',
                    },
                ],
                person: [
                    {
                        type: 'TEXT',
                        style: 'strong',
                        text: '__FAKE__',
                    },
                ],
                automatic: false,
                sequenceNumber: 0,
                shouldShow: true,
            },
        },
    },
    {
        onyxMethod: 'merge',
        key: 'report_3702601733439592',
        value: {
            statusNum: 2,
            stateNum: 2,
            oldPolicyName: "Expensifail's Workspace 2",
        },
    },
    {
        onyxMethod: 'merge',
        key: 'reportActions_3702601733439592',
        value: {
            '6749221597744654374': {
                person: [
                    {
                        type: 'TEXT',
                        style: 'strong',
                        text: 'Neil Chat',
                    },
                ],
                actorEmail: 'neil+chat@expensifail.com',
                actorAccountID: 220,
                message: [
                    {
                        type: 'TEXT',
                        style: 'strong',
                        text: 'You',
                    },
                    {
                        type: 'TEXT',
                        style: 'normal',
                        text: ' closed this report',
                    },
                ],
                originalMessage: {
                    policyName: "Expensifail's Workspace 2",
                    reason: 'policyDeleted',
                },
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_3.png',
                created: '2023-04-18 23:42:55.885',
                timestamp: 1681861375,
                reportActionTimestamp: 1681861375885,
                automatic: false,
                actionName: 'CLOSED',
                shouldShow: true,
                reportActionID: '6749221597744654374',
            },
            '2751583819005487274': {
                reportActionID: '2751583819005487274',
                actionName: 'CREATED',
                created: '2023-04-18 23:42:54.841',
                reportActionTimestamp: 1681861374841,
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_3.png',
                message: [
                    {
                        type: 'TEXT',
                        style: 'strong',
                        text: 'You',
                    },
                    {
                        type: 'TEXT',
                        style: 'normal',
                        text: ' created this report',
                    },
                ],
                person: [
                    {
                        type: 'TEXT',
                        style: 'strong',
                        text: 'Neil Chat',
                    },
                ],
                automatic: false,
                sequenceNumber: 0,
                shouldShow: true,
            },
        },
    },
    {
        onyxMethod: 'set',
        key: 'policy_BEB826F4F75AD818',
        value: null,
    },
    {
        onyxMethod: 'merge',
        key: 'account',
        value: {
            guideCalendarLink: null,
        },
    },
];

const reconnectUpdates = [
    {
        onyxMethod: 'merge',
        key: 'nvp_priorityMode',
        value: 'default',
    },
    {
        onyxMethod: 'merge',
        key: 'isFirstTimeNewExpensifyUser',
        value: false,
    },
    {
        onyxMethod: 'merge',
        key: 'preferredLocale',
        value: 'en',
    },
    {
        onyxMethod: 'merge',
        key: 'nvp_paypalMeAddress',
        value: '',
    },
    {
        onyxMethod: 'merge',
        key: 'preferredEmojiSkinTone',
        value: 'default',
    },
    {
        onyxMethod: 'set',
        key: 'frequentlyUsedEmojis',
        value: [],
    },
    {
        onyxMethod: 'merge',
        key: 'private_blockedFromConcierge',
        value: {},
    },
    {
        onyxMethod: 'merge',
        key: 'private_pushNotificationID',
        value: 'wWpAFuNOtLYc2EJA',
    },
    {
        onyxMethod: 'merge',
        key: 'user',
        value: {
            isSubscribedToNewsletter: true,
            validated: true,
            isUsingExpensifyCard: true,
        },
    },
    {
        onyxMethod: 'set',
        key: 'loginList',
        value: {
            '+19252867213@expensify.sms': {
                partnerName: 'expensify.com',
                partnerUserID: '+19252867213@expensify.sms',
                validatedDate: '',
            },
            'neil+chat@expensifail.com': {
                partnerName: 'expensify.com',
                partnerUserID: 'neil+chat@expensifail.com',
                validatedDate: '2023-02-09 03:19:31',
            },
        },
    },
    {
        onyxMethod: 'merge',
        key: 'personalDetails',
        value: {
            'andrew+tran1@expensifail.com': {
                accountID: '25',
                login: 'andrew+tran1@expensifail.com',
                avatar: 'https://d2g02b6ed2w9fz.cloudfront.net/7ad2ac53c8d638c7c735b05f5bcd8f02850e1b2e_128.jpeg',
                displayName: 'Andrew Gable',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: 'Andrew',
                lastName: 'Gable',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'andrew+tran2@expensifail.com': {
                accountID: '26',
                login: 'andrew+tran2@expensifail.com',
                avatar: 'https://d2g02b6ed2w9fz.cloudfront.net/b49f7f0277e3568c251cd18a05d2c45b84d4f9a0_128.jpeg',
                displayName: 'Andrew Gable',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: 'Andrew',
                lastName: 'Gable',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'andrew+tran3@expensifail.com': {
                accountID: '27',
                login: 'andrew+tran3@expensifail.com',
                avatar: 'https://d2g02b6ed2w9fz.cloudfront.net/6bd558d009770724e44b7ba0c27cb075617a0edc_128.jpeg',
                displayName: 'Andrew Gable',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: 'Andrew',
                lastName: 'Gable',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'andrew+tran4@expensifail.com': {
                accountID: '28',
                login: 'andrew+tran4@expensifail.com',
                avatar: 'https://d2g02b6ed2w9fz.cloudfront.net/f53333a71dd454fa179f72d1e9d35991446b0417_128.jpeg',
                displayName: 'Andrew Gable',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: 'Andrew',
                lastName: 'Gable',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'android-settings@expensifail.com': {
                accountID: '10',
                login: 'android-settings@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_1.png',
                displayName: 'android-settings@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'bancorptest@expensifail.com': {
                accountID: '219',
                login: 'bancorptest@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_7.png',
                displayName: 'bancorptest@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'disablepolicies@expensifail.com': {
                accountID: '70',
                login: 'disablepolicies@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_4.png',
                displayName: 'disablepolicies@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'guide1@team.expensify.com': {
                accountID: '36',
                login: 'guide1@team.expensify.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_7.png',
                displayName: 'guide1@team.expensify.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+approved@expensifail.com': {
                accountID: '78',
                login: 'neil+approved@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_1.png',
                displayName: 'neil+approved@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+blankkba@expensifail.com': {
                accountID: '218',
                login: 'neil+blankkba@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_3.png',
                displayName: 'neil+blankkba@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+chat@expensifail.com': {
                accountID: '220',
                login: 'neil+chat@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_3.png',
                displayName: 'Neil Chat',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: 'Neil',
                lastName: 'Chat',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
                localCurrencyCode: 'USD',
            },
            'neil+ew@expensifail.com': {
                accountID: '11',
                login: 'neil+ew@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_5.png',
                displayName: 'neil+ew@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+guide2@expensifail.com': {
                accountID: '33',
                login: 'neil+guide2@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_2.png',
                displayName: 'neil+guide2@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+guide3@expensifail.com': {
                accountID: '34',
                login: 'neil+guide3@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_4.png',
                displayName: 'neil+guide3@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+guide@expensifail.com': {
                accountID: '31',
                login: 'neil+guide@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_5.png',
                displayName: 'neil+guide@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+lastread1@expensifail.com': {
                accountID: '157',
                login: 'neil+lastread1@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_4.png',
                displayName: 'neil+lastread1@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+lastread2@expensifail.com': {
                accountID: '158',
                login: 'neil+lastread2@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_2.png',
                displayName: 'neil+lastread2@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+lastread3@expensifail.com': {
                accountID: '159',
                login: 'neil+lastread3@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_3.png',
                displayName: 'neil+lastread3@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+lastread4@expensifail.com': {
                accountID: '160',
                login: 'neil+lastread4@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_6.png',
                displayName: 'neil+lastread4@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+lastread5@expensifail.com': {
                accountID: '161',
                login: 'neil+lastread5@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_6.png',
                displayName: 'neil+lastread5@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+lastread@expensifail.com': {
                accountID: '156',
                login: 'neil+lastread@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_6.png',
                displayName: 'neil+lastread@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+member@expensifail.com': {
                accountID: '23',
                login: 'neil+member@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_1.png',
                displayName: 'Test User',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: 'Test',
                lastName: 'User',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+merge1@expensifail.com': {
                accountID: '217',
                login: 'neil+merge1@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_6.png',
                displayName: 'neil+merge1@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/New_York',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+offlinew@expensifail.com': {
                accountID: '24',
                login: 'neil+offlinew@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_2.png',
                displayName: 'neil+offlinew@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil+receiver@expensifail.com': {
                accountID: '221',
                login: 'neil+receiver@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_7.png',
                displayName: 'Test User',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: 'Test',
                lastName: 'User',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
            'neil@expensifail.com': {
                accountID: '2',
                login: 'neil@expensifail.com',
                avatar: 'https://d2g02b6ed2w9fz.cloudfront.net/711cba1ffa05476f18400d225e609e78ad143017_128.jpeg',
                displayName: 'Neil Marcellini',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: 'Neil',
                lastName: 'Marcellini',
                payPalMeAddress: 'test',
                phoneNumber: '',
                validated: true,
            },
            'sub@expensifail.com': {
                accountID: '225',
                login: 'sub@expensifail.com',
                avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_7.png',
                displayName: 'sub@expensifail.com',
                pronouns: '',
                timezone: {
                    automatic: true,
                    selected: 'America/Los_Angeles',
                },
                firstName: '',
                lastName: '',
                payPalMeAddress: '',
                phoneNumber: '',
                validated: true,
            },
        },
    },
    {
        onyxMethod: 'set',
        key: 'betas',
        value: [
            'all',
        ],
    },
    {
        onyxMethod: 'merge',
        key: 'countryCode',
        value: 1,
    },
    {
        onyxMethod: 'merge',
        key: 'account',
        value: {
            requiresTwoFactorAuth: false,
            guideCalendarLink: null,
            doesDomainHaveApprovedAccountant: true,
        },
    },
    {
        onyxMethod: 'mergecollection',
        key: 'policy_',
        value: {
            policy_2ACFF852D2CC4D01: {
                isFromFullPolicy: false,
                id: '2ACFF852D2CC4D01',
                name: 'Test member leaves',
                role: 'user',
                type: 'free',
                owner: 'neil@expensifail.com',
                outputCurrency: 'USD',
                avatar: '',
                employeeList: [],
            },
            policy_72A0164430D6FACF: {
                isFromFullPolicy: false,
                id: '72A0164430D6FACF',
                name: "Expensifail's Workspace",
                role: 'admin',
                type: 'free',
                owner: 'neil+chat@expensifail.com',
                outputCurrency: 'USD',
                avatar: '',
                employeeList: [],
            },
            policy_82BCEAB76D094ABE: {
                isFromFullPolicy: false,
                id: '82BCEAB76D094ABE',
                name: 'Testo',
                role: 'admin',
                type: 'corporate',
                owner: 'neil+chat@expensifail.com',
                outputCurrency: 'USD',
                avatar: '',
                employeeList: [],
            },
            policy_B05A163BB8A9A431: {
                isFromFullPolicy: false,
                id: 'B05A163BB8A9A431',
                name: 'Bleh',
                role: 'admin',
                type: 'corporate',
                owner: 'neil+chat@expensifail.com',
                outputCurrency: 'USD',
                avatar: '',
                employeeList: [],
            },
            policy_CCF3D66B17979FFC: {
                isFromFullPolicy: false,
                id: 'CCF3D66B17979FFC',
                name: "Neil's Expenses",
                role: 'admin',
                type: 'personal',
                owner: 'neil+chat@expensifail.com',
                outputCurrency: 'USD',
                avatar: '',
                employeeList: [],
            },
        },
    },
    {
        onyxMethod: 'set',
        key: 'policy_BEB826F4F75AD818',
        value: null,
    },
    {
        onyxMethod: 'mergecollection',
        key: 'report_',
        value: {
            report_126796032177266: {
                reportID: '126796032177266',
                reportName: '#announce',
                type: 'chat',
                chatType: 'policyAnnounce',
                ownerEmail: '__FAKE__',
                policyID: '1F6ED163FB2AB8F3',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 22:00:01.032',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 22:00:02.020',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'daily',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_431645640899024: {
                reportID: '431645640899024',
                reportName: '#admins',
                type: 'chat',
                chatType: 'policyAdmins',
                ownerEmail: '__FAKE__',
                policyID: '8576E951E40F9F55',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: true,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 22:20:34.536',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 22:20:35.777',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_513674779821781: {
                reportID: '513674779821781',
                reportName: '#announce',
                type: 'chat',
                chatType: 'policyAnnounce',
                ownerEmail: '__FAKE__',
                policyID: '0E2119BA75D8E6D5',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 21:08:26.913',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 21:08:27.932',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'daily',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_1082245576053598: {
                reportID: '1082245576053598',
                reportName: '#admins',
                type: 'chat',
                chatType: 'policyAdmins',
                ownerEmail: '__FAKE__',
                policyID: '72A0164430D6FACF',
                maxSequenceNumber: 1,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 21:07:25.626',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-02-09 03:19:54.167',
                lastMessageText: '',
                lastActorEmail: '__FAKE__',
                notificationPreference: 'always',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_1210036323260305: {
                reportID: '1210036323260305',
                reportName: 'Chat Report',
                type: 'chat',
                chatType: '',
                ownerEmail: '__FAKE__',
                policyID: '_FAKE_',
                maxSequenceNumber: 5,
                participants: [
                    'concierge@expensify.com',
                ],
                isPinned: true,
                lastReadTimestamp: 0,
                lastReadTime: '2023-03-31 12:26:17.821',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-03-07 22:57:28.738',
                lastMessageText: "If you want the Expensify mobile app, I'll send you a link to download it. Just ",
                lastActorEmail: 'concierge@expensify.com',
                notificationPreference: 'always',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: "If you want the Expensify mobile app, I'll send you a link to download it. Just enter your number <a href=\"https://www.expensify.com.dev/inbox?policyID=82BCEAB76D094ABE&amp;taskID=DownloadMobileApp\" target=\"_blank\" rel=\"noreferrer noopener\">here.</a> For questions, just reply to this message.",
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_1489288311850505: {
                reportID: '1489288311850505',
                reportName: '#admins',
                type: 'chat',
                chatType: 'policyAdmins',
                ownerEmail: '__FAKE__',
                policyID: '0D1F42B364BA7A5D',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: true,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 23:36:06.915',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 23:36:07.984',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_1691366772299777: {
                reportID: '1691366772299777',
                reportName: '',
                type: 'chat',
                chatType: 'policyExpenseChat',
                ownerEmail: 'neil+chat@expensifail.com',
                policyID: '8576E951E40F9F55',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: null,
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 22:20:35.776',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: true,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_2035449728204717: {
                reportID: '2035449728204717',
                reportName: '',
                type: 'chat',
                chatType: 'policyExpenseChat',
                ownerEmail: 'neil+chat@expensifail.com',
                policyID: '0D1F42B364BA7A5D',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: null,
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 23:36:07.982',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: true,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_2051546831513810: {
                reportID: '2051546831513810',
                reportName: '#admins',
                type: 'chat',
                chatType: 'policyAdmins',
                ownerEmail: '__FAKE__',
                policyID: 'BEB826F4F75AD818',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: true,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 23:42:54.839',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 23:42:55.886',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_2587925438502039: {
                reportID: '2587925438502039',
                reportName: '#announce',
                type: 'chat',
                chatType: 'policyAnnounce',
                ownerEmail: '__FAKE__',
                policyID: '8576E951E40F9F55',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 22:20:34.534',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 22:20:35.778',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'daily',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_3022342257169816: {
                reportID: '3022342257169816',
                reportName: '',
                type: 'chat',
                chatType: 'policyExpenseChat',
                ownerEmail: 'neil+chat@expensifail.com',
                policyID: 'AF79C60C1D7152E5',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: null,
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-11 17:55:08.220',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: true,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_3115375457856523: {
                reportID: '3115375457856523',
                reportName: '#admins',
                type: 'chat',
                chatType: 'policyAdmins',
                ownerEmail: '__FAKE__',
                policyID: '82BCEAB76D094ABE',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                    'guide1@team.expensify.com',
                ],
                isPinned: true,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 21:32:25.436',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-02-13 19:48:54.359',
                lastMessageText: 'Expensify - Your dedicated setup specialist!',
                lastActorEmail: 'guide1@team.expensify.com',
                notificationPreference: 'always',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: "<h1>Expensify - Your dedicated setup specialist!</h1><br />Hi, I'm your Expensify setup specialist assigned to provide you with a personalized onboarding experience.<br /><br />Can I help you set up Expensify or provide a demonstration?<br /><br />Happy to chat here, or pick a time to schedule a call if you prefer!<br /><br />In addition to my personalized support, Expensify's Concierge will be reaching out to provide super quick chat support",
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_3395302895435361: {
                reportID: '3395302895435361',
                reportName: '#announce',
                type: 'chat',
                chatType: 'policyAnnounce',
                ownerEmail: '__FAKE__',
                policyID: '0D1F42B364BA7A5D',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 23:36:06.913',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 23:36:07.985',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'daily',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_3623666748648081: {
                reportID: '3623666748648081',
                reportName: '#announce',
                type: 'chat',
                chatType: 'policyAnnounce',
                ownerEmail: '__FAKE__',
                policyID: 'BEB826F4F75AD818',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 23:42:54.837',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 23:42:55.887',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'daily',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_3638411540750268: {
                reportID: '3638411540750268',
                reportName: 'Chat Report',
                type: 'chat',
                chatType: '',
                ownerEmail: '__FAKE__',
                policyID: '_FAKE_',
                maxSequenceNumber: 4,
                participants: [
                    'neil@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2023-03-31 16:39:22.067',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-13 18:58:50.354',
                lastMessageText: '[Attachment]',
                lastActorEmail: 'neil@expensifail.com',
                notificationPreference: 'always',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '<img src="https://www.expensify.com.dev/chat-attachments/4959270187138183140/w_9cf57edcd1b48a46520059f7a234dd63e3346734.jpg.1024.jpg" data-expensify-source="https://www.expensify.com.dev/chat-attachments/4959270187138183140/w_9cf57edcd1b48a46520059f7a234dd63e3346734.pdf" data-name="dummy.pdf" data-expensify-width="0" data-expensify-height="0" />',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_3702601733439592: {
                reportID: '3702601733439592',
                reportName: '',
                type: 'chat',
                chatType: 'policyExpenseChat',
                ownerEmail: 'neil+chat@expensifail.com',
                policyID: 'BEB826F4F75AD818',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: null,
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 23:42:55.885',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: true,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_3732114197496895: {
                reportID: '3732114197496895',
                reportName: '#announce',
                type: 'chat',
                chatType: 'policyAnnounce',
                ownerEmail: '__FAKE__',
                policyID: 'DCC6761DCADFAF4F',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-11 18:06:36.023',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-11 18:06:37.483',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'daily',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_3844841373520957: {
                reportID: '3844841373520957',
                reportName: '',
                type: 'chat',
                chatType: 'policyExpenseChat',
                ownerEmail: 'neil+chat@expensifail.com',
                policyID: '72A0164430D6FACF',
                maxSequenceNumber: 1,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: null,
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-02-09 03:19:54.168',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: true,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_4208950109716409: {
                reportID: '4208950109716409',
                reportName: '#admins',
                type: 'chat',
                chatType: 'policyAdmins',
                ownerEmail: '__FAKE__',
                policyID: 'B05A163BB8A9A431',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                    'guide1@team.expensify.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: null,
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-02-10 17:53:41.936',
                lastMessageText: 'Expensify - Your dedicated setup specialist!',
                lastActorEmail: 'guide1@team.expensify.com',
                notificationPreference: 'always',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: "<h1>Expensify - Your dedicated setup specialist!</h1><br />Hi, I'm your Expensify setup specialist assigned to provide you with a personalized onboarding experience.<br /><br />Can I help you set up Expensify or provide a demonstration?<br /><br />Happy to chat here, or pick a time to schedule a call if you prefer!<br /><br />In addition to my personalized support, Expensify's Concierge will be reaching out to provide super quick chat support",
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_4311585468949756: {
                reportID: '4311585468949756',
                reportName: '#expensifail.com',
                type: 'chat',
                chatType: 'domainAll',
                ownerEmail: '+@expensifail.com',
                policyID: '_FAKE_',
                maxSequenceNumber: 1,
                participants: [
                    'android-settings@expensifail.com',
                    'neil+ew@expensifail.com',
                    'neil+member@expensifail.com',
                    'neil+offlinew@expensifail.com',
                    'andrew+tran1@expensifail.com',
                    'andrew+tran2@expensifail.com',
                    'andrew+tran3@expensifail.com',
                    'andrew+tran4@expensifail.com',
                    'neil+guide@expensifail.com',
                    'neil+guide2@expensifail.com',
                    'neil+guide3@expensifail.com',
                    'disablepolicies@expensifail.com',
                    'neil+approved@expensifail.com',
                    'neil+lastread@expensifail.com',
                    'neil+lastread1@expensifail.com',
                    'neil+lastread2@expensifail.com',
                    'neil+lastread3@expensifail.com',
                    'neil+lastread4@expensifail.com',
                    'neil+lastread5@expensifail.com',
                    'neil+merge1@expensifail.com',
                    'neil+blankkba@expensifail.com',
                    'bancorptest@expensifail.com',
                    'neil+chat@expensifail.com',
                    'neil+receiver@expensifail.com',
                    'sub@expensifail.com',
                    'neil@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: null,
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2022-10-11 21:36:50',
                lastMessageText: '',
                lastActorEmail: '+@expensifail.com',
                notificationPreference: 'daily',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_4439646888873970: {
                reportID: '4439646888873970',
                reportName: '',
                type: 'chat',
                chatType: 'policyExpenseChat',
                ownerEmail: 'neil+chat@expensifail.com',
                policyID: 'F9D26EE022B8A10F',
                maxSequenceNumber: 2,
                participants: [
                    'neil@expensifail.com',
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: null,
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-11 17:46:00.938',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: 'Replay test',
                visibility: null,
                isOwnPolicyExpenseChat: true,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_4739888705357758: {
                reportID: '4739888705357758',
                reportName: '',
                type: 'chat',
                chatType: 'policyExpenseChat',
                ownerEmail: 'neil+chat@expensifail.com',
                policyID: '2ACFF852D2CC4D01',
                maxSequenceNumber: 2,
                participants: [
                    'neil@expensifail.com',
                    'guide1@team.expensify.com',
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2023-03-31 16:17:03.816',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-03-31 12:25:02.558',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: true,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_4929166735962788: {
                reportID: '4929166735962788',
                reportName: '#admins',
                type: 'chat',
                chatType: 'policyAdmins',
                ownerEmail: '__FAKE__',
                policyID: '0E2119BA75D8E6D5',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: true,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 21:08:26.914',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 21:08:27.931',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_4942493231397942: {
                reportID: '4942493231397942',
                reportName: '#announce',
                type: 'chat',
                chatType: 'policyAnnounce',
                ownerEmail: '__FAKE__',
                policyID: 'B05A163BB8A9A431',
                maxSequenceNumber: 1,
                participants: [
                    'neil+chat@expensifail.com',
                    'guide1@team.expensify.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: null,
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-02-10 17:53:41.528',
                lastMessageText: '',
                lastActorEmail: '__FAKE__',
                notificationPreference: 'daily',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_5011676669305759: {
                reportID: '5011676669305759',
                reportName: '#announce',
                type: 'chat',
                chatType: 'policyAnnounce',
                ownerEmail: '__FAKE__',
                policyID: '82BCEAB76D094ABE',
                maxSequenceNumber: 1,
                participants: [
                    'neil+chat@expensifail.com',
                    'guide1@team.expensify.com',
                    'neil@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: null,
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-02-13 19:48:54.004',
                lastMessageText: '',
                lastActorEmail: '__FAKE__',
                notificationPreference: 'daily',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_5365659650744067: {
                reportID: '5365659650744067',
                reportName: '',
                type: 'chat',
                chatType: 'policyExpenseChat',
                ownerEmail: 'neil+chat@expensifail.com',
                policyID: '0E2119BA75D8E6D5',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 22:08:12.362',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 21:08:27.930',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: true,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_6322138768018391: {
                reportID: '6322138768018391',
                reportName: '#announce',
                type: 'chat',
                chatType: 'policyAnnounce',
                ownerEmail: '__FAKE__',
                policyID: '72A0164430D6FACF',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 1676079411782,
                lastReadTime: '2023-04-03 23:32:49.889',
                lastReadSequenceNumber: 1,
                lastVisibleActionCreated: '2023-02-10 20:10:12.615',
                lastMessageText: 'hello',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'daily',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: 'hello',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_6662266000181653: {
                reportID: '6662266000181653',
                reportName: '#admins',
                type: 'chat',
                chatType: 'policyAdmins',
                ownerEmail: '__FAKE__',
                policyID: '1F6ED163FB2AB8F3',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: true,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 22:00:01.033',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 22:00:02.019',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_6801851041138366: {
                reportID: '6801851041138366',
                reportName: '#admins',
                type: 'chat',
                chatType: 'policyAdmins',
                ownerEmail: '__FAKE__',
                policyID: 'AF79C60C1D7152E5',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: true,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-11 18:55:42.012',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-11 17:55:08.222',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_7501920289979486: {
                reportID: '7501920289979486',
                reportName: '#announce',
                type: 'chat',
                chatType: 'policyAnnounce',
                ownerEmail: '__FAKE__',
                policyID: '2ACFF852D2CC4D01',
                maxSequenceNumber: 1,
                participants: [
                    'neil@expensifail.com',
                    'guide1@team.expensify.com',
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2022-10-28 20:41:15',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2022-10-28 20:41:15',
                lastMessageText: '',
                lastActorEmail: '__FAKE__',
                notificationPreference: 'daily',
                stateNum: 0,
                statusNum: 0,
                oldPolicyName: '',
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_7912030612546952: {
                reportID: '7912030612546952',
                reportName: '#admins',
                type: 'chat',
                chatType: 'policyAdmins',
                ownerEmail: '__FAKE__',
                policyID: 'DCC6761DCADFAF4F',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: true,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-11 18:06:36.025',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-11 18:06:37.483',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_8111680706945263: {
                reportID: '8111680706945263',
                reportName: '',
                type: 'chat',
                chatType: 'policyExpenseChat',
                ownerEmail: 'neil+chat@expensifail.com',
                policyID: 'DCC6761DCADFAF4F',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-11 18:55:42.431',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-11 18:06:37.482',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: true,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_8125070480322174: {
                reportID: '8125070480322174',
                reportName: '',
                type: 'chat',
                chatType: 'policyExpenseChat',
                ownerEmail: 'neil+chat@expensifail.com',
                policyID: '1F6ED163FB2AB8F3',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-18 23:42:57.019',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-18 22:00:02.018',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'always',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: true,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
            report_8691775029262437: {
                reportID: '8691775029262437',
                reportName: '#announce',
                type: 'chat',
                chatType: 'policyAnnounce',
                ownerEmail: '__FAKE__',
                policyID: 'AF79C60C1D7152E5',
                maxSequenceNumber: 2,
                participants: [
                    'neil+chat@expensifail.com',
                ],
                isPinned: false,
                lastReadTimestamp: 0,
                lastReadTime: '2023-04-11 17:55:06.727',
                lastReadSequenceNumber: 0,
                lastVisibleActionCreated: '2023-04-11 17:55:08.222',
                lastMessageText: '',
                lastActorEmail: 'neil+chat@expensifail.com',
                notificationPreference: 'daily',
                stateNum: 2,
                statusNum: 2,
                oldPolicyName: "Expensifail's Workspace 2",
                visibility: null,
                isOwnPolicyExpenseChat: false,
                lastMessageHtml: '',
                hasOutstandingIOU: false,
                policyName: null,
            },
        },
    },
];

const allUpdates = [...createUpdates, ...deleteUpdates, ...reconnectUpdates];
Onyx.update(allUpdates);

@neil-marcellini
Copy link
Contributor

Also, by the way, I did try modifying Onyx.update to apply the updates in order and that didn't seem to fix the problem either. I'm guessing the problem here is that we don't batch updates when using Onyx.set, so they could cut in line or notify subscribers before all the updates have been applied?

I'm just guessing for now, I'll debug more thoroughly at a later time.

@iwiznia
Copy link
Contributor

iwiznia commented Apr 19, 2023

Would any of that be solved when we do the "one event per request per user" project?

@neil-marcellini
Copy link
Contributor

I don't think so, because we still end up with the same list of Onyx updates right? The problem is that applying them all at the same time doesn't produce the desired end result in local storage.

@iwiznia
Copy link
Contributor

iwiznia commented Apr 20, 2023

The problem is that applying them all at the same time doesn't produce the desired end result in local storage.

Huh? Any ideas why?

@melvin-bot melvin-bot bot added the Overdue label May 5, 2023
@kadiealexander kadiealexander changed the title [Hold - #12755] Deleted workspace blinks in workspace list after deleting [Hold - #12775] Deleted workspace blinks in workspace list after deleting May 8, 2023
@kadiealexander
Copy link
Contributor

Still on hold!

@melvin-bot melvin-bot bot removed the Overdue label Aug 24, 2023
@melvin-bot melvin-bot bot added the Overdue label Sep 1, 2023
@kadiealexander
Copy link
Contributor

Checked in on where the Onyx issue is at here.

@melvin-bot melvin-bot bot removed the Overdue label Sep 4, 2023
@melvin-bot melvin-bot bot added the Overdue label Sep 12, 2023
@neil-marcellini
Copy link
Contributor

I've been OOO and prioritizing distance requests. Sorry 😬

@melvin-bot melvin-bot bot removed the Overdue label Sep 13, 2023
@melvin-bot melvin-bot bot added the Overdue label Sep 21, 2023
@neil-marcellini
Copy link
Contributor

same

@melvin-bot melvin-bot bot removed the Overdue label Sep 22, 2023
@melvin-bot melvin-bot bot added the Overdue label Oct 2, 2023
@neil-marcellini
Copy link
Contributor

I still haven't had time for this.

@melvin-bot melvin-bot bot removed the Overdue label Oct 2, 2023
@melvin-bot melvin-bot bot added the Overdue label Oct 10, 2023
@neil-marcellini
Copy link
Contributor

Same, still holding. It's one of my lowest priority weekly issues.

@melvin-bot melvin-bot bot removed the Overdue label Oct 10, 2023
@melvin-bot melvin-bot bot added the Overdue label Oct 19, 2023
@neil-marcellini
Copy link
Contributor

Same

@melvin-bot melvin-bot bot removed the Overdue label Oct 19, 2023
@melvin-bot melvin-bot bot added the Overdue label Oct 30, 2023
@neil-marcellini
Copy link
Contributor

Downgrading to monthly

@melvin-bot melvin-bot bot removed the Overdue label Oct 30, 2023
@neil-marcellini neil-marcellini added Monthly KSv2 and removed Weekly KSv2 labels Oct 30, 2023
@neil-marcellini
Copy link
Contributor

I'm getting an external expert to fix the Onyx issue!

@chrispader
Copy link
Contributor

This might be fixed by Expensify/react-native-onyx#437

@chrispader
Copy link
Contributor

I can confirm, this has been fixed by my PR:

Screen.Recording.2023-12-19.at.20.58.50.mov

@kadiealexander
Copy link
Contributor

Woohoo! Thanks @chrispader!

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. Monthly KSv2
Projects
None yet
Development

No branches or pull requests

7 participants