passwordmaker / chrome-passwordmaker

A browser extension based on passwordmaker.org. Create unique passwords for every webpage using a cryptographic hash algorithm.
https://passwordmaker.org
GNU Lesser General Public License v3.0
93 stars 53 forks source link

Automatically remember last used profile #151

Closed MrTact closed 6 years ago

MrTact commented 9 years ago

There was some discussion of this over at https://github.com/passwordmaker/chrome-passwordmaker/issues/140 already. @heavensrevenge I have ruminated on your concerns and here's what I'm planning to implement:

  1. When you select a non-default profile, store the choice in a dictionary keyed on the "used text."
  2. Subsequently, when you visit a site, see whether it's listed for a profile, as normal.
  3. If it is not, look at the "used text" in the dictionary, and if it exists, use that profile.

I know you may not want to add this to the mainstream version of the plugin, but I use a lot of profiles and this bugs me literally every day, so I'm going to make a private version and will make the pull request available if you want it.

heavensrevenge commented 9 years ago

The only way this could be useful would be if it's completely stateless, aka not lug around data. The profiles or a user-defined setting should be the only data wanting to be synced since the profiles data should be all that's required.

Then you'd need to make sure that whatever you're planning won't duplicate URL's among profile's sitelist's. 1 domain url = 1 profiles sitelist only, not scatter the same domain among different profiles since they need to be properly auto-selected.

ATM it seems like your use-case is just selecting a profile without wanting to add the site to your desired profiles sitelist to save it for future auto-selection to work?

GitTom commented 8 years ago

This plug-in used to remember the user's last used profile (not per-site).

About a year ago someone broke that funcitonality, which IMO significantly decreased usablity.

Do we know who broke it, and why? Would it be possible to undo whatever they did?

heavensrevenge commented 8 years ago

@GitTom I removed that behaviour on purpose and haven't found any reasonable use case for it personally. So you or @MrTact will have to implement it to your use case's behaviour since I don't need nor personally know how it should work since I only ever add sites to my site-list to auto-select a profile.

GitTom commented 8 years ago

@heavensrevenge Hi Eric.

Not sure I follow, but I'm not in a position to undo your changes because I don't know js (if that is what you were suggesting). Also, isn't it simplest for you to undo what change broke that feature?

Was this feature causing some sort of problem? Is there a reason it can't be undone?

When one opens the PM window it is more likely that one will want to use the last used profile, rather then the one that happens to be first in the list, but more importantly that was how it always worked in the past. I'm not arguing for a new feature or a change - you are the one that changed it.

So, can't you just undo it? Unless there was some reason that the feature had to be removed to make something else work, or if you are a significant author of this plug-in, in which case I accept that you can really do what-ever you want without justification.

Tom

heavensrevenge commented 8 years ago

The way it was implemented was funky and error prone so since I improved the autoselection from the sitelist it was really all I needed and I just don't have a usecase to work from in a way that would be perfect for not only you but also for MrTact. So that's why having you guys verify it works as you intend is needed since I don't know if the behaviour would be exactly as you want. I just wanted to remind this is open source so if both you and @MrTact agreed on its final functionality I'd add it so long as it wasn't as crazy as the original string builder function with oddball conditionals. https://github.com/passwordmaker/chrome-passwordmaker/blob/6f38a6367d8aed11be31fdbb8a28580a3e1f952e/javascript/popup.js#L157-l167 is what I removed but I've changed how the extension functions since.

By chance is per session remembering the last used profile good enough or would you need it to remember the last selected profile for a certain site in a way that keeps memory(state) or just plain and simple last used so long as it's not part of a profile you've defined?

There's quite a bit of details to how it could function, and I hope you see what I meant by you and @MrTact helping this implementation. It's not that I don't want to, it's just I need a good "specification" to how it functions in a way that's both useful and up to my standards.

GitTom commented 8 years ago

Oh, OK. Thanks for explanation.

For me, remembering 'last used' is useful whether it is 'per session', or across sessions.

Remembering 'per site' is a bit more complicated. I assume that all of these are only invoked if 'use with sites' in a profile does not match. (Pesonally, I've never used that field - if I did I would have many hundreds of sites listed so would be cumbersome.)

Automatic remembering of selected profile 'per site' would very powerful if remembered across sessions - it would be like an automatic version of the 'use with sites' field and that would be great - but I guess it would be the most work to implement.

Remembering last used 'per site', but only for current session does not sound useful at all - the site will probably only require me to sign-in once per session.

Does that make sense? Thanks for your efforts.

heavensrevenge commented 6 years ago

I'm probably not going to implement this since the profile should be configured with the "Use with sites" for a profile to be selected for a specific site/URL. It's just hard for me to understand why this could be useful over long term use vs just adding a URL into a profiles site list for selection.