better integration with KSM and KoReader
i played with Koreader again recently.. It's faster than Nickel for page flipping and, in general, everything. It's also completely free software (AGPLv3) so it makes it possible to run the Kobo reader with almost everything being free software (there are probably still binary blobs and kernel drivers that are non-free, but not much we can do about this).
The problem is that I designed wallabako for Nickel, the native, proprietary interface that comes with the Kobo, which makes it a poor match for koreader or KSM, which KoReader depends on... Someone opened a feature request in Koreader for Poche support more than 2 years ago.
In particular, while it seems like things generally work (I can find the downloaded articles and read them), some things do not work. Here's a list of things to do to complete the work here:
-
have KoReader parse the EPUB names from the files it finds. without this, it is difficult to see which articles have been downloaded. You only see (say) 38781.epub instead of "Example article.epub". We could use the article title from the listing to add a "slug" to the filename, which was discussed in #18 (closed). Title parsing in Koreader was requested upstream in #2620 and was fixed as part of a larger effort to redesign the GUI in #2614. -
make KoReader render the wallabako logfile. For some reason, the screen is blank. KSM can read it fine though, so this could be a bug with koreader? maybe limited only to when debugging is enabled. workaround: delete logfile, disable debugging and restart. skipping this as fixed for now. apparently, this was part of upstream #2702 -
create a koreader development environment locally: this involves creating an "emulator build" which takes 1GB of disk space and compiles the universe, but it seems to work. this lead to multiple issues upstream regarding translation, weblate, error messages, having a cleaner desktop app, and a debian package that links against existing libs instead of rebuilding all, with unpatched libraries -
write a basic wallabako run
plugin that just starts wallabako and (maybe) shows the output. see @houqp's snippet based on timesync -
write a "configure wallabako" extension to the plugin. frenzie suggested looking at the good reads plugin for inspiration there -
sync wallabag and koreader read status and metadata -
figure out how koreader will detect new books - do we need to ping it, or does it find out on its own? -
how do we tell users a new book has arrived? -
figure out how to start wallabako automatically (wifi enabling? udev? are the installed hooks fired?) - apparently, udev hooks should just work
There's an upstream issue to followup on koreader's side of things, with way more details.