summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
12 daysReleases: Show MTL link for patches, clarify reason for hidingHEADmasterYorhel2-3/+3
14 daysdeps: Update libvips for imgproc-customYorhel2-3/+1
Downside of managing dependencies myself instead of using OS package manager, now we have these shitty dep update commits. :(
2024-04-04Images::Lib: Fix 500 on fetching image entries with language preferences setYorhel1-2/+2
Subqueries still need an alias in Postgres 15.
2024-04-04Images::Lib: Fetch all entries an image is linked toYorhel3-11/+19
Pretty pointless change given that the extra entries aren't yet used. This is yak shaving.
2024-04-03Releases::List: Exclude non-official MTL-only releasesYorhel1-1/+4
Could add an option to show them, but that's low prio.
2024-04-03Releases: hide external links for unofficial MTLYorhel2-2/+8
2024-04-01Revert "New feature: Site-wide scrolling chat"Yorhel6-223/+0
April fools is over.
2024-04-01NNM: Throttle by IP subnet, preserve white-space, reduce message length a bitYorhel3-5/+7
2024-04-01New feature: Site-wide scrolling chatYorhel6-0/+221
2024-03-30JS: Rewrite TraitEdit formYorhel5-214/+111
Pretty much a copy of TagEdit with some minor differences. Might make sense to merge these into a single file.
2024-03-29JS: Fix assignment to constYorhel1-1/+1
2024-03-29TT: Let users edit their own tags/traits while pending approvalYorhel1-1/+6
2024-03-29JS: Rewrite tag edit formYorhel7-253/+141
2024-03-28Multi::Maintenance: Rotate logs daily, don't bother with compressionYorhel1-24/+22
2024-03-28oopsYorhel1-1/+1
2024-03-28Multi: run in foreground and use lock file for single-instance checkYorhel4-81/+12
This is a lot more robust than that silly pid file.
2024-03-28+docsYorhel2-2/+41
2024-03-28js/UserEdit: Fix account deletion button being the default form actionYorhel1-1/+1
Good thing there's a big confirmation page to prevent accidents, heh.
2024-03-28!BREAKING! Restructure directory layout for generated & runtime filesYorhel52-518/+591
My testing, deployment and backup scripts were getting more complicated with files from various stages being lumped into a single directory structure, so all generated files (= anything touched by 'make') and runtime files (= anything touched by the web backend or multi) have now been moved into separate directories. These directories are also configurable with $VNDB_GEN and $VNDB_VAR, making it possible to manage multiple instances from a single source checkout. I also got rid of *data/* and *dl/* while I was at it, and moved *static/st/* (that is, the screenshot thumbnails) to */sf.t/*, to be consistent with the newer and more flexible image directory naming scheme. This commit breaks all existing installations and upgrading requires manual action. General upgrade instructions: # BEFORE doing a checkout of this commit make clean # AFTER make mkdir -p var/static var/log mv static/st var/static/sf.t mv static/{sf,ch,cv}{,.orig} var/static/ mv data/conf.pl var/ mv data/log var/ mv data/hibp var/ mv dl var/ util/setup-var.sh Use `git status` find leftover files to clean up or move. Don't forget to update conf.pl and web server configuration to make sure they access the new paths.
2024-03-23Chars::Page: Fix display of own quote voteYorhel1-0/+1
2024-03-23Chars::Page: Display quotes from the characterYorhel3-1/+24
2024-03-23API fixes: reject delete_at logins/tokens + fix "get quote" commandYorhel3-6/+10
2024-03-22CSS: Fix searchtabs alignmentYorhel1-7/+14
2024-03-22User: Add self-service account deletion functionYorhel11-10/+259
Somewhat hacked together, should better integrate this feature with Auth.pm but the code is already annoying enough as it is. :(
2024-03-21dbdump: Fix image export scriptYorhel1-3/+3
2024-03-20Fix a few user pages not being accessible by non-modsYorhel4-3/+4
Broken in 8a8593e91e5252a24fdfa7d46c28134668ab7c9c Oops.
2024-03-20Add support for account soft-deletion and email opt-out listYorhel20-77/+209
This work is to support a safe self-service account deletion feature, but I haven't implemented that part yet.
2024-03-14User::Register: Fix registration (broken in previous commit)Yorhel1-1/+1
2024-03-14SQL: Add improved email normalizationYorhel8-17/+58
Slightly helpful for account recovery scenarios when the user doesn't know their *exact* sign-up address, but that's not too common. This normalization should become more useful when I implement better opt-out functionality.
2024-03-14SVG: Remove redundant use of gradient templatesYorhel2-20/+12
2024-03-13API2: Add VN staff informationYorhel4-11/+209
2024-03-12Build system fixes + move icons dir + docsYorhel138-26/+60
I really want to reorganize the directory structure some more, but let's start with the easy things.
2024-03-11Don't throw an error on multiple 'fil' query paramsYorhel6-8/+8
2024-03-10Use vips for pngsprite.pl; drop ImageMagick dependencyYorhel5-14/+58
Not particularly useful, but I always enjoy removing dependencies.
2024-03-10Unbreak DockerYorhel3-3/+4
Wanted to upgrade to Alpine 3.19 while I was at it, but getting postgresql15-dev and libpq-dev installed at the same time didn't go well. Upgrading to Postgres 16 also didn't go well, I'll probably need to fix vndbfuncs for that. Later.
2024-03-10Improve processing of uploaded imagesYorhel15-32/+466
My goals, in particular, were to: - Make use of a more efficient jpeg encoder; jpegli in this case. - Sandbox the image handling process to protect against codec vulnerabilities; implemented with seccomp. This isn't easy to do with software packaged in typical Linux repos, so I had to improvise a bit. I switched to libvips as that is easier to sandbox than ImageMagick and provided a Makefile to fetch and build a custom libvips that uses jpegli. None of this is very portable, so to simplify testing setups a simpler "imgproc-portable" binary is built instead. Also experimented with different resizing and encoding options, but the defaults were mostly okay. See https://vndb.org/t21692 (This breaks the Docker setup, I'll fix that later. I'll also see if I can drop the ImageMagick dependency that's still used for pngsprite.pl, as it seems a little redundant)
2024-03-08Add Belarusian languageYorhel4-1/+3
2024-03-03Fix two perl warningsYorhel2-2/+3
2024-03-03VN::Quotes: Add self-service quote delete optionYorhel3-29/+57
2024-03-01Misc::Reports: Use a proper log table, fix log formattingYorhel5-8/+52
2024-02-28VN::Page: Mention that shop links are sponsoredYorhel2-0/+2
2024-02-28VN::Quotes: Don't allow selecting a deleted characterYorhel1-1/+1
2024-02-27VN::Page: Add quotes count to tabYorhel1-1/+2
Tab is still visible even when count = 0, because there's otherwise no way to submit a quote.
2024-02-27User::Page: Add quotes stat and link to quotes listingYorhel1-0/+8
2024-02-27VN::Quotes: Support spoiler charactersYorhel1-2/+12
Only on the VN tab though, the global listing is more of a mod feature.
2024-02-26VN::Quotes: Remove approval system, adjust submission & editing limitsYorhel8-39/+57
2024-02-24VN::Quotes: Fix logging on quote editYorhel1-1/+1
2024-02-24Images::Upload: Fix handling of image processing errorYorhel1-0/+1
Shouldn't insert a row into the database for an image that isn't on disk.
2024-02-24VN::Quotes: Add global quotes listingYorhel4-23/+174
With filters and all. Mostly for moderation purposes.
2024-02-24VN::Quotes: Fix removal of final vote + minor guidelines updateYorhel2-2/+3