Unread tooltip incorrectly treats partial reports and missing message dates as stale chats

Open
#106,016 0 comments 0 reactions 1 assignee View on GitHub

Maintainers usually reply within 1 day

@hungvu193 is already working on this.

Since Nov 4, 2026.

Assessment

This issue has not been assessed yet.

Description

Weekly

The “Right-click to mark all as read” tooltip appears for users who report having no qualifying old unread chats.

The supplied Onyx analysis suggests:

  • Empty message dates compare as older than the three-month cutoff.
  • Search-loaded reports without read state or meaningful participation may incorrectly qualify.
  • Seven-day recurrence repeatedly exposes these false positives.

Requested fix:

  • Require a valid, non-empty message date before classifying a report as stale.
  • Verify eligibility for Search-loaded and non-participant reports.
  • Add regression tests for missing dates, missing read state, and genuinely old unread chats.

The exact triggering report and server behavior for non-participants remain unconfirmed. Permanent dismissal would be a separate behavior change.

Original feature: Add EducationalTooltip for Unread Tab

Slack thread: https://expensify.slack.com/archives/C03U7DCU4/p1793792269941989

Dominant language
TypeScript
Stars
5k
Forks
4k
Avg merge
3d 7h
Merged PRs (30d)
561

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Expensify/App

All issues in Expensify/App

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.