Skip to content

[Due for payment 2026-07-29] Expense - Posted date is truncated #94526

Closed

Description

@applause-bot

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Version Number: 9.4.19-1
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: #94124
Email or phone of affected tester (no customers): applausetester+ssndjois2jd1@applause.expensifail.com
Issue reported by: Applause Internal Team
Bug source: Exploratory - Significant User Experience Deterioration
Device used: Mac 26.5 / Chrome
App Component: Money Requests

Action Performed:

Precondition:

  • Add a direct feed with card and assign a card with transactions to yourself on workspace settings > Company cards.
  1. Go to staging.new.expensify.com
  2. Go to workspace chat.
  3. Open the report.
  4. Click Columns.
  5. Select Posted and click Save.

Expected Result:

Posted date will not be truncated.

Actual Result:

Posted date is truncated.

Workaround:

Unknown

Platforms:

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

Screenshots/Videos

Bug7190367_1782342814595.14.mp4

View all open jobs on GitHub

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

Issue OwnerCurrent Issue Owner: @mallenexpensify

Activity

  1. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Jun 25, 2026
  2. applause-bot commented on Jun 25, 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/50a4ad580e4932d9a1bce6b15f7d7869de26a4cbbf9f3169f5a35d8850f91f10

  3. melvin-bot commented on Jun 25, 2026

    @melvin-bot

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

  4. melvin-bot commented on Jun 25, 2026

    @melvin-bot

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

  5. github-actions commented on Jun 25, 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.
  6. MelvinBot commented on Jun 25, 2026

    @MelvinBot
    Contributor

    Proposal

    Please re-state the problem that we are trying to solve in this issue.

    In a single report (workspace chat → open report → Columns → enable Posted → Save), the Posted date is truncated. Dates that include a year (e.g. Jan 5, 2024) get clipped instead of rendering fully.

    What is the root cause of that problem?

    PR #94124 newly enabled POSTED in the single‑report column picker (POSTED: {..., reportView: true} in COLUMN_AVAILABILITY), but the report‑view rendering path never computes or passes a postedColumnSize. As a result the Posted column is locked to its narrow width and past‑year dates overflow it.

    Mechanism, verified end‑to‑end:

    For comparison, the /search table works because it does pass postedColumnSize (from shouldShowYearPosted): TransactionListItemWide.tsx:124.

    What changes do you think we should make in order to solve the problem?

    Mirror the existing dateColumnSize wiring for Posted in the report‑view path:

    1. In MoneyRequestReportTransactionList.tsx:568-577, compute a postedColumnSize by checking whether any transaction's posted date belongs to a past year (analogous to the existing shouldShowTransactionYear check used for dateColumnSize, but reading transaction.posted).
    2. Thread postedColumnSize through MoneyRequestReportTransactionItem.tsx:206-208 → TransactionItemRow, and into MoneyRequestReportTableHeader.tsx:84-86 → SortableTableHeader so the header width matches.

    The prop already exists end‑to‑end (TransactionItemRow/types.ts:64, SortableTableHeader.tsx:98); only the report view's computation and pass‑through are missing.

    What alternative solutions did you explore?

    Simplest minimal fix: always pass postedColumnSize={CONST.SEARCH.TABLE_COLUMN_SIZES.WIDE} in the report view so Posted is unconditionally w92. This guarantees no truncation but widens the column even when no year is shown. The year‑detection approach above keeps the table compact and matches /search behavior, so it's preferred.

    Confidence & verification

    High confidence — static layout/prop‑threading bug, fully explained by source (no production logs needed). Two independent investigations converged on the same root cause, and the key lines (MoneyRequestReportTransactionList.tsx:568-577, styles/utils/index.ts:1908-1910, TransactionItemRowWide.tsx:221-233) were re‑verified directly. The fix is fully contained in the Expensify/App repo.


    Next Steps for Contributor+ team:
    To accept: @MelvinBot implement [this](https://github.com/Expensify/App/issues/94526) to create a draft PR.
    To refine: @MelvinBot <your feedback>
    To reject: Explain why you are rejecting Melvin's proposal.

  7. mukhrr commented on Jun 25, 2026

    @mukhrr
    Contributor

    I think this is pre-existing and is being handle here #93169 (comment)
    #94124 only enabled Posted column cc @ahmedGaber93 @mjasikowski

  8. mjasikowski commented on Jun 25, 2026

    @mjasikowski
    Contributor

    Demoting this based on #94526 (comment)

  9. added and removed
    DeployBlockerCashThis issue or pull request should block deployment
    on Jun 25, 2026
  10. 33 remaining items

  11. melvin-bot commented on Jul 22, 2026

    @melvin-bot

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.4.41-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-07-29. 🎊

    For reference, here are some details about the assignees on this issue:

    • @mukhrr requires payment through NewDot Manual Requests
  12. melvin-bot commented on Jul 22, 2026

    @melvin-bot

    @mjasikowski @mukhrr The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero 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]

  13. melvin-bot commented on Jul 27, 2026

    @melvin-bot

    @mukhrr Eep! 4 days overdue now. Issues have feelings too...

  14. brunovjk commented on Jul 27, 2026

    @brunovjk
    Contributor

    Filling out the BZ Checklist ASAP.

  15. brunovjk commented on Jul 28, 2026

    @brunovjk
    Contributor

    BugZero 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: No PR introduced this bug directly.
      Link to the comment on the Issue:

    • [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:

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

    • [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.

      Link to issue: https://github.com/Expensify/Expensify/issues/666576

    Regression Test Proposal

    Precondition:

    • Have a report including more than 2 expenses that have data for Posted column with previous year

    Test:

    1. Go to report layout
    2. Click Columns
    3. Enable Posted column
    4. Note it shows year, month, day
    5. Verify it's not truncated

    Do we agree 👍 or 👎

    Zapier Logs Run ID: 00040eee-9f16-a7d1-0645-86bf68a4a484
  16. melvin-bot commented on Jul 28, 2026

    @melvin-bot

    Triggered auto assignment to @mallenexpensify (Awaiting Payment)

  17. melvin-bot commented on Jul 28, 2026

    @melvin-bot

    Payment Summary

    Upwork Job

    • Reviewer: @mukhrr owed $250 via NewDot

    BugZero Checklist (@mallenexpensify)

    • I have verified the correct assignees and roles are listed above and updated the necessary manual offers
    • I have verified that there are no duplicate or incorrect contracts on Upwork for this job (https://www.upwork.com/ab/applicants//hired)
    • I have verified the PR was not reverted
    • I have applied any discounts due to bugs/regressions introduced by this PR
    • I have paid out the Upwork contracts or cancelled the ones that are incorrect
    • I have verified the payment summary above is correct
  18. mallenexpensify commented on Jul 30, 2026

    @mallenexpensify
    Contributor

    Payment Summary

    Contributor: @mukhrr due $250 via NewDot
    Contributor+: @brunovjk due $250 via NewDot

    ^ Test case created. Thx

    @mjasikowski I'm assuming they're due payment on this deploy blocker issue.

  19. flaviadefaria commented on Jul 31, 2026

    @flaviadefaria
    Contributor

    Approved: @mukhrr paid $250 via NewDot

  20. laurenreidexpensify commented on Jul 31, 2026

    @laurenreidexpensify
    Contributor

    $250 approved for @brunovjk

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

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionBugSomething 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