Skip to content

[Due for payment 2026-10-30] Fix false missingAttendees violation in Search rows #104546

Open

Description

@mountiny

Problem

In Spend → Reports, a report row shows "Report contains expenses with violations.", but the opened report shows no errors. In Spend → Expenses, its expenses show "Multiple attendees required for this category." until the expense or report is opened. Both Search rows re-check the missing-attendees violation on the client and read the top-level attendees field from snapshot data, which is never set, because the attendees live in comment.attendees.

Solution

ExpenseReportListItem and TransactionListItem now read attendees with getAttendees(), which returns modifiedAttendees ?? comment.attendees. This is the same source the Search attendees column already uses, so the rows see the real attendees from snapshot data and no longer add a false missingAttendees violation.

PR

#104540

Issue OwnerCurrent Issue Owner: @nkdengineer

Activity

  1. VickyStash commented on Oct 21, 2026

    @VickyStash
    Contributor

    PR is ready for the review: #104540

  2. self-assigned this
    on Oct 22, 2026
  3. nkdengineer commented on Oct 22, 2026

    @nkdengineer
    Contributor

    Assigned here as I'm the reviewer of the PR.

  4. changed the title [-]Fix false missingAttendees violation in Search rows[/-] [+][Due for payment 2026-10-30] Fix false missingAttendees violation in Search rows[/+] on Oct 23, 2026
  5. melvin-bot commented on Oct 23, 2026

    @melvin-bot

    @nkdengineer

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.18-1 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

    If no regressions arise, payment will be issued on 2026-10-30. 🎊

    The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the Contributor+ Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]. If no checklist is needed for this issue, you can click: [no checklist button]

  6. melvin-bot commented on Oct 26, 2026

    @melvin-bot

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

  7. nkdengineer commented on Oct 27, 2026

    @nkdengineer
    Contributor

    Contributor+ Checklist:

    • [Contributor] The offending PR and associated issue have been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.

      Link to the comment on the PR: https://github.com/Expensify/App/pull/79050/changes#r4394726168

    • [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.

      Link to discussion: N/A

    • [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

    Regression Test Proposal

    Precondition:

    • Create a WS setup-requires-attendees rule for a category. Invite a member. As a member, create an expense with the category with the rule and add two attendees.

    Test:

    1. Log in as the admin/owner/approver, or reset the cache if already logged in
    2. Go Spend > Expense
    3. Verify that the member's expense doesn't show the attendees violation.

    Do we agree 👍 or 👎

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions