GuestNo new alerts

Patch 22 - 26

- Updates1509
I haven't made one of these for a while, as I've been fairly busy, but I'll list out what has changed below:

Generally speaking, I fixed a number of things, reduced a lot of internal duplication and refactored things to make the software easier to maintain.

I've also greatly improved the debug page in a number of ways, including but not limited to, adding sections for database and disk usage and flushing the page out to the browser in chunks.

Patch 22:

Less inline CSS.

Reduced resource use in some areas like wol rebuild and phrase pointer de-duplication.

bunit template function to avoid boilerplate when formatting file size units.

Small reply cache.

Preloading a few users and topics on start-up.

Hide spammy referrers by default.

Undocumented route exclusion flag for analytics.

Active memory can be filtered by type (heap / stack).

Far more robust parser which handles ipv6 addresses, weird yt video alt domains and a number of little things that add up.

Many many new test cases.

Experimental support for per-forum templates,

Add ReplyCache, ReplyCacheCapacity, ExtraTmpls config settings.

Patch 23:

Sneak in a secret gallery, it doesn't work properly yet however.

Recognise AppleBot UA.

More refactoring to abstract out new interfaces and a number of bug fixes.

Alerts are fired in a background goroutine now to avoid blocking the request when creating a post.

Many, many more phrases to assist in localisation.

Rewrote the pagination algorithm.

Highlight the current page on Nox.

Prune login and registration logs after a year has passed by default.

Undocumented filter exclusions for UA pane as-well.

Optimise some very common things like building slugs.

Add UploadAvatars permission.

Admins can now change and revoke another user's avatar.

Less inline CSS.

Add currently unused ConvoKey config setting.

Use client templates for poll inputs.

Log more things during start-up.

Add asminozhka's compilation speed contribution.

Begin reorganising emoji shortcode mappings.

Add simple letter favicon.

Referrer policy to improve privacy.

Add RefNoTrack and RefNoRef config settings.

Basic Conversations Support.

Patch 24:

More functional conversations and accelerated conversation pages.

Fixed some bugs and issues.

Use constant time comparisons for sessions in forms for security reasons.

Basic Group Promotions.

Patch 25:

Refactor shell files.

Reduce duplication, add more phrases and fix more bugs.

Add UseConvos permission.

Pave the way for rel=ugc support.

Let users delete their own posts.

Add posts as a possible criteria for group promotions.

Patch 26:

Improve various bits of UI.

Add more phrases to aid in localisation.

Experiment with moving plugin files to /extend/

lang template variable now accepts dynamic values.

Try to speed up template compilation by not building the same parse trees multiple times unnecessarily.

Transpiled templates now accept more integer types.

Basic user blocking.

There is a lot here that I may have missed, in which case you might want to look-up the commits after May 9th up-to October 18th to see everything that has happened. I'll try to be more regular with posts again.