rokucommunity / rokucommunity/vscode-brightscript-language
Clarify and Improve Host Picking Behaviors for Device Selection
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 132
- Forks
- 60
- Avg merge
- 13h 53m
- Merged PRs (30d)
- 20
Description
Summary
Improve and clarify the behaviors of host/device selection in the extension. The goal is to make selecting, switching, and using devices as clear and intuitive as possible, including what happens in various host-picking scenarios.
Desired Behaviors
1. ${promptForHost}
-
If no active device is set:
→ Show a picker so the user can choose a device. -
If an active device is set (and available):
→ Hide the device picker.
→ Do not change/set the active device when picking from the list.
→ If the user wants to see the picker, they must clear the active device first (either via UI or command). -
Setting an active device:
→ The only ways to set an active device are to click the star in the picker or select "Make active" from the devices panel.
How to handle keyboard mode
- When mark a device as active,
activeKeyboardDevicefollows that set - When sideloading to any device,
activeKeyboardDevicefollows that (and doesn't fall back to activeDevice at end) - keyboardMode needs to switch from using
activeDeviceto instead useactiveKeyboardDevice
Open Questions / User Experience Improvements
- How can users tell when an active device is set, or clear it if needed?
- Show the active device name/IP in the status bar.
- Add extra info (icon, label) for the active device in the device picker.
- (Optional) On launch, show a quick popup saying “Using active device: [name/ip]” for ~2 seconds.
Goals
- Avoid confusion over “which device am I using?”
- Make it easy and obvious to clear or set a new active device.
- Ensure users always understand what’s happening when launching/debugging or switching devices.
Let’s use this as a guide to make device/host selection as user-friendly, explicit, and reliable as possible.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the extension's host-picking flow and the uses of activeDevice, activeKeyboardDevice, and keyboardMode. Clarify the open UX questions before changing behavior, then verify that picker visibility, active-device setting, sideloading, keyboard mode, and active-device status feedback match the stated goals.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100