Fix: render 'Vendor unavailable' instead of raw vendor ID in merchant rules after disconnecting accounting - #98619
Fix: render 'Vendor unavailable' instead of raw vendor ID in merchant rules after disconnecting accounting#98619MelvinBot wants to merge 7 commits into
Conversation
…on knows the vendor Co-authored-by: Alex Beaman <Beamanator@users.noreply.github.com>
|
I looked into the failing checks — there's no code fix to push. The two failures are both human-gated process checks, not real code/test failures:
Every actual code and test check is green — |
|
Nothing has changed since my previous comment — the same two checks are red, and both are human-gated process checks, not code/test failures:
Every actual code and test check is green ( |
|
There are no code-related check failures to fix here — all code checks (Bun tests, ESLint, Oxfmt, typecheck, The only two failing checks require human action, not a code push:
This PR is also still marked [HOLD]. To get the checks green: fill out the Tests/QA sections and check off the author checklist, then get an independent review. Once that's done, ping me if any actual CI check starts failing and I'll dig in. |
|
Status is unchanged since my previous comment — there's still nothing for me to fix here with a code push. All code checks are passing. The only two failures both require human action:
The PR is also still marked [HOLD]. Once the checklist/Tests/QA are completed by a human and an independent review lands, these will clear. If a real CI check (tests, lint, typecheck, build) starts failing, re-tag me and I'll fix it. |
|
@abzokhattab Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
I looked into the failing checks — there's nothing here I can fix with a code push. The only two failing checks are human-driven gates, not code failures:
Every actual code check is passing ( To get this green: the human co-author fills out the checklist boxes + Tests/QA sections and marks the PR ready for review, then it goes through normal review to get the independent approval. No push from me is needed or would help. |
|
@MelvinBot @codex review the PR and check for regressions, breaking changes or bugs |
|
@Beamanator Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
Nothing's changed since my previous comment — I re-checked and the only two failing checks are still non-code, human-driven gates that a push can't fix:
All actual code checks pass. To turn these green: the human co-author fills out the checklist + Tests/QA, marks the PR ready for review, and it goes through normal review for the independent approval. There's no fix for me to push. |
Review: no blocking regressionsThe core change is correct and safe. In tier 3 of the vendor-name resolution both render paths now fall back to the same Two things worth flagging (neither blocks merge): 1. The "no false unavailable flash" claim is overstated. The PR description says keeping 2. A sibling surface still leaks the raw ID (out of scope, pre-existing). The edit/add form's selected-vendor row at Details & other checks
The remaining gap is human verification: the |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f7e7016880
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Co-authored-by: Alex Beaman <Beamanator@users.noreply.github.com>
|
Fixed the failing What was wrong: Fix (b78474e): collapsed |
Co-authored-by: Alex Beaman <Beamanator@users.noreply.github.com>
|
Pushed a fix (
Verified locally: The remaining |
|
Re-checked — the checklist is now passing. The only remaining failing check is Every actual code check is green (all There's nothing for me to push here — this just needs a qualifying reviewer to approve the PR to turn the check green. |
|
Update: the checklist check is now passing. The only remaining failing check is A fresh CI run is currently in progress (tests, typecheck, ESLint, perf tests all re-running); those were green before and there are no code-level failures to fix. This PR is ready to go through normal review to clear the independent-approval requirement. |
…t rule Co-authored-by: Alex Beaman <Beamanator@users.noreply.github.com>
|
I fixed the one ESLint error that belongs to this PR and pushed it. The rest of the Fixed & pushed ( Not fixed (unrelated / pre-existing on Why I didn't fix thoseThe CI lints the whole repo ( Recommendation: merge (The |
|
Re-checked — still nothing to fix with a code push. Since my last comment the
All code checks are green ( To clear the last check: the PR needs to be marked ready for review and go through normal review to earn the independent approval. No push from me is needed or would help. |
Explanation of Change
Fixes the merchant-rule vendor summary after a workspace disconnects its accounting integration.
Merchant rules intentionally persist only the external
vendorID; the display name is resolved from the policy's connection data at render time. When the connection is removed, that data is no longer available. The previous tier-3 fallback rendered the raw external ID, which is not meaningful to users.This PR keeps the existing three-tier resolution behavior:
Vendor unavailable(orSupplier unavailablefor Xero) when the active list is loaded but does not contain the ID.findVendorByID()so a known historical name continues to render during hydration or after an export-mode change. If no connection can resolve the ID, render the existing unavailable copy instead of exposing the rawvendorID.The change is applied to both merchant-rule descriptions:
getMerchantCodingRulesTableDatafor the revamped rules table.getRuleDescriptionfor the legacy rules view.The unit tests now cover the unresolved/disconnected state in both paths while retaining coverage for a resolved vendor, an active-list miss, a stale inactive connection, an export-mode change, and Xero's supplier wording. No backend change is required.
Fixed Issues
$ #98602
PROPOSAL: #98602 (comment)
Tests
vendorMatchingbeta withOnyx.merge('betas', ['vendorMatching']);in the web console.Update vendor to "Vendor unavailable", never the raw external vendor ID.Offline tests
Vendor unavailablerather than the raw external ID. Restoring connectivity must not change a valid vendor's name to the unavailable copy.QA Steps
Same as Tests. Test the Sage Intacct disconnect flow on staging and verify that the rule displays
Vendor unavailablerather than an external vendor ID. Also verify that a valid, resolvable vendor continues to display its name.PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline testssectionQA Stepssectionmaininto this PRScreenshots/Videos
To be added with C+ validation.