diff --git a/src/plugin/updater.cr b/src/plugin/updater.cr index 4b69826..e490940 100644 --- a/src/plugin/updater.cr +++ b/src/plugin/updater.cr @@ -49,7 +49,7 @@ class Plugin "Pushing to download queue" jobs = matches.map { |ch| Queue::Job.new( - "#{plugin.info.id}-#{ch["id"]}", + "#{plugin.info.id}-#{Base64.encode ch["id"].as_s}", "", # manga_id ch["title"].as_s, sub.manga_title, diff --git a/src/queue.cr b/src/queue.cr index 381441b..dc15d36 100644 --- a/src/queue.cr +++ b/src/queue.cr @@ -70,7 +70,13 @@ class Queue ary = @id.split("-") if ary.size == 2 @plugin_id = ary[0] - @plugin_chapter_id = ary[1] + # This begin-rescue block is for backward compatibility. In earlier + # versions we didn't encode the chapter ID + @plugin_chapter_id = begin + Base64.decode_string ary[1] + rescue + ary[1] + end end end diff --git a/src/routes/api.cr b/src/routes/api.cr index 4489f85..47e5558 100644 --- a/src/routes/api.cr +++ b/src/routes/api.cr @@ -785,7 +785,7 @@ struct APIRouter jobs = chapters.map { |ch| Queue::Job.new( - "#{plugin.info.id}-#{ch["id"]}", + "#{plugin.info.id}-#{Base64.encode ch["id"].as_s}", "", # manga_id ch["title"].as_s, manga_title,