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

Dropbox sync failing on fresh Flathub install #187

Open
Jachimo opened this issue Dec 31, 2023 · 4 comments
Open

Dropbox sync failing on fresh Flathub install #187

Jachimo opened this issue Dec 31, 2023 · 4 comments

Comments

@Jachimo
Copy link

Jachimo commented Dec 31, 2023

I'm running into a problem after installing Celese using Flatpak on a brand-new Pop_OS 22.04 (basically Ubuntu 22.04) system.

I installed Celeste, ran it, added my Dropbox account, authenticated to the account (browser roundtrip worked fine), but then it seemed to stop doing anything.

Running it in a terminal session shows a lot (once a second or so) of the following error message lines:

2023/12/31 16:26:26 ERROR : : error listing: Post "https://api.dropboxapi.com/2/files/list_folder": token expired and there's no refresh token - manually refresh with "rclone config reconnect Personal Dropbox:"

Because the app is installed via Flatpak, and I don't have rclone installed in my normal PATH, I'm not sure how I can even do what it suggests about re-running rclone config reconnect. (I think for that to work I'd somehow have to run it from inside the Flatpak environment? I'm not sure where rclone is actually installed but presumably somewhere in /var/lib/flatpak/...)

It seems to me there are potentially two issues at work here: one is the issue with Dropbox sync not working and causing the error, and then there's a secondary contributing problem, which is the inability to run the Rclone reconnect command easily, when Flatpak has been used to install Celeste.

Happy to gather more information if helpful.

@hwittenborn
Copy link
Owner

Hey @Jachimo, the issue appears to be that the Dropbox token Celeste is using for your account expired, but like you said there needs to be a way for Celeste to fix that for you. Ideally Celeste would just detect the scenario you encountered and then ask to reconnect automatically, but that doesn't happen like you were seeing.

In regards to a way to fix things right now, you could run the following (replacing remote with the Name you configured in Celeste's GUI):

# First run this.
flatpak run --command=sh com.hunterwittenborn.Celeste
# And then run this in the shell that gets spawned.
rclone config delete 'remote'
rclone config
# And then follow the prompts to make a new config.
# Set 'name' to the previous value you had for 'remote'.

I want to have a way to make that all seamless in Celeste's GUI as well, I just haven't quite gotten to it yet. I'm still pretty busy with Celeste's rewrite, but I'd like to get this tackled after that's done.

If you need help with any of that you can reach out in Celeste's support room as well.

@hwittenborn
Copy link
Owner

Also though: did you get that error immediately after adding the Dropbox account to Celeste, or had you waited a bit? It shouldn't be happening immediately, if it is there might be something else happening that I need to look into.

@Jachimo
Copy link
Author

Jachimo commented Jan 2, 2024

@hwittenborn No, the error didn't appear immediately. When I first added the Dropbox account (about a week ago, maybe a bit more) it just seemed to be sitting there and not syncing anything. I left it unattended for a while to see if it would pull anything down. It didn't seem to, so when I got back I restarted the app and at that point saw the error.

There might be something else going on that caused it to fail to sync the first time, but I wanted to try again and see if that was just a fluke.

@Jachimo
Copy link
Author

Jachimo commented Jan 6, 2024

I got a chance to play with the machine that's having the issue today and unfortunately the steps you suggested didn't seem to help.

Getting into the Flatpak shell and deleting and re-configuring it seemed to work fine. It popped me into my browser where I authorized the app with Dropbox, and seemed to have gotten the OAuth token. But when I opened Celeste again and cleared the errors, the "token expired and there's no refresh token" error popped right back up.

Possibly related though: when I used rclone inside the Flatpak shell and tried to use the ncdu text-based browser, it failed with an error (and also blew up my terminal window with some sort of messed-up ASCII stuff):

Waiting for root directory...                                                                                                       
Total usage: 3.246G, Objects: 3082024/01/05 21:24:02 
ERROR : Vault: error listing: path/locked/

This is with rclone rclone v1.53.3-DEV inside the Flatpak.

Update -- I think I've figured out at least one aspect of the problem. When I initially set up the sync, I wanted to have the local directory ~/Dropbox sync with my entire remote Dropbox repository. I thought that the default, which has / as the remote sync target, would do that. But... for whatever reason, that doesn't seem to work right. (I have a personal Dropbox account, if that matters.)

Syncing ~/Dropbox on the local side to a directory inside my Dropbox, e.g. "Apps", on the remote side, seems to work fine. It's not what I want exactly, but it shows that it's not really an authentication/token issue really. There's something a bit more complicated going on.

However, in doing all this I noticed a slightly-odd behavior in Celeste: I can't delete a remote using the GUI; it pops up a confirmation dialog, I click yes, and then the app seems to crash.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants