Skip to content

Releases: Difegue/LANraragi

LANraragi v.0.7.5 - Underground

08 Dec 23:19
cab109b
Compare
Choose a tag to compare

So while “Underground” is fine for a singalong end titles theme, what a great squandered opportunity. This is the return of Luther Vandross, now an R&B superstar, into Bowie’s orbit? This is the only time Chaka Khan ever appears on a Bowie record?

image

Probably my last LRR release for 2020. Man, what a doggy dog year!

GitHub Discussions now open

GitHub moved their StackExchange ripoff to open beta, and I was initially kinda dismissive of it!
But after a closer look I think it holds value for broad suggestions/ideas that'd otherwise kinda end up drowning in the Issues list because I never have much time to look at it.

So I enabled it for the repo, moved a few issues to it and you can check it out here!

image

It'd also be convenient for frequently-asked questions that aren't necessarily covered by the Documentation.
For real OG discussions and support I think the Discord is better atm, but maybe I'll be surprised.

Alright, on to the ole' Changelog:

Changelog

  • (#361) Fix the OPDS API

    🧯 The OPDS API ended up a bit on the backburner since it's not very used, which led to it literally burning.
    🕶 Writing this changelog actually spurred to me to write an integration test for it, which isn't in this release since I already merged to master lmao

  • (#360) Fix the Reader Options modal being unusable on phones

    🎨 gosh dang it I fucked up the css again lads
    🎼 This issue actually serves as a pretty good segue to the next item tho:

  • (#339) Add a toggle in the Index to crop or not Archive Thumbnails

    📚 And this toggle lives in a new modal on the Index, adeply named Display Options.
    image
    🧾 The List View/Compact mode toggle has been moved to this modal as well.
    ✨ Being able to disable the auto-cropping was a long overdue request considering how simple it is, so I also fixed a few sizing issues when switching from thumbnail to list view as a bonus.

  • (#364) Refine the chmodding done by the Docker container to your content folder

    🌠 External contribution! I'm glad people who actually know how linux works use this as well.

  • (#362) Fix Category filtering exploding if your Category only has 1 or less items

    🌠 Also an external contribution!
    💣 dang that was embarassing

  • Fix backup restoration potentially going very wrong with categories

    💥 dang that's even more embarassing

  • Refine Search Cache misses/warms a bit further

    💎 This cache warm system is as hard to balance as a fighting game I swear

  • (#337) Add SHA256 hash of MSI Installer to build logs

    ☃ I don't think anyone will care about this except me. You can now see the hash of a built installer at the end of the "Build MSI Installer" Github Action:
    image

Everyone, have a Great Day!

LANraragi v.0.7.4 - Chilly Down

05 Nov 16:32
3ffecdc
Compare
Choose a tag to compare

Think of Bowie’s five Labyrinth songs as a secret mid-Eighties Bowie album. It finds Bowie in his typical scrapper mode, using pieces he had considered for a “proper” album and repurposing them for the soundtrack of a fantasy movie.

b7cde3cdee6503d4473cec2aede32f70e82a5e9cb53bb43346e463c70c8d92b0
This is a quick polish update to smooth over issues from 0.7.3, mostly.

Codespaces!

If you're in the GitHub Codespaces beta, I've added a working .devcontainer setup in this release that you can use to spin up a LRR developer environment directly in the cloud - No extra stuff needed!

image

Codespaces are still rough around the edges so you might encounter issues regarding port forwarding, but it seems to generally work for quick dev jobs.
You can also use this .devcontainer setup with the vscode remote containers extension.

Changelog

  • (#348) Fix uploads going through Minion not accepting special characters

    🧙‍♂️ Just some black magic perl encoding stuff again.

  • (#350) Prevent the Shinobu File Watcher from crashing in case something goes wrong during scanning

    💣 Some Windows machines encountered issues with the new Minion implementation, which caused File Watcher crashes.
    👮‍♂️ This fixes the crashes, but the underlying issue (something something multiprocess sqlite locks) needs more work. It shouldn't impact functionality of the application anymore, though. (You'll just get a few more warning messages)

  • Add a combobox to add an archive to a category from the Reader

    📚 Basic stuff. The combobox is hidden in the Reader Options popup for now:
    image

  • More search speed improvements

    🏍 Search is now parallelized and should be a bit faster depending on your machine...
    🏎 And for static categories, it should be much faster!

  • (#357) Fix Category dropdown not working on non-Firefox browsers

    >2020 >using chromiums

be5bd3dfe7549146511a53a0e64fa3e75166ae44aa871de3337865fc3ce012dd

  • Miscellaneous other changes

    🍦 Fix downloads adding the transformed URL as a source: tag so you get the proper URL in your metadata and not http://68.76.34.122/file.zip or other dumb stuff
    🍧 Fix upload errors not linking back to the archive ID if available
    🍦 Fix titles recovered from EH not being html-decoded
    🍧 Delete search cache at the end of a batch tagging job
    🍦 Add some linebreaks to the upload list for easier reading

LANraragi v.0.7.3 - Glass Spider

01 Oct 11:10
451e4be
Compare
Choose a tag to compare

The latter half of the song, announced by a synth bassline that foreshadows the refrain, works well enough as a horror-movie soundtrack theme, with some of Bowie’s eeriest lines on the album (“life is over you,” “come along before the animals awake“)

65b8962e9c0d73548de3674b0dd46c4fdf8e5a143c37af1f8735180032b46596

Welcome to the Hacktoberfest Update!
If you would like to contribute to the only-therefore-best perl manga manager in order to bump up your PR count, you can read this blog post for more information.

For the common folk, I do have some nice updates in store.

Downloaders!

It's been a long time coming.

Starting with this version, you can queue URLs into LRR, which will then download them directly to your stash.
Downloads are completely asynchronous and won't eat into the main server's performance, thanks to a new job queue implementation.

This update comes with a revamped Upload page in order to accomodate the new downloader features.
Supported with this release are any kind of direct URLs, alongside E-H and Chaika links through dedicated downloader plugins.
download

Please make sure to read the Documentation.

New iOS Client!

This isn't really a feature from me, but we're finally reaching complete platform saturation with this new iOS client from fellow user Doraemoe.
Please check it out.

It even works on macOS if you use Catalyst!
I'm pretty sure this isn't explicitly supported, though.
image

Final API update

With 0.7.3, I am removing the last remaining endpoints of 0.6.9. You also get two new endpoints related to the new Downloader feature!
image

This definitely breaks the Tachiyomi plugin for now, as it relied on 0.6.9 endpoints + key param authentication.
See this issue for details: https://github.com/inorichi/tachiyomi-extensions/issues/4278

Changelog

  • (#84) Downloader support is in!

    💾 You can now feed URLs to the server through either the Upload Center or the new /api/download_url endpoint.
    🔩 Download jobs are handled by the new Minion Job Queue so they don't affect performance no matter how many you queue up 🎉
    🎰 Downloaded archives will pass through both Auto-Tag and Auto-Plugin if enabled, just like with normal uploads from your computer.
    🗺 This update also brings support for new Downloader Plugins, which are meant to help the downloader when it encounters non-direct URLs. Support for E-H and Chaika comes with this release, with hopefully more later on!

  • Implement a Job Queue using Minion

    🤝 Minion is a helpful project from the Mojolicious folks which allows running background tasks easily following commands from the main server.
    👓 This is different from the existing Shinobu background process, which acts as more of a File Watcher to monitor for local changes and can't be ordered around by the server.
    🖼 Current tasks that the Minion worker can handle are thumbnail (re)-generation, warming the search cache, and of course, downloading remote URLs.
    🧬 This should make first-launches way snappier, since the server doesn't get bogged down by thumbnail generation requests now.

  • (#331) Reworked Upload Page

    🥃 I've taken advantage of the downloader work to jazz up the Upload page a bit. You now get an overall progress count, with number of successes and failures.
    ✨ Postprocessing of uploaded files now goes through Minion as well, which should make mass uploads less laggy.

  • Optimize thumbnails placement on filesystem

    🎏 Taking a page from how Hydrus does it, thumbnails are now organized in subfolders matching the first two characters of the matching archive ID. This improves filesystem access a bit if you have lots of thumbnails, since no FS on earth really enjoys having a folder with 5000 files in it.
    💦 This change sadly means that your thumbnails will need to be regenerated once the update is installed.
    You can use this quick bash script to move your existing thumbnails to the new architecture:

for f in ./*.jpg ; do 
  if [[ -f "$f" ]]; then 
    i=${f##*/}
    dir=${i:0:2}
    mkdir -p "$dir" && mv "$f" "$dir"
  fi
done
  • (#281) Add cooldown metadata to some plugins

    🥶 Metadata plugins can now specify a cooldown between their executions to avoid bans from remote web services.
    🍦 This value is shown and recommended in batch tagging, and automatically applied in auto-plugin when a new archive is uploaded.
    image

  • Miscellaneous other changes

    💎Update the Windows Bootloader to look more like modern apps
    💎Moved the Shinobu PID file to script/shinobu.pid to match the Hypnotoad one
    💎Search cache warmup will also now recache your category searches if you have any.
    💎Indicate more clearly when the edit page saves metadata to the server
    💎Improved performance of /api/archives (and search a bit as well), leading to substantial load time gains with external clients
    💎Fix /api/archives/:id/metadata returning the wrong operation name
    💎Add a cache_last_cleared value to /api/info, matching the last time the search cache was wiped
    💎(#328) Revert archives being opened in a new tab because I hated it
    💎(#329) Fix search-on-tag-click thing so it doesn't drop a bunch of spaces in your search field anymore

LANraragi v.0.7.2 -- Neighborhood Threat

26 Jul 13:02
7560d68
Compare
Choose a tag to compare

This is a hotfix release!
I'm dropping the -EX monikers because version numbers are infinite.
(And Tonight's not my favorite album by a long shot, but I do like the cover of Neighborhood Threat that's on it so here's for the name)

Very fast Changelog

- Fix rogue missing quote mark, potentially breaking context menus

- Fix background worker crashing when it clears the search cache

Have a Great Day, everyone!
image

LANraragi v.0.7.1 -- Tonight

25 Jul 15:37
1585d6c
Compare
Choose a tag to compare

Created, if there was any discernible reason, to sate a vague commercial demand, Tonight was conceived, recorded and issued as pure product: a Bowie record as a software upgrade, or a new edition coffee maker.

200006000547_370096

There's not much in this version release, mostly fixes and stability. ™

User Survey Results 2 are out!

You can read the accompanying blog post for your doses of data porn and despair at me not implementing the features you asked for. 🎊

Unraid Docker template available

A kind soul has built a template for the current Docker images so you can quickly deploy LRR to Unraid.
You can check it out here.
I considered having this template published in the Unraid app store, but as I don't use Unraid myself I wouldn't be able to provide proper support. Maybe someone else will take the mantle! 🤗

Continuation of the API update from 0.7.0

Following the plans laid out previously, I've added the new /api/archives endpoints for reading. I also took the opportunity to add a few extra endpoints requested from client devs.

This update removes the 0.6.9 endpoints, causing potential breakage with older clients!

image

On with ye ole changelog !

Changelog

  • Add basic support for EPUB files

    📗 "wow holy shit I can read ebooks in lrr now" whoa slow down pardner
    🔩 epubs are basically zip files so they fit in the current design of the app, but I don't plan on supporting the actual "text" part of epubs in the web reader for now. So all you'll get are the embedded images! 😇
    📙 This basic support allows you to add metadata to your epubs and such however (and thumbnails will work if the epub has at least one image), and external clients using the OPDS interface certainly can read epub files on their own without needing me to do all the work.
    📘 So maybe this can be useful to you! I don't know! And I don't really care since it took all of 10 minutes to implement!

  • Fix nHentai plugin to match their recent JavaScript changes

    🎭 Gee I sure wish nHentai had an API so that these kind of issues wouldn't happen oh wait they had one and they REMOVED IT
    🔪 FUCK

  • Opening archives in the Index now opens a new tab by default

    🖱 Before, you could open archives in new tabs with the middle mouse button, but this wasn't very well-known. (And didn't work on mobile, forcing you to use the context menu)

  • (#313) Add Category support to the context menu

    📜 You can now add archives to static categories by directly right-clicking them in the Index. This was planned in 0.7 but didn't make the cut, so here it is!

  • Only the 10 most recent categories are now displayed in the Index

    📍 This was also in the "planned but cut" basket, but the issue arose way quicker than I expected since people used the subfolder script on large datasets, creating hundreds of categories at once. 🤯 Hey at least it scales amiright
    🧷 If you have more than 10 categories, the remaining ones will be displayed in a dropdown list. Pinned categories are now actually useful since they'll always show first!

  • (#316) Fix improperly escaped HTML in a few spots

    💩 Ah yes, the seal of quality of all proper web projects. I almost considered not putting this in the changelog in order to hide my shame.

  • Do a search cache warm after each cache bust

    🔥 Previously, busting the cache meant that whenever you'd re-access the Index, it'd take a bit longer to load due to the main search not being cached anymore. This fixes the problem and guarantees you a speedy Index no matter (most of) the circumstances.

  • (#318) Rewrite the backup creation code

    🧨 Finally went ahead and put this boomer code into retirement where it belongs haha mojo::json goes encode
    🎑 This fixes a few issues that sprung with categories being added to the backups.

  • Move archive API endpoints to the /api/archives path and change 'em up a bit

    🎏 See the excel screenshot above.

  • Add new API endpoints /api/archives/:id/metadata to read and write metadata for an archive

    ✒ Long-standing request! I don't think the web interface will ever be 100% covered by the API, but this is core functionality which is nice to make available.

  • Add new API endpoint /api/plugins/:type to list available plugins

    📑 This endpoint is quite detailed, which makes triggering plugins without the aid of the web interface quite easy.

  • Other stuff

    • Added an option in settings to enable CORS headers for cross-domain fun
    • Added a better indicator to show when a script is running in Plugin Configuration
    • Spaced out page indicators in modern styles to display 100+ page installs properly

LANraragi v.0.7.0 -- Cat People (Putting Out Fire)

22 May 12:04
7752c15
Compare
Choose a tag to compare

Paralleling Schrader’s own loose adaptation techniques, Bowie only vaguely referred to the cat people of the title, instead offering groaning banalities as “Fill this pulsing night/a plague they call the heartbeat.” It didn’t matter, because the sound-picture Moroder created for Bowie gave him the license to go gloriously over the top.

b6f81636bd8260cf860e87f946ca7175a491c7e4b0639ee2c4989de40d057299

And over the top we went! This is likely one of the biggest release notes in a while.

The absolute state of LRR - 2020 User Survey edition

The previous User Survey generated a lot of feedback, and most of the requests made back then are actually real now, so it's a pretty good time to look back -- And make a new survey!

Read here.

Changelog

  • API Revamp

    🍣 The client API is a-changing! If you're just an end-user this matters little to you, but for client developers it is important so I'll put it as the first point.
    🍥 I have overhauled the API endpoints and the way you can authenticate with the API Key.
    There are no breaking changes in this release as I'm keeping the old endpoints for compatibility, but they will be gone by 0.7.1.
    Look at the table below to see what changes -- The API documentation has been thorougly refreshed as well.
    image

  • Categories have (finally) landed (#33)

    🤠 Withholding essential features for two years while doing everything else is a valid strategy to drive user engagement!
    Categories allow you to sort your archives more efficiently.
    You can either put arbitrary archives into one or create a dynamic category that updates based on a predefined search.
    image
    🗃 If your archives are organized in subfolders already, a script has been added to automatically create categories from your folders. Be sure to check it out in Plugin Configuration. (#288)
    📚 Categories show up at the top of the Archive Index, where Favorite Tags used to be.
    Favtags have been removed from the application entirely, since they did the same things as dynamic categories in a more limited fashion.
    If you did have favtags, they're not lost! You can migrate them to dynamic categories using the migration script available in this release. Just like with the subfolder one, check it out in Plugin Configuration.
    image
    🍱 Categories are integrated into the app at multiple steps, from uploading archives to the Backup and Restore feature.
    🥡 I plan to add category support to the OPDS Readers by the next release.
    Other readers (Tachiyomi, Ichaival, LRReader) will have to implement the new category APIs before being able to leverage them.

  • PDF Support (#290)

    📄 Bringing ImageMagick back as a dependency for 0.6.9 had the sideeffect of making us depend on GhostScript as well. GhostScript is basically the standard OSS PDF library, so it was a great opportunity to try tackling this user survey request.
    🛎 PDF files are now first-class citizens in LRR, and can be imported right alongside your zips and rars.
    🆒 Behavior for PDFs is exactly the same on all fronts, with no extra work needed by clients. You can even run metadata plugins that rely on the thumbnails!
    image
    I don't deserve a client as good as LRReader and yet it does exist

  • Fix a lot of bugs in the plugin sideloading feature (#274, #275, #286)

    🧩 This feature isn't used much and it shows, so when someone actually does some plugin dev with it I get a bunch of bug reports. Speaking of plugins, you might have seen on the above screenshots...

  • The E-Hentai Downloader Plugin (#84) [PREVIEW]

    🐼 oh boy here we go Downloader-type Plugins were the main reason for decoupling Login from Metadata in the previous release.
    🗃 I preferred pushing Categories out first however, so while this downloader works, it is currently shipped as a Script since no real UI or Documentation was done for it yet.
    🎍 You can use it to download E*Hentai links directly to your LRR instance. This uses GP to download archives in Original Format only for the time being.
    💖 Auto-Plugin and all the bells and whistles work, so you can finally reach that long-awaited dream of 1:1 copying galleries with all their metadata straight to LRR. How divine!

  • Stable Homebrew/Linuxbrew release

    🍺 The brew port was a hot feature of v.0.6.6, but until now it wasn't integrated very well, leading to it malfunctioning with 0.6.9.
    🍻 For 0.7.0, LRR is now soon™ integrated in the core homebrew repository, meaning that installing it really is as simple as running brew install lanraragi from a fresh Mac (or Linux machine).
    🍘 The integration in core is currently in PR, but it doesn't look like anything's blocking it here.

  • Size reduction (#293)

    🐳 I was complaining about the size of the Docker image in a previous release, but turns out there was still a lot of headroom in terms of reducting it, which leads to the size of this release being a whopping 50 MBs compressed.
    🕊 This slimdown also applies to the Windows installer.

  • Add new metadata plugin for Mayriad's EH Master Script (#303)

    🧩 New metadata script! If you use Mayriad's Userscript this ought to be good for you.

  • Fix thumbnails not being reduced in size (#300)

    🎈 ImageMagick wasn't doing its job properly in 0.6.9, leading to your thumbnail folder potentially bloating in size. Sorry for the trouble!

  • Update Clean Database to present unlinked entries, and add matching warnings

    🧹 The Database cleanup routine has a feature to unlink archive IDs from their filesystem match -- This is used whenever a file gets a different ID(due to being modified by the user), but stays at the same spot in the content folder.
    🍜 This feature was entirely hidden before, and didn't warn the user that IDs had been unlinked. Unlinked IDs are deleted on the next cleanup, which could lead to data loss if the user wasn't aware of it. The UI now properly warns you if this happens.

  • And a whole lot of other thingamabobs:

    • (#278) Add a toggle to disable tag blacklisting
    • (#277) Add date_added to the namespaces ignored by find_untagged_archives
    • (#274) Fix tiny batch tagging checkboxes
    • (#287) PerlTidy pass + add a .perltidyrc file to the repo to properly define the coding style
    • (#167) Clean the DB before restoring a JSON backup
    • Updated mojolicious to 8.42
    • Updated fontawesome to 5.13
    • Set keep_alive_timeout to 30 for batch tagging
    • Fix tag cloud showing tags with different casing separately

LANraragi v.0.6.9-EX -- Covid Cahoots

20 Apr 16:47
18a14bb
Compare
Choose a tag to compare

hey wassup
Quarantine is great, so I've hardly written a line of code and spent all my time playing video games! Except for that time where I actually caught the virus lmao

But some hotfixes did accumulate and it'd be better to release 'em now instead of waiting for 0.7. So have at it!

Changelog

  • Don't drop the entire search cache when removing a new flag

    📚 When opening a new archive in 0.6.9, the state of the database is changed (to remove the new flag), which clears out the search cache. This leads to the next load of the main index taking a potentially long time once again, after simply opening one archive, for a flag you might not really care about.
    👀 To optimize this issue, new flag updates now don't clear the entire search cache, only the entries which specifically searched for new archives. This leads to some archives potentially still showing as new for a little while longer on secondary clients/machines after you've opened them.
    🩹 It is a bit of a band-aid fix, but I don't consider the new flag important enough to drop the whole search cache every time.

  • Make the infamous duplicate warning appear far less often

    🉐 You might have seen the message "xxx is a duplicate of the existing file xxx. You should delete it." a few times.
    😐 Some platforms (cough windows) trigger two filemap events when a new file drops in, the first event adding the file to the map, and the second one was just triggering the duplicate message, even though the filenames were the exact same!
    📰 The message will now only trigger for proper duplicates (as in, identical ID but different filenames), with the other behavior sent back to the debug logs where it rightly belongs.

  • (#270) Fix Clean Database not working

    🧹 The recent changes to add multiprocessing slightly screwed up the way the filemap is saved to disk, which broke the only feature relying on that, the database cleanup.

  • (#266) Fix Reset Database not working

    😣 The API call changed in 0.6.9, and the frontend forgot to follow suit.
    🤠 nah bro it was just fashionably late

  • (#271) Fix tests for the homebrew version and overall make them more resilient

    💣 Every now and then chaika changed their code and the order in which they present tags, which broke the friggin' tests! This shouldn't happen anymore due to the incredibly complex fix of putting the tags in an array before comparing them.
    🍺 The search engine tests do some fun stuff to mock Redis behavior and one of those required the presence of the README.md file...because it was easier. The homebrew version moves the location of the readme, which promptly broke the tests. 🙃

  • Fix /etc/resolv.conf being empty in the WSL distro

    🐱‍👓 This one is for the Windows Users! If you've had issues with the plugins not connecting to the internet anymore, this release should fix things.
    🔎 As a bonus, I added a wsl.conf file to the distro to enable interop so you can launch windows programs from the linux side if you want. Might be useful? idk
    🐱‍💻 Extra PSA for Windows users: This release being a hotfix variant, installing it on top of 0.6.9 might result in you having two entries for LANraragi in your installed programs list(0.6.9 and 0.6.9.38). This breaks no functionality but does make for a bit of a mess.

  • Fix the backup script not loading the config module

  • Finally use Github Actions' caching powers to build the Docker images at a decent speed

photo_2019-10-23_22-23-31

v.0.6.9-homebrew

17 Mar 22:33
a70ded1
Compare
Choose a tag to compare

This is a quick hotfix to account for needed changes in the Homebrew version.
For the real 0.6.9, look right below ⬇⬇⬇⬇⬇⬇⬇⬇

LANraragi v.0.6.9 -- The Myth

14 Mar 14:58
dc8926b
Compare
Choose a tag to compare

Moroder’s soundtrack for Cat People followed the formula Moroder had perfected in his American Gigolo soundtrack—have a hit single as the centerpiece, then write variations around it. So Cat People opened with a brooding instrumental version of the title theme, called “The Myth,” featuring some ominous Bowie humming.

image
4000 lines changed

Hej! This is mostly a large background-refactoring release, but there are some immediate benefits you can leverage right now! Wow!

What's new in LRR World

You can now read manga from a LANraragi instance within the famous Tachiyomi reader:

image
using the extension available here. Thanks to @Seflyx for this.

A userscript has also been released recently to implement scrolling within the Reader view. You can try that out here. Thanks to @NO-ob.

🛑 Breaking change ! 🛑

Login settings for the E-H plugin have been moved to the matching login plugin. (See changelog.)
Settings don't migrate because fuck writing an entire migration system to move three strings over, so you'll have to re-enter your id/cookie settings in the settings.

A lot of things changed under the hood for plugins(heck, a lot of things changed in the entire app), so you might encounter some weird behavior/bugs. I hope to have those ironed out for 0.7.

Changelog

  • Login Plugins have arrived!

    🧩 This is part of a set of changes to the plugin system, essentially bringing it to revision 3.0.
    🧱 Everything that concerns logging in to a remote service now needs a separate Login plugin.
    🎴 This essentially means you only have to enter your login info in one plugin, which can then be reused by all others.
    🤔 What could this be useful for, I wonder? I guess you'll have to wait a bit.

  • Scripts have arrived!

    🧩 Scripts are a kind of plugin that doesn't have a designed goal like collecting metadata.
    They can be called either through the API or through the Plugin Configuration panel.
    ⚙ This is a bit technical, but Scripts can basically be used to add extra functionality to LRR in a modular, swappable way. I recommend you check the documentation!
    🎐 To demonstrate, I've added a basic script which tells you, for a given URL, if an archive containing said URL as a source: tag is present in the database.
    This was a request but I didn't think it warranted a full UI, so Scripts are a great fit here.

  • Improved filemap building in the Background Worker

    💥 And this is to go even further beyond Some packages have been added for this, so make sure to re-run the installer if you're running from source.
    💻 The background worker now parses all your files at once and does analysis/ID calculation afterwards in a multithreaded fashion. I've been getting 3-minute times for parsing ~2300 files on a dual core machine from 2006, which I think is acceptable.
    🎏 I experimented with adding multithreading to the search engine as well, but found it was breaking a bunch of stuff for little speed gain.

  • Heavily revamped use statements throughout the codebase

    🧞‍♀️ this means nothing to 98% of the people reading this
    🏗 The Util packages now properly use Perl exports, which mean you don't have to enter their entire god damn name everytime you want to read from the database.

  • (#238) Re-introduce ImageMagick for image resizing matters

    🖼 Blast from the past! ImageMagick was used in the very first releases before Image::Scale.
    Image::Scale is however a bit limited formatwise and didn't bring as much performance as I'd hoped.
    🖌 With this, thumbnailing should now work for webp, among other formats. I'm now future-proof for all the nu-formats like JPEGXL!
    💢 A disadvantage of using ImageMagick is that it noticeably bloats up the image size by 15MBs or so -- I'd like to find a way to address this in later releases.

  • (#245) Re-introduce an option to resize images served to the Web Reader

    🗜 A bit more old code for the road. Back in 0.3.0 there was an option to resize images on-the-fly when viewing them if they were too heavy. Removed with Image::Scale, so now it's back.
    🏆 This implementation is slightly better than the old one, but currently still converts images to jpg when they hit the threshold, nuking transparency.

  • (#255) Preload the next image(s) in the Web Reader when viewing a page

    🗿 Just two extra lines of Javascript.

  • Fixed Docker builds potentially not using INotify and falling back to manual file detection

    🐋 The Inotify package becoming optional for non-Linux builds kinda fucked up performance for Docker builds.

  • Fixed a bug where Settings couldn't handle non-Latin1 text

    🉐 During a previous refactoring I kinda stopped encoding stuff properly when saving settings woops abaj

  • Make the DATA_DIRECTORY environment variable an absolute override

    LRR_DATA_DIRECTORY was introduced in previous releases as a way to set the default content directory without making use of the database. It turned out to be very useful for pre-packaged releases, as in the Windows and Homebrew versions.
    💦 However, it could still be overridden by the database parameter (as a "feature"), which led to issues with Windows installs, as those could modify said parameter and wreck their install in one fell swoop. Not anymore!

  • Fix Windows Installer fucking up the WSL distro when updating LRR

    🐱‍🏍 I'd like to say "fuck you wix", but I think this one's more on me not knowing which default upgrade strategy to use. You should be able to update fine with this!

LANraragi v.0.6.8 -- Cool Cat

25 Jan 17:38
02f4636
Compare
Choose a tag to compare

Bowie was there working with Giorgio Moroder on “Cat People,” while Queen was recording a follow-up to The Game. After chatting about record advances, Bowie recorded backing vocals for a Queen track called “Cool Cat” (his contribution was erased before the final mix).

ce19a62bcce18681abc34c9bd6b0a734ae07496b72414f4653ac6c935f5cb1fd

Welcome to a small boi release to start off 2020.

🧨Breaking change for Docker users🧨

You might remember previous Docker releases storing the database inside your content folder.
Since Docker used to be the easiest installation method, this was meant to make it a bit more fool-proof.
Now that the Windows and Homebrew builds are a thing, I don't really need to do that anymore!

For more flexibility (and fixing some longstanding permission issues as well), the database now requires a second bind mount for its own location. This mount will be chmodded to 777, so I recommend throwing the database.rdb file in a new folder and mounting it:

docker run --name=lanraragi -p 3000:3000 \
--volume [YOUR_CONTENT_DIRECTORY]:/home/koyomi/lanraragi/content \
--volume [YOUR_CONTENT_DIRECTORY]:/home/koyomi/lanraragi/database \
difegue/lanraragi

If you're a new user, you might even want to store the DB in a dedicated Docker volume:

docker volume create lrr-database
docker run --name=lanraragi -p 3000:3000 \
--mount type=bind,source=[YOUR_CONTENT_DIRECTORY],target=/home/koyomi/lanraragi/content \
--mount source=lrr-database,target=/home/koyomi/lanraragi/database \
difegue/lanraragi

A volume will be created automatically for the database if you do nothing at all, but you'll probably want to name it so that you don't lose it on version upgrades.

Changelog

  • Docker containers now use /home/koyomi/lanraragi/database to store the Redis RDB

    🐳 See above.
    ⬆ I mean for real I just dropped a 10-line essay on that
    🍏 Homebrew builds now have their own database folder as well.
    🐱‍👓 Windows builds will still store the database inside the content folder. Don't see much point in changing things here.

  • Docker containers are now built using buildx

    🐋 Oh yeah! This mostly means nothing for 99% of users, but multi-arch builds are now way easier to make. (At the cost of taking an hour)
    ⌨ buildx also allows me to go all-in on support, which means you can now run LRR on all the following architectures:

linux/386
linux/amd64
linux/arm/v6
linux/arm/v7
linux/arm64
linux/ppc64le
linux/s390x

I'm totally sending a free sticker pack to anyone who shows me a screenshot of LRR running on a System/390 IBM mainframe.

  • Move old ID cleanup to the clean_database method

    🧹 The cleanup method slowed down search a bit and certainly didn't warrant running all the time, so I moved it to its rightful place in the database cleanup button. If you get duplicate archives, make sure to go click that!

  • (#231) Add a built-in filter for untagged archives to the Index

    🧶 Probably the last filter I add to the archive index. This relies on the already existing API method.
    🔝 Both this and the new archive filter now show up on top, next to favorite tags!
    🔎 It's pretty impressive how you can mix and match all of those + the search bar -- Never thought I'd get this far.

image

  • (#240) Fix the Windows installer not accepting paths with spaces

    🤠 yeehaw pardner looks like I dropped some dagnab quotes when writing this installer
    ✨ The new installer seems to be working pretty well for people, although I guess the real test comes now with updating.

  • (#244) Allow Windows Network Drives to be used as content folders

    🐧 Network Drives aren't automatically mounted in WSL, since they might not be accessible. We'll now try to mount them when starting LRR.

  • (#246) Use natural sort in the Index view

    📚 Natural sort was a free feature from Datatables before server-side search happened, but now, I guess gotta do it myself.
    🐱‍💻 Source users will have to install the new CPAN package Sort::Naturally as a result of this!

  • (#247) Fix search suggestions not appearing if you used the "-" modifier

    🛸 Search suggestions obviously can't figure out what you mean if you start using the wildcard modifiers n shit, but the "-" case is common enough to be taken into account.

  • Add support for the info.txt variant in the Hdoujin plugin

    📰 The OG Hdoujin plugin only accepts the JSON variant of the metadata files -- The text version is simple enough I was able to wank support for it in 5 minutes. Due to being...wanked, this only adds the tag metadata, no artists or title.
    🤠 yeehaw pardner i aint doin one of these ever again lemme tell ya

  • Miscellaneous improvements to CSS and Homebrew installs