Cocoa (
momijizukamori) wrote2024-05-12 12:34 am
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
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).
- 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).
no subject
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!)
no subject
If it crashes on 'marked for later' it may be failing to log you in properly - either way I think there should be a log file in the folder with the binary that will have any stack traces/messages! Also for issues - you're probably better off dropping them in a comment here, my github notifs get routed to a different folder and I'm bad about remembering to check them.
no subject
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
no subject
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)
no subject
There isn't but I should see about writing one up because every time I pick this project up again I'm like 'how... do I build this again.....?' I think I need to reload it on my own Kobo (a Libra 2) anyway so perhaps this weekend I'll see about doing that. As a first step though, if you haven't done Rust dev before, there's some setup steps - https://www.rust-lang.org/learn/get-started (and if you have, disregard, heh)
(also re: that error, lolsob love a good integer overflow bug :'D)
no subject
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.)
no subject
haha, I feel you, I am also something of a generalist and this was my first real Rust project at all. And no, I don't think there are any tests - certainly I haven't written any, and it looks like upstream (ie, Plato) doesn't have any either. I'm totally game to add some in this repo though - I am pro-testing, I am just extremely bad at remembering to write them/writing them myself.
no subject
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
andcargo 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!
no subject
Awesome! The emulator is just the run-emulator.sh script in root, I don't think I had to do anything super-whacky once I fixed the actual Rust code? Also I just checked and uh apparently had a whole bunch of changes I hadn't pushed (probably from the last version I shared the built files for here), so you probably want to sync that, heh.
no subject
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.
no subject
I'll have a look, and enjoy Zelda! Eventually I will finish my BotW playthrough and get to the newer ones.....