Skip to content
This repository is currently being migrated. It's locked while the migration is in progress.

Feature/12088 new file upload#13229

Open
AdryienH wants to merge 42 commits into
developfrom
feature/12088-new-file-upload
Open

Feature/12088 new file upload#13229
AdryienH wants to merge 42 commits into
developfrom
feature/12088-new-file-upload

Conversation

@AdryienH
Copy link
Copy Markdown
Contributor

@AdryienH AdryienH commented Apr 11, 2026

There is no requirement to implement the suggestions but please respond to Copilot review comments in some way. Unaddressed comments will prevent the PR from moving to the QA process.

Description of Change

  • Updated file upload flow in Claims (Submit Evidence) and Secure Messaging (Start Message, Reply Message, Edit Draft) to use new common <FileUpload/> component

Target Release Date

Link to Issue

closes #12088

Code testing

  • Unit tests have been created or updated to cover this change
  • End to end (Detox) tests have been added or updated as needed

Pre-QA Artifacts

Include all artifacts or select not applicable and explain below.

  • Screenshots or screen recording at factory default settings (before and after, if applicable) in portrait orientation
  • Screenshots in landscape orientation
  • Screenshots at 2x text size
  • Screen recording of interaction using VoiceOver (iOS) and/or TalkBack (Android)
  • Visual artifacts not applicable to this PR (explain why below)
Default Screenshots
Location Empty state w / Files
Claims (Submit Evidence / File Request) IMG_0109 IMG_0110
Secure Messaging (Start, Edit, Reply Message) IMG_0076 IMG_0092
2x Screenshots
Location Empty state w / Files
Claims IMG_0100 IMG_0099
Secure Messaging (Start, Edit, Reply Message) IMG_0101 IMG_0102
Landscape Screenshots
Location Empty state w / Files
Claims IMG_0094 IMG_0095 IMG_0096
Secure Messaging (Start, Edit, Reply Message) IMG_0093 IMG_0097 IMG_0098
ScreenRecording_04-13-2026.15-36-45_1.MP4
How to capture these

Screenshots & Video

2x text size

  • iOS Dynamic Type: Settings > Accessibility > Display & Text Size > Larger Text. Toggle ON, move slider.
  • Android Font Scale: Settings > Accessibility > Display size and text. Adjust Font size and Display size sliders.

VoiceOver / TalkBack (best on actual hardware)

Test Context for QA

How does a user get here?

  • Claims > Select a Claim > Submit Evidence
  • Claims > Select 4th Claim with "Evidence requested" > Review File requests > Select a request for evidence
  • Secure Messaging > Start New Message
  • Secure Messaging > Select a Message > Click "Reply" button at bottom
  • Secure Messaging > Folders > Drafts > Select a Draft

Feature Flags

Feature flag: newFileUpload

Risk Assessment:

  • Low (UI polish, copy change, isolated component)
  • Medium (New feature, non-core path)
  • High (Changes to Core Features: Login, Claims, Rx, Secure Messaging, major updates to a backend service, etc.)

What should QA pay extra attention to?

Test Review

Test User(s)

  • Demo Mode
  • Judy

Checklist for QA

QA Engineer: Check off the items below as you test

  • Shared Test Script executed (post results as a PR comment)
  • Feature-specific verification based on QA Test Context above
  • Tested on iOS
  • Tested on Android

Run a build for this branch

@flagship-mobile-app flagship-mobile-app Bot requested a review from a team April 11, 2026 00:07
@AdryienH AdryienH requested a review from Copilot April 14, 2026 16:51
@flagship-mobile-app flagship-mobile-app Bot review requested due to automatic review settings April 14, 2026 16:52
@AdryienH AdryienH marked this pull request as ready for review April 15, 2026 23:52
@AdryienH AdryienH requested a review from a team as a code owner April 15, 2026 23:52
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the Claims and Secure Messaging attachment experience behind a newFileUpload feature flag, introducing a shared <FileUpload /> UI and adding a new Claims “UploadFiles” screen/waygate.

Changes:

  • Added a new reusable components/FileUpload (with preview UI) plus supporting helpers/styles/theme tokens.
  • Wired Secure Messaging (Start/Reply/Edit Draft) and Claims (Submit Evidence + new UploadFiles screen) to use the new file upload flow when newFileUpload is enabled.
  • Added new feature toggle (newFileUpload) and a new waygate toggle (WG_UploadFiles).

Reviewed changes

Copilot reviewed 20 out of 20 changed files in this pull request and generated 19 comments.

Show a summary per file
File Description
VAMobile/src/utils/waygateConfig.ts Adds WG_UploadFiles toggle to waygate config.
VAMobile/src/utils/secureMessaging.tsx Adds multi-select attachment picking helpers used by the new flow.
VAMobile/src/utils/remoteConfig.ts Adds newFileUpload feature flag default/type.
VAMobile/src/utils/remoteConfig.test.ts Updates remote config override test object with new flag.
VAMobile/src/utils/fileUpload.ts Adds helper functions for extracting URIs/base64 and summing sizes.
VAMobile/src/translations/en/common.json Adds/updates file upload strings used by the new UI.
VAMobile/src/styles/themes/standardTheme.ts Adds preview dimension tokens for file/image thumbnails.
VAMobile/src/styles/themes/colorSchemes.ts Adds fileInfo text color token for light/dark themes.
VAMobile/src/styles/theme.ts Extends theme typings for fileInfo and preview dimensions.
VAMobile/src/screens/HealthScreen/SecureMessaging/StartNewMessage/StartNewMessage.tsx Switches attachments field to new FileUploadList when flagged.
VAMobile/src/screens/HealthScreen/SecureMessaging/ReplyMessage/ReplyMessage.tsx Switches attachments field to new FileUploadList when flagged.
VAMobile/src/screens/HealthScreen/SecureMessaging/EditDraft/EditDraft.tsx Switches attachments field to new FileUploadList when flagged.
VAMobile/src/screens/BenefitsScreen/.../UploadFiles/UploadFiles.tsx Introduces a new Claims upload screen using <FileUpload />.
VAMobile/src/screens/BenefitsScreen/.../SubmitEvidence.tsx Uses <FileUpload /> when the feature flag is enabled.
VAMobile/src/screens/BenefitsScreen/.../FileRequestSubtask.tsx Adds UploadFiles route/screen to the claims upload stack.
VAMobile/src/components/FormWrapper/FormWrapper.tsx Adds a new FieldType.FileUploadList to render <FileUpload />.
VAMobile/src/components/FileUpload/FileUpload.tsx New shared file upload UI component.
VAMobile/src/components/FileUpload/FilePreview.tsx New preview row component with delete confirmation.
VAMobile/src/api/types/ClaimsAndAppealsData.ts Updates upload param typing for mixed Asset/DocumentPickerResponse arrays.
VAMobile/src/api/claimsAndAppeals/uploadFileToClaim.tsx Updates function signatures to accept mixed file arrays.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread VAMobile/src/utils/fileUpload.ts
Comment thread VAMobile/src/components/FileUpload/FileUpload.tsx
Comment thread VAMobile/src/screens/HealthScreen/SecureMessaging/ReplyMessage/ReplyMessage.tsx Outdated
Comment thread VAMobile/src/components/FileUpload/FileUpload.tsx
Comment thread VAMobile/src/utils/secureMessaging.tsx Outdated
Copy link
Copy Markdown
Contributor

@narin narin left a comment

Choose a reason for hiding this comment

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

Please review/address Copilot comments.

@digitalken digitalken self-assigned this Apr 28, 2026
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.

File Upload: Implementation

5 participants