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).
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.