Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sychronizing to OneDrive creates \Apps\Graph folder #11489

Open
RiseT opened this issue Dec 11, 2024 · 5 comments
Open

Sychronizing to OneDrive creates \Apps\Graph folder #11489

RiseT opened this issue Dec 11, 2024 · 5 comments
Labels
bug It's a bug sync sync related issue

Comments

@RiseT
Copy link

RiseT commented Dec 11, 2024

Operating system

Windows

Joplin version

3.1.24

Desktop version info

Joplin 3.1.24 (prod, win32)

Client ID: 95807e799de04a7abbc1e0a2350708b3
Sync Version: 3
Profile Version: 47
Keychain Supported: Yes

Revision: d581264

Backup: 1.4.2

Current behaviour

Here's a copy of the description from an older forum entry as I'm experiencing the same issue (only difference is that in my case, the OneDrive folder is on the D: partition):

Using the Sync Wizard for OneDrive, a folder is created at C:\Users\Owner\OneDrive\Apps\Graph instead of \Joplin. This does not agree with documentation. No error was reported.

Expected behaviour

Create a folder named "Joplin" instead of one named "Graph" (that folder used to have the name "Joplin" with an older installation of Joplin).

PS: It would be great if different subfolders could be used for different Joplin profiles (like OneDrive\Apps\Joplin\Profile Name). When trying to sync two profiles to the same OneDrive account, Joplin Desktop mixed the contents of those two profiles in a single folder.

Logs

No response

@RiseT RiseT added the bug It's a bug label Dec 11, 2024
@personalizedrefrigerator
Copy link
Collaborator

I'm linking to an upstream issue that might be related:

OneDrive/onedrive-api-docs#1866

@mrjo118
Copy link
Contributor

mrjo118 commented Dec 11, 2024

I noticed this a week or 2 ago when I created a test profile and synced up to an empty sync target on onedrive (can't remember if I setup the new target on mobile or desktop). I noticed the onedrive login is different for mobile and desktop (desktop uses an auth link, mobile opens a form to enter login details directly), so it might only be reproducable if setting up on one of the clients and not the other

Copy link
Contributor

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? If you require support or are requesting an enhancement or feature then please create a topic on the Joplin forum. This issue may be closed if no further activity occurs. You may comment on the issue and I will leave it open. Thank you for your contributions.

@github-actions github-actions bot added the stale An issue that hasn't been active for a while... label Jan 11, 2025
@personalizedrefrigerator personalizedrefrigerator added sync sync related issue and removed stale An issue that hasn't been active for a while... labels Jan 11, 2025
@mrjo118
Copy link
Contributor

mrjo118 commented Jan 20, 2025

I believe that this issue might relate to the cause of people losing their notes when using OneDrive as the sync target. In this thread https://discourse.joplinapp.org/t/restore-deleted-backups/43230 it was found that multiple instances of the Graph folder can be created on OneDrive without the user initiating a new login, and when that happens it could either segment the notes across 2 profiles or leave all the notes behind on the old profile.

This recent comment on the upstream issue also suggests that if the user currently has a Joplin folder on OneDrive, it may be spontaneously moved or de-referenced, to use a Graph folder instead OneDrive/onedrive-api-docs#1866 (comment)

@mrjo118
Copy link
Contributor

mrjo118 commented Jan 23, 2025

I have a proposal for how the failsafe could be hardened to be more protective from data loss on all sync targets, and optionally a possible way to allow the user to recover from the OneDrive 'special' folder suddenly changing when the authentication is refreshed:

During the delta step of the synchronization code, make it check whether the sync target (remote) contains an info.json file, following each invocation of the delta api which fetches the list of remote items, and also when synchronization is started (just before info.json is created). If it does not, then trigger a failsafe error specifying that the sync target is empty or damaged. To avoid hitting this error when doing the initial sync on a device, bypass this error if the local database contains no items in the sync_items table matching the current sync target (then when it starts syncing it will create the info.json so that subsequent syncs should work without issue).

If the sync target is OneDrive, also destroy the existing authentication when hitting that specific failsafe error, to force the user to log into OneDrive again when they next press the sync button, in a hope that it will re-authenticate with the original 'special' folder.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug It's a bug sync sync related issue
Projects
None yet
Development

No branches or pull requests

3 participants