Fleet UI: IPA custom packages - #34220
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #34220 +/- ##
========================================
Coverage 64.21% 64.21%
========================================
Files 2060 2061 +1
Lines 207211 207370 +159
Branches 6932 7119 +187
========================================
+ Hits 133061 133170 +109
- Misses 63713 63763 +50
Partials 10437 10437
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| @@ -77,7 +90,8 @@ interface IPackageFormProps { | |||
| gitopsCompatible?: boolean; | |||
| } | |||
| // application/gzip is used for .tar.gz files because browsers can't handle double-extensions correctly | |||
| const ACCEPTED_EXTENSIONS = ".pkg,.msi,.exe,.deb,.rpm,application/gzip,.tgz"; | |||
There was a problem hiding this comment.
TODO: add .sh and .ps1 to 33736-script-only-pkg-ui branch
| // We currently don't support replacing a tarball package | ||
| const canEditFile = isEditingSoftware && !isTarballPackage; | ||
|
|
||
| // If a user preselects automatic install and then uploads a .exe |
There was a problem hiding this comment.
update in 33736-script-only-pkg-ui branch
aafe2d2 to
511faa9
Compare
|
@coderabbitai summary |
✅ Actions performedSummary regeneration triggered. |
WalkthroughAdds end-to-end support for in-house iOS/iPadOS IPA install details: new modal component with tests and styles; UI wiring across Activity Feed, Host Software Library, Self Service, and Install Status cell; type/interface extensions (package type, host software, uploader/file utils); minor copy/comment updates; and IPA-aware package form/options logic. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant U as User
participant AF as ActivityFeed / Host Tables
participant MOD as SoftwareIpaInstallDetailsModal
participant API as API (software/device endpoints)
U->>AF: Click install status/details
alt Source is iOS/iPadOS or details has command_uuid
AF->>MOD: Open IPA modal with props
alt My Device (deviceAuthToken)
MOD->>API: GET device install results (token)
else Command UUID available
MOD->>API: GET software install results (commandUuid)
end
API-->>MOD: Install result (payload/result base64)
MOD->>MOD: Decode + compute display status/message
MOD-->>U: Render status, details, actions
opt Retry (failed_install with deviceAuthToken)
U->>MOD: Click Retry
MOD->>AF: onRetry(hostSoftwareId)
end
U->>MOD: Close (Done/Cancel)
else Non-IPA source
AF->>AF: Open existing modal flow
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~30 minutes Possibly related PRs
Suggested reviewers
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro 📒 Files selected for processing (21)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ghernandez345
left a comment
There was a problem hiding this comment.
looks good but I think we should make some changes a small change to how we are testing the IPA modal
| describe("getStatusMessage helper function", () => { | ||
| it("shows NotNow message when isStatusNotNow is true", () => { | ||
| render( | ||
| getStatusMessage({ |
There was a problem hiding this comment.
I think we want to test the component itself like the last test in this file and not the helper methods. That way it is testing the component as a user would be seeing it. This method could change at some point but what we care about testing is what the user is gonna see and not what this function takes as argumnts or returns
9a25e50 to
ddb204a
Compare
|
Sorry, rebasing on |
|
This is going into 4.77, relying on #34802 to be merged first |
Issue
Closes #34012
Description
Screenshot
Checklist for submitter
If some of the following don't apply, delete the relevant line.
changes/,orbit/changes/oree/fleetd-chrome/changes.See Changes files for more information.
Testing
F
Summary by CodeRabbit