Skip to content

Show Concierge thread title - #98090

Open
rushatgabhane wants to merge 1 commit into
Expensify:mainfrom
rushatgabhane:thread-title
Open

Show Concierge thread title#98090
rushatgabhane wants to merge 1 commit into
Expensify:mainfrom
rushatgabhane:thread-title

Conversation

@rushatgabhane

Copy link
Copy Markdown
Member

Explanation of Change

computeChatThreadReportName derives a chat thread's name from its parent action's message, so a Concierge thread always displays the raw question. The backend now titles those threads with a short summary, which was being stored and never shown.

This prefers reportName when the thread's parent is the Concierge DM. Every other chat thread is unchanged.

Requires https://github.com/Expensify/Web-Expensify/pull/55236 and https://github.com/Expensify/Auth/pull/23595.

Fixed Issues

$ #94503
PROPOSAL:

Tests

  1. Add your account to the conciergeRespondInThread beta and ask Concierge a question.
  2. Verify the thread is named after the question at first, then switches to a short title once the backend renames it.
  3. Open a thread in a non-Concierge chat and verify its name is still the parent message.
  • Verify that no errors appear in the JS console

Offline tests

  1. Go offline and open an existing Concierge thread.
  2. Verify it still shows its title.

QA Steps

  1. Add a test account to the conciergeRespondInThread beta and ask Concierge a question.
  2. Verify the thread shows a short title rather than the full question in the LHN and header.
  3. Verify threads in other chats are still named after the message they hang off.
  • Verify that no errors appear in the JS console

PR Author Checklist

  • I linked the correct issue in the ### Fixed Issues section above
  • I wrote clear testing steps that cover the changes made in this PR
    • I added steps for local testing in the Tests section
    • I added steps for the expected offline behavior in the Offline steps section
    • I added steps for Staging and/or Production testing in the QA steps section

Screenshots/Videos

MacOS: Chrome / Safari

@rushatgabhane
rushatgabhane requested review from a team as code owners August 9, 2026 06:00
@melvin-bot
melvin-bot Bot requested review from cretadn22 and joekaufmanexpensify and removed request for a team August 9, 2026 06:00
@melvin-bot

melvin-bot Bot commented Aug 9, 2026

Copy link
Copy Markdown

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

@melvin-bot
melvin-bot Bot requested review from a team, gijoe0295 and puneetlath and removed request for a team August 9, 2026 06:00
@melvin-bot

melvin-bot Bot commented Aug 9, 2026

Copy link
Copy Markdown

@gijoe0295 @puneetlath One of you needs to 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]

@melvin-bot
melvin-bot Bot removed the request for review from a team August 9, 2026 06:00

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 61d37b986c

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +914 to +916
// Concierge titles each of its threads with a summary of the question, so show that rather than the question itself.
if (report.reportName && isConciergeChatReport(getReportOrDraftReport(report.parentReportID))) {
return report.reportName;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Apply redaction placeholders before Concierge titles

When a Concierge thread's parent question is deleted or hidden by moderation, this early return runs before the existing deletedMessage and hiddenMessage branches, so the generated summary remains visible in the LHN and header even though the underlying message is redacted. Check those redaction states before returning the stored Concierge title.

Useful? React with 👍 / 👎.

}

// Concierge titles each of its threads with a summary of the question, so show that rather than the question itself.
if (report.reportName && isConciergeChatReport(getReportOrDraftReport(report.parentReportID))) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use the supplied report data to identify Concierge

When computeReportName is called with current reports and conciergeReportID—including from the report-attributes derived config—this lookup ignores both and instead reads the deprecated module-level Onyx caches through getReportOrDraftReport() and the default argument of isConciergeChatReport(). If those independent caches are not hydrated or are stale, the thread is misclassified and keeps showing the raw question; updating the cache alone does not retrigger this computation. Pass the already-supplied parent report and Concierge ID into this helper instead. CLAUDE.mdL160-L165

Useful? React with 👍 / 👎.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant