-
Notifications
You must be signed in to change notification settings - Fork 171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#1665. Improve Package Selection #1687
#1665. Improve Package Selection #1687
Conversation
… update FindInitPackage to use the version name and to look in execution, cache directory, and the current working directory. Update io.go with a FileList method that reads a directory and returns a list of filepaths matched against an optional regex.
✅ Deploy Preview for zarf-docs canceled.
|
…er for packages with the /packages/explore route.
OS File Picker will not work since it is really an upload input and does not reveal the local systems file structure (https://html.spec.whatwg.org/multipage/input.html#fakepath-srsly) leaving options:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed the solution that @mike-winberry created for the system browser proposed by the team.
Given the user of this feature is Ashton we do not assume this persona is competent with CLI tool. After reviewing the issue, I do not agree with or approve of this UX flow.
Reasons:
- unnecessarily complex - User clicking through a file system requires more cognitive load than waiting for a search to populate. User must remember or spend time searching through folders
- UX flow of searching file system may imply to some users that a file is being uploaded.
- UI is not consistent with system browser - can lead to confusion for user.
- Does not explain or provide reason for why Zarf only searches local system
- Why would we require a user to look for something we can just show them.
@Racer159 Requesting this issue be put on hold until UX design is addressed:
Options to explore
- Keep MVP as is until we can gather data on observable user behavior (optimize for speed)
- Error message that asks if user would like to search entire system post a local search
- Error message telling user to move file to working directory and hope they know how
Pushed it back - of these I think 1 and 2 are maybe the best - testing it again it is still a bit slow even with local dir packages (I have more than the average bear but it takes several seconds to return the package information on my system). |
## Related Issue Fixes #1686 <!-- or --> Relates to # ## Type of change - [x] UI Tweak Co-authored-by: razzle <[email protected]> Co-authored-by: Wayne Starr <[email protected]>
## Description #800 ## Type of change - [ ] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Other (security config, docs update, etc) ## Checklist before merging - [x] Test, docs, adr added or updated as needed - [ ] [Contributor Guide Steps](https://github.com/defenseunicorns/zarf/blob/main/CONTRIBUTING.md#developer-workflow) followed --------- Co-authored-by: Wayne Starr <[email protected]> Co-authored-by: Wayne Starr <[email protected]>
…ts as they are found and open a dialog if not. TODO add recursive file streaming and the expanded search.
…query param init: boolean and recursively streams packages from the users home folder (init packages when init = true). Update utils io.go with IsTrashBin method that takes in a directory path and checks if it is the os trash bin. Updat the ui server with new packages/find/stream routes. Update frontend api with new routes and method for recursively streaming packages. TODO: add the expanded search button and logic.. Handle warnings for init packages that dont match the executable version.
…eList; Extracted hidded directory check into IsHidden utility method; Removed unused FileList method. Update all references to RecursiveFileList references to nolonger have the unused flags. Update api/packages find.go: Removed the initPackagesPattern and replaced references with currentInitPattern; Update recursivePackageStream to ignore hidden directories as well as the Trash folder.
…rch again after expanded search has been run.
Screen.Recording.2023-06-05.at.10.34.46.AM.mov
Screen.Recording.2023-06-05.at.10.35.30.AM.mov
Screen.Recording.2023-06-05.at.10.36.17.AM.mov |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall much better UX, just a few small things
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
skipHidden should be false on Files (was likely a bug if it wasn't before)
Co-authored-by: Wayne Starr <[email protected]>
Co-authored-by: Wayne Starr <[email protected]>
Co-authored-by: Wayne Starr <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
281cd6b
to
1ab7d49
Compare
3f55d3a
to
b69f7c5
Compare
The merge-base changed after approval.
Is your feature request related to a problem? Please describe.
Our package selection workflow in the UI is a bit slow due to searching the entire home directory at one time.
Describe the solution you'd like
Recommend the following changes:
For 'init' package deployment
.zarf-cache
folderRegular Package Deployment
For 'regular' packages - the UX flow proceeds in two parts:
Search # 1.
zarf package deploy
)search part # 2
For both workflows, increase the height of the package selection table to show more packages at once
Design File
https://www.figma.com/file/MUItIzpzLBLuIyt225Bwgl/Zarf-Web-Ui?type=design&node-id=1544%3A56348&t=JeB5xVvOb7lcP6ZB-1
Type of change