Skip to content

Releases: Difegue/LANraragi

LANraragi v.0.8.2 - Nite Flights

22 Nov 23:01
de298af
Compare
Choose a tag to compare

8d40b7bc43ea0d5e0386989f704a91086e74e82ae1723a8dea175a8f3ef9acbd

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:

image

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:

image

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.

image

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-built libffi 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)

14 Oct 15:00
c4fcc49
Compare
Choose a tag to compare

6a5075d8b250e511b3b1c80ee2aaf2aac4b6ab577f0ca9499a9cd5987d789138
poggers lads

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

27 Sep 15:42
75cdf9c
Compare
Choose a tag to compare

d886a1488d50c54fb2111f45f7f9be3d29daca8e45104468c03c129e590a39d5

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)

image

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:
image

New Tag Editing UI

image
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 to database.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 using wsl.exe directly for everything.
    🖥️ The cmd 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

08 Jun 23:28
62362eb
Compare
Choose a tag to compare

0e7ea1959c878b8b997942f001a92a7e61f348c242613d280d30d0313ac1951b

🥵 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 !)

image

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

c15302f7a6528d28648b28fd87923f19270c4058c7473180ee94f122dad111a9

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
    💎 Move shinobu.pid and minion.pid to the app temporary folder instead of script
    💎 (#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 running clean_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

07 Apr 11:35
fa567df
Compare
Choose a tag to compare

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.

image

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

image

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).

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