You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Due for payment 2026-10-07] Tags - No lock icon on GL code field when connected to accounting #102485
Version Number: 9.4.95-0 Reproducible in staging?: Yes Reproducible in production?: No If this was caught during regression testing, add the test name, ID and link from BrowserStack:#100885 Email or phone of affected tester (no customers):jsdoijnodsdisojo@gmail.com Issue reported by: Applause Internal Team Bug source: Exploratory - Significant User Experience Deterioration Device used: Mac 26.5 / Chrome App Component: Workspace Settings
Action Performed:
Precondition:
Connect workspace to QBO.
Go to staging.new.expensify.com
Go to workspace settings > Tags.
Open any tag.
Open any subtag.
Expected Result:
Lock icon will be shown on tag GL code field when connected to accounting.
Actual Result:
Lock icon is not shown on tag GL code field when connected to accounting.
👋 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:
Identify the pull request that introduced this issue and revert it.
iconRight is the Lock only when hasAccountingConnections is true.
The PR changed shouldShowRightIcon from canWriteTags && !hasDependentTags to canWriteTags && !hasAccountingConnections.
So the icon slot is hidden exactly when the Lock is set, and the Lock can never render. The PR appears to have copied the interactive condition into shouldShowRightIcon when it removed !hasDependentTags.
This matches the report. The bug is on staging only because the PR isn't in production. It shows on tags and subtags because both use this page.
Root cause: in DynamicTagSettingsPage, the GL code row passes the lock through iconRight, but MenuItem only renders the trailing icon when shouldShowRightIcon is true. Our PR set shouldShowRightIcon={canWriteTags && !hasAccountingConnections}, which is false exactly when accounting is connected, so the lock was hidden. Fix restores it to shouldShowRightIcon={canWriteTags}; interactive already stays false when connected, so the field remains locked and now shows the lock icon.
@DylanDylann should i proceed with opening a PR fix and tests?
changed the title [-]Tags - No lock icon on GL code field when connected to accounting[/-][+][Due for payment 2026-10-07] Tags - No lock icon on GL code field when connected to accounting[/+]on Sep 30, 2026
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.4.95-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-07. 🎊
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]
Activity
applause-bot commentedon Sep 29, 2026
While Applause doesn't embed attachments for this bug, here are the links for quick view:
https://platform.applause.com/services/links/v1/external/0dc87746a6b50800cd795f6930d3ce7990a13c21d465313ca0113f2869f5e35e
melvin-bot commentedon Sep 29, 2026
You have been assigned to this deploy blocker because you recently merged this PR: #100885
melvin-bot commentedon Sep 29, 2026
@blimpich @DylanDylann you have been assigned to this deploy blocker because you reviewed the offending PR: #100885
melvin-bot commentedon Sep 29, 2026
💬 A slack conversation has been started in #expensify-open-source
github-actions commentedon Sep 29, 2026
👋 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:
MelvinBot commentedon Sep 29, 2026
Deploy Blocker Investigation
Causing PR: Support GL codes for dependent multi-level tags. The auto-assignment is correct.
Recommendation: roll forward with a one-line fix. In
DynamicTagSettingsPage.tsx:216, change:This restores the lock on connected workspaces and keeps the dependent-tag GL code feature. A revert also works, but it would bring back Tags - GL code option is shown for dependent tags when not available.
Investigation details
Mechanism:
MenuItemdrawsiconRightonly whenshouldShowRightIconis true (MenuItem.tsx:1132-1145).On the GL code row (
DynamicTagSettingsPage.tsx:214-216):iconRightis the Lock only whenhasAccountingConnectionsis true.shouldShowRightIconfromcanWriteTags && !hasDependentTagstocanWriteTags && !hasAccountingConnections.So the icon slot is hidden exactly when the Lock is set, and the Lock can never render. The PR appears to have copied the
interactivecondition intoshouldShowRightIconwhen it removed!hasDependentTags.This matches the report. The bug is on staging only because the PR isn't in production. It shows on tags and subtags because both use this page.
Other checklist PRs ruled out: No other PR on Deploy Checklist: New Expensify 2026-09-28 touches the tag pages or the right-icon gate in
MenuItem.Optional: Add a regression test that renders the page with an accounting connection and checks that the Lock icon is present.
view run
DylanDylann commentedon Sep 29, 2026
@neerajbachani Can you raise a quick PR to address this DB?
DylanDylann commentedon Sep 29, 2026
@MelvinBot Implement this
1 remaining item
neerajbachani commentedon Sep 29, 2026
Root cause: in DynamicTagSettingsPage, the GL code row passes the lock through iconRight, but MenuItem only renders the trailing icon when shouldShowRightIcon is true. Our PR set shouldShowRightIcon={canWriteTags && !hasAccountingConnections}, which is false exactly when accounting is connected, so the lock was hidden. Fix restores it to shouldShowRightIcon={canWriteTags}; interactive already stays false when connected, so the field remains locked and now shows the lock icon.
@DylanDylann should i proceed with opening a PR fix and tests?
DylanDylann commentedon Sep 29, 2026
@neerajbachani Yes, please open a PR to address this issue
fix: show lock icon on tag GL code field when connected to accounting
blimpich commentedon Sep 29, 2026
CP in progress
blimpich commentedon Sep 29, 2026
retest happening here: https://expensify.slack.com/archives/C09V78U42D8/p1790703132946179
m-natarajan commentedon Sep 29, 2026
Not repro on Mac 26.6.2 Chrome, iPhone 15 Xiaomi Redmi Note 10 / Android 12 and build 9.4.95-1
Screenrecorder-2026-09-29-20-51-46-578.mp4
GL.code.lock.iOS.mp4
GL.code.QBO.mp4
[-]Tags - No lock icon on GL code field when connected to accounting[/-][+][Due for payment 2026-10-07] Tags - No lock icon on GL code field when connected to accounting[/+]melvin-bot commentedon Sep 30, 2026
@DylanDylann
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.4.95-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-07. 🎊
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]