Releases: Difegue/LANraragi
LANraragi v.0.8.7 - Outside
b4d48b4b506fa4b075e88ed7fc24661e17d994e82f7677d7a9fcd54ed25a8bf9.mp4
If you can believe it, it's a bugfix update once again!
This is a small update to mostly fix the Windows build, but I've had enough time to throw in some extra bonuses as well.
It's a busy end of the year so LRR is probably going to stay on the backburner for the time being; Although as always, if you want to pitch in a PR for Hacktoberfest, I'll gladly take the time to review it! 🧑💻
🪟 Windows installs have been fixed..again! (#673)
Not so much fixed as adapted for Windows 11; The WSL detection wasn't working properly and generating a ton of support requests as a result.
I've also fixed some leftover issues with DistroInstaller, so hopefully this is a smooth experience again now.
🐧 The Docker image has been updated to s6-overlay 3.x (#684)
Thanks to @Guerra24 for this!
This is mostly an internal change that won't affect endusers, but it took a bit of work to make that update so I thought I'd shout it out anyways. (totally not trying to make those release notes at least 50 lines long)
I've said this back in 0.8.6 already but:
🖼️ Add tentative JPEGXL support (#665)
Much like HEIF exactly 10 releases prior (wow!), jpegxl (.jxl
) files are now recognized as valid images by the server.
If you want thumbnail support to work, you'll likely have to install libjxl-dev
or similar on your Linux machine.
Said lib isn't out in any stable form of Debian yet, but I'm sure Arch users or similar can get it already.
Windows users don't have that library since it hasn't been backported to Alpine 3.12, so no JXL thumbnails for you! 🤷
Other changes
-
(#672) Add category operation to batch tagging
😎 You can now serial-add multiple archives to a category through a batch operation. Simple yet effective!
🤔 The main category UI already allowed you to do this so I'm duplicating a bit, but it makes sense to have that in the batch UI as well. -
(#671) Update the filemap whenever an ID gets modified
🔢 The ID update code from 0.8.6 overall worked well, but it was forgetting to update the internal filemap, which would lead to duplicates and other weirdness when running clean database operations.
-
Miscellaneous bugfixes and improvements
💎 (#678) Make URL downloads use unlimited response size
💎 step down to x86-64 level 1 for the ffi docker build so that my E350 CPU can still run the Docker image
💎 (#662) Add some extra filtering to F! search so it performs better (@polak14)
💎 (#698) Remove the maxlength parameter on tagrules
Full Changelog: v.0.8.6...v.0.8.7
"[Outside] is only symbolically anguished. I think we are in for a very good time when we get to the next millennium."
-- Bowie, press conference, 1995.
LANraragi v.0.8.6 - Buddha of Suburbia
Hej!
Here we are again with another update where I procrastinated on doing major improvements but external contributions piled up so I hafta make a release. What can I say?
🖼️ Very fast thumbnails generating at incredible hihg speed
Thumbnail generation code has been improved with this one simple trick (CPU vendors hate him!), which leads to some very noticeable gains on hi-res images as long as you're thumbnailing JPEG images (aka 95% of images for manga)
time convert problem.jpg -quality 50 -thumbnail 500x out.jpg
real 0m3.704s
user 0m3.077s
sys 0m2.052s
time convert -define jpeg:size=500x problem.jpg -quality 50 -thumbnail 500x out.jpg
real 0m0.685s
user 0m0.631s
sys 0m0.111s
Thumbnails for non-cover images will now also render at a lower quality to gain even more speed, as said thumbnails are generated at a much higher volume than covers. (Setting a random page as your thumbnail will still re-generate a HQ version of the thumbnail.)
And if you want to be all-hq-all-the-time, there's a new option you can use for that:
🪟 Windows installs have been fixed (#654)
0.8.5 was not kind to Windows users due to bugs in the way I integrated the DistroInstaller external tool, and the Alpine upgrade essentially breaking outbound network requests most of the time.
Windows builds will now use Alpine 3.12 again as a base -- If you're encountering the same issues while running on Linux (seen it happen on Synology devices), I recommend you build a custom Docker image yourself using the legacy Dockerfile as a base.
As a bonus, the Windows GUI tool will now try to be helpful in case your WSL distro is broken, instead of just telling you to reinstall like a scrub:
🐧 Linuxbrew installs work again!
One of the few advantages of having a package manager containing LRR is that I sometimes get surprise updates, such as restored Linux support! This is 0.8.5 only for now, but should be up to date again soon.
☁️ Cloudflare bypass for NH + New metadata plugin for Hitomi.la (#631)
The implementation of Cloudflare by NH breaks the plugin from 0.8.5, so courtesy of @Pheromir , there's now a built-in login plugin for NH that allows you to key in CF bypass cookies.
And if you don't want to use NH anymore because it's garbage there's also a new alternative in the form of a hitomi.la metadata parser, thanks to @doublewelp !
🐳 Docker container improvements (#637 / #659)
To answer a long-standing request from users living in countries with nice and friendly governments ( :^) ), the LRR Docker container will now respect the HTTP_PROXY, http_proxy, HTTPS_PROXY, https_proxy, NO_PROXY and no_proxy
environment variables, so you can have outbound network requests (metadata and downloads) go through a proxy of your choice. (Thanks @mistrpokr !)
And for reverse proxies, the container will now also pick up the X-Forwarded-For
and X-Forwarded-Proto
headers!
You can now also pass a TZ
environment variable to the container to change its timezone. (Thanks @xiazeyu !)
Toasts and Dialogs have been updated
This is another big @xiazeyu change -- Toasts and dialogs across the app now use more modern libraries, which brings a few new features like visible expiration timers for toasts and themable dialogs.
Other changes
-
(#646) Sort key/order is now remembered when you reload the Archive Index
😎 Withdrawing essential features for years is a good way to drive up user engagement!
-
(#652) Fix sorting issue where uppercase characters would always end up in front
♻️ Another bug for the wall of shame. I think this one's been in here for years at this point?
🔍 To fix other sorting issues, files that contain "credit" are now always pushed to the end of the list. Know your place scanlator scum -
(#614) Fix the New Archive Carousel loading as many thumbnails as computationally possible (@xiazeyu)
🎠 The carousel now uses virtualization, which will make it only load 10 or so thumbs at a time.
-
(#644) Added "Synology eCryptFS Compatibility Mode)
🔏 This is basically what it says on the tin -- eCryptFS limits number of characters for filenames to 143 bytes, and this mode enforces that.
-
(#635) Changing a file externally will now update its ID
🔢 The design for LRR hinges entirely on generating IDs out of hashes of your files, so actively modifying a file would lead to its ID changing, which would then cause multiple issues on the database side, where it'd keep the old ID.
🍩 Which worked fine for most cases, but could lead to data loss in some circumstances! I've updated the filewatcher to check for ID changes and update the DB accordingly.
🧹 This check is also made when using the database cleanup function. -
(#651) Fix the first tag from a plugin run being undeletable in the edit metadata form
🫠 This is because plugin runs have a leading space, which was then misinterpreted by tagger.js when we try and remove the tag -- effectively not deleting it from the backing textfield. Woops!
-
Miscellaneous bugfixes and improvements
💎 (#618) Fixed Fullscreen hooks not being removed if Escape is used to exit fullscreen instead of F
💎 (#645) Fix downloads keeping query parameters from their URL in thesource:
tag
💎 (#660) Fix thumbhashes not being restored from backup JSONs
💎 (#624) Fix various garbled non-ascii character bugs in logging and plugin results (@uparrows)
💎 Fix dateadded toggle not hiding datemodified toggle in settings
💎 Usejpeg:size
for the page resizing feature in Reader as well to gain a bit more extra speed
💎 (#630) Add logging for failed/successful logins to the admin panel to help with fail2ban scenarios
💎 (#655) Camelcase GitHub everywhere (it's not even hacktoberfest yet!)
Full Changelog: v.0.8.5...v.0.8.6
Bowie has called Buddha of Suburbia one of his favorite records. Maybe he said that as a bit of mischief, touting his most obscure record as one of his best, like a hipster connoisseur of his own work (and he was). But Buddha did seem to have resonance for Bowie; something about its creation had felt right with him.
LANraragi v.0.8.5 - Sex and the Church
Well, it's been a little while! I wanted to delay a new release until search improvements were done but I haven't worked on them at all lmao
There's been a sizeable number of bug fixes and external contributions however, so I think it's worth making a small release.
Thanks to everyone who's contributed to this one. 🙏
⚠️ Update your Tsukihi extension if you have it installed
Get 1.2 here!
API changes in this build will break download notifications unless you update.
Nothing too major since downloads themselves will still work. Thanks to @xiazeyu for saving me an hour of work by PR'ing a fix. 😅
The Windows installer now supports Windows 10 1809 again!
vmconnect_2022-04-20_00-42-05.mp4
(This video shows a work-in-progress MSIX port, but the regular MSI installer now uses the same tooling.)
I wasn't expecting so many people to still be on old-ass builds LTSC versions of Windows when I removed support for it to make the installer code cleaner, but thanks to @Guerra24's efforts, we now have a better infrastructure for the Windows helper side of things, which allows me to bring 1809 support back.
No more mucking about with an old 0.7.9 MSI 👏 (I'd like to thank the random individual who wrote that guide on 4chan to help fill the gap)
The Karen bootloader has also been updated to use more recent Windows APIs, with hopefully more to come.
The webreader now supports Full Screen mode!
The reader improvements simply don't stop coming even when I'm not working on it; Thanks to @djacks6278 , you can now use the reader in fullscreen: Both reading directions, as well as infinite scrolling and double-page work in this mode just fine.
He also finally killed my old-ass canvas-based code for double page view, so you might just get faster reading as a bonus now.
Changelog
-
Double page load speedup & Fullscreen w/ mousewheel (#599)
🎉 No more canvas: double-page views should load faster
🎊 Press F to go into fullscreen mode
⌨️ All keyboard shortcuts work as-is in fullscreen
🖱️ Mouse scrolling will either snap from page to page, or scroll smoothly if you're in infinite scrolling mode. -
Stop using File::Temp for dynamically resized files
🖼️ Resized files were never deleted and took space in
/tmp
, which causes issues for Docker containers -- This moves resized files to the main LRR temp folder, whose autoclean routines should fix this issue. -
(#586) Calculate pagecounts for incoming archives
🧮 Since the switch to the new libarchive bindings, it's possible to get the file count (and size) fast enough to allow me to finally know the pagecount of every archive as soon as they come in, instead of waiting for them to be extracted.
🕑 This won't apply retroactively since it'd end up super messy code-wise, but if you want to force it, you can use the brand new... -
(#590) Added a button to force rescan the archive directory
🗺️ While the existing filemap mechanism in shinobu is fairly robust and tracks files in the content folder well, misses can sometimes be unavoidable, and until now the only solution was to hit the ol' redis CLI and delete the filemap yourself.
🦩 The button basically is just a shortcut to that, with a matching API endpoint.
-
(#498) Support for external JSON metadata files (eze plugin only)
🥲 The eze plugin is now able to pull metadata from JSON files located in your content folder, if they have the same name as your archive.
🥳 Thanks to @xiazeyu for this! -
(#601) Fix timestamp tags replacing existing tags instead of simply adding to them
💦 If you were using the new built-in
date_added
functionality, the timestamp tag would overwrite whatever tags were saved previously.
⬇️ In practice, this resulted insource:
tags from URL downloads being skipped over, since those were applied before the timestamp. Woops! -
API Changes
🔑 Add a public API endpoint for getting (simplified) Minion job status
You can now use/api/minion/:jobid
to know if a job succeeded or failed, without any extra info (and therefore without the need for an API key.)
🔑 (#590) Add/api/shinobu/rescan
for resetting the filemap -
Miscellaneous bugfixes and improvements
💎 (#593) Fix eze plugin adding a space to source: tags
💎 (#587) Add lowercase info.json support to koromo plugin
💎 (#611) Wrap compute_id call in eval to handle null files in FolderToCat
💎 (#606) Add support for parsing timestamp, category, uploader tags to the eze plugin
💎 Fix opds not using date_added tags
💎 (#607) Handle schemes in source: tags properly
💎 Add support forsource:
tags to the nH plugin
💎 Update Docker container base to Alpine 3.14
💎 Update marked.js
Full Changelog: v.0.8.4...v.0.8.5
Bowie closed out “Sex and the Church” with a callback to glam (the rave-up ending of “Jean Genie”) and some moans, but the whole production had a cold, disassociated feel, the sound of a virtual reality sex program punched up by a Philip K. Dick character.
LANraragi v.0.8.4 - Real Cool World
Happy New Year to all! May your manga collections be fruitful and your TempleOS installations blessed.
This release brings in more of the planned User Survey Requests features, namely everything related to Thumbnails.
Next release should be focused on tackling the BIG ONE, aka search speed.
ppc64
and s309x
have been dropped from the Docker images
I don't think anyone ever pulled those architectures (since they're mainframe-oriented) and they were starting to take a toll on github build times (to the point I'd often hit the 6h limit for cacheless builds), so they're gone!
I apologize to all the PowerPC enjoyers.
Reader improvements New Year's Bundle
In this version, I'm finally adding in the feature that will make all panda pundits praise me and potentially pledge some pennies:
You can now directly show the thumbnails overlay when opening the Reader.
wow!
The thumbnail overlay previously had performance issues due to showing the full-size images; I've fixed this by extending the existing thumbnail APIs to be able to create/return thumbnails for all pages in an archive, and not only the cover.
This makes overall perf much nicer, althrough if you're hosting on a CPU that doesn't have many cores/threads, the thumbnails might take a while to appear on first reads now.
But as a result, you can now also set any page to be the cover thumbnail for an archive!
This replaces the old "regenerate thumbnail" button in the Reader, since you can just set page 1 for the same effect.
I've also improved back button functionality: The Reader no longer clutters browser history with an URL for each page, and going back using the return button will now bring you back to whatever search you'd performed before reading.
Changelog
-
New Year's Reader Fun Pack™️
🥳 (#514) Add an option to show the tags/thumbnail overlay first when opening the Reader
🎉 (#517) Add button to set the current page as the cover thumbnail
🎊 (#520) Use the new thumbnail API in the Reader overlay
✨ Remove pushstate/popstate functionality from Reader
😳 (#546) Use http referrer headers to be able to redirect the user to his previous search when leaving the Reader -
(#567) Hiding the carousel now sets a pref so it doesn't re-open on page reloads
🧧 Response to the new carousel has been quite positive, but as with every new feature, some people just want to disable it.
😭 And that's perfectly fine! I forgot to make collapsing the carousel a saved change in the previous release, so it should be less egregious from now on. -
(#554) Fix PDFs not working if your Ghostscript install was too recent
🧧
gs
9.50 marked the flags I was using to pull pdf pages as insecure, which required some command line updates.
🎍 This wouldn't have been too big an issue except I uh, shipped 9.50 in the Docker image most people use, so sorry about that. -
Update koromo plugin so it can also accept metadata files from [REDACTED] compilation torrents
👻 gee I truly wonder what that mystery site could be
-
(#565) Fix Tag Rules only accepting ASCII characters
🥲 Another day, another disappointment.
🥳 And by disappointment I mean I fucked up encoding again! I have failed you once more and deeply apologize. -
Add option to use file modified time for the builtin
date_added
feature⏱ I planned to remove the old date plugin after fully integrating it to the main app, but since the feature doesn't apply retroactively, I decided to leave it in for the time being, in case you want to batch tag dates for all your stuff.
-
(#572) Fix gif thumbnails, which used to not work due to different file naming by imagemagick
🎉 who the heck uses gif for their covers? ah dingus it doesn't matter there ya go fixed
-
Add support for default values in plugin parameters
🎍 A surprisingly easy addition that was missing before -- default values will only apply if the user never saved preferences for your plugin, so you shouldn't see any changes if you're updating.
🎊 The Regex plugin should also now execute before all the others in autoplugin if it's enabled, in order to try and get better base tags before querying external services. (And it has save title set to true by default now!) -
API Changes
🔑 (#517) Add
no_fallback
toGET /api/archives/:id/thumbnail
to get JSON in case a thumbnail is being generated instead of a fallback image
🔑 Thepages
/extract
endpoint will now add thejob
ID for the matching Minion job ID.
🔑 (#517) AddPUT
/api/archives/:id/thumbnail?page=xx
to set a defined page as the cover thumbnail for an archive
🔑 (#517) Add apage
parameter toGET /api/archives/:id/thumbnail
to get a thumbnail for any page of a given archive -
Miscellaneous bugfixes and improvements
💎 Fix toasts being under the overlays
💎 (#550/#551/#552/#553) Various CSS fixes by @CirnoT (Thanks!)
💎 Fixis_file_in_archive
and matching plugins to work with the new extraction logic from 0.8.3
💎 (#559) Add a default robots.txt file
💎 (#531) Disable usage of tagger.js on mobile browsers
💎 (#536) Add missing useragent parameter to MEMS plugin
💎 (#563/#566) Add warning text to a few plugins to clarify potential issues
💎 Add default value forisnew
in database
💎 Fix timestamp tags so it works properly with web uploads
💎 (#574) Disable header setting in infinite scrolling mode
Full Changelog: v.0.8.3...v.0.8.4
Bowie had been writing the Black Tie White Noise material throughout late 1991 and 1992. The first track that emerged from a desultory series of sessions was “Real Cool World,” a song written for Cool World, Ralph Bakshi’s disastrous animated film, a crass rip-off of Who Framed Roger Rabbit?, complete with a cartoon temptress and human-toon interactions.
LANraragi v.0.8.3 - Nite Flights (Moodswings Back to Basics Mix)
This is a quick hotfix update for 0.8.2. Ain't much else going on lmao
The Windows version is now available in the MS Store
Due to the Microsoft Store allowing unpackaged Win32 apps now, I've thrown the LRR installer in there so you don't have to visit Github to quickly install it. Store updates will always lag behind regular GH releases by a few days due to Microsoft validation, so this is more of a gimmick than anything 😅
Changelog
-
Miscellaneous bugfixes and improvements
💎 Documentation/screenshots update
💎 Fix plugin sideloading being broken since the theme change
💎 (#542) Get rid of sanitize_filename for archive extraction
💎 (#545) Fix progress values not being shown properly in new Index
💎 Refine empty file detection for image serving a bit further to avoid issues with first files
💎 Fix thumbnail generation potentially grabbing the wrong image
The Walkers recorded “Nite Flights” in February 1978 at Scorpio Sound, UK. Bowie’s version was cut ca. summer/autumn 1992 at the Power Station and/or Mountain Studios, Montreux. A remix was released as a UK promo 12″ single (Arista HOME 1) and later included on the reissued Black Tie White Noise.
LANraragi v.0.8.2 - Nite Flights
Holy cungadero, this update is big!
I've started addressing the User Survey Requests and got most of the small stuff out of the way, alongside completing my draft work on the new Reader model.
Very fast Reader extracting at incredible hihg speed
This is the big one; This new release should bring much-desired speed improvements to Reading, which was the top ask alongside Search speed improvements. (Search will come later it's slightly harder)
/api/extract
(now dubbed/api/pages
but I'm leaving the old endpoint in for backwards compatibility) now fires a background Minion job to extract the archive, and uses at the same time a brand new Libarchive interface to return the list of files, directly streamed off the Archive./api/page
now checks if the desired page exists (as it mightve been extracted by the background job already), and if it doesn't, extracts it on the fly.
There are some timing considerations with this new method (If the background job is currently extracting a page and we want to serve it, we have to make sure it's fully extracted before serving), but overall things seem to work well! This should bring awesome performance improvements to most third-party clients as well.
Archive Index Revamp
I have taken into account all the requests for search-aware randomness, and rebuilt the Archive Index to introduce a new view:
The interface has been simplified in a few ways:
- Thumbnail view now has a proper sorting UI instead of reusing the one from Compact/Table view.
- The options modal has been removed; All settings are now directly integrated in the view itself to simplify operation
- The carousel view on top replaces the old new/untagged search filters, and introduces a new display mode that shows a selection of random archives from the current search. It's collapsible in case you don't really care and just want to use the Index as before.
I wasn't expecting search-aware random to be that big but in practice I find this implementation quite useful: I've been finding old stuff I hadn't read in ages again thanks to it. I hope this satisfies your demands 🙇
date_added
is now a default tag
date_added
tags benefit from quite a lot of integration in third-party clients and there's been demands to handle date stuff better, so as of this release, all new archives will now have the tag by default.
As a bonus, date-related tags (date_added
and timestamp
) will now be formatted correctly in the UI:
Theme preference is now stored server-side
I've removed the old common modal that allowed changing the theme from anywhere in the app due to low usage.
Theme settings are now applied to all users and can be found in the Configuration page, which hopefully will make them a bit more discoverable.
Changelog
-
(#399) Switch Reader to a streaming model 🚀
-
(#527) Add a swiper.js-powered carousel view containing random picks from the current search
🌮 There's no longer a popup for options, as those are toggled via buttons on top of the table, Reader-style.
🪲 Debug mode will now show a sticky toast instead of a tiny link at the bottom of the page. -
(#516) Add date_added by default to new archives and format them correctly in the UI
-
(#189) Detailed tag stats
📈 The statistics page now features a table displaying all your tags, alongside their total count.
🔎 Tags are all clickable and can be searched for directly from this UI. -
(#326) (#513) Add Batch Tag Rules, Batch Delete and Batch Clear New
🦇 Batch tagging received a pretty big revamp in this release and is now Batch Operations!
🆕 New archives are now marked as such in the batch window. -
API Changes
🔑 (#515) Added
/api/search/random
✨
🔑 Added file extension info to archive endpoints in order to detect PDFs and other formats easily -
Miscellaneous bugfixes and improvements
💎 Fix tag edit field not being fully clickable
💎 Fix Tag Cloud being wrongly populated
💎 Community-contributed regex fix for F* search
💎 CSS fixes for mobile
💎 Use flavor icons for spinners across the app
💎 (#510) Fix total count in search API
💎 Show new flag in batch tagging
💎 Update Reader to (almost) entirely rely on API endpoints
💎 Fix launcher issue that could prevent the WSL version from starting
💎 Deleting an archive from the Index will now reload your search instead of refreshing the entire page
💎 Docker builds now use a custom-builtlibffi
to sidestep a bug with the new libarchive bindings (@Guerra24)
For the rest of the Eighties, when Walker was nowhere to be found, Bowie endured his own public set of lost years, reduced to making records for the sake of it, losing himself, trying to purge his way back with Tin Machine. Finally, in 1992, looking for some anchorage, casting about for fresh influences or just any means to move ahead, he finally decided to take Walker on. He covered “Nite Flights.”
LANraragi v.0.8.1 - Black Tie White Noise (Here Come Da Jazz Mix)
This is a small update to 0.8.0 to hotfix some metadata plugin issues.
The 2021 User Survey results have landed!
Check here for more info.
Changelog
-
Metadata plugin fixes
🌮 Fix nhentai URL scan regex to catch all URLs properly (@Guerra24)
🍔 (#523) Remove gallery ID detection from Chaika as it was giving out wrong results with the new API
🍟 Fix text search not working at all on FAKKU (Keep in mind F's search is kinda garbo and probably won't catch all of your stuff even now that it's fixed) -
Miscellaneous bugfixes and improvements
💎 Fix checkbox color in Microsoft Edge (@Guerra24)
💎 Fix/api/archives/:id
not returning an error on invalid ID
💎 The Karen Windows app now features the Mica material on Windows 11 since I was toying with it recently.
Some 15-plus remixes were made of this song! Please see the Illustrated DB site’s entry for a complete breakdown.
LANraragi v.0.8.0 - Black Tie White Noise
Hello! It's been a little while (compared to the previous release schedule anyway), but I hope this new release finds you well.
This version brings mostly small improvements and polish, although Tag Rules are a super cool new feature I think some people will enjoy.
I wanted to hold it back a bit longer to add at least one more feature, but the Fakku plugin was broken and shit now so uhhh here catch
Release Notes are now shown in the Index once upon updating
If you've never read LRR patchnotes before, welcome!
Now you'll have to. 🔫
The Blacklist feature has been removed and replaced with Tag Rules! (#497)
Tag Rules do everything the blacklist used to do and much more, so please check it out! 🥳
The full documentation is available here: https://sugoi.gitbook.io/lanraragi/advanced-usage/tag-rules
I'd like to thank @IceBreeze once again for contributing this improvement.
If you had custom blacklist tags, you can migrate them to Tag Rules using the migration script available in Plugins:
New Tag Editing UI
Tag editing now displays your archive's tags as a neat list of items, and will make suggestions using the stats API. 🎊
Other Changes
-
Snapshot to RDB less often on Docker/Windows and start enabling AOF
💿 Moving Minion jobs to Redis meant the old method of writing to disk as often as possible led to a lot of unnecessary hard drive work.
📀 I've slowed down the amount of writes a lot (essentially moving back to the default), and will fully migrate LRR to use AOF with RDB backups as the database storage in future releases.
💽 For now, you shouldn't see any changes besides a new file next todatabase.rdb
. -
(Small) Search engine optimizations
🚗 I've made a number of adjustments to the search model to reduce the amount of Redis calls. This improves search speed a bit, but there's still improvements to be made here.
-
Windows Installer enhancements
🐱🐉 The WSL Distro will now be installed in the installation folder of the bootstrapper you define, instead of defaulting to AppData.
🐱👤 The Windows installer no longer relies on LxRunOffline, instead usingwsl.exe
directly for everything.
🖥️ Thecmd
windows that install/uninstall the distro now autoclose as a result, making for a more pleasant install experience.
💀 This means support for Windows 10 1809 and below has been dropped. aye im sorry m8 -
Nightlies have moved off MEGA
🌑 You can now find the latest nightly build here: https://nightly.link/Difegue/LANraragi/workflows/push-continous-delivery/dev/LANraragi.msi
🗑️ While this means older nightlies aren't easily accessible anymore, it also means I don't have to empty the MEGA cloud drive manually every 3 months or so. ¯\_(ツ)_/¯ -
Metadata plugin fixes
🌮 Update chaika plugin to match new API result syntax
🍔 Fix EH plugin not using the UserAgent object properly
🍟 FAKKU plugin now supports cookies to access questionable content (Thanks @Nodja !)
🌭 (#504) Update FAKKU Plugin to match the site redesign
🥓 (#484) Switch EH API url, and use useragent everywhere -
API Changes
🔑 Add a minweight parameter to
/api/db/stats
to filter out tags that don't have enough occurences in the DB
🔑 Fix metadata edition API not accepting empty strings
🔑 (#491) Fix UTF8 character encoding in/api/database/backup
and/api/database/stats
-
Miscellaneous bugfixes and improvements
💎 (#495) Replace logical ORs as they're still too fresh for some browsers (mostly mobile)
💎 Force Linux::Inotify 2.2 to sidestep a bug on WSL (cannot open fd 5 as perl handle
)
💎 (Difegue/Tsukihi#5) Normalize e-h and ex links in SourceFinder
💎 Fix GS command for PDFs with unicode characters
💎 (#466) Clear out tooltips on datatables drawcallback
💎 Various CSS touchups, including better support for small screens in the index
💎 Add current search terms to window title
💎 Fix search engine potentially returning null entries in the JSON
💎 Update Datatables to 1.10.25 and Mojolicious to 9.19
💎 Support CORS preflight requests if the CORS option is enabled in settings
💎 (#450)source:
tag divs now lead to the source URL instead of doing a search
The very JG Ballard image of a rich man standing in his hotel suite, watching a riot unfold in the city below and feeling vaguely euphoric about it, would seem ripe inspiration for someone who’d once written “Panic In Detroit.” Instead, Bowie’s L.A. riots song was “Black Tie White Noise,” a track teetering between dark sarcasm and watery humanism.
LANraragi v.0.7.9 - Lucy Can't Dance
🥵 Hot hot release comin' thru!
Despite the fact I was away working on not-LRR things, I received a surprising amount of external contributions which make up the majority of the changes here.
I'd like to once again thank @nonamethanks and @koma-cute for the work they've put in on this version! 🤠
The Web Reader has been entirely overhauled ✨( + #242 !)
Following up on the UI improvements from 0.7.8, the guts of the reader have been rewritten to be more lean, have way more keyboard shortcuts, and be easier for userscripts to hook into.
Speaking of userscripts, while this revamp breaks the venerable infinite scrolling userscript, it also finally brings said infinite scrolling as a built-in option! AIn't that great.
Server-Side Progression tracking is now optional 👀 (#474)
While moving reading progression tracking to the server makes single-user installs way more powerful, if you host LRR on a remote server to uhhhhhhhhhhhhh share the good stuff
with friends, things would get weird fast as users would constantly overwrite each other's progress.
I don't fancy adding a full account system, as it doesn't feel very worthwhile to do so, (Public LRR instances are quite rare...) but what I can easily do is bring back the former clientside progress tracking with localStorage
as a server-side preference. 🙌
A lot of Download System Bugfixes/Improvements
It really do be like that sometimes.
-
General
🌮 (#449) Prevent downloaded filenames from containing illegal characters and exceeding 255 characters (thanks Windows I guess)
🍔 (#464) Fix Downloader errors not bubbling up properly to the end-user
🍟 Retry URL downloading attempts up to 5 times if they fail due to a network issue -
Fakku
🌭 (#476) Add an explicit error if you get a CloudFlare block on Fakku
🥓 (#476) Add "Direction" to the columns that we don't parse to avoid errors on select galleries -
E-H
🧇 (#465) Fix autostart behavior sometimes not giving a correct URL to download -
NH
🥞 (#473) NHentai plugin can now try to find and use gallery IDs from archive file names
The Tsukihi browser extension also received a minor update last month, if you didn't catch it on Discord.
Other Changes
-
API Changes
🔑/api/info
now exposes whether the server has serverside progression tracking enabled or not. That's all!
-
Miscellaneous nonsense
💎 Reader: Fix Spacebar keybind incorrectly going backwards on right-to-left mode
💎 Add eslint configuration to the GitHub codespaces container, matching the eslint standards now enforced on the JS side of the app
💎 Prevent fetching all archives when category search returns no results
💎 Don't add "other" namespaces when searching for an unnamespaced tag
💎 Moveshinobu.pid
andminion.pid
to the app temporary folder instead ofscript
💎 (#469) Use Prefork instead of Hypnotoad as the production server to easily move its pid_file, and move said file to the temp folder as well
💎 (#447) Reorder Context Menu items to show "Read" and "Edit" first even if logged in
💎 (#478) Remove very old UTF-8 encoding workaround in title/MOTD
💎 (#466) Clear out tooltips after a search
💎 Don't remove the temporary folder itself when runningclean_temp_full
to avoid an error message on Docker installs
💎 CSS touchups to fix some alignment issues in the Configuration page
Bowie’s general dismissal of Madonna is understandable, if petty and regrettable (imagine the music the two could have made together).
So “Lucy Can’t Dance” is a piece of well-aimed snark, targeting Madonna at a time when her cultural presence was inescapable (it was the era of the Sex book, one of the most tedious and expensive pieces of pornography ever released).
LANraragi v.0.7.8 - Looking for Lester
I wanted to take a break after 0.7.7 but it seems my brain refused to follow up on that.
So here's another big update! v.0.7.8 brings a lot of front-end improvements and clears out most of the important items I wanted done.
I do plan on working on other projects for a while after this, so hopefully this release doesn't have a trillion bugs ayyyyyyy
graphic design is my passion
You mightve noticed a slight logo refresh a few weeks ago!
I rambled on a bit about the whys and the details in a separate blogpost if that interests you.
This new iconography has been applied to the server, the Windows launcher, and...
Introducting the Tsukihi Browser Extension
Wow, it's a Hydrus Companion ripoff! Even copied the readme and shit I have no regrets
This browser extension was a workflow I wanted to bring the table since adding downloaders back in 0.7.3, so I'm happy to finally bring it to you with this release. And most importantly to bring it to myself because geez I couldn't live with stashes of tabs to copy manually anymore
In its initial release, the extension will allow you to see if an URL is downloaded to your server, and to queue a download for it in case it isn't.
That's all! You can read more details on the extension's Git repo.
(#336) m i d d l e c l i c k o n t a g
You can now trigger searches by only using your URL bar! It's unwieldy, but you can.
This feature allows for a lot of extra fun stuff to be done though, including being able to click on tags to trigger searches!
The Archive Index also now dynamically modifies the URL to match your current search/page, which means you can go back and forth through your searchin' using the browser history.
The Reader has benefited from something similar, now putting the current page in its URL path.
(#437) Add tags to the reader's page overlay
This was a pretty popular user survey ask, but it'd have been kinda useless to do it before #336.
As of this release, you can check the metadata of an opened archive directly in the Reader's page overlay, and trigger searches for its tags by clicking on them. 🙌
(#400) Revamp Reader Options
The Reader options have been touched up to fall more in line with what other manga readers do.
Still no vertical/long strip reading mode tho haha😇
(#359) Minion no longer relies on SQLite!
I've switched the backend used by Minion from the stock SQLite version to a custom Redis one.
As a result, Minion is a bit faster to handle jobs and most importantly, it relies on Redis just like the main app, removing the dependency on SQLite and hopefully shaving a few megs off your install.
I've seen no major issues with the backend during testing, but it is incomplete so there's a bit more work to be done.
I feel it is still a sensible improvement over the previous one tho, so in it goes! 🤞
⚠Warning ⚠ for source installs
Minion will use the second database of your Redis install, to differentiate its data from the one of the main server.
If by any chance you're already using your second DB with another app (or another LRR install idk), make sure to change the DB number Minion will use to avoid conflicts!
You can change the DB number in lrr.conf.
Other Changes
-
(#384) A FAKKU metadata plugin has been added
🙏 You can now stop asking me about one. At least I got $25 out of it so yknow, decent hustle
🤔 I still think you should be using the Chaika plugin instead since Fakku's search is garbage? But maybe it can be useful in case you have some spare files that are only on the big F. -
(#418) (Windows) Fix various issues with network drive mounting
🗻 The rewritten mounting code from 0.7.7 had some issues so yeah, my bad on this one.
💾 tbh if you're running the Windows version and pointing the content folder to a NAS, you should probably install LRR on the NAS itself? SMB shares typically don't jive well with the file watcher, since they don't necessarily implement all the filesystem bells and whistles you need. -
(#435) Rip out qtip2 and replace it with tippy.js
💌 Lighter install size! Better tooltips! What's not to like.
-
(#398) Use the URL index to preemptively abort downloads if you already have an archive matching the URL
⌛ The URL index has been added to speed up
source:
url lookups for Tsukihi, but this is a nice addition that didn't cost much. -
Move statistics calculation to Minion
🏎 Stats have finally reached peak speed
📃 This should also mean your tag suggestions for search should load much faster. -
API Changes
🔑 Added
/api/plugins/queue
to run a plugin asynchronously.
🔑 Added DELETE on/api/archives/:id
to delete an Archive File+Metadata.
🔑 Added/api/minion/:jobname/queue
to queue a Minion job by name. This is undocumented/for debug purposes and you should probably not use this. 🐊 -
Miscellaneous nonsense
💎 Fix redis_encode not being imported in Shinobu
💎 Remove shinobu's dependency on Cwd as it's not really used anymore
💎 (#426)localstorage.cropthumbs
now also affects archive overlay thumbs
💎 (#430) Fix file extension detection being case-sensitive
💎 Initialize new DB entries with an empty string as the tags
💎 Stop using inplace editing of the redis.conf file on Homebrew
💎 (#423) Update favicons and all logo imagery throughout the app and Windows setup
💎 Added .cb7 and .cbt to the extensions recognized as archives by the server
“Looking For Lester” (the title was Bowie’s, a play on “Chasin’ the Trane”) is New Jazz Swing, a set of solos over a hammering (and rather harshly-mixed) 4/4 dance beat, with a synth bass and electric bassline and an impasto of synthesizer colors (Mike Garson’s piano crops up from time to time, offering little asides, preparing you for his late-in-the-day appearance).