Skip to content

Releases: Difegue/LANraragi

LANraragi v.0.7.7 - Pallas Athena

11 Mar 12:26
8c670c5
Compare
Choose a tag to compare

great DLC thanks nintendo

what the heck this release is huge how could this happen
No time for witty talk! Let's get to the big changes:

#335 - Reading progression is now server-side!

I recall saying in a previous release that withholding essential features for years makes it all the more hype when you finally make them, so I am proud to finally give you synchronized reading progression across every device you use LANraragi on.

This feature comes with a matching API that external clients can leverage to update the server progression as well.
LRReader is already using it, with hopefully the rest of the squad on board soon.

On an update to 0.7.7, if you have any local progression saved on your browser, it will be deleted and migrated to the server:
migration
(You can reload or quit the browser at any time during this process, it'll pick back up from where it left.)

As a bonus to this feature, the Statistics now loosely track the amount of pages you've read during your pole-polishing career as well.
heh, pole-polishing

#267 - The Thumbnail Directory can now be moved!


Another long-awaited request: You can now move thumbnails out of the Content Folder without having to deal with symlinks! What a concept.
(If they want to, Windows users must change the thumbnail directory in the Bootstrapper's settings, just like with the Content Folder)

The default for this option is the current behavior, aka a /thumb subfolder in content.
Changing this option won't move your thumbnails, so make sure to do it yourself!

Or, use those shiny new "regenerate thumbnails" buttons I just added.
Man, I really do care about my users -- Have I already told you about my Ko-Fi page btw? 😏😏😏😏

#389 - AVIF/HEIF Support

Starting from this release, .avif, .heic and .heif files are all considered images by server.
A taste of the future! JPEGXL BTFO OH NONONONONO
There a number of caveats to consider since those formats are a bit new: Please read more here if you're interested.

If you're running from source, I recommend updating your ImageMagick to v7 if you haven't done so already to get AVIF/HEIF thumbnails working.
LRReader also has support for both AV1 and HEIF in its latest release, so it might just be better than your browser for the time being!

#282 - Shinobu/FileWatcher Rewrite

Oh boy time to restart my LRR server after a nice upgrade 💿KRRR💿RRRKRRR💿RKRRR💿(various sounds of mechanical hard drives dying)

The FileWatcher used to throw away its entire filemap on a server restart and reindex/recalculate IDs for your content folder to find out changes. This was slightly inefficient, to say the least. (And might've been the cause of some weird indexing bugs in the past)

The old perl-data-structure-serialized-to-a-file system has thus been woefully thrown out and replaced by a long-lived hash in Redis:
Server restarts will now only run a quick diff between what's saved/known to the server and your current filesystem.

The main difference with this approach is that if you modify an archive after adding it to LRR, its ID will now remain the same instead of becoming a new entry to match the new hash.
This has both good and bad consequences:
👍 You won't get duplicate entries anymore, and your metadata stays assigned to the file, as the ID doesn't change.
👎 If you restore a JSON backup on a new install, it's likely that your metadata for modified files won't be restored, as the newly calculated ID won't match the one in the backup. Which means you'll have to get your hands dirty and fix the IDs in the backup yourself but that's what you deserve for mucking up your files ya dingus

#385/#397 - AutoTag has been removed in favor of a Plugin

AutoTag was an old built-in feature which tried to figure out tags from filenames.
It was enabled by default and sometimes caused confusion with users whose files didn't match the doujinshi naming standard.
(I also never managed to find a good enough name for it that wasn't confused with Auto-Plugin)

It is now gone! Well, not really, just moved to a metadata plugin.
As such it is now disabled by default, and you might want to re-enable it in Plugin Configuration.

image
I also made it slightly smarter so it doesn't consider numbers to be language tags. Meh.

The AutoPlugin toggle has been removed

To get rid of the confusing AutoPlugin/AutoTag duo once and for all, I am also removing this old toggle in Settings:
image

Having to check both this toggle and then enable Plugins separately is just busywork, so from this release onwards, you'll just have to enable Plugins in Configuration to get them to run on new uploads.

Plugin Configuration got a small facelift to expose this new behavior, and to be a bit more horizontal considering the amount of plugins that are now built-in:
conf

All the other stuff that isn't as big but still pretty cool

  • Stop using a static secret for mojo's cookie signatures

    🍪 You might have to login again after the update due to this change. Cookies are now signed using a mix of your hostname and OS.
    😛 It's not the most unique thing, but it certainly beats everyone using 560754abd681422dca19761cfcb1d6f1e050bca2.

  • (#410) Metadata is now normalized to Unicode Form C

    🈸 I won't give a masterclass in Unicode here, but the old behavior could potentially lead to duplicate tags if you were using non-latin characters.
    🉐 I am temporarily adding a Script plugin you can run to normalize the entire database if you're already having this issue.

  • (#375) Add "Remove from Category" to the Index's context menu

    🧾 The UI for Categories is still a bit rough across the board, but hopefully this will help.
    uoooooooooooooooooh
    😭 I've also fixed up the icons and colors in the context menu so it looks less bad across the app's themes.

  • Add Mojolicious::Plugin::Status when running in debug mode

    🐞 If Debug Mode is enabled, you can now open a status pane by goind to [your LRR URL]/debug. It's cool!
    image

  • API Changes

    🔑 Added a simple GET to /api/categories/:id to get info for a single Category
    🔑 Accept "false" properly for various endpoints that used boolean parameters (Only 1/0 worked properly beforehand)
    🔑 Added an API endpoint to set the reading progression for an ID
    🔑 Added an API endpoint to return which categories an ID belongs to
    🔑 Added an API endpoint to regenerate missing/all thumbnails
    🔑 Update docs to fix some errors in the JSON examples

  • Miscellaneous nonsense

    💎 Add some basic retrying logic on our first Redis connection in case it takes a while to load the dataset in memory
    💎 (#374) The 'cooldown' parameter for Plugins is now only used in Batch Tagging
    💎 Fix a memory leak caused by the Parallel::Loops/Storable combo in the Search API
    💎 Improve visibility when sorting table columns
    💎 Fix being able to put whitespace as a custom column
    💎 (#412) Add autofocus to the password input in login
    💎 Add fa-solid-900.woff2 so your browser finally stops screaming at you in console
    💎 Remove unnecessary datatables cdn include
    💎 Remove the favtagmigration script plugin, you've probably had enough time to migrate already
    💎 Updated Mojolicious to 9.02

“Pallas” was one of the most radical tracks Bowie had made in years. For one thing, it hardly sounded like Bowie at all, with the disassociated voices akin to the clips of televangelist speeches that Eno and David Byrne had used on My Life in the Bush of Ghosts.

LANraragi v.0.7.6 - Magic Dance

21 Jan 14:31
fbfb86e
Compare
Choose a tag to compare

“Magic Dance” has one of Bowie’s strongest vocal melodies of the period, too, with the verse a run of delayed satisfactions until, midway through, there’s a slow, steady move up an octave, climaxing in Bowie’s “Bay-bee BLUE…NO-BO-DY KNEW”! It’s the most alive he’s sounded in years.

06b640b99e8d2607997fff24101bfc3d1d080b8c05ba14bc1c73a571cf979d3e

Happy New Year! I was planning to withhold this release a bit longer until adding server-based reading progression, but I don't think I'll have much time for extra work atm, so might as well put all those fixes out.

This release is mostly focused on front-end improvements! I hope you'll enjoy it.

LRReader is now on the Microsoft Store!

Please take a look at it if you were put off by the sideloading requirements before but still wished for a Windows desktop client.
https://www.microsoft.com/store/apps/9MZ6BWWVSWJH

#195 has finally been tackled!

image

This feature, mixed with the existing free-form support for tags, allows you to push organizing a bit further by allowing you to sort by whatever tag you have in your personal metadata.

date_added? check.
rating:⭐⭐⭐? check.
And about everything you can think of! You can only have two custom columns at the moment, which might not be enough? Be sure to make me know.

Changelog

  • (#195) Add column customization

    🎍 hahaha yes

  • (#334) Keep the table header displayed in thumbnail mode so it can be used for sorting

    🧾 Sorting by columns was not available to thumbnails despite the fact it's the most used view mode by far, so this allows you to have that extra functionality - Which becomes even more useful now that columns are customizable!
    💦 This is just drawing the table header at all times lmao not trying at all

  • Fix downloaders appending their source: tag only after the auto-plugin was ran

    🎫 Downloaders adding the original URL to metadata was not very useful in its previous iteration, as plugins wouldn't have access to it and would fall back to the default search mechanism. If you're unlucky enough you could end up with two source tags!
    🎣 damn I sure hope someone got fired for that blunder

  • Add a "Jump to Page" combobox to the Index

    🏍 The existing navigation can get a bit hard to use when you have a ton of pages - This allows you to zoom around faster if you have like 75 pages and just want to jump to the midpoint or something.

  • Add support in the file download API for auto-adding the downloaded file to a category once processing is done

    🐱‍👤 The combobox for adding uploaded files to a category only worked if you kept the web page open before this.
    💥 The plan had always been to ship a quick implementation of this using JS only then do it properly now, but I don't think I communicated properly on it. Not many people seem to have noticed though so 🤠

  • Miscellaneous other changes

    💿 Don't append start=1 to EH download URLs if autostart=1 is already present
    📀 (#295) Add "Force Full Width" to Reader options
    💿 Use favtag-btn for all <select> elements
    📀 Delete the matching thumbnail when an archive file is deleted
    💿 Add cooldown parameter to MEMS plugin
    📀 Fix the category frontend not working if a category contains a nonexisting ID
    💿 Clean up and improve tag tooltips (hide overflow, colorize, etc)
    📀 (#371) Remove the last chmod 777 in docker scripts
    💿 (#373) Force a cache cleanup after database cleanup
    📀 Make OPDS API testable + add a dang test
    💿 Fix the categories API returning a string instead of an empty array for dynamic categories

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 ⬇⬇⬇⬇⬇⬇⬇⬇