Commit Graph

582 Commits

Author SHA1 Message Date
Azareal
9fd88bd6bc verify Site.URL on start-up 2020-08-13 09:46:10 +10:00
Azareal
fbed07a8b4 add m4a file extension 2020-08-12 18:24:41 +10:00
Azareal
e9819389af cover avatars with AvatarResBase config setting 2020-07-31 22:45:20 +10:00
Azareal
4606a49886 add tgz file extension 2020-07-31 15:58:17 +10:00
Azareal
4680aef783 set RefNoRef to true when using an external domain for StaticResBase 2020-07-31 15:53:33 +10:00
Azareal
f502bf4f53 subresource integrity 2020-07-31 15:33:29 +10:00
Azareal
26ad61057a cover dynamically loaded static resources
cover default noavatars
2020-07-31 09:40:14 +10:00
Azareal
43d72e6f3b wip allow for more cdns
add res template function
add ExtraCSPOrigins config setting
add StaticResBase config setting
skip flush directives
2020-07-30 18:10:29 +10:00
Azareal
ed64b8f29b eliminate allocs for getting static resources
optimise two char emoticons
add 30 parser tests
2020-07-26 14:36:40 +10:00
Azareal
be609b47ce new modtools ux
- don't allow users to select things they shouldn't be able to
- hide mod options the user doesn't have access to
- highlight options which can be selected
- stop counting topics twice when they're clicked on multiple times

fix modtools not opening in some cases
fix command orders in batch files
fix global.js's getExt()
reduce boilerplate
2020-07-19 13:26:56 +10:00
Azareal
0c230e12ec add WSUser.WriteToPageBytesMulti 2020-07-16 20:51:34 +10:00
Azareal
96b61078c5 hide modtool options we don't have access to on forum and topics pages
use hookgen for route_topic_list_start hook
add route_topic_list_mostviewed_start hook
2020-07-15 18:27:36 +10:00
Azareal
32bd1a5e28 let admins reset default emojis 2020-07-15 17:05:06 +10:00
Azareal
5bfc5e3e40 unit tests for profile comment visibility 2020-07-15 16:59:47 +10:00
Azareal
b1af963916 Add per-user profile comment visibility settings.
Honor user blocks in ProfileReplyEditSubmit.
Reduce boilerplate.

Update account_privacy_profile_comments phrase.
Add account_privacy_profile_comments_public phrase.
Add account_privacy_profile_comments_registered phrase.
Add account_privacy_profile_comments_self phrase.
Add account_privacy_enable_embeds phrase.

Add profile_comments column to users table.
Add who_can_convo column to users table.

You will need to run the updater / patcher for this commit.
2020-07-15 07:50:29 +10:00
Azareal
5ac7739648 Config.NoEmbed should override user preferences. 2020-06-29 21:40:52 +10:00
Azareal
c4f2f0df90 support youtu.be urls
add noscript tags for video embeds
support youtube timestamps
validate youtube video parameters

add more parser tests
2020-06-25 17:46:09 +10:00
Azareal
7f1cd665ca fix csps for embeds being reset by next post 2020-06-25 12:36:06 +10:00
Azareal
572ff8e073 token based anti-spam for when javascript is disabled
reduce the number of allocs when generating templates
2020-06-19 16:38:32 +10:00
Azareal
195b41cb79 stop suspicious email check breaking optional emails 2020-06-19 14:22:41 +10:00
Azareal
2c220c47df docs for weakpass.json
grammar
add a weakpass literal
2020-06-19 13:03:10 +10:00
Azareal
3efd887b1a cover common mutations of literal definitions
add seven char weak password definitions to take advantage of mutations
avoid majority of the weak password logic for really long passwords
2020-06-18 13:37:05 +10:00
Azareal
08d5e2e0d8 add more weak password definitions
move the weak password logic to it's own file
add another weak password test case and split the test function
2020-06-18 12:39:21 +10:00
Azareal
f0c9544af6 make it easier to define weak password definitions
add tests for weak passwords
make it easier to check values of errors returned from weak password
loosen weak password requirements for long passwords
reduce boilerplate when loading json files
only check for email in passwords when it is longer than two chars
more canonemail tests
2020-06-18 08:03:36 +10:00
Azareal
0254687d5b oh 2020-06-16 13:25:38 +10:00
Azareal
bb0f6be91c canonalize emails properly
shorten var names
2020-06-16 12:07:21 +10:00
Azareal
304c246cb2 security: stop exempting video sites in frame-src on pages which don't have video embeds
perf: reduce allocs in action posts
perf: avoid allocing a map and slice for single reply posts when it is liked and the post also has an attachment.
perf: use hookgen for topic_reply_row_assign hook.
perf: stop unnecessarily indirecting r in topic_reply_row_assign hook.
perf: try optimising reqUserList logic in Topic.Replies()
2020-06-09 12:04:58 +10:00
Azareal
019efc8c62 add support for niconico videos
tweak tempra simple text attach padding
2020-06-08 22:19:32 +10:00
Azareal
8be3f79abb improve text file attachment blocks 2020-06-08 21:13:19 +10:00
Azareal
a8702b617f initial AText 2020-06-08 17:04:47 +10:00
Azareal
8ef9dc8353 strip bbcode tags from ogdesc meta blocks for topics
add topic_ogdesc_assign hook
initialise hooks after filling slices in bbcode init
hoist poll input checks out of inner loops in CreateTopicSubmit
shorten variable names and reduce boilerplate
2020-06-08 12:18:17 +10:00
Azareal
07d478179d implement HooksNoRet and HooksSkip
use hookgen for route_forum_list_start
use hookgen for forums_frow_assign
change forums_frow_assign to a noret hook
save bytes and reduce boilerplate
2020-05-26 17:53:56 +10:00
Azareal
67772f2f9a avoid double indirect for header in simple_forum_check_pre_perms hook
avoid double indirect for header in forum_check_pre_perms hook
use hookgen for forum_check_pre_perms hook
2020-05-26 11:46:02 +10:00
Azareal
13552ee662 meta hook api
add route_topic_list_mostviewed_start hook
shorten some extend.go var names
2020-05-24 17:22:00 +10:00
Azareal
6746c9c91b add audio player
add wav, oga, ogv, ogx file extensions
2020-05-05 18:10:19 +10:00
Azareal
365b84c81b allow uploads for apng and ogg.
add missing var
2020-05-01 07:32:34 +10:00
Azareal
c32498d543 use a video player for uploaded videos
optimise the parser
2020-04-30 16:28:01 +10:00
Azareal
b915131ab4 avoid writer indirects in templates 2020-04-30 13:04:52 +10:00
Azareal
ab9dc20c3c optimise away the array on single phrase
use sync.Pool to optimise CompressBytesGzip()
2020-04-29 10:26:15 +10:00
Azareal
a7773d0ca2 optimise bunit 2020-04-29 09:49:26 +10:00
Azareal
5b0fcd91d1 we don't use pFrag in topic replies 2020-04-28 08:23:21 +10:00
Azareal
46a87defee optimise topic pages
optimise profiles
simple nil ptr handling in template boolean expressions
2020-04-27 22:41:55 +10:00
Azareal
01cece2ad6 cache the second page of the topic list too 2020-04-13 16:44:20 +10:00
Azareal
faf215f388 try speeding up static files with brotli
track ref routes for a bit to debug them
hit more bots with MicroNotFound
2020-04-13 13:28:52 +10:00
Azareal
fbc50c9086 eliminate string allocs for HasWidgets
add BuildWidgets3 to avoid string allocs and redundant w.Write calls in templates
2020-04-12 15:37:38 +10:00
Azareal
5fe0c8c95b add BuildWidget2 to avoid allocing as many strings in templates for docks
dynamic load /topics/ page where possible
reduce boilerplate
2020-04-12 15:00:15 +10:00
Azareal
5a9e0c72d3 try to optimise DefaultLikeStore.BulkExists
initial like tests
2020-04-10 11:32:02 +10:00
Azareal
d74471d591 fix createdAt error for reply likes on newer mariadb 2020-04-10 08:44:52 +10:00
Azareal
709b0d5541 save bytes 2020-04-05 13:18:36 +10:00
Azareal
e2293b3495 rudimentary css minification
eliminate carriage returns in scripts
2020-04-03 15:53:15 +10:00
Azareal
4bfb8b0005 missed a spot 2020-04-03 09:06:26 +10:00
Azareal
00a2456376 save bytes in search queries 2020-04-03 09:00:58 +10:00
Azareal
8b059ac877 other mfa store tests
save a few bytes
2020-04-03 08:24:32 +10:00
Azareal
95d3f9ebe1 try to reduce noise in tests
save bytes
2020-04-03 06:25:55 +10:00
Azareal
1fe51768f0 initial mfa tests
save a few bytes
2020-04-03 06:19:42 +10:00
Azareal
e7b2333481 update second scratch slot properly 2020-04-02 21:00:01 +10:00
Azareal
bc16b724c2 avoid loading as many alerts outside of the bounding box 2020-03-31 22:33:40 +10:00
Azareal
48b0b410c9 add a few more parser tests
save bytes in the parser
save allocs in external image embeds in the parser
save alloc bytes in convos
2020-03-28 14:48:42 +10:00
Azareal
d3b2721746 optimise attach exts
optimise PrepResources
2020-03-28 09:10:54 +10:00
Azareal
cd66782129 push content type for opensearch
don't insert a last ip on installation
save bytes and allocs in the parser
add attach parser test cases
more benchmarks
2020-03-28 07:01:44 +10:00
Azareal
b53577a126 fix MicroNotFound
reduce allocs in cdn push
2020-03-27 22:00:29 +10:00
Azareal
3adee57b37 save allocs in router
better logging for bad char in path
router_pre_route hook now returns properly
2020-03-27 16:05:35 +10:00
Azareal
dd5aef22dd fix the order of the status code / header pushes in errors 2020-03-27 13:41:28 +10:00
Azareal
a47a0318a7 increase the number of agents on the ua chart
optimise mfaVerifySession
reduce boilerplate for populating the menu items
shorten ua phrases for semrush and aspiegel
rename account_username_updated phrase to account_name_updated
2020-03-24 12:07:30 +10:00
Azareal
0635627950 minify menu templates
save bytes in init.js
2020-03-23 11:37:35 +10:00
Azareal
a3d6f1c844 minify interpreted templates
save bytes in init.js
2020-03-23 11:18:10 +10:00
Azareal
a668cd296b save bytes in the client templates
rename template file and functions to reduce bandwidth usage
replace x-loggedin with theoretically faster x-mem
remove redundant check in ua loop
move extraData initialisation down to where it's needed
2020-03-23 09:14:08 +10:00
Azareal
ade8f82af7 add python and go user agents.
add new bot class for python, go and curl to reduce resource usage.
don't push canonicals for loggedin users
try to avoid pushing google site verify when it isn't necessary
give ahrefs the semrush treatment
2020-03-22 14:37:45 +10:00
Azareal
f86346ba22 reduce boilerplate in the client template builder
save a few more bytes in client templates
shave down img tags and global.js mini parse
remove comment in topic alt userinfo
2020-03-22 12:37:32 +10:00
Azareal
f074b5578c fix account tmpls breaking due to time elapsed changes 2020-03-22 12:20:13 +10:00
Azareal
75ed0cd5f2 save bytes in client templates 2020-03-22 10:25:10 +10:00
Azareal
22ec566a2c add website datenbank user agent
reduce redundancy and fix sublties in StaticFile()
2020-03-21 17:44:33 +10:00
Azareal
6a7b8fd3ee map msnbot to bing and avoid bytes for ahrefs too 2020-03-19 07:21:06 +10:00
Azareal
b66a494f1c Revert "Revert "will a pointer make this faster...?""
This reverts commit 501bcc2425.
2020-03-18 19:21:34 +10:00
Azareal
501bcc2425 Revert "will a pointer make this faster...?"
This reverts commit 8e414486b8.
2020-03-15 21:34:57 +10:00
Azareal
8e414486b8 will a pointer make this faster...? 2020-03-15 17:06:44 +10:00
Azareal
8d19048c0d reduce bytes used on semrush 2020-03-14 12:09:18 +10:00
Azareal
372508bf98 fix poll results on ajax topic and eliminate unnecessary allocs for resources that aren't used 2020-03-13 12:56:23 +10:00
Azareal
aa32bd335c try to avoid as many upfront gzip allocs to avoid wasting resources when they're not needed
avoid gzip for guests on routeAPI
2020-03-12 16:52:26 +10:00
Azareal
17c8f7604a rename avatar to img to save a few bytes in alerts 2020-03-12 13:29:19 +10:00
Azareal
61688a0c6d improve efficiency for small static files 2020-03-12 13:00:04 +10:00
Azareal
30b68945b4 guarantee more space for alerts 2020-03-12 11:08:56 +10:00
Azareal
d43bffdec5 experiment with ajax load for topic
track route perf for BadRoute
2020-03-11 13:26:33 +10:00
Azareal
aa303dc14d use empty string instead of 0 for pruned ips
eliminate a WriteRune call in BuildAlertSb
2020-03-09 17:11:58 +10:00
Azareal
28f210371e try to optimise routeAPI 2020-03-09 15:16:44 +10:00
Azareal
b04d77d7b6 optimise topic lists by caching common qcounts for getList stmts
recalc forum topic counts
reduce thaw period to 3
cache top 8 forums instead of 5
optimise GetListByForum with zero topics
add Each method to ForumStore
2020-03-09 13:51:44 +10:00
Azareal
5007ddcb1e fix tests 2020-03-08 18:10:56 +10:00
Azareal
f5c9a34fdd simple top forum topiclist caching
reduce thaw period to 4
fix the _ ua bug
try using a hard period for routeAPI to avoid unneccessary churn for a return string that is unlikely to change
2020-03-08 18:04:37 +10:00
Azareal
7d2be466b3 optimise ua tracking
reduce number of bytes used when we don't know the lang
add more spammy domain strings
2020-03-08 14:15:27 +10:00
Azareal
f3bdfffbed avoid allocs for guest alert etags
use phrase file modtime instead of instance start time for routeAPIPhrases to avoid cache churn
2020-03-07 12:59:06 +10:00
Azareal
83a2659b1c this too x.x 2020-03-07 07:55:26 +10:00
Azareal
133c240350 experiment with range header in StaticFile
optimise StaticFile with StrLength
add things i forgot yesterday
2020-03-07 07:52:58 +10:00
Azareal
8f21d34964 experiment with bce in plist 2020-03-05 14:43:40 +10:00
Azareal
c31ca03a0d use string builder in buildFlexiWhere
add string builder growth hints
track favicon perf
2020-03-05 09:56:45 +10:00
Azareal
28daeee702 use string builder for alert api 2020-03-04 14:31:11 +10:00
Azareal
24107aaef1 initial reduce pointer derefs and improve bce in templates 2020-03-03 23:02:46 +10:00
Azareal
2330b5bfeb optimise topic list orderby
filter out forums with no topics from search queries
update go version in go.mod
2020-03-03 14:25:18 +10:00
Azareal
7c3c8dcae0 unify single forums in topic lists and forum pages with GetListByForum
add GetListByForum method
remove forums with topic counts of zero from filter lists
avoid locking whenever possible in route view counter
2020-03-01 16:22:43 +10:00
Azareal
b1c9e0d11c swap TopicCountInForums's implementation out for a saner one...
clean up repetition in route legends
2020-02-29 17:34:38 +10:00
Azareal
ae8c27fc2d remove redundant topiccount query in topiclist slow path 2020-02-29 15:38:30 +10:00