Skip to content

[Due for payment 2026-11-05] iOS-Spend- Synced Vendors list is not updated in Filter with non-admin member #103145

Closed

Description

@applause-bot

If you haven’t already, check out our contributing guidelines for onboarding. To join our Slack channel, fill out this form.


Version Number: 9.5.3-0
Reproducible in staging?: Yes
Reproducible in production?: N/A - new feature, doesn't exist in prod
If this was caught during regression testing, add the test name, ID and link from BrowserStack: #101309
Email or phone of affected tester (no customers): [email protected]
Issue reported by: Applause Internal Team
Bug source: Pull Request QA execution
Device used: iPhone 11 iOS 26.7.1
App Component: Workspace Settings

Action Performed:

Preconditions:

  • Use new 2 Expensifail accounts thats never connect QBO before
  • Admin connect QBO to workspace, set up "Export company card expenses as" set to Credit card. Invite non-admin member to workspace
  1. Open Hybrid app
  2. Log in as member
  3. Go to Spend
  4. Tap on Filter button
  5. Tap on Vendor item in list

Expected Result:

Vendor appears in the filter list with the workspace's synced vendors.

Actual Result:

Only 'no vendor' is displayed in Vendor list

Workaround:

Unknown

Platforms:

  • Android: App
  • Android: mWeb Chrome
  • iOS: App
  • iOS: mWeb Safari
  • iOS: mWeb Chrome
  • Windows: Chrome
  • MacOS: Chrome Safari

Screenshots/Videos

Bug7278431_1791258421593.Isu.mp4

View all open jobs on GitHub

Applause Internal Information
Exported by: Julia Ponikarchuk
Bug ID: 7278431

Issue OwnerCurrent Issue Owner: @eVoloshchak

Activity

  1. added
    DeployBlockerCashThis issue or pull request should block deployment
    BugSomething is broken. Auto assigns a BugZero manager.
    on Oct 6, 2026
  2. melvin-bot commented on Oct 6, 2026

    @melvin-bot

    You have been assigned to this deploy blocker because you recently merged this PR: #101309

  3. melvin-bot commented on Oct 6, 2026

    @melvin-bot

    @Beamanator @eVoloshchak you have been assigned to this deploy blocker because you reviewed the offending PR: #101309

  4. github-actions commented on Oct 6, 2026

    @github-actions
    Contributor

    👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

    1. Identify the pull request that introduced this issue and revert it.
    2. Find someone who can quickly fix the issue.
    3. Fix the issue yourself.
  5. melvin-bot commented on Oct 6, 2026

    @melvin-bot

    @c3024 you have been assigned to this deploy blocker because you authored the offending PR: #101309

  6. melvin-bot commented on Oct 6, 2026

    @melvin-bot

    💬 A slack conversation has been started in #expensify-open-source

  7. MelvinBot commented on Oct 6, 2026

    @MelvinBot
    Contributor

    Deploy Blocker Analysis

    Causing PR: Add Vendor filter to expense Search added this feature. The App code doesn't filter by role, so the empty list most likely means the server sends no vendor data to non-admin members. Confidence: medium.

    Recommendation: Don't revert. The feature is new and staging-only, so nothing that works in production breaks. Treat this as a backend/internal issue; a separate internal investigation is needed. Consider demoting the blocker once that is confirmed.

    Investigation details

    Why the list shows only "No vendor"

    1. The Vendor row appears, so the member's workspace passes the vendor-feature check (QBO non-reimbursable export set to Credit card).
    2. VendorSelector.tsx:34 calls useLoadSearchVendorData, which sends OpenSearchVendorFiltersPage (Search.ts:1081-1107). The App sets only loading flags. The server fills policyVendors_<policyID>.
    3. VendorSelector.tsx:52-70 always adds "No vendor" first, then adds names from policyVendors_* for eligible workspaces. It has no role check.

    So "only No vendor" means policyVendors_<policyID> is empty or missing on the member's device.

    The filter doesn't read policy.connections.quickbooksOnline.data.vendors. That field feeds the expense-level Vendor picker (PolicyUtils/index.ts:2483).

    This is a gap, not a known limitation. Step 10 of the PR's test plan says a non-admin member should see the synced vendors. The PR's screenshots don't show that step.

    How to confirm

    • As the member, check whether the OpenSearchVendorFiltersPage response contains policyVendors_<policyID>. If it doesn't, the fix belongs on the backend.
    • As the member, open a non-reimbursable expense and tap Vendor. If synced vendors show there, an App-side fallback is possible: build options from getMatchingVendors(policy) for workspaces that have no policyVendors_ entry.

    Next Steps: Reply with @MelvinBot <your feedback> to refine this analysis.


    view run

  8. 8 remaining items

  9. changed the title [-]iOS-Spend- Synced Vendors list is not updated in Filter with non-admin member[/-] [+][Due for payment 2026-10-13] iOS-Spend- Synced Vendors list is not updated in Filter with non-admin member[/+] on Oct 6, 2026
  10. melvin-bot commented on Oct 6, 2026

    @melvin-bot

    @eVoloshchak

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.3-4 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-13. 🎊

    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]

  11. melvin-bot commented on Oct 8, 2026

    @melvin-bot

    ⚠️ Looks like this issue was linked to a Deploy Blocker here

    If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

    If a regression has occurred and you are the assigned CM follow the instructions here.

    If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

  12. melvin-bot commented on Oct 28, 2026

    @melvin-bot
  13. c3024 commented on Oct 28, 2026

    @c3024
    Contributor

    False flag. ⬆️

  14. Beamanator commented on Oct 28, 2026

    @Beamanator
    Contributor

    agreed, i hid it - than ks

  15. changed the title [-][Due for payment 2026-10-13] iOS-Spend- Synced Vendors list is not updated in Filter with non-admin member[/-] [+][Due for payment 2026-11-05] iOS-Spend- Synced Vendors list is not updated in Filter with non-admin member[/+] on Oct 29, 2026
  16. melvin-bot commented on Oct 29, 2026

    @melvin-bot

    @eVoloshchak

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.24-8 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-11-05. 🎊

    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]

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

Metadata

Metadata

Labels

BugSomething is broken. Auto assigns a BugZero manager.DailyKSv2Engineering

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions