Two ways to do it
Both are set up in Settings → Sync in the desktop app, or during setup in the Android app.
Point Fiction Reader at a folder that Dropbox, Drive, OneDrive, iCloud or Syncthing already keeps in step. There's nothing to sign in to.
Sign in once. Fiction Reader gets a hidden folder of its own and can't see anything else in your Drive.
If you already run one, you don't need sync. Every device is looking at the same library.
What travels
| Synced? | |
|---|---|
| Reading positions and read markers | Yes |
| Reading history | Yes |
| Highlights, notes and bookmarks | Yes |
| Tags, collections and story notes | Yes |
| Reading settings and theme | Yes |
| Your own imported books | Yes, as whole files. You choose which folders. |
| Source settings and saved site logins | Yes, encrypted. The key that decrypts them never goes to the cloud. |
| Downloaded chapters of web stories | Not yet. Each device downloads its own. |
Because chapters don't sync yet, two devices following the same story each fetch it from the site. If your devices are usually on the same network, a server is the better choice.
A synced folder
This is the simplest option, and it works with any cloud provider.
- Pick a folder that your sync client already keeps in step on both machines.
- Enter its path in Settings → Sync on the first device.
- Enter the same folder's path on the second device, as that machine sees it.
Fiction Reader only writes finished files into the folder and never changes them afterwards, so a sync client can safely watch it.
If a conflict file ever appears in the folder, with a name like … (1).jsonl or … (conflicted copy) …, Fiction Reader stops syncing and tells you.
Google Drive
Fiction Reader asks for one permission: access to a hidden application folder created for it. It can't list, read or change your ordinary Drive files.
What goes in that folder is the list above. Two things never go there: your site passwords in readable form, and the key that decrypts them.
On the desktop, signing in opens your normal browser, and the sign-in is kept in your operating system's protected storage.
To stop a device syncing, use Disconnect in Fiction Reader. To stop every device at once, remove Fiction Reader from your Google account's third-party connections. The support page has full instructions, including how to delete the hidden data.
Adding a second device
The new device has to prove it's yours.
- On the new device, choose to link an existing library and sign in to the same Google account.
- It shows a code. The device you already use shows the same code and asks whether to approve it.
- Compare the codes and approve. The existing device then passes over the key the new one needs.
If you don't have the other device with you, a recovery key does the same job. You can copy it, or show it as a QR code, from the Sync card on a device that's already linked. Keep it private: anyone with the key can decrypt your saved site logins.
Requests that aren't approved expire after 24 hours.
What the app tells you
The Sync card shows which service is connected, when this device last synced, your other devices and when each was last seen, and any error. Before the first sync it estimates how much will be uploaded.
Sync now runs a sync straight away. Two switches make handing over between devices quicker:
- Sync reading progress promptly syncs when you finish or leave a chapter, so another device has your place within seconds.
- Look for other devices every 20 seconds checks for changes much more often while the app is open. It uses a little more battery and data.
A sync failure never stops you reading. You get a message, and the library on the device carries on working.
Disconnecting
Disconnect stops this device syncing. The copy in the cloud is left alone, so your other devices carry on.
To delete the cloud copy, use your provider. For Google Drive that's Manage apps in Drive's settings. Only do that once you're sure you won't need it to set up another device.
What it refuses to do
Each of these would lose data, so the app refuses and says why.
- Keeping the database in a synced folder.
- Running two copies of the app on one library folder.
- Syncing two libraries that have different encryption keys.
- Carrying on after a conflict file appears in the synced folder.
- Opening a library that a newer version of Fiction Reader has already written. Update this device first.
- Deleting a book on another device because this device can't currently see the file.