Skip to content
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

Add a real UI to WARP #6337

Open
emesare opened this issue Jan 20, 2025 · 2 comments
Open

Add a real UI to WARP #6337

emesare opened this issue Jan 20, 2025 · 2 comments
Assignees
Labels
Component: WARP Effort: Medium Issue should take < 1 month Impact: High Issue adds or blocks important functionality Type: Enhancement Issue is a small enhancement to existing functionality UI: Sidebar Issues with the sidebar system
Milestone

Comments

@emesare
Copy link
Member

emesare commented Jan 20, 2025

Right now WARP, much like SigKit, lacks in the UI department, this is stopping us from giving the user control over manually applying functions and other UX related features.

What is the UI responsible for?

  1. Displaying and filtering possible matches for the current function.
  2. Displaying the selected match underneath the possible match list (much like the selected type in the types sidebar)
  3. Allowing the user to apply the selected match, and also possibly edit / remove it.
  4. What else?

Integration with the networked WARP component would need the following:

  1. Selected match should display the server that the match came from, along with information like the author and other exposed metadata.
  2. The user must be able to block authors, or otherwise blacklist functions. If we do add a way to blacklist functions this might need a callback so that we can also post the blacklist to the server so that the server does not send down those functions anymore.

Initially we had thought adding a clickable link in the function header would be the UI for overriding match selection. However this really does not work well with the design of the product, i.e. navigating to a function will show the cross references local to that function and the stack info a variable info. You shouldn't need to open a popup to view possible matches.

@emesare emesare added Component: WARP Effort: Medium Issue should take < 1 month Impact: High Issue adds or blocks important functionality Type: Enhancement Issue is a small enhancement to existing functionality UI: Sidebar Issues with the sidebar system labels Jan 20, 2025
@emesare emesare added this to the Gallifrey milestone Jan 20, 2025
@emesare emesare self-assigned this Jan 20, 2025
@emesare
Copy link
Member Author

emesare commented Jan 25, 2025

What was talked about in the initial issue message was clearly aimed at the focused function.

We likely need two UI's:

  • The sidebar for a single focused function with the functionality laid out above.
  • A UI Pane showing a list of functions, this would have multiple states

State 1:

The UI Pane would allow the user to view matches yet to be applied, much like the analysis hold option, we should allow users to opt-in to a "matcher hold", prohibiting the analysis from applying matches from specific WARP providers (such as network providers)

State 2:

This would also be a good place to have match management, for example, a user has a set of matched functions that they know to be incorrect, instead of going to each function individually they would prefer to blacklist those matches all at once.

Both states should share the same functionality but are talking about two different function "buckets":

  1. To-be-applied functions
  2. Applied functions

So the UI really should be a list of functions, with functions being tagged with a "bucket" that we can filter on, then from there the UI can have a simple toggle to show either bucket, but we could also show both at the same time.

@emesare
Copy link
Member Author

emesare commented Jan 28, 2025

The user should have the option to inspect the signature matches before they are applied, this would require the matcher module level workflow to not apply any analysis and to instead mark the function with the chosen warp function.

Last time WARP tried to do this IIRC we had an issue with function analysis not being redone once the auto type was applied. This might have been fixed/incidental.

@plafosse plafosse modified the milestones: Gallifrey, H Feb 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: WARP Effort: Medium Issue should take < 1 month Impact: High Issue adds or blocks important functionality Type: Enhancement Issue is a small enhancement to existing functionality UI: Sidebar Issues with the sidebar system
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants