Skip to content

[Due for payment 2026-10-07] Tags - No lock icon on GL code field when connected to accounting #102485

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.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.
  1. Go to staging.new.expensify.com
  2. Go to workspace settings > Tags.
  3. Open any tag.
  4. 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.

Workaround:

Unknown

Platforms:

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

Screenshots/Videos

Bug7271991_1790633058604.6.mp4

View all open jobs on GitHub

Applause Internal Information
Exported by: Mita Rachim
Bug ID: 7271991

Issue OwnerCurrent Issue Owner: @DylanDylann

Activity

  1. applause-bot commented on Sep 29, 2026

    @applause-bot
    Author

    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

  2. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Sep 29, 2026
  3. melvin-bot commented on Sep 29, 2026

    @melvin-bot

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

  4. melvin-bot commented on Sep 29, 2026

    @melvin-bot

    @blimpich @DylanDylann you have been assigned to this deploy blocker because you reviewed the offending PR: #100885

  5. melvin-bot commented on Sep 29, 2026

    @melvin-bot

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

  6. github-actions commented on Sep 29, 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.
  7. MelvinBot commented on Sep 29, 2026

    @MelvinBot
    Contributor

    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:

    -                            shouldShowRightIcon={canWriteTags && !hasAccountingConnections}
    +                            shouldShowRightIcon={canWriteTags}

    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: MenuItem draws iconRight only when shouldShowRightIcon is true (MenuItem.tsx:1132-1145).

    On the GL code row (DynamicTagSettingsPage.tsx:214-216):

    • 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.

    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

  8. DylanDylann commented on Sep 29, 2026

    @DylanDylann
    Contributor

    @neerajbachani Can you raise a quick PR to address this DB?

  9. DylanDylann commented on Sep 29, 2026

    @DylanDylann
    Contributor

    @MelvinBot Implement this

  10. 1 remaining item

  11. neerajbachani commented on Sep 29, 2026

    @neerajbachani
    Contributor

    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?

  12. DylanDylann commented on Sep 29, 2026

    @DylanDylann
    Contributor

    @neerajbachani Yes, please open a PR to address this issue

  13. blimpich commented on Sep 29, 2026

    @blimpich
    Contributor

    CP in progress

  14. blimpich commented on Sep 29, 2026

    @blimpich
    Contributor
  15. m-natarajan commented on Sep 29, 2026

    @m-natarajan

    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
  16. 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
  17. melvin-bot commented on Sep 30, 2026

    @melvin-bot

    @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]

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