Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
This is a lot more robust than that silly pid file.
|
|
|
|
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.
|
|
Somewhat hacked together, should better integrate this feature with
Auth.pm but the code is already annoying enough as it is. :(
|
|
|
|
This work is to support a safe self-service account deletion feature,
but I haven't implemented that part yet.
|
|
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.
|
|
I really want to reorganize the directory structure some more, but let's
start with the easy things.
|
|
Not particularly useful, but I always enjoy removing dependencies.
|
|
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.
|
|
|
|
|
|
|
|
With a better listing, submissions form, moderation interface and
voting.
|
|
So we have a little bit more documentation on SQLBin's schema page:
https://sqlbin.vndb.org/schema
|
|
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)
|
|
|
|
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.
|
|
|
|
|
|
|
|
Unfinished, primarily for testing.
https://vndb.org/t20399.36
|
|
This is IMO pretty user-hostile, but apparently there are people who
care about preventing email address enumeration. Whatever.
|
|
https://vndb.org/t950.1630
(totally untested commit, but what could possibly go wrong with such a
simple addition?)
|
|
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.
|
|
|
|
Which makes testing features on the beta a lot easier.
|
|
|
|
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.
|
|
This completes the form, but I rushed it a bit so there's bound to be
some issues left.
|
|
|
|
|
|
I'm not sold on the validity API at all.
|
|
|
|
As discussed in https://vndb.org/t20453
|
|
As suggested by https://vndb.org/t950.1532
|
|
Multiselection thingy was easier than I expected, but the UI doesn't
feel quite right somehow. :/
|
|
in dropdown selector
|
|
tweaking
|
|
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.
|
|
|
|
|
|
|
|
So that there aren't any columns in need of quoting anymore.
|
|
Multiple output files from a single target has always been a weak point
of makefiles.
|
|
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.
|
|
Couldn't get fragment identifiers to work satisfyingly, so ended up
going back to old-fashioned CSS background-position. Oh well.
|
|
Suggested in https://vndb.org/t950.1524
|
|
|