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

June cleanups before friday #13

Open
7 of 9 tasks
itsjunetime opened this issue Dec 6, 2023 · 3 comments
Open
7 of 9 tasks

June cleanups before friday #13

itsjunetime opened this issue Dec 6, 2023 · 3 comments

Comments

@itsjunetime
Copy link
Collaborator

itsjunetime commented Dec 6, 2023

  • Fix display of tab list to show which one is selected
  • Make a way to get back to main tab
  • Add gunzipping
  • Make response body display prettier and scrollable
  • Add error box in middle for communication to users
  • Edit tab names
  • Fix session saving functionality
  • Open request notes in system editor
  • Add basic filter with / input
@itsjunetime
Copy link
Collaborator Author

So, the session saving is gonna be difficult. A few reasons:

  1. Our current Request struct stores a oneshot::Sender, which can't be serialized/deserialized. Using the message passing model makes things easier at runtime, but will make it harder to save/restore
  2. We currently store a ListState (from ratatui) to track the current index in the request list, but that is also not (de)serializable. We could just use like a Option<usize>, but then we'd have to create a new ListState on every redraw, which would be annoying
  3. Hyper's Request and Response are not (de)serializable. I kinda have to work around this kinda stuff already so we can do gunzipping, but it'll still make it a bit more annoying. Maybe this'll be fixed by hyper 1.0, maybe not. who knows.

@itsjunetime
Copy link
Collaborator Author

I think I'll also hold off on adding the filter as well until I figure out what the move is for the session since I'm not sure where it should be stored

@joshka
Copy link

joshka commented Jan 26, 2024

We currently store a ListState (from ratatui) to track the current index in the request list, but that is also not (de)serializable. We could just use like a Option<usize>, but then we'd have to create a new ListState on every redraw, which would be annoying

This is fixed in ratatui/ratatui#723 (which is available on the alpha release, and will be available in 0.26.0 sometime soon)

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

No branches or pull requests

2 participants