wow! i did some more stuff since my clothes are still in the wash.
4a65065 Fix overly greedy anti-photobucket code
9318ec2 Add photobucket replacement image
Images that were on Photobucket are now replaced with a "🚫 Photobucket Image" placeholder.
b8caeda Update and enhance mobile view
Actually several things:
* Avatars are now limited to 200×* (no more table stretching) via CSS
* A viewport meta tag now exists, which makes mobile about 500% better (not perfect, but very much better)
* Avatars are now enabled in mobile mode, capped to 50×50
You can see a screenshot of it over to the right (click to enlarge)
This also added "image-rendering: pixelated", which is
supposed to make enlarged images use nearest-neighbor but make scaled down images use the resampling stuff that's normally used. In Chrome, this seems to actually make
everything use nearest-neighbor, but, whatever; most stuff here is pixels anyway.
14f8190 Remove old filter tracking code
Before, posts that had some common script crap filtered out of them were logged for later analysis. In reality this never happened and this table took up over
1 GB of data, about
three times as much as actual posts!
877647b Add years to readable durations
Being a 10 year old forum, a lot of "last activity" and "last post" dates were getting into the four-digit range. This makes those show up as "x.y years" if they're over a year long.
0449b82 Shrink downtime window from 5 minutes to 1 minute
Want a fun story? Great; so the automatic backup thing hasn't actually been running since
2015. Yeah, seriously; the PHP binary moved on DreamHost and I just never updated it (and never noticed it was missing

). That's fixed now. But since the code exists in GitHub now, most of the backup process has been turned off; the database is being backed up, and with the removal of the huge table (see above) it should go a lot faster now.
4fdd16c Fix and add thread meta tags
If you ever linked a thread on something like Telegram, you'd probably see something like this:
Needless to say, that's... not quite right.
It turns out that there's code to put in the first post of a thread into the
meta description tag, but the availability of that was checked by
filter_bool(), which... filtered it to a bool, which prints as
1. Oops.
Now it just (properly) checks if it's set.
This also adds a "
link rel='canonical'" tag for threads with the "pid" flag set; mostly to help bots realize that every single ?pid=xxxxxx link isn't a unique URL at all. I think I might have to go with the 301 option and "nofollow" links on the permalinks to really stop that (or just block Baidu)
f50d451 Remove dead code
There's a few files in the codebase that are just plain unreferenced and dead, so those got deleted.
58ea368 Move to utf8mb4 and add php7 mysql compat shim
This was covered before. Emojis! 👍
____________________
(Lv 235 with 200626431 EXP)