summaryrefslogtreecommitdiff
path: root/util
AgeCommit message (Collapse)AuthorFilesLines
111 min.JS: Rewrite tag edit formYorhel2-1/+2
25 hoursMulti: run in foreground and use lock file for single-instance checkYorhel1-1/+3
This is a lot more robust than that silly pid file.
25 hours+docsYorhel1-2/+37
30 hours!BREAKING! Restructure directory layout for generated & runtime filesYorhel20-69/+466
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.
7 daysUser: Add self-service account deletion functionYorhel1-0/+4
Somewhat hacked together, should better integrate this feature with Auth.pm but the code is already annoying enough as it is. :(
8 daysdbdump: Fix image export scriptYorhel1-3/+3
9 daysAdd support for account soft-deletion and email opt-out listYorhel2-56/+83
This work is to support a safe self-service account deletion feature, but I haven't implemented that part yet.
2024-03-14SQL: Add improved email normalizationYorhel1-0/+9
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-12Build system fixes + move icons dir + docsYorhel2-24/+9
I really want to reorganize the directory structure some more, but let's start with the easy things.
2024-03-10Use vips for pngsprite.pl; drop ImageMagick dependencyYorhel1-8/+9
Not particularly useful, but I always enjoy removing dependencies.
2024-03-10Unbreak DockerYorhel1-1/+1
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-08Add Belarusian languageYorhel1-0/+1
2024-03-01Misc::Reports: Use a proper log table, fix log formattingYorhel1-0/+14
2024-02-26VN::Quotes: Remove approval system, adjust submission & editing limitsYorhel1-0/+12
2024-02-23Expand VN quotes feature a bitYorhel1-0/+89
With a better listing, submissions form, moderation interface and voting.
2024-01-08Add some SQL comments to the database dumpsYorhel1-0/+14
So we have a little bit more documentation on SQLBin's schema page: https://sqlbin.vndb.org/schema
2023-12-03SQL: Rename staff.aid to staff.mainYorhel1-0/+11
Both to remove the copies of the column lists in the staff_aliast definition and to align the underlying table with said VIEW. Using a different name from staff_alias.aid also makes it easier to see what the code is trying to do. (No doubt I broke something)
2023-12-03Staff: Add a bunch more external linksYorhel1-0/+24
2023-12-02StaffEdit: Use ExtLinks editing componentYorhel1-9/+15
Abstract it out of the Release edit form (easy, I had written it with re-use in mind) and fix it to support NULLable fields.
2023-11-09VN/Graph: CSS styling + scroll + improved relation filtersYorhel1-0/+1
2023-11-04devdump: Add drm tablesYorhel1-1/+2
2023-10-14DRM: Update code for master + let's put this liveYorhel1-0/+0
2023-10-14DRM: Initial implementationYorhel2-0/+8
Unfinished, primarily for testing. https://vndb.org/t20399.36
2023-09-21User: Patch all email address enumeration vectorsYorhel1-0/+5
This is IMO pretty user-hostile, but apparently there are people who care about preventing email address enumeration. Whatever.
2023-09-17Wikidata: Add Lutris & Wine linksYorhel1-0/+3
https://vndb.org/t950.1630 (totally untested commit, but what could possibly go wrong with such a simple addition?)
2023-09-17Producer::Edit: Convert form to JSYorhel1-0/+2
This one got priority because many people appear to be stumbling on the URL validation bug in this form. Staff edit form is still affected by it, but that's less commonly a problem. New form also doesn't pre-fill a language anymore and instead requires the user to input one manually. Fixes a problem with non-JP producer entries having JP selected by default.
2023-09-15SQL/quotes: Add "approved" flag and improve randomisationYorhel3-2/+39
2023-09-12devdump: Add option to dump all DB entriesYorhel1-32/+36
Which makes testing features on the beta a lot easier.
2023-08-06Update unusedimages.pl to also clean up unused originalsYorhel1-3/+4
2023-07-29JS/forms: Get rid of the HTML5 validity APIYorhel1-2/+2
Main problems I ran into: - Not all browsers (especially true for mobile browsers) support reportValidity(), so we need custom reporting anyway. - Some browsers (or addons, dunno) completely ignore form validation and pretend everything is valid; those users will not have a very good experience. - setCustomValidity() only works on 'willValidate' form elements, which means we need additional custom reporting for errors that do not apply to such elements. - 'minlength' doesn't work at all when the input's value is set by JS. - Getting reportValidity() to work with FormTabs was extremely awkward. Sad, because the idea of offloading form validation and reporting to the browser is actually a pretty useful idea. Anyway, this custom implementation should be more robust. Also provides much better feedback on invalid usernames.
2023-07-26ReleaseEdit: Add database relations + notesYorhel1-0/+1
This completes the form, but I rushed it a bit so there's bound to be some issues left.
2023-07-26ReleaseEdit: Add external linksYorhel1-7/+16
2023-07-24ReleaseEdit: Complete the format section + fix vnode reuse bugYorhel1-0/+1
2023-07-24ReleaseEdit: Platform + Media; JS: bunch of more tooling & infraYorhel1-0/+2
I'm not sold on the validity API at all.
2023-07-24ReleaseEdit: Add release status fieldsYorhel1-0/+1
2023-07-11Remove popularity rating + adjust bayesian averageYorhel1-0/+8
As discussed in https://vndb.org/t20453
2023-06-19VN::Page: Add tag vote counts to /v+/tagsYorhel1-0/+4
As suggested by https://vndb.org/t950.1532
2023-06-02UserEdit rewrite part 7: All display preferences + multiselection dropdownYorhel1-0/+14
Multiselection thingy was easier than I expected, but the UI doesn't feel quite right somehow. :/
2023-06-01Types/JS: Move language properties into VNDB::Types + improve lang sorting ↵Yorhel1-1/+1
in dropdown selector
2023-06-01UserEdit rewrite part 6: Title preferences + more dropdown select thingy ↵Yorhel1-1/+8
tweaking
2023-05-21JS/CSS: Rewrite login form + experiment with new form code & styleYorhel1-0/+24
Yak shaving at its finest. I was working on an edit form for the new franchises system, but then realized that the form JS and HTML kind of sucked and a completely new form isn't the best way to experiment with a new implementation. I also had some ideas to improve the user edit form, so decided to rewrite that first, but then realized it's better to lay down a smaller foundation before doing the complex stuff. So here we are, a completely useless rewrite of a tiny little login form. But I did improve error messages a bit while I was at it. There's still a bunch of unknowns regarding form implementations: to see if there's a more convenient way to set custom validations; to see if HTML5 validation works well with form tabs; to see if URL fragments can be used to select form tabs; mobile-friendly form layouts (should be easier with this new approach); dropdown search improvements, etc. The user edit form should prove a good testing ground for all of that.
2023-05-10CSS: Update error pages to new tagsYorhel1-3/+3
2023-05-10SQL: Remove double quotes in generated editfuncsYorhel1-1/+1
2023-05-05SQL: Fix syntax error in schema.sql + fix devdumpYorhel1-1/+1
2023-05-03SQL: Rename columns that are SQL keywordsYorhel3-11/+34
So that there aren't any columns in need of quoting anymore.
2023-04-26Attempt to unbreak parallel makeYorhel2-2/+2
Multiple output files from a single target has always been a weak point of makefiles.
2023-04-25CSS: Unique classes for icons + generated dimensionsYorhel2-11/+12
Unique classes have lower chance of clashing with anything else. Automatically generating the dimensions increases the size of the CSS file a bit, but it simplifies maintenance. The only thing that's still done manually is the selection between the .svg and .png image.
2023-04-25Merge platform icons into an SVG spriteYorhel2-1/+59
Couldn't get fragment identifiers to work satisfyingly, so ended up going back to old-fashioned CSS background-position. Oh well.
2023-04-19Track who uploaded an images + add filter to image flagging browserYorhel1-0/+29
Suggested in https://vndb.org/t950.1524
2023-04-19ExtLinks: Add JAST USA price fetcherYorhel1-0/+8