momijizukamori: Grey tabby cat with paws on keyboard and mouse. The text reads 'code cat is on the job', lolcats-style (CODE CAT)
Cocoa ([personal profile] momijizukamori) wrote2024-05-12 12:34 am
Entry tags:

Ao3 Reader 0.1.0

Major features/bugfixes
- No longer crashes on rotation! Though custom views haven't had rotation code written for them mostly, so there will be weird rendering bugs in landscape mode.
- Support for devices through the Clara BW (so not the Clara Color or Libre Color, but everything else) - thanks upstream!
- The 'jump to page' feature of indexes (accesesed by tapping on the page count in the bottom right) now actually jumps you to the page instead of hanging
- The work details overlay (accessed by long-pressing on a work in the list) now actually shows all the tags and summary instead of cutting off partway into the second page.
- AO3 login! For now, you need to put your username and password in the .adds/ao3reader/Settings.toml file - in the future I'd like to have that info be enterable in the UI but we're not there yet.
- The above means 1) you can access archive-locked works, and 2) you can access your 'Marked For Later' list (currently at the end of the home page faves list) - that last one was a big thing I wanted, heh.
- A few bugfixes here and there - work listings with more than 1k works will now show the count properly, if a tag has been synned to another tag it'll handle the redirect instead of saying it's unwrangled, etc.
- Relevant only to people who want to do development on this, I figured out how to get the desktop emulator working (but it requires a bunch of system lib installs so not something I can just distribute for now, sigh)

Known Issues
- The summary view doesn't understand linebreaks, or HTML, so all the text is just one long paragraph. That's one of the next big goals
- Kudos are not working. Or working intermittantly? idk there's some weird session check stuff I was trying to debug today but I finally gave up
- About a million things remain unimplemented, lol

The installation instructions remain the same - the new 'one-click' package is here, and if you've already got an older version installed and just want to update the ao3reader install, the zip file is here (there's some library updates so it needs the whole folder, not just the binary this time).
tinny: Eve Baird leaning on gears: "high maintenance" - originally a Harry and Sally quote (__high_maintenance eve)

[personal profile] tinny 2024-05-12 01:36 pm (UTC)(link)
oh wow so cool.

Relevant only to people who want to do development on this

I should, maybe? Not that i have too few things to do, but I kind of find myself without fandom lately, so maybe i should do some fandom-related coding instead. maybe. (I don't think I'm quite depressed enough yet. /o\ )

(Anonymous) 2024-07-11 10:31 am (UTC)(link)

hi! I know this is an old post, but if you want to know how to get the emulator to work, it's right there in the plato docs — I'm on an ARM mac, so I just run

brew install mupdf harfbuzz djvulibre sdl2 && ./run-emulator

and it does the rest.*

*okay, I also had to update crates/core/build.rs to include a new cargo:rustc-link-search= line because it wasn't finding the libs.

Dunno if this is useful but I hope it is! Best, Leah B.

qwertynerd97: A short-haired person helping a dragon emerge from an egg (Default)

[personal profile] qwertynerd97 2024-09-12 04:28 am (UTC)(link)
I just started setting up my Kobo Clara 2E today, and was poking around for something just like this! I haven't quite managed to get it to work just yet; I keep getting a blank screen when I open the ao3reader but I'm going to keep troubleshooting and hopefully I'll be able to get it to work.

I've also been thinking of writing a script that adds actions in the finished reading menu for epubs downloaded from AO3 (either by the AO3 download or the FanFicFare downloader) to enable kudos and comments, but haven't gotten started on it yet. (I do a lot of web dev, but this is gonna be my first low-level device GUI work.)
qwertynerd97: A short-haired person helping a dragon emerge from an egg (Default)

[personal profile] qwertynerd97 2024-09-12 04:07 pm (UTC)(link)
I haven’t installed Plato before (that was gonna be the next thing I tried today!), but I had successfully installed KFMon and NickelMenu before adding in the AO3Reader. I was a little worried that there might be conflicts, so I did a factory reset and retried the install last night, but got the same blank page.

The blank page is also weird, because it has the header bar (with search button and favorite tags), but neither works. If the Plato install is successful, my next step is to start poking on the bash scripts and .ini files see why things aren’t loading
qwertynerd97: A short-haired person helping a dragon emerge from an egg (Default)

[personal profile] qwertynerd97 2024-09-12 08:32 pm (UTC)(link)
I managed to get it working!! The issue was that the Settings.toml file that comes by default with the one-click install was not compatible with the Kobo Clara 2E. Copying the Settings-sample.toml contents over to the Settings.toml (and tweaking them slightly to meet my specifications, since I was already poking on them) made it work.

I might poke on the default settings and see what the minimal tweaks are to get it working with the Clara 2E... but only after I complete my next quest, which is to make it not crash when I click Marked For Later :) (the regular tags work, though!)
qwertynerd97: A short-haired person helping a dragon emerge from an egg (Default)

[personal profile] qwertynerd97 2024-09-12 11:04 pm (UTC)(link)

I figured out the Marked for Later issue! In the WorkIndex code, there is a line that saves the max page that can be visited. The way this code is written, it assumes that pagination will always exist on any page that has a list of works. For any page that does not have pagination (ie tiny fandoms or short marked-for later lists), this code breaks.

Relevant error message: thread 'main' panicked at crates/core/src/view/works/workindex.rs:65:39: index out of bounds: the len is 0 but the index is 4294967294

qwertynerd97: A short-haired person helping a dragon emerge from an egg (Default)

[personal profile] qwertynerd97 2024-09-12 11:47 pm (UTC)(link)
Relevant to above comment on errors, is there a setup guide for development? The post mentions you figured out how to get the emulator setup, but if you have a guide for how to go from local git repo changes to a zip that I can drop into my device, that would be awesome!

My main goal with my new e-reader is to get it set up so that I can read fics, and then leave kudos and comments for the author, or bookmark the fic to add it to my personal library (I have automated Calibre + FanFicFare scripts set up to save all fics in my bookmarks to my Calibre library)
qwertynerd97: A short-haired person helping a dragon emerge from an egg (Default)

[personal profile] qwertynerd97 2024-09-13 05:10 am (UTC)(link)

I’ll definitely take a look at the tutorial! You’re right, I haven’t worked with Rust before, but I’m a bit of a language generalist, so it shouldn’t be too hard to pick up on the fly!

I was downloading the repo early to fiddle with it, and didn’t see any kind of unit or integ tests, are they in a different repo or just yet to be written?

In particular, if there’s no integ tests currently I might fiddle around with cucumber-rust and write some feature integ tests based on your dev/release notes, so I don’t have to worry about regression once I start actually fiddling with the code! (As long as you aren’t opposed, of course! And definitely let me know if I overstep at any point while working on this, I don’t want you to feel like I showed up out of the blue and am steamrolling everything.)

qwertynerd97: A short-haired person helping a dragon emerge from an egg (Default)

[personal profile] qwertynerd97 2024-09-14 12:47 am (UTC)(link)

Awesome! I love writing tests when I dive into a new codebase, so it’s nice to know they will be useful!

I managed to get the release build script building successfully (with some help from the Plato setup files and my girlfriend’s much greater hardware dev skills) and got the cargo build and cargo test commands working in my dev environment.

I also sent out a PR with some documentation updates (how to do the one click install in the README, and a set of .feature files that list all the features I could find in the devlog posts for the reader that I could verify on my own device :), and a small tweak to the settings example file).

I’m planning on getting some unit tests working next!

Edited (Typo in the markdown :() 2024-09-14 00:48 (UTC)
qwertynerd97: A short-haired person helping a dragon emerge from an egg (Default)

[personal profile] qwertynerd97 2024-09-27 06:47 pm (UTC)(link)

I sent out another PR with my initial testing changes! (plus the dockerization changes that diantox made so that I could code it on my Fedora system :))

It might be a while until I add any more commits, as I'm about to dive into the new Zelda game, so I figured I should PR what I have, instead of letting it sit in limbo for forever.

qwertynerd97: A short-haired person helping a dragon emerge from an egg (Default)

[personal profile] qwertynerd97 2024-09-12 07:54 pm (UTC)(link)
Also, if I notice bugs/issues as I set up the reader, should I add issues on the Github page, or is there another better place to surfaces those?

(For example, in the one-click install, a NickelMenu file is created that adds a dedicated AO3Reader button in the main NickelMenu menu, but the KFMon NickelMenu file that is also installed by the one-click install of AO3Reader has a generator that adds all watched KFMon files to the main NickelMenu. This results in 2 buttons for AO3Reader in the main NickelMenu)
shootthelightsout: (Default)

[personal profile] shootthelightsout 2024-09-16 04:45 pm (UTC)(link)
Hi, I just installed this on my Kobo Clara HD today and overall it is working really well despite me having some install issues at first. I really appreciate you making this, I've seen barely anyone talk about it, but it has been really cool and nice to use!!! There are some bugs I've noticed, nothing really major and it works really well overall, but I figured I'd list them in case any are user error or easily fixable

-The story does not load with the default font despite it being set in the app and showing up correctly in settings.toml, I have to select the font for every story despite it already showing as selected in the software
-Accidentally clicking any hyperlink outside of the text itself crashes the app, I would make an option to disable these links if possible to prevent it from trying to load the external webpage and crashing
-Same issues that quertynerd97 mentioned with the Marked for Later page being broken and AO3Reader showing up twice in Nickelmenu. I fixed the Marked for Later page being broken by just adding more stories to it on my account and I deleted the nickelmenu file for AO3Reader and it deleted the duplicate.

Again thank you so much for making this!
shootthelightsout: (Default)

[personal profile] shootthelightsout 2024-09-17 12:25 am (UTC)(link)
With normal Plato, it uses the selected font in the settings.toml as default, you can't save the default selection in the software itself, but it successfully automatically uses the font as long as it is written in the file, so I don't think its a native Plato issue.

Also, I like to use a fork of Plato (https://github.com/thataboy/plato) with additional features, but when I installed ao3 reader, it didn't play nice with it, so I went back to standard Plato. I'm guessing ao3 reader uses some files or is dependent on normal Plato so using the fork messes it up. I don't know if it would be possible to change ao3 reader to work with the fork in the future or if maybe it is just a glitch on my end, but I figured I'd put it out there, I wouldn't worry about it too much, I think most people end up using KOReader or normal Plato anyway rather than the fork so it is not a big deal
shootthelightsout: (Default)

[personal profile] shootthelightsout 2024-09-26 11:18 pm (UTC)(link)
I just installed the build and it seems to be working good! I also seem to be able to use the Plato fork now, so that was probably just user error with installing. The only other minor bug I see is with disabling hyphenation; on normal Plato and the fork, I disable hyphenation completely by uncommenting the option in config.sh, but when I try this on ao3 reader it does not work. I'm not sure if this is something that can be changed but it would be great if its a simple fix! I also tried making the hyphenation penalty bigger in settings.toml but I didn't seem to notice a difference
shootthelightsout: (Default)

[personal profile] shootthelightsout 2024-10-01 11:58 pm (UTC)(link)
Sounds great! I really appreciate you making this app in the first place, it has been super nice to use!!!