Skip to content

[Due for payment 2026-07-13] [Metrics] Add Sentry spans for iOS Share Extension → expense submit flow #94802

Description

@melvin-bot

Background

The iOS Share Extension flow (take photo → Share → Expensify → tap workspace chat → expense submit) currently has no Sentry telemetry coverage. The delay between tapping a workspace chat and the expense submit screen appearing (observed to be ~3–4 seconds, long enough to feel broken) is a complete blind spot.

What's missing

The existing SPAN_OPEN_CREATE_EXPENSE / ManualOpenCreateExpense span is started only in startMoneyRequest() (src/libs/actions/IOU/MoneyRequest.ts), which is the in-app FAB / global-create path.

The Share Extension takes a completely separate navigation path:
ShareRootPageSubmitTabShareTabParticipantsSelectorSHARE_SUBMIT_DETAILS

On tapping a workspace chat, ShareTabParticipantsSelector only calls clearMoneyRequest(...) and Navigation.navigate(...)no startSpan. There are no startSpan calls anywhere under src/pages/Share and no Share-specific span constants in CONST.TELEMETRY.

What to instrument

Add a new Sentry span (or a tagged variant of an existing one) that covers:

  • Start: user taps a workspace chat / participant in ShareTabParticipantsSelector.onParticipantsAdded
  • End: the first step of the expense submit flow mounts and is visible (SHARE_SUBMIT_DETAILS screen renders)

This would capture the navigation + draft-init + first-render latency that is currently invisible.

Suggested span name

Something like ShareExtensionOpenSubmitFlow (consistent with the existing ManualOpenCreateExpense naming convention), added to CONST.TELEMETRY and documented in contributingGuides/OBSERVABILITY_METRICS.md.

References

Issue OwnerCurrent Issue Owner: @mallenexpensify

Metadata

Metadata

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions