feat(create): reuse tunnel presets in create flow#15
Open
ablause wants to merge 1 commit into
Open
Conversation
Add a QuickPick step at the start of "Create Tunnel" listing previously used port + hostname pairs, with inline trash buttons to remove an entry. Picking a preset goes straight to tunnel creation using the saved values, with up-front collision checks that abort if the port or hostname is already used by a running tunnel. Picking "New tunnel..." keeps the original prompt-driven flow. Successful tunnels are silently upserted as presets in globalState (deduped by port + hostname), shared across workspaces.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a QuickPick at the start of Create Tunnel that lists previously used (port, hostname) pairs. Picking one creates the tunnel directly with the saved values; picking "New tunnel..." keeps the existing input flow.
Each preset row has an inline trash button to remove it. After a tunnel starts successfully, its (port, hostname) is upserted into the list (deduped, most recent first), so the list builds up as you use the command.
Presets live in
globalState, so they are shared across workspaces. The getter coerces any legacyhostname: undefinedtonullto keep the dedup key stable.