Kin69 / EasyNotes

EasyNotes: Jetpack Compose MVVM for seamless note-taking. Effortless creation, editing, and organization.
GNU General Public License v3.0
332 stars 26 forks source link

[BUG REPORT] #113

Closed aRandomMenno closed 2 months ago

aRandomMenno commented 2 months ago

Required Information:

Steps to Reproduce the Bug:

  1. Enable the 'vault' option in settings
  2. Create a private note, (after setting a password for it)
  3. pin that note
  4. Watch the app crash? (On my work profile using Islands I was not able to recreate the bug.) At the bottom of the issue Ive attached a crash log using LogFox

Expected Behavior

The note gets pinned.

Actual behavior

The app crashes repeatedly trying to open the 'vault'.

Smartphone Information

Additional Information (Optional)

Help would be appreciated because some notes that I saved in there are pretty important to me. TY

Crash Stacktrace.

FATAL EXCEPTION: main Process: com.kin.easynotes, PID: 23858 java.lang.IllegalArgumentException: bad base-64 at android.util.Base64.decode(Base64.java:164) at android.util.Base64.decode(Base64.java:139) at android.util.Base64.decode(Base64.java:121) at o3.l.a(Unknown Source:102) at m3.g.r(Unknown Source:46) at m3.g.l(Unknown Source:12) at m4.s.r(Unknown Source:43) at m4.s.j(Unknown Source:17) at n4.k.r(Unknown Source:34) at n4.k.l(Unknown Source:12) at j4.a.o0(Unknown Source:25) at j4.E.u(Unknown Source:29) at F.s.g(Unknown Source:120) at n4.u.j(Unknown Source:4) at n4.t.u(Unknown Source:139) at n4.t.g(Unknown Source:0) at m4.J.i(Unknown Source:128) at m4.h.r(Unknown Source:11) at S3.a.v(Unknown Source:8) at j4.L.run(Unknown Source:112) at android.os.Handler.handleCallback(Handler.java:959) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loopOnce(Looper.java:232) at android.os.Looper.loop(Looper.java:317) at android.app.ActivityThread.main(ActivityThread.java:8592) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878) Suppressed: o4.g: [w0{Cancelling}@bafa4f8, Dispatchers.Main]

Kin69 commented 2 months ago

Hello, I’m sorry to hear that you lost your notes. While recovering them is possible, it might be a bit challenging due to some current bugs. Since you mentioned that the notes are accessible within your work profile, you could try the following steps:

1.Create a Backup: Make a backup of your notes in the main profile. 2.Transfer the Backup: Move this backup to your work profile. 3.Restore the Backup: Restore the backup within the work profile, enable the vault, and use the same password. 4.Restart the App: Restart the app (this may be necessary due to a known bug). 5.Access the Vault: Open the vault, and your encrypted notes should appear.

Alternatively, there is a manual method for recovery. Since the backup contains the entire database in SQL format, you could potentially extract the encrypted notes and decrypt them manually. If you’d like, I can attempt to decrypt them for you if you send me the backup and password, but please be aware that I would have access to the contents.

Regarding the bug, I haven’t been able to reproduce it even on the same device. It’s possible that the issue might be related to something being uninstalled via ADB, which could explain why the notes work within the work profile. (not sure)

Please let me know how you would like to proceed or if you need further assistance.

aRandomMenno commented 2 months ago

Ty for your response,

It is indeed weird that the bug only happens on my personal profile and nowhere else, I use the work profile to clone apps to like discord so I can hev 2 accs on the same device.

Ive already tried to recover the notes by creating a backup, and then loading it in my work profile but that didn't work for some reason.

When I type the password, the lock in the top right shows that the encrypted notes should be visible, however they're not.

Ive tried renaming the unencrypted backup to a txt but then I just get a bunch of this stuff

;��8���O(�����e�P�Ŵ)�u��<�kp�gK}
�p�u���D�vY���ٞ�����f���p'T,���_vs,�9jP"���zz��ZO�

I am going to try and find a SQL database reader to try and extract my notes.

If that doesn't work I could send the backup.zip to you. But I would rather not do that since I like privacy.

As for what is causing the crashing I have no idea the only thing that could maybe help you is the stacktrace I put at the bottom of the issue.

Again, ty for your help.

Hello, I’m sorry to hear that you lost your notes. While recovering them is possible, it might be a bit challenging due to some current bugs. Since you mentioned that the notes are accessible within your work profile, you could try the following steps:

1.Create a Backup: Make a backup of your notes in the main profile. 2.Transfer the Backup: Move this backup to your work profile. 3.Restore the Backup: Restore the backup within the work profile, enable the vault, and use the same password. 4.Restart the App: Restart the app (this may be necessary due to a known bug). 5.Access the Vault: Open the vault, and your encrypted notes should appear.

Alternatively, there is a manual method for recovery. Since the backup contains the entire database in SQL format, you could potentially extract the encrypted notes and decrypt them manually. If you’d like, I can attempt to decrypt them for you if you send me the backup and password, but please be aware that I would have access to the contents.

Regarding the bug, I haven’t been able to reproduce it even on the same device. It’s possible that the issue might be related to something being uninstalled via ADB, which could explain why the notes work within the work profile. (not sure)

Please let me know how you would like to proceed or if you need further assistance.

Kin69 commented 2 months ago

The stack trace indicates that the encrypted data is invalid and cannot be decrypted, causing the application to crash. I can implement a handler to render the valid notes while displaying an error message for the invalid ones.

aRandomMenno commented 2 months ago

I wpuld like to send you my encrypted backup, what is the best way for me to send it to you?

The stack trace indicates that the encrypted data is invalid and cannot be decrypted, causing the application to crash. I can implement a handler to render the valid notes while displaying an error message for the invalid ones.

Kin69 commented 2 months ago

.kin69. on discord

aRandomMenno commented 2 months ago

Stackedunderflow, I send a friend request

serrq commented 2 months ago

How to use LogFox for not-savvy tech people like me? Does it require root or adb? 😔

aRandomMenno commented 2 months ago

How to use LogFox for not-savvy tech people like me? Does it require root or adb? 😔

It doesn't matter if you're rooted or not, but if you're not rooted you need to use shizuku

But it is kinda difficult to explain so I would do some research if you don't know what shizuku is.

aRandomMenno commented 2 months ago

I just heard about Suzuki in my life. Shizuku never heard. 😅

It's fine, but you can do some really cool things with it. 😊

aRandomMenno commented 2 months ago

Everything is working correctly now