hanjoongcho / aaf-easydiary

:blue_book: A diary application optimized for user experience.
GNU General Public License v3.0
431 stars 121 forks source link

[Help] Can't unlock my diary #197

Closed BloodRaven0 closed 2 years ago

BloodRaven0 commented 2 years ago

Hi! Recently I foolishly added another fingerprint to my device lock and all apps that relied on fingerprint unlock had to have their locks reset. That wasn't a problem for most, since they just asked for the pattern instead. However, easydiary asks for a 4-digit pin that I don't remember setting. I tried all possible pins that I normally use and none of them worked.

So my question is, did I even set a pin? Does the app force you to set one when you set up fingerprint lock? Or is it asking me for a pin that doesn't exist? Is it asking me for my phone lock pin that I haven't set either?

My other question would be, is there anything I can do to unlock my diary and reset the fingerprint lock? I don't fancy entering about 10,000 possible pin combinations manually (at least it lets you try an infinite number of times lol).

hanjoongcho commented 2 years ago

@BloodRaven0 The PIN number is set by the user when setting up the fingerprint lock. PIN number lock is a simple lock function and does not mean encryption of diary data. You do not need to find the password by entering the number in all cases. If you wish, we can temporarily add a function to forcibly disable the lock function and send you an installation file.

BloodRaven0 commented 2 years ago

@hanjoongcho That would be awesome and much appreciated! Would it be possible to update my app without losing the user data though? And afterwards would I be able to update to new releases without reinstalling?

hanjoongcho commented 2 years ago

@BloodRaven0 Because the same signing key as the Google Play distribution version is used, even if you update to the temporary version, you can receive Google Play updates normally. If you leave your email address, we will guide you through the temporary version and how to use it.

BloodRaven0 commented 2 years ago

@hanjoongcho I see. In that case I guess it's important to mention that I'm using the F-Droid version. My email is --------

hanjoongcho commented 2 years ago

@BloodRaven0 I do not sign the F-Droid distribution version. F-Droid internally manages the signing key and automatically distributes it based on the latest version of tag information. Therefore, I cannot package and provide a temporary version. I can't seem to help you because the same signing key must be used to update without reinstallation. The only possible way is to put arbitrary functions in the source code distributed to F-Droid, which will affect all users of FDroid.

BloodRaven0 commented 2 years ago

@hanjoongcho hmm, is there no way to force the update, even though the keys are mismatched? I know there are some apps that allow you to downgrade apps, maybe there is something similar for mismatching signing keys? Barring that, can I not back up my app data somehow and restore it on the version with the different key?

hanjoongcho commented 2 years ago

@BloodRaven0 If the installation package name is the same but the signing key is different, application will be deleted and reinstalled. In this case, all existing data will be lost. The way to apply an exceptional process only to you while going through the F-Droid official distribution procedure is to check the information that can identify your device in advance and temporarily include it in the official distribution version. If the information is the same the exception policy applying.

BloodRaven0 commented 2 years ago

@hanjoongcho I see. What kind of info would that be? If it's sensitive info maybe we could switch to email communication instead and close this issue?

hanjoongcho commented 2 years ago

@BloodRaven0 We are preparing to distribute the F-Droid version including temporary functions. When it's ready, we'll send you an email with instructions on how to use it. No separate identification information is required. I will create a temporary URL and make a function to forcibly unlock the lock function until the response of the URL is valid.