Age | Commit message (Collapse) | Author | Files | Lines |
|
Otherwise it'd send out a lot of "entry has been deleted" notifications.
>.>
|
|
Conflicts:
lib/VNDB/Handler/Discussions.pm
|
|
|
|
I'm surprised I haven't been able to find a combination of filters that
would generate an SQL query that would run more than 300ms or so.
PostgreSQL is amazing!
|
|
This caused the search to break when no language filters were set.
|
|
The original language is the language of the first release of the VN,
and is cached in vn.c_olang. (Geez, the vn table has more caching
columns than actual information >.>)
|
|
IE7 still doesn't work, however. Not going to fix it either.
|
|
Because the site never looked good in IE7, and the new filter system
doesn't work *at all*. (Doesn't work correctly on IE8 either, but I'll
try to fix that)
|
|
Another one of those '' == 0 JS logic errors. Gotta be careful with
that.
|
|
|
|
Also requested several times before.
|
|
Has been requested quite often, now finally implemented.
|
|
|
|
This looks better (at least, when there aren't too many of those
selection fields present, otherwise it looks chaotic, like on the
release filters -> general...) and it works faster/more intuitive.
|
|
Had to fix some bugs here and there and add some new functionality to
the abstractions at some places, but it appears to be working now. There
are still a few TODOs left, I'll get to those in a bit.
|
|
And rewrote the expand/collapse JS/CSS code so that the difference
between expanded and collapsed view is merely the class of the
containing table. This way the JS code doesn't have to pass through the
table rows and is thus noticeably faster for larger tables (i.e. /p65).
|
|
Unknown/incorrect tags should be outputted as-is, as was the case with
the previous implementation.
Also cleaned up the id and exid if statement to be slightly shorter.
|
|
It does not use split() anymore, the input string is parsed in a single
pass using a global regex. It's now a lot faster on larger input. The
page generation time of /t937 went back from ~350ms to ~55ms (on the
beta, the production server is slower).
Also made several tiny improvements while I was at it:
- multiple successive newlines aren't removed within [code]
- truncating a message with $maxlength also removes trailing
spaces and interpunction
- multiple successive spaces are removed outside of [code] (and thus
don't count towards the length of the message)
The function should be mostly equivalent in regards to all other things,
ignoring a few minor border cases that weren't documented in the first
place. The URL regex (and the idea of a global regex) came from bpaste:
http://g.blicky.net/bpaste.git/commit/?id=ac7b16d0ec0f195d00a0a79698f67c3010e8cf7d
|
|
The release filters are now pretty much complete. Save, perhaps, for
some improved styling and grouping in the filter selector; but I'm too
lazy for that at the moment.
|
|
Surprisingly enough, the SQL queries are still quite fast even when
matching on the animation columns.
And thanks to the new filter system, adding this filter was incredibly
easy.
|
|
Primary reason for this change is because Algorithm::Diff::Fast isn't
all that fast for character-level diffs. :-/
|
|
This greatly reduces the size of the Javascript file. The compressed
size has been reduced with about 9kB, and is now a total of 14kB for
en.js. A nice property of this is that more translations can be added
without increasing the JS size.
While I was at it, I made jsgen.pl also replace mt() function calls in
cases where an exact TL string was requested without any additional
arguments and/or formatting codes. This helped reduce the compressed
size by about 1kB.
My aim is to keep *all* the JS code of VNDB smaller than the jQuery core
library, as a general "fuck you" towards users of large and bloated JS
libraries. We must keep the VNDB page loading times lower than that of
other sites, after all!
|
|
Rather than trying to figure out what to update in the Perl code,
duplicating the logic that's already present in the Makefile.
This is only enabled when 'regen_static' is set to true in
data/config.pl.
|
|
Apparently the trick didn't work, and for some reason I only noticed
that now.
|
|
This effectively reverts 799c9e44b1a1a7776609273733f67887a74e33bf.
|
|
fil_parse() now checks for proper formatting of the string and ignores
key/value pairs that are not the list of allowed keys. This makes it
impossible to provide extra, unintended, arguments to dbReleaseGet(),
such as 'results'.
|
|
Doesn't look very nice; but serves its purpose.
|
|
|
|
It seems a comma has to be escaped in query string values. A ~ doesn't
and thus makes the URIs significantly shorter.
|
|
There's no validation of the filter string yet, and somehow I don't feel
like adding that; it's a lot of code and there's nothing to protect -
the values are inserted using parameters into a SELECT query, the worst
thing that could happen is the user receiving a 500.
Also, I've started using the perl '//=' operator, which was added in
5.10. This removes support for older perls.
|
|
This isn't entirely functional yet, the server side will need to be
rewritten as well. And after that new filters should be added and this
system should also be used for VN/producer search.
script.js is getting quite large with all those new translation strings,
it may be an idea to generate a separate .js file for each language and
only load the one being used.
I won't have a valid reason to feel bored anytime soon, at least...
|
|
According to my HTTP logs, google searches are commonly used by spammers
to find threads to spam. Not having the discussion board indexed also
removes the reason for spammers to spam in the first place.
Unfortunately, this is a long-term change; search engines don't update
their index that fast. :-(
|
|
plpgsql is available by default in PostgreSQL 9.0, so there's no need
for this statement anymore.
|
|
This makes deleting user accounts less error prone.
It also seems I forgot to git add update_2.14.sql in an earlier commit,
sorry about that.
|
|
This also gets rid of three perl warnings.
|
|
This is somewhat eaiser to read and maintain
|
|
This effectively removes compatibility with all PostgreSQL versions
below 9.0.
The use of the WHEN clause has two major advantages:
1. Performance: Trigger functions aren't executed when they don't need to.
2. Easier and more general trigger functions; as some of the logic has
been placed in the trigger definitions now.
|
|
Back from 180s to ~5 or ~6 seconds. It used to be quite fast on
PostgreSQL 8.4, but somehow the planner failed to generate a proper
execution plan for that query after the upgrade. This query is fast 9.0.
|
|
|
|
|
|
TODO: add links to these feeds from the site
|
|
|
|
The official flag of untouched relations wasn't properly copied from the
old revision.
|
|
I added this clause to slightly speed up the SQL query at producer
pages, but it turns out to slow down release search queries by a factor
100.
|
|
|
|
This is a very old bug. Never fixed it before because I couldn't think
of a clean/easy solution and it wasn't important to waste my time on.
|
|
It's an awesome feature now. :-)
|
|
A nice expanded view. It also happens to be faster than the old view in
terms of SQL queries. (In most cases at least)
Can be improved a little more by:
- Adding an 'expand/collapse' feature to list only the VNs
- Adding a column indicating the role of the producer (dev/pub)
|
|
Algorithm::Diff::Fast can handle perl encoded UTF-8 perfectly fine, so
the encode and decode functions aren't necessary anymore.
|
|
This module is cleaner, faster and has less dependencies.
(didn't exist yet at the time I first implemented the revision diffs)
|