Settings Reference

Complete list of all plugin settings, their types, defaults, and descriptions.

πŸ”—Settings Reference

All settings are stored in the plugin_settings table of the local SQLite database. They can be inspected with:

SELECT key, value FROM plugin_settings ORDER BY key;

Settings are read and written via the menus in Tools β†’ BookLore Sync. You should not need to edit them manually.


πŸ”—Connection settings

KeyTypeDefaultDescription
local_server_urlstring""BookLore URL preferred on home network (for example http://192.168.1.100:6060)
remote_server_urlstring""BookLore URL preferred away from home network (for example https://domain.example.com)
auto_network_switch_enabledbooleanfalseEnable SSID-aware URL switching (home network β†’ local URL, otherwise remote URL)
home_network_ssidstring""WiFi SSID considered β€œhome” when automatic network switching is enabled
server_urlstring""Legacy compatibility key. Runtime URL is derived from local/remote settings and network state.
usernamestring""KOReader account username (used for MD5-authenticated endpoints)
passwordstring""KOReader account password (stored in plain text; hashed to MD5 on the fly when sent in requests)
booklore_usernamestring""BookLore account username (used for Bearer token authentication)
booklore_passwordstring""BookLore account password (used to obtain JWT; not stored as a hash)

πŸ”—Session tracking settings

KeyTypeDefaultDescription
is_enabledbooleanfalseMaster on/off switch for all session tracking
min_durationinteger30Minimum session duration in seconds for a session to be saved
min_pagesinteger5Minimum pages read for a session to be saved (used in pages detection mode)
session_detection_modestring"duration"Validation mode: "duration" or "pages"
progress_decimal_placesinteger2Decimal places in progress percentages sent to the server during sync (0–5); local storage always uses full precision

πŸ”—KOReader progress sync settings

KeyTypeDefaultDescription
progress_sync_enabledbooleanfalseMaster toggle for KOReader document-position sync
progress_pull_on_openbooleantruePull remote progress when opening a book (if already connected)
progress_pull_on_resumebooleantruePull remote progress after resume (if already connected)
progress_sync_triggerstring"book_open_close"Push mode selector ("book_open_close" or "each_n_pages")
progress_sync_interval_pagesinteger10Number of page turns before periodic progress update; minimum is 1
progress_sync_page_updates_enabledbooleantrueEnable or disable periodic page-turn updates (open/close snapshots are always queued)
progress_sync_forward_strategystring"prompt"Strategy when remote progress is newer: "silent", "prompt", or "disable"
progress_sync_backward_strategystring"disable"Strategy when remote progress is older: "silent", "prompt", or "disable"
progress_sync_set_read_on_ratingbooleanfalseQueue forced 100% progress when rating is submitted
progress_sync_normalize_session_locationsbooleanfalseNormalize session startLocation / endLocation to server page-count scale before upload (progress percentage is unchanged)

πŸ”—Sync mode settings

KeyTypeDefaultDescription
sync_modestring(derived)High-level sync mode: "automatic" (queue/sync on suspend and resume when connected; manual actions can auto-enable WiFi) or "manual" (queue only; sync via Sync & Cache β†’ Sync Pending Now). Legacy/custom values are migrated to one of these modes.
network_connect_timeout_secondsinteger15Maximum time (seconds) to wait for WiFi to become connected after enabling it. Increase this on slower devices or networks.
sync_delay_after_connect_secondsinteger0Extra wait time (seconds) after WiFi reports connected, before sync requests are sent. Useful when DNS/routing is not immediately ready after connect.
network_connect_run_until_connectbooleanfalseWhen true, disables the plugin-side connect timeout and keeps waiting for connection until the underlying network stack resolves or times out itself.
manual_sync_onlybooleanfalseWhen true, sessions are queued but not auto-uploaded; requires manual Sync & Cache β†’ Sync Pending Now. Set automatically when sync_mode is "manual".
force_push_session_on_suspendbooleanfalseInternal flag derived from sync_mode. In automatic mode, suspend queues current session/progress and attempts immediate upload via syncPendingSessions if network is already connected.
connect_network_on_suspendbooleanfalseLegacy compatibility flag derived from sync_mode. Current suspend/resume background flow does not actively connect WiFi; automatic WiFi connect is used by explicit sync actions instead.
airplanemode_sync_mode_enabledbooleanfalseEnables Airplanemode integration. When enabled and plugin is installed, Sync Mode is automatically overridden by airplane status (ON β†’ manual, OFF β†’ automatic).

πŸ”—Shelf sync settings

KeyTypeDefaultDescription
booklore_shelf_namestring"KOReader"Active shelf source display name (shared runtime label for standard and Magic shelf sources)
booklore_source_shelf_namestring"KOReader"Regular shelf source name
booklore_source_shelf_idintegernilExplicit standard shelf source ID. If set, resolution uses this ID before name fallback
booklore_magic_shelf_namestring"KOReader"Magic Shelf source name
booklore_magic_shelf_idintegernilExplicit Magic Shelf source ID. If set, resolution uses this ID before name fallback
shelf_idintegernilCached ID of the resolved shelf (set automatically after first sync)
download_dirstring(auto)Local directory where downloaded books are saved; resolved from KOReader's home_dir setting, then device default, then known platform paths (/mnt/onboard/Books, /sdcard/Books). Always a Books subdirectory.
auto_sync_shelf_on_resumebooleanfalseAutomatically run shelf sync 15 seconds after the device wakes from suspend, once Wi-Fi is connected
delete_removed_shelf_booksbooleanfalseDelete local book files when they are removed from the shelf
shelf_use_original_filenamebooleantrueSave downloaded books using the server's original filename (stem + _<id>) instead of deriving the name from the book title
delete_sdr_on_book_deletebooleanfalseWhen deleting a shelf book, also delete its .sdr sidecar directory. Only applies when delete_removed_shelf_books is also true
min_free_space_mbinteger500Minimum free disk space threshold (in MB) required before downloading shelf books
magic_separate_folderbooleanfalseUse a separate download directory for magic shelf downloads instead of the shared directory
magic_download_dirstring(auto)Download directory for magic shelf books when magic_separate_folder is enabled. Defaults to <download_dir>/Magic

πŸ”—Rating sync settings

KeyTypeDefaultDescription
rating_sync_enabledbooleanfalseEnable or disable rating sync to BookLore
rating_sync_modestring"koreader_scaled"Rating mode: "koreader_scaled" (Γ—2 conversion) or "select_at_complete" (manual 1–10 dialog)
hardcover_tokenstring""Hardcover API token for syncing ratings to Hardcover
hardcover_rating_sync_enabledbooleanfalseEnable or disable rating sync to Hardcover (requires hardcover_token)

πŸ”—Recommendations settings

KeyTypeDefaultDescription
show_post_rating_recommendationsbooleanfalseWhen enabled, finishing a book (β‰₯99% progress) fetches and shows up to 10 recommendations from the BookLore server.

πŸ”—Annotation sync settings

KeyTypeDefaultDescription
highlights_notes_sync_enabledbooleanfalseEnable or disable highlights and notes sync
bookmarks_sync_enabledbooleanfalseEnable or disable bookmark sync (position markers without text)
notes_destinationstring"in_book"Where to store notes: "in_book", "in_booklore", or "both"
upload_strategystring"on_session"When to upload: "on_session" (after every session) or "on_complete" (at β‰₯99% progress)

πŸ”—Preference settings

KeyTypeDefaultDescription
silent_messagesbooleanfalseSuppress session-related popup notifications. Note: during deferred close-flush sync in automatic mode, no in-progress popup is shown, so the UI may appear temporarily unresponsive while queued items are uploaded.
log_to_filebooleanfalseEnable file-based debug logging with daily rotation
booklore_brand_display_namestring"Booklore"Custom plugin display name used for UI branding; trailing Sync is normalized away and shortcut naming is derived automatically

πŸ”—Auto-update settings

KeyTypeDefaultDescription
auto_update_checkbooleantrueCheck for updates once per day at startup
use_dev_buildsbooleanfalseUse the dev-build update channel defined by dev-build.location instead of stable GitHub releases. If dev-build.location is missing at startup, this setting is reset to false.
last_update_checkinteger0Unix timestamp of the last update check (set automatically)

πŸ”—Notes on types

  • boolean values are stored as "true" or "false" strings in the plugin_settings table and converted at read time.
  • integer values are stored as string representations and converted with tonumber().
  • All settings use the DbSettings wrapper which provides a LuaSettings-compatible readSetting / saveSetting / flush interface backed by SQLite.