Question on intended interactivity
- Dominant language
- Python
- Stars
- 1.5k
- Forks
- 196
- PR merge metrics
- No merged PRs in 30d
Description
Hi! I'm the maintainer of [bitwarden-keyring](https://github.com/ewjoachim/bitwarden-keyring). After a large part of a decade without changes in the lib, there has been some activity recently, and we may have some opportunities to improve the plugin.
One question we have is around interactivity: when the plugin was created a while ago, we assumed that (the program using) keyring was always ok to fall back to using stdin and stdout for interacting with the user, especially in 2 cases: when their bitwarden vault is locked, and when there are multiple secrets matching what they want to read or delete. I now believe that to be a bad pattern, but in order to correct it, I need some information, which I believe would deserve to live in the plugin chapter of keyring's doc:
- can the plugin be interactive (print, input)
- is it the plugin's responsibility to test the presence of a tty or something ?
- should the plugin indicate to keyring that it's interactive ?
- should the plugin log (and are there conventions as to how ?)
- what should a plugin do if there are multiple matches for reading or deleting ? And for setting, should we always create or use an "upsert" pattern ?
- what if there's no match ? When reading, we return None, what about deleting ?
Thanks
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the keyring plugin chapter referenced in the issue and review how plugins currently handle vault prompts, multiple matches, missing entries, and setting secrets. Resolve the listed questions about interactivity, TTY checks, logging, and operation semantics, then document the agreed conventions in that chapter.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100