Skip to content

LANraragi v.0.9.1 - Dead Man Walking

Latest
Compare
Choose a tag to compare
@Difegue Difegue released this 27 Jun 22:10
fbd98f4

d1c4ce390019f3b8a3c194c17b7a693abf62eb062a34a77062a6adb4eb30820a

Can you believe I've left a bunch of stuff pile up on the table again because I wanted to get tanks out in this release and never got to it?

While tanks are still in an unfinished state, this release adds a lot of frontend improvements I think y'all will enjoy. Thanks a lot to everyone who has contributed!


🪟 WSL1 has been deprecated

I keep getting swarmed in Windows support issues because Microsoft would rather slap AI shit into their OS than fix the bitrot in their Linux subsystem.. The issues got too complex to debug properly because of the amount of moving parts (WSL1/2, Alpine versions, Redis versions), so I'm trimming things down and limiting the Windows installer to WSL2-only.

I've gone in and also fixed a few issues that pop up when you only have wsl2 installed, so hopefully there's a sharp decrease in the amount of Windows problems for now. It just works again! Mostly.

Windows users will lose any functional form of dynamic file watching for now. Blame MS, install linux, I don't care anymore*
* If you still need WSL1, Nightly builds will continue to provide "Legacy" MSIs that run on WSL1 and an older version of Alpine.

🐳 Explicitly declare the thumbnail subfolder in Docker installs (#953)

The thumbnail folder defaults to being a subfolder of the content directory, which is usually fine even if your content folder is readonly, as the Docker container will try to fix permissions on it.
But if that subfolder wasn't created yet, permissions fixing would do nothing! The thumbnail folder now needs to be declared as a separate volume to make sure it exists.

If you're updating, make sure to create a new bind mount to your existing thumbnail folder!
Otherwise Docker will create a new volume and the server will regen all thumbs.

🕰️ "On Deck" has been added to the Carousel (#935)

335834363-1e0c4792-3bb4-465f-8957-3db7fead32f9

This will show the last opened files ordered by time, leveraging recent search engine additions.
This is more of a "History" feature than a real On Deck, as it will show even files that have been read to completion.

☑️ Implement multiselect for context menu categories (#918) (@cazendium)

image

Instead of reopening different context menus everytime you want to add/remove one archive to a category, you can now quickly see and reassign categories through a set of checkboxes.

📜 Implement Summary field (#588)

323404087-0d6d4a99-655b-468d-8197-5dcbb315e780

This is a new database field, and can now be populated from plugins and used by API clients.
It's also included in backup/restore alongside other metadata.
...I don't have much to say about it it's just a text blob

🤖 Revamp page thumbnail generation (#885)

Coupled with some efficiency changes in the Reader, it should now be easier to see the progress of the server with new thumbnails, and archives which are already fully cached shouldn't have unneeded lag.

pagethumbs.mp4

🧩 New bundled plugins

🎃 Other changes

  • Miscellaneous frontend patches (@cazendium)

    💠Stop the web page from zooming in when double tapping, such as flipping quickly through pages
    💠Prevent zooming in on mobile when you try to type in a textfield (password, search, editor) or if the tag overlay gets too large
    💠Open LRR without the URL address bar if you save it as a web app on iOS, with custom background color/status bar color

  • (#917) Allow filtering on number of read pages (@owldyn)

    📈 You can now search for galleries with a specific number of pages read using read:20, or with a range: read:>20, read:<=30.
    📊 Much like On Deck, this only works if server-side progress tracking is enabled.

  • (#689) Remove last_used for categories and just sort alphabetically

    🀄 My initial thinking behind sorting by last_used time was that if you use a specific category a bunch it'd float up naturally instead of making you hunt in the dropdown.. But that's never worked too well, so back to alpha sorting we go.
    📍 You can still pin categories if you want them to always show up first.

  • (#975) Try to avoid recreating resized files on every serve

    🏗️ If you have "Resize pages" enabled, the server used to redo the scaling operation dynamically everytime the page was served.
    🐌 Resized pages will now be cached and won't be recreated unless you change the image quality parameter.

  • (#987) Add patterns for timestamp tag rendering (@chierinyan)

    📅 Any tag whose namespace starts with date or time will now be considered a UNIX timestamp by the frontend and parsed as such.
    ㊙️ There's no change to serverside data.

  • (#961) Fix missing XML escapes for title and category data

    〰️ This was mostly a problem with the OPDS feed, but you could technically have raw html in the server MOTD that'd just be parsed on the main index...

  • (#976) Add basic pagination support to OPDS

    📊 Loading the OPDS feed will no longer take years if you have a bunch of files.

  • Miscellaneous bugfixes and improvements

    💎 (#990) Show a more detailed error message if file move fails when using the web uploader (@siliconfeces)
    💎 (#992) Ignore source tags when searching for untagged files (@anonstash)
    💎 (#996) Make install script die on any error (@siliconfeces)
    💎 (#994) Add minimal docker-compose.yml file to documentation (@RexYuan)
    💎 (#975) Preload image size (HEAD requests) asynchronously in Reader (@anonstash)
    💎 (#907/#920) Fix source tag not removing the protocol from URL (@RodolfoFigueroa)
    💎 (#984) The FAKKU plugin now works again (@Nixis198)
    💎 (#989) Changed the Koushoku.yaml plugin to add the "Released" tag. (@Nixis198)
    💎 Windows distro repairs should now show the full results of the wsl.exe commands it invokes
    💎 WSL detection should now work properly if you only have WSL2 installed
    💎 (#985) Log error message if open_filename fails (@siliconfeces)
    💎 (#977) Add PWA manifest (@jacobgkau)
    💎 (#973) Fix unicode parsing problems with plugins that consume YAML (@shinji257)
    💎 (#938) When doing ID lookups with the nH plugin, use filesystem name instead of the name stored in the database
    💎 (#943) Save japanese title from Chaika.moe metadata (@BWsix)
    💎 (#963) Enable SOCKS proxy support (@ypoluektovich)
    💎 (#945) Update Tachiyomi docs (@RePod)
    💎 (#941) Skip offensive warning screen with EH autodownloads (@f8upd8)
    💎 (#940) Update the download URL of Tachiyomi extension (@Seflyx)
    💎 (#865) Lower the intersectionObserver threshold to 50% for progress tracking in infinite scroll
    💎 (#849) Fix new archives with non-ascii characters not being visible in search
    💎 (#899) Add missing decode to batch tag rules to avoid mangling non-ascii characters
    💎 Fix not being able to paste multiple tags if tagger.js is active
    💎 (#904) Fix missing click handlers on theme radiobuttons in settings
    💎 (#903) Use password directly when connecting to Redis (@TomaSajt)
    💎 (#900) Set missing ghostscript device value in PDF page generation (@TomaSajt)
    💎 (#895) Improve first/last page detection filters
    💎 (#889) Don't use variable that's know to be empty/undefined/falsy in error output (@siliconfeces)
    💎 (#887) Prevent secrets file causing a crash if contentdir is readonly
    💎 (#886) Improve archive deletion handling (@siliconfeces)
    💎 Replace both OpenSans and Roboto typefaces with Geist. I think it looks neat!

  • API Changes

    🔑 (#906) Add filesize and filename to archive JSONs
    🔑 (#885) Added /api/archives/:id/files/thumbnails, which will queue a single job with progress reporting to generate thumbnails for all pages of an archive
    🔑 (#885) /api/archives/:id/thumbnail?page=${page} will no longer fire individual jobs for each thumbnail (unless no_fallback is specified)
    🔑 (#911) Search can now use "lastread" as a sort key if you want to sort by last read time.
    🔑 (#588) PUT /api/archives/:id/metadata now accepts summary as a field.
    🔑 (#588) Archive JSONs will now return summary data.
    🔑 last_used has been removed from Category objects. (please scream at me if you need them back even as empty placeholders)

Full Changelog: v.0.9.0...v.0.9.10

As Plati said, the track “begins completely programmed and ends completely live.” It opens with solitary synthesizer flourishes and ends with the sound of live musicians making themselves heard above the din [...] The title line itself is a cruel joke: he’s escaped the past and wound up a zombie.