Skip to content

[Odometer] Save odometer readings and image data to device storage #87818

@Julesssss

Description

@Julesssss

Add Onyx-backed draft persistence for odometer expense data.

Design Doc section: https://docs.google.com/document/d/1Z103dY4guA07UUw3sTP1o0IKvFxXZJ1HAB1EwUeEyaA/edit?tab=t.0#bookmark=id.le7upbg1v6r1

Implementation:

  • Add ODOMETER_DRAFT: 'odometerDraft' key to ONYXKEYS.ts
  • Create IOU.saveOdometerDraft(startReading, endReading, startImage, endImage) in IOU.ts
  • Create IOU.clearOdometerDraft() — clears draft after successful expense submission
  • Web/mWeb/Desktop: Convert File objects to base64 via FileReader.readAsDataURL(), store as data URIs
  • iOS/Android: Store file URI strings directly (images persist on device filesystem)
  • Call clearOdometerDraft() in the expense submission flow after successful API response

Reference: Odometer tracking issue — Release 2

Issue OwnerCurrent Issue Owner: @jakubkalinski0

Metadata

Metadata

Labels

DailyKSv2EngineeringImprovementItem broken or needs improvement.InternalRequires API changes or must be handled by Expensify staff

Type

No type
No fields configured for issues without a type.

Projects

Status

HIGH

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions