Add photos folder option in iPhone mobile app

Objective

  • On iPhone, give users a clear way to pick files from Photos (or the system photo library) when attaching to a workorder, matching what Android users already see in practice.
  • Keep one coherent upload path to the inspection attachments API so behavior stays predictable across platforms.

Background

  • Product feedback: the iOS build of the Attik mobile app does not surface a Photos / library-style option when adding attachments, while Android does for the same flow.
  • The inspection screen mounts Workorder files via AttachmentsSection, which today calls DocumentPicker.getDocumentAsync from expo-document-picker with type: "*/*" and no Platform.OS branching—iOS and Android rely on each platform’s document picker UI, which differs (Android often exposes gallery/Photos more prominently).
  • The app does not currently list expo-image-picker (or another photo-library module) in package.json; uploads go through uploadInspectionAttachment in inspectionAttachmentsService.ts as multipart FormData.

Scope

Mobile — attik-mobile repo

  • Primary UI: components/inspection/AttachmentsSection.tsx (handleAddFileDocumentPicker.getDocumentAsync). Parent usage: app/(app)/inspection/[id].tsx (renders AttachmentsSection for the inspection).
  • Service layer: lib/services/inspectionAttachmentsService.ts (POST inspection/{id}/attachments)—reuse the same upload contract; scope is client pick UX and file URIs, not backend route changes unless discovery shows an iOS-specific upload gap.
  • Decision needed: how iOS users choose Photos—extend the document picker configuration, add a secondary action (e.g. “Choose from Photos”) alongside files, or a single chooser that combines sources—plus any Info.plist / Expo config entries required for photo library access.
  • Decision needed: whether Android behavior must remain unchanged or can be lightly unified for parity.

References

  • attik-mobile/components/inspection/AttachmentsSection.tsx
  • attik-mobile/app/(app)/inspection/[id].tsx
  • attik-mobile/lib/services/inspectionAttachmentsService.ts
  • attik-mobile/package.json (current Expo modules for picker / image)

Please authenticate to join the conversation.

Upvoters
Status

Completed

Board
🏠

Main App

Date

2 months ago

Author

Linear

Subscribe to post

Get notified by email when there are changes.