LANraragi v.0.9.0 - Hallo Spaceboy #883
Difegue
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
LANraragi release jumpscare! awooooooooooooo
Happy Halloween! 🎃
I wanted to hold off this release until it had a big feature deserving of the major version update, but since it's been so long...
A terrifyingly huge pile of QoL stuff has built up in the meantime! I think you'll find something to enjoy in here.
There's also been some community activity recently, including:
It's not a spooky release without some cold sweat, right? So here's a:
🛑🪟 WARNING FOR OLD WINDOWS VERSIONS 🛑🪟
This new update jumps the Windows Linux distro by quite a few software versions (See "Add AVIF/JPEGXL support to Windows" below), including non-reversible updates to Redis 7 for the database.
I've received spare reports of large databases on WSL1 breaking with the new Redis version and being unable to save changes, so please make a backup of your database folders before updating in case you need to roll back!
In case you updated anyway and hosed yourself, WSL2 should work and allow you to access the app for backup.json generation.
All set? Let's get to the actual changes:
🧛 (#789) "Save archive title" is now a global preference for all plugins
With this change, plugins are no longer responsible for handling whether they should update the Archive title or not; They can always just hand off a title suggestion, and it'll only be applied if you enabled this global preference in Plugin Configuration.
It defaults to ON, so you should very much make sure all your plugin settings are set correctly upon updating.
🍬 Archive overlay improvements
The reader overlay now features a few additional shortcuts if you're logged in, including a Delete button and a quick Category UI so you can see at a glance which Categories a file belongs to, and add/remove them as you please.
It now also shows the Archive name on top!
🦇 Add AVIF/JPEGXL support to Windows builds (#626 / #792 / #805)
Through the arcane magicks of... Alpine Linux updates!
The Horror!
Windows was previously stuck on Alpine 3.12 due to musl's DNS changes breaking downloader support -- As a result they were missing out on recent ImageMagick updates, including the stuff needed for avif/jxl.
3.18 fixed the mess, so I'm quite pleased to finally be rid of dual-legacy Docker image building for the time being.
(the legacy Dockerfile will remain maintained for a bit longer for the poor chaps stuck on aging Synology hardware... update already lads I'm all for reducing ewaste but surely there's a more up to date community linux or something)
🍡 JPEGXL thumbnail support (#825 - @polak14)
JPEGXLBROS WE'RE SO BACK unless you're using Chrome because Google decided your meme format didn't have a future
This adds an optional toggle in settings to use JPEGXL instead of JPEG for thumbnail generation. Your existing thumbnails won't be regenerated however, so you should use the "Regenerate all thumbnails" option if you want to switch everything to JXL.
JXL brings slight size improvements, and has less artifacting if you're using high quality thumbnails:
Considering the wins, I might use JXL in "Resize images in Reader" later down the line?
I guess browser support would have to get a bit closer(doesn't even work in Firefox stable smh my head), but with Apple supporting the format it'll probably happen at some point.
💀 Plugin for Koushoku/Anchira YAML files (#833 - @siliconfeces)
This plugin adds support for the
info.yaml
files you can find embedded in files coming from KSK(rip) or Anchira.We had a full KSK plugin set with downloader and everything, but the website died before we could ship it lmao
This also adds a YAML parsing library(
YAML::Syck
) to the stock codebase modules, so writing future plugins that parse yaml should be easier.🧟 LRR now supports OPDS-PSE 1.2 (#791 - @kuroneko995)
OPDS Page Streaming Extension 1.2 adds support for tracking the last time reading progress was updated, so that clients can either use the server progress or their own.
As with everything OPDS, this is quite niche and only Panels for iOS supports it... But as a bonus for API clients, LRR archive objects now expose a
lastreadtime
value you can use.👻 Tankoubons are (almost) here! (#519 / #818 - @EfronC)
This update introduces a new way to classify your files, Tankoubons.
Much like Categories, Tanks allow you to regroup multiple archive IDs...
Except that unlike Categories, Tanks have a specific order and will hide their contents from the Archive list and search, effectively allowing you to only show one entry for multiple files, with chapters.
Sounds pretty neat! Except...it's not actually finished! 🫠
0.9.0 only features the API endpoints for tankoubons, allowing API clients to get a headstart on implementing adding/removing archives to/from tanks. The web UI and implementation in search will come in a future release.
🎃 Other changes
(Make stats page faster when file access is slow #864) Make stats page faster when file access is slow (@siliconfeces)
📈 Historically, the stats page used to do filesystem operations to count your total archive count and content folder size.
📉 This could be slow if you were using
software forbidden by godcloud-based filesystems.📊 Stats now exclusively use the database to compute their information - It might not be filesystem-accurate at all times as a result, but with time I've changed my mind on this and think it's probably better to be database-accurate so we're consistent.
Dev environment changes (@siliconfeces)
💎 The Redis hostname can now be overridden by the environment variable
LRR_REDIS_ADDRESS
🐳 A
docker-compose
file has been added and documented if you want to setup an environment where the Redis database is in a separate container. it's the docker way™️....(Fix broken encoding for titles #811) Fix broken encoding for titles (@siliconfeces)
🀄
get_title
didn't handle text encoding properly, which caused non-trivial characters getting mangled in the "add to/remove from category" toasts from last release.(Multi line titles #589) Update themes to use
webkit-line-clamp
〰️ This adds basic support for two-line titles in thumbnail view.
🏬 If one wants unlimited lines, it's now as easy as removing
-webkit-line-clamp: 2; from div.id2 a.
Use table view if you want more tbh(Smarter hentag titles #840) Implement title similarity scanning for the Hentag plugin (@siliconfeces)
🔎 This plugin will now try to find the most similar title to your archive's, instead of relying on exact matches.
📜 This has been added to a core function (
LANraragi::Utils::String::most_similar($title_hint, @titles)
), so feel free to reuse this for your own plugins!(Remove loading='lazy' to fix firefox scroll-to-start bug #866 - fix img lazy loading #823) Remove loading='lazy' from Reader (@siliconfeces / @URenko)
🐌 Lazyloading images was pretty much broken in different ways in both FF and Chrome, so it's been removed for now.
(Keep package-lock.json for reproducibility #874) Add missing package-lock.json file and switch to
npm ci
🏗️ This enables easily reproducible builds. I don't know how those newfangled npm things work, okay?
📦 I'm not quite sure the builds are perfectly reproducible considering
cpan
installs can use different/later versions of Perl packages depending on the options you give it...ah wellUpdate secret generation so it doesn't only rely on machine hostname
🧙 The mojo secret is used to authenticate login cookies - Using the hostname alone was a bit weak, so it's now coupled with a randomly-generated string.
㊙️ The secret string is generated and stored in the app root folder -- If
LRR_DATA_DIRECTORY
is declared however, it'll be stored there.Miscellaneous bugfixes and improvements
💎 (New archive seems broken? #769) Add missing search cache invalidation to set_isnew
💎 (Page order are not correct while reading epub files (only contain imgaes) #788) Add some more information to the epub warning
💎 (Avif files not loading thumbnails on windows #792) Eval thumbnail minion job and fail it properly if thumbnail fails to gen
💎 ([EHentai Plugin] Not use artist tag by default #798) Don't add non-ascii artists to EH URL searches
💎 (Use File::Temp rather than homebrew stuff #807) Use File::Temp rather than homebrew stuff (@siliconfeces / Additional fixes in 'File exists' error when extracting files from archive #827 - @polak14)
💎 (Fix "Uncaught TypeError" when attempting to navigate past last page in infinte scroll mode #812) Fix "Uncaught TypeError" when attempting to navigate past last page in infinite scroll mode (@siliconfeces)
💎 (avoid await at top level #822) avoid await at top level (@URenko)
💎 (add magazines to koromo #824) add magazines to koromo (@polak14)
💎 (Noob question!Is there anyway I can manually add same tag to multi files? #834) Fix Batch tagging overrides not accepting utf8 text
💎 (Make permission fixing optional (but default) #856) Make permission fixing optional (but default) (@siliconfeces)
💎 (Reuse generate_archive_list to make code more DRY #868) Reuse
generate_archive_list
when possible to simplify codebase (@siliconfeces)💎 (Remove duplicate tags when updating DB #871) Remove duplicate tags when updating DB (@siliconfeces)
💎 ((chore): ajax cache to reduce server load #872) ajax cache to reduce server load (@ndbiaw)
💎 (Fix Redis password authentication #878) Fix Redis password authentication (@TomaSajt)
💎 Add trace-level logging to backup generation
💎 make sure cpan packages are installed before running tests
💎 Fix
LOADING
redis check being bypassed by settings migration💎 Fix thumbnail extraction not accounting for covers properly when used from the API
💎 Add a script for
npm run get_version
because perl oneliners are hell to maintain💎 Move appendonly set to redis.conf instead of app boot
💎 Delete BlacklistMigrate plugin as we're long past 0.8.0 now
💎 Handle error codes better with nH parsing
💎 Update to Mojolicious 9.34
API Changes
🔑 Archive objects now expose a
lastreadtime
value.🔑 Updating progress will also update
lastreadtime
, and return the value in the JSON response.🔑
/api/tankoubons
endpoints are available and documented.🔑
/api/archives/:id/tankoubons
has been added to know which tankoubons a given archive ID belongs to.Full Changelog: v.0.8.90...v.0.9.0
Conjured up in a handful of days in the studio, “Spaceboy” was a liberating track for Bowie, who rode its beat and reveled in the trash. This chaos is killing me! he screamed, sounding delighted to die, mocking his past selves with “do you like girls or boys? It’s confusing these days. [...] “Spaceboy,” one of the last great Bowie pop moments, never quite seemed his own property; it was fluid, a coalescing held together by a beat that seemed to invade it.”
This discussion was created from the release LANraragi v.0.9.0 - Hallo Spaceboy.
Beta Was this translation helpful? Give feedback.
All reactions