BoostIO / BoostNote-Legacy

This repository is outdated and new Boost Note app is available! We've launched a new Boost Note app which supports real-time collaborative writing. https://github.com/BoostIO/BoostNote-App
Other
17.08k stars 1.47k forks source link

Lost all notes (local storage) after upgrade #3724

Closed philjoecool closed 2 years ago

philjoecool commented 2 years ago

Current behavior

I've been using Boostnote desktop app on MacOS for quite some time, more than a year. I've been upgrading regularly, when the popup asked on OS restarts. I've always used local storage only - never cloud storage. That's what I wanted (no need for multi-device or team collab, I have my own backups) and one of the reasons I picked Boostnote.

Now, today after upgrade I saw I had to sign in. No way to have local storage. So I did sign up, thinking it was forced also for local storage, but I noticed a new UI. Then I discovered about the "next" version, with local storage deprecated, and "next-local" fork. So I downloaded that, still didn't find my notes again.

So I've been searching and trying suggestions, downloaded even older releases, and now I just want my notes back, in any way/format. It's a lot of important work notes.

I learned about boostnote.json, but I can't find it anywhere, for some reason. Also, can't find any .cson files. I am not sure what path I used for local storage, so I was looking for the files above. What is the default on MacOS?

I can't say for sure what exact version was running before the upgrade. As mentioned, I've been upgrading when prompted. It had the round (so not squared that I see now), dark blue (so not light green as I see I think in the legacy app) icon.

Expected behavior

Find my notes after suggested upgrade.

Steps to reproduce

All I can find after the upgrade is under ~/Library/Application Support/Boost Note (and/or in the backup restore for the same folder) is (userid/group are masked):

drwx------  28 ***  %%%    896 Aug 22 12:17 Cache
drwx------   4 ***  %%%    128 Mar  8 21:59 Code Cache
-rw-------   1 ***  %%%  20480 Aug 22 12:18 Cookies
-rw-------   1 ***  %%%      0 Aug 22 12:18 Cookies-journal
drwx------   2 ***  %%%     64 Mar  8 21:59 Dictionaries
drwx------   7 ***  %%%    224 Apr 18  2020 GPUCache
drwx------   4 ***  %%%    128 Apr 18  2020 IndexedDB
drwx------   3 ***  %%%     96 Apr 18  2020 Local Storage
-rw-------   1 ***  %%%   1047 Aug 22 12:18 Network Persistent State
-rw-------   1 ***  %%%     41 Mar  8 22:00 Preferences
-rw-------   1 ***  %%%  53248 Aug 22 11:27 QuotaManager
-rw-------   1 ***  %%%      0 Aug 22 11:27 QuotaManager-journal
drwx------   8 ***  %%%    256 Aug 22 12:17 Session Storage
-rw-------   1 ***  %%%   1036 Aug 22 12:18 TransportSecurity
drwx------   3 ***  %%%     96 Aug 22 12:15 blob_storage
drwx------   4 ***  %%%    128 Apr 18  2020 databases

Content of folders

╰─ ls -R
Cache                    Cookies                  Dictionaries             IndexedDB                Network Persistent State QuotaManager             Session Storage          blob_storage
Code Cache               Cookies-journal          GPUCache                 Local Storage            Preferences              QuotaManager-journal     TransportSecurity        databases

./Cache:
115ef1b7e64e00e1_0 2e6bd9425d396001_0 5c8b614477fed473_0 7d9b20ac7bea8675_0 a24c55257c1abd6b_0 c128d74671756ccc_0 ce22b07e2afbc042_0 e0e0be6cad0001d3_0 index
2522d36b7a26675c_0 556ec7475a94a48d_0 77c5af7186296427_0 89f0854c1573ab11_0 aab780c0e065943b_0 c3c6b0accc6db18a_0 d2df9c967ef7c91e_0 f15995a4a81eeb6b_0 index-dir
2cb3927fa6967acc_0 55f161b5e6a7a274_0 7cc306c269629abd_0 9a2477d447242201_0 b8cd8aa31d131b7d_0 c6e157ec39e321ae_0 dec161acbdbc7a12_0 fa333b03aebd57e7_0

./Cache/index-dir:
the-real-index

./Code Cache:
js   wasm

./Code Cache/js:
265b19f5b779903c_0 3022a1ca9a958fdc_0 431408a1e65c7c5c_0 80f075ea9d8cb7aa_0 8e34817820e87272_0 91a863f2c2ca7ae0_0 cfc838f8b97f8277_0 index              index-dir

./Code Cache/js/index-dir:
the-real-index

./Code Cache/wasm:
index     index-dir

./Code Cache/wasm/index-dir:
the-real-index

./Dictionaries:

./GPUCache:
data_0 data_1 data_2 data_3 index

./IndexedDB:
file__0.indexeddb.blob    file__0.indexeddb.leveldb

./IndexedDB/file__0.indexeddb.blob:
3

./IndexedDB/file__0.indexeddb.blob/3:
00

./IndexedDB/file__0.indexeddb.blob/3/00:
1c

./IndexedDB/file__0.indexeddb.leveldb:
000101.log      000104.ldb      000105.ldb      000106.ldb      000107.ldb      000108.ldb      000109.ldb      000110.ldb      CURRENT         LOCK            LOG             LOG.old         MANIFEST-000001

./Local Storage:
leveldb

./Local Storage/leveldb:
000005.ldb      000008.ldb      000010.log      000011.ldb      CURRENT         LOCK            LOG             LOG.old         MANIFEST-000001

./Session Storage:
000003.log      CURRENT         LOCK            LOG             LOG.old         MANIFEST-000001

./blob_storage:
ce0df3dc-9d45-4d6e-8b20-071db8ad5740

./blob_storage/ce0df3dc-9d45-4d6e-8b20-071db8ad5740:

./databases:
Databases.db         Databases.db-journal

Contents of folder from backup restored of a week ago:

╰─ ls -R
Cookies                  IndexedDB                Preferences              SS                       SingletonLock
Cookies-journal          Local Storage            QuotaManager             Session Storage          blob_storage
Dictionaries             Network Persistent State QuotaManager-journal     SingletonCookie          databases

./Dictionaries:

./IndexedDB:
file__0.indexeddb.blob    file__0.indexeddb.leveldb

./IndexedDB/file__0.indexeddb.blob:
2 3

./IndexedDB/file__0.indexeddb.blob/2:
00

./IndexedDB/file__0.indexeddb.blob/2/00:
19 1c 1d 1e 1f 23 24 27 28 29 2f

./IndexedDB/file__0.indexeddb.blob/3:
00

./IndexedDB/file__0.indexeddb.blob/3/00:
1c

./IndexedDB/file__0.indexeddb.leveldb:
000005.ldb      000056.ldb      000065.ldb      000074.ldb      000083.ldb      000092.ldb      000099.ldb      000107.ldb      LOG
000050.log      000058.log      000066.ldb      000075.ldb      000084.ldb      000093.ldb      000101.log      000108.ldb      LOG.old
000052.ldb      000061.ldb      000068.log      000076.ldb      000085.ldb      000094.ldb      000102.ldb      000109.ldb      MANIFEST-000001
000053.ldb      000062.ldb      000071.ldb      000078.log      000086.ldb      000096.ldb      000104.ldb      000110.ldb
000054.ldb      000063.ldb      000072.ldb      000081.ldb      000087.ldb      000097.ldb      000105.ldb      CURRENT
000055.ldb      000064.ldb      000073.ldb      000082.ldb      000089.log      000098.ldb      000106.ldb      LOCK

./Local Storage:
leveldb

./Local Storage/leveldb:
000005.ldb      000008.ldb      000010.log      000011.ldb      CURRENT         LOCK            LOG             LOG.old         MANIFEST-000001

./Session Storage:
000003.log      CURRENT         LOCK            LOG             LOG.old         MANIFEST-000001

./blob_storage:
35639cce-a29e-468a-a290-162c28749483 5260ffb6-bb0f-4d30-b5e4-b0a23fd63b44 72f16dfa-a870-46ca-a45d-c9ead8c3bd3f d0f1d915-28d6-47b5-9fff-b333d37f7479
3594ae4e-de1e-4a97-8d16-f43577914f91 59f6859d-9921-4f58-9d30-ccb525f403fe 73bd183d-30dc-4a2a-aa29-9a398f1e5e8e e6cb98f9-9888-4f1d-9d76-5d4482634ca0
3646f724-85af-4d77-b1ec-3b246669990d 5af96c96-3972-4636-b35d-67643f9942bb 79ddae8a-bd5e-486a-ae06-655683c245bd f5f92041-bd43-4d5c-a1c5-b3472fb04f66
3a1abaca-e894-475b-8c7f-428364b39271 5bc56a98-eaa8-480d-9334-a5b02c7e58fe 96bc4db8-f5a2-42be-b727-507a18e51d10 f89fcba5-5dff-4351-9bc3-8f1467a950ba
44261d13-3c30-4c44-a014-af0f6d04b7b4 64ef601f-37b1-4b6d-8f10-7cd079deb2c8 998456a7-ef34-455a-8435-1d82617ece86 ff13d34d-4b20-4ec9-9b7d-900b61526c3a
5173da97-47eb-4b23-b077-4f15e9d3334a 6cb8a6c3-4ea5-4e95-a0ca-027308a30d43 bb218639-b3fb-4da7-94d3-5f15ec12b5f6

./blob_storage/35639cce-a29e-468a-a290-162c28749483:

./blob_storage/3594ae4e-de1e-4a97-8d16-f43577914f91:

./blob_storage/3646f724-85af-4d77-b1ec-3b246669990d:

./blob_storage/3a1abaca-e894-475b-8c7f-428364b39271:

./blob_storage/44261d13-3c30-4c44-a014-af0f6d04b7b4:

./blob_storage/5173da97-47eb-4b23-b077-4f15e9d3334a:

./blob_storage/5260ffb6-bb0f-4d30-b5e4-b0a23fd63b44:

./blob_storage/59f6859d-9921-4f58-9d30-ccb525f403fe:

./blob_storage/5af96c96-3972-4636-b35d-67643f9942bb:

./blob_storage/5bc56a98-eaa8-480d-9334-a5b02c7e58fe:

./blob_storage/64ef601f-37b1-4b6d-8f10-7cd079deb2c8:

./blob_storage/6cb8a6c3-4ea5-4e95-a0ca-027308a30d43:

./blob_storage/72f16dfa-a870-46ca-a45d-c9ead8c3bd3f:

./blob_storage/73bd183d-30dc-4a2a-aa29-9a398f1e5e8e:

./blob_storage/79ddae8a-bd5e-486a-ae06-655683c245bd:

./blob_storage/96bc4db8-f5a2-42be-b727-507a18e51d10:

./blob_storage/998456a7-ef34-455a-8435-1d82617ece86:

./blob_storage/bb218639-b3fb-4da7-94d3-5f15ec12b5f6:

./blob_storage/d0f1d915-28d6-47b5-9fff-b333d37f7479:

./blob_storage/e6cb98f9-9888-4f1d-9d76-5d4482634ca0:

./blob_storage/f5f92041-bd43-4d5c-a1c5-b3472fb04f66:

./blob_storage/f89fcba5-5dff-4351-9bc3-8f1467a950ba:

./blob_storage/ff13d34d-4b20-4ec9-9b7d-900b61526c3a:

./databases:
Databases.db         Databases.db-journal

Environment

Komediruzecki commented 2 years ago

Hi,

I am a bit confused about all the info but let's get one thing at a time:

  1. You were using boost note next, so this issue should be posted on boost note next I suppose (legacy boost note didn't have many updates, so I suppose this is the case)
  2. The local storage (stored in browser local storage - pouch DB type storage) and file system local storage are 2 different things

Given 2., can you let me know did you backup your data from a file system location (file system local storage?) or from local storage (browser local storage - wherever it is on macOS?)

The local storage is not supported sometime now, from 0.16-17 version I think, this means that you probably had boost note file system storage.

The new/latest boost note next uses only cloud storage and local storage application needs to be installed separately, it will support only file system local storage, and for you to load only that storage you need to find the location of your boostnote.json and open that folder in new local space only application (from forked repo).

Nevertheless, if you had local storage, you can install the previous app (anything before 0.20, 0.21 I think) and try loading the storage there this is the easiest to do in case you want your notes back - they should be stored still in local storage, assuming you didn't remove the local storage.

If you used file system local storage, and also didn't remove it, try opening the older version of the app as well.

If you removed file system local storage, you can re-add it, the boostnote.json would be a good indicator you have file system local storage, because alongside 'notes' folder containing all notes in .JSON format (not .CSON as legacy boost note) and 'attachments' folder containing attachments (mostly in *.PNG), this is the thing to look when file system local storage is used.

If you used and backed up local storage (browser pouchDB), I am not really sure how to get it back if the data was deleted, but if it was somehow backed up, it could be done with some older version of the app and setting up proper metadata in boost note application storage key/value pairs.

If you have any other specific questions and if you can please let me know if the steps you are doing when dealing with the application and any other useful info of what type of storage you had, that would be of great help!

In case you are in previous boost note next application (not new local space only from the new repository), can you screenshot or send me the contents of your application data storage list, see image how to find it:

image

Just open developer tools and go to Application tab, then open Local Storage / file:// in the left pane, you will see the list of items, click on note.boostio.co:storageDataList (mine says additional local on image).

There is a list of all storages contained within the app, if you had local storage, it should be there, be careful not to modify the list. If you had local file system storage, its metadata data would also be there (location, name etc.) - you could find location of local file system type storage this way as well - if its still loaded into application)

philjoecool commented 2 years ago

Hi,

first of all, thank you so much for the very prompt response.

And thanks for the clarification on your point 2! As user, I didn't know/care of how "local storage" was done. Now I see the difference and my confusion. So, yes, I reinstalled older version 0.19.0, copied over contents of ~/Library/Application Support/Boost Note from my backup and YES! On app start, I was prompted to indeed convert to Local File System storage, and boom, I got my notes, with underneath boostnote.json and all the rest.

I then installed the new ".next -Local" fork of the app (ignored the upgrade popup now, of course), and "Add local space" pointing to that FS Local storage, gave it the same old space name (here, I have to say it was a bit confusing as it looked as I was creating a brand new one) and voila', all the notes in the ".next - Local" fork desktop app.

So, bottom line, it was just confusing to lose all "local storage" notes by just upgrading. Maybe there should have been a fool-proof warning that the upgrade would deprecate Local Storage and so all the notes, unless moving to the fork.

Anyway I'm good now, relaxed of not having lost all my precious time-saver notes. Thanks again!

Komediruzecki commented 2 years ago

Hi,

I am glad to hear that, I am sorry for the confusion in general, the local space app will get an update soon to clear out the welcome screen (saying you can add/create a space) alongside a few others improvements.

For the local storage vs file system storage, we deprecated PouchDB (legacy cloud and local storage) few versions back, you would get the unsupported storage screen instead of showing you the notes, so hopefully, everybody converted the storages, even if not, the application should not remove/delete the storages, they should be still shown but now with a must migration screen, if that was not the case, it could be a bug.

Please always backup your data and if you encounter any other problems, let me know.

If you have any other suggestions for local space, please let me know.