Skip to content

[Performance] ReportActionAvatars — report-type wrappers (parallel PRs) #94590

Description

@mountiny

Parent tracking issue: #94584

Deliverables

One PR per wrapper. Each PR builds the wrapper and flips its getIcons branch in the ReportAvatar dispatcher. These can be worked in parallel after the dispatcher (step 5) lands.

  • ExpenseReportAvatar (isExpenseReport) — Subscript (user + workspace); subscribes to report + policy + personalDetails
  • ExpenseRequestAvatar (isExpenseRequest) — Subscript (actor + workspace); subscribes to report + parent report action + policy + personalDetails
  • IOUReportAvatar (isIOUReport) — Diagonal (manager + owner); subscribes to report + personalDetails
  • InvoiceReportAvatar (isInvoiceReport) — Diagonal (B2B 2 workspaces), Subscript (workspace + user); subscribes to report + policy + invoiceReceiverPolicy + personalDetails
  • TaskReportAvatar (isTaskReport) — Single (owner), Subscript (owner + workspace); subscribes to report + policy + personalDetails
  • GroupChatAvatar (isGroupChat) — Single (group avatar); subscribes to report only
  • PolicyExpenseChatAvatar (isPolicyExpenseChat) — Subscript (workspace + user); subscribes to report + policy + personalDetails
  • RoomAvatar — Single (workspace), Subscript (invoice room: workspace + receiver); domain room = report only; policy/user-created rooms need policy; invoice rooms need invoiceReceiverPolicy + personalDetails
  • ChatThreadAvatar (isChatThread) — Single (actor), Subscript (actor + workspace); last fallback for thread reports; subscribes to report + parent report action + policy + personalDetails

Notes

  • Blocked by ReportAvatar dispatcher (step 5)
  • Once all merge, no branch uses the fallback to ReportActionAvatars
Issue OwnerCurrent Issue Owner: @jmusial

Metadata

Metadata

Type

No type

Projects

Status
CRITICAL

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions