fb-messenger-cli icon indicating copy to clipboard operation
fb-messenger-cli copied to clipboard

Add dotfiles to user directory

Open hectron opened this issue 4 years ago • 6 comments

Problem

Whenever a user has to wipe out their .kryptonite or .settings, they have to navigate to wherever fb-messenger-cli is installed. In addition, the file names .kryptonite and .settings do not make much sense if they are found elsewhere.

Proposal

This pull request:

  • changes .kyptonite to .fbmessenger.enc and .settings to .fbmessengerrc
  • changes where dotfiles are stored. They are now stored in the user's home directory, or wherever their FB_MESSENGER_DATA_DIR environment variable is set to

In addition to this, it fixes the regression tests, so that whenever they are run, a users' settings are not altered. The tests also now won't ping @Alex-Rose directly. :wink:

hectron avatar Jul 08 '19 17:07 hectron

I like the direction you're taking this, but just a few questions.

  1. Because those 2 files were intended to stay inside the folder, it was unnecessary to give them the .fbmessenger prefix. Could you give a scenario where users would find those 2 files elsewhere?

  2. Would moving those files out of the installation folder mean that when fb-messenger-cli is being uninstalled, the 2 files would stay intact instead of being wiped? Also, would there be permission issues (Say program tries to create settings file and credential file in a folder where it does not have write permission)?

  3. If wiping those 2 files is a desired functionality, would it be better to instead create flags for it, so you could, for example, call $ fb-messenger-cli --wipe-login or $ fb-messenger-cli --wipe-settings to interact with those 2 files?

p1ho avatar Jul 08 '19 19:07 p1ho

Thanks for the follow up, @p1ho! I appreciate you taking the time to ask questions.

  1. I figured FB Messenger CLI might want to follow the convention that most command line programs follow: storing configuration files in a user's home directory.
  2. The files would stay in tact after removing the software. I do not know if it's standard behavior to remove the configuration itself upon removing software. 2.1. That's a great question! I do not think a user can run into installation problems in their home directory (assuming they were able to install the CLI), but they can run into installation problems if they set FB_MESSENGER_DATA_DIR to a folder they do not have permission to write to.
  3. I like having transparency into how an application is configured, and am an advocate for home directory dot files. If this approach doesn't seem like the right approach, a flag to wipe those two files would be the next proposed solution!

hectron avatar Jul 19 '19 20:07 hectron

Thanks for answering! I'd say everyone has their own habits, so I won't be too opinionated on this.

On Windows, while it's not standard behavior to remove previous configuration, uninstallers usually prompt users whether they want to do that on uninstall (it'd be like a checkbox in the GUI).

p1ho avatar Jul 20 '19 05:07 p1ho

Hi @hectron I'm going to try your PR especially to see how it works out on Windows. Sorry for the late response, as you can imagine we're pretty busy with work and all...

Thanks for your contribution!

Alex-Rose avatar Aug 08 '19 02:08 Alex-Rose

@Alex-Rose , I think there's a bug where if you log in for the first time in a while, it does a different flow than when you've already been signed in, which results in an infinite loop.

I've had success by closing the app and trying again. However, the last few times my account has been flagged by Facebook as fraudulent, so I haven't tried to use the app too much to diagnose.

hectron avatar Aug 08 '19 14:08 hectron

@Alex-Rose , I think there's a bug where if you log in for the first time in a while, it does a different flow than when you've already been signed in, which results in an infinite loop.

I've had success by closing the app and trying again. However, the last few times my account has been flagged by Facebook as fraudulent, so I haven't tried to use the app too much to diagnose.

I can confirm this happened on my machine as well.

p1ho avatar Aug 08 '19 15:08 p1ho