diff --git a/BookhoardAPI.lua b/BookhoardAPI.lua index d3b1d2f..7b10842 100644 --- a/BookhoardAPI.lua +++ b/BookhoardAPI.lua @@ -1,4 +1,5 @@ local json = require("json") +local json_util = require("json/util") local logger = require("logger") local ltn12 = require("ltn12") local socketutil = require("socketutil") @@ -118,8 +119,9 @@ function BookhoardAPI:checkRegistrationStatus(registration_id) end function BookhoardAPI:syncProgress(book_data, sync_mode) + local books = json_util.InitArray({ book_data }) return self:_request("POST", "/api/sync/koreader/progress", { - books = { book_data }, + books = books, sync_mode = sync_mode or "immediate", }, PROGRESS_TIMEOUTS) end diff --git a/main.lua b/main.lua index f50f422..7b4e826 100644 --- a/main.lua +++ b/main.lua @@ -11,6 +11,7 @@ local SpinWidget = require("ui/widget/spinwidget") local UIManager = require("ui/uimanager") local WidgetContainer = require("ui/widget/container/widgetcontainer") local json = require("json") +local json_util = require("json/util") local logger = require("logger") local sha2 = require("ffi/sha2") local time = require("ui/time") @@ -670,6 +671,7 @@ function Bookhoard:collectBookData() if props.authors then authors = { props.authors } end + json_util.InitArray(authors) local file_sha256 = self:getFileSHA256() local book_uuid = self:getBookhoardUUID() @@ -699,9 +701,9 @@ function Bookhoard:collectBookData() end function Bookhoard:collectAnnotations() - local bookmarks = {} - local highlights = {} - local notes = {} + local bookmarks = json_util.InitArray({}) + local highlights = json_util.InitArray({}) + local notes = json_util.InitArray({}) if not self.ui.bookmark then return bookmarks, highlights, notes