-
Notifications
You must be signed in to change notification settings - Fork 21
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
Polish Edit & Resend Panel #121
Comments
If people here generally agree on the approach in the wireframes (that basically just map out key/value form input pairs); the scope of this UX issue would be mostly about the UI polish to correctly style the buttons/inputs. cc @belen-albeza, do you see any issues with this approach? |
cc @fvsch as well who had some excellent input on forms in the past. |
Is the idea behind the checkboxes that we would now save your inputs between sessions, and allow you to disable the ones you're not currently using? And sounds like we'll be moving the form to the left sidebar? Is this because it's helpful to be able to see the right sidebar at the same time? It would be nice to have a bit more of a visual connection between the param and value fields, like what's in the prior art screens. It would be nice to show the columns on one line always, though if we're putting this in the left sidebar, that might be more likely to get too limited in space. But something like this could be nice:
|
Yes, a way to disable/enable entries to explore and iterate quickly.
Just to clarify, this would be follow-up. Left sidebar allows to keep the form open while repeatedly firing requests. Right now sending a new request closes the form to focus the response.
+1, I actually had that in my wireframes as wider option. I just didn't think about making the first input smaller, which is a good idea. |
Note that this is part of our 20% project and @juliandescottes is ready to work on this soon: It might be quite independent work from the polish and could be done in parallel. The move itself is relatively straightforward. The more complex part is the Form relation to the selected (and fake) request. The current logic is creating a temporary request (when the Edit & Resend form is opened) that is used to store data from the form. We should break that connection (form <-> selected request) since it's buggy and the implementation is hacky. Try e.g.
We should:
I think that Julian can start analysis on this as part of the 20% project and perhaps even provide a patch if there is enough time. Honza |
To simplify scope, we might skip that. This way "Edit & Resend" just becomes "Pre-populate the create request form with this request's details". If we move the form to the sidebar, the original request would still be selected until the user submits, I assume? But maybe I am missing why we should show the original request. |
Yep, that looked good - I think we could also make the association between key/value fields a bit stronger, perhaps like one of these: Also, seems like (with the current min-width on this sidebar) we have enough room to always do it side-by-side. |
This concept would work for me. I am also attaching a screenshot from Postman for some more inspiration (https://www.postman.com/). A tool used to Test REST API (so, basically send custom requests) Some notes:
|
Agreed, I thought I am missing the reason why method should be a free form input as a dropdown makes a lot more sense. We should provide autocompletion for headers as well, as we have a well-defined list and
Which ones would that be, @janodvarko? I would have assumed
MDN integration for picked headers would be great, as devs can look up the right format and other details.
Copy/pasting is an important use case, so devs are not forced into the split input format. This could also be another place for a |
Yes, I like the idea. @nchevobbe can we somehow share the auto-completion logic that you are building for classes in the Rules panel? We could ideally just provide different datalist ....
All the headers with gray background (on the screenshot) are auto-added. Postman allows to define presets - groups of headers that should be auto-added. Not sure whether we want this. But, authorization is one of the examples where headers are auto-added. See the next screenshot of the Authorization tab and the comment under
And we have Some related comments are here https://bugzilla.mozilla.org/show_bug.cgi?id=1632030#c2 Honza |
We're building on top of the shared autocomplete popup, on which Razvan suggested we add the most common keyboard shortcut so it's easier to use from any given input. |
Correct, the list of headers will be hardcoded. Honza |
Working on some polish for this: |
Thanks for the mockups Victoria, it looks great! Some comments:
We have nice URL expandable preview component (implemented for the Headers panel) So, what if we make it editable and reuse that in this case? The user could either edit the raw URL string or expand and edit its parts separately: method, protocol, domain, file path, query string arguments.
But, I understand that the responsive layout might be important UX part since side bars tends to be rather thinner than wider. Honza |
Collecting feedback on the latest mockups |
Made some small changes based on the latest feedback. Also grabbed more feedback from twitter as a safety check.
I think this mockup is feeling pretty solid :) - let me know if there's anything else I should do! |
I really like how it looks like on the last mockups, thanks @violasong !
I'd do it inline with what we have for the Blocking panel
e.g.
Ideally the same thing (if not we should file a bug), which is copied from the Headers panel
The same for URL arguments (including the copy from the existing Headers panel part) Honza |
Sounds great! Nice to see the blocking behavior already recognizes line breaks so nicely. |
Mockup with new revisions:
|
Looks great, thanks Victoria.
I don't see anything related on the mockups. Where should I look? Honza |
Any news on this ? I miss this feature (a lot !) |
Work on this is currently in progress. Should be ready at the end of Feb 2022 |
Thanks ! In fact I realized yesterday that my Firefox version wasn't up to date; and I tried with 93.0 and it's already there ! 🥳 |
Context
The Edit & Resend panel is used to modify an existing HTTP Request and resend it back to the server. Here is a screenshot of the current UI:
The current UI allows the user to modify:
Existing issues are collected under this meta: Bug 1475161 - [meta] Edit and Resend
One of the things we'd like to fix first is related to URL encoding/decoding issues. Especially, the UI isn't user friendly when it comes to editing (encoded) query arguments.
Bug 987975 - edit and resend doesn't properly encode query string values
There is mockup for better UI here
Prior Art
There are also some Chrome extensions introducing UI for editing query strings.
The attached screenshots are using this example URL:
http://example.com/index.html?someval=5oMEnMSQqJ8%3D&another==value%3D
Easy URL Params
https://chrome.google.com/webstore/detail/easy-url-params/jhhjlajfdkofbnhbcjcddngfehfihfln
Easy URL Editor
https://chrome.google.com/webstore/detail/easy-url-editor/kojpdadnbbicdfgfadonheclfpcjpiah?hl=en
@digitarald @violasong @bomsy
Honza
The text was updated successfully, but these errors were encountered: