Commit Graph

551 Commits

Author SHA1 Message Date
Azareal
5009a8b04c Optimise away some more bits we don't need for guests and members. 2018-11-27 17:40:13 +10:00
Azareal
50fef78078 Split the transpiled topic alt route into a guest part and a member part for extra speed.
Fixed a bug in the template fragment coalescer.
Added the loadTemplate function to help reduce the amount of duplicated code in the template generator.
Added a couple of helper methods to CContext to reduce the amount of possibly error prone boilerplate.
2018-11-26 15:08:10 +10:00
Azareal
826330035f Fixed text flowing out of the boxes on the forums page on Nox. 2018-11-23 18:58:34 +10:00
Azareal
d6b153baf4 Fixed a bug where you couldn't create topics from the forum pages. 2018-11-23 18:31:40 +10:00
Azareal
3079080acf Refactor these shell scripts.
Bumped up the version of MariaDB for Travis.
2018-11-22 18:50:53 +10:00
Azareal
45465ef210 Gosora should build on Linux again, for some reason, it needs gcc though, must be one of the dependencies. 2018-11-22 18:08:41 +10:00
Azareal
52c8be4173 Variables which are computed multiple times in templates should only be computed once now.
Enabled the Watchdog Goroutine.
Moved a couple of parser tests into their own file.
Eliminated the hard-coded URLs in TestParser()
Refactored the alert system so that a specific actor is only loaded once rather than once for each alert. This isn't a problem in practice due to the user cache, but it might be on high traffic sites.
Don't run HandleServerSync() on single server setups.
Don't load the user in GetTopicUser(), if the topic creator is the current user.
Fixed a bug in the template generator where endloop nodes were being pushed instead of endif ones.
2018-11-22 17:21:43 +10:00
Azareal
87b3f9107d Up the default cache capacity. 2018-11-22 15:36:11 +10:00
Azareal
e67009d4e3 Move ShowAttachment into it's own file. 2018-11-20 14:07:36 +10:00
Azareal
352a262866 Only cache public attachments in the browser and CDNs.
The browser might overrule it anyway, if it's really obvious that it should be cached.
This is mainly so Cloudflare, etc. don't serve sensitive documents to guests.
2018-11-20 14:00:32 +10:00
Azareal
1aac6f1268 Greatly reduced the number of w.Write calls in the generated templates.
The topic list should only be rebuilt for a short window after something related to it changes on single server setups.
Swapped out the RebuildGroupPermissions call in UpdatePerms with a more general and versable Groups.Reload call.
The template generator now use log instead of fmt for writing debug logs.
2018-11-20 09:06:15 +10:00
Azareal
f508ef9898 Moved CContext and some related structs into their own file. 2018-11-18 19:28:26 +10:00
Azareal
5a459ba780 Have a buffer for the fragments too, so we can add an optimisation pass. 2018-11-18 17:14:18 +10:00
Azareal
21b2c54166 Better template debugging. 2018-11-18 15:43:10 +10:00
Azareal
d99fd01ed9 Rewrote the template generator to make it more flexible and easier to debug.
The template generator now has better support for pointers to primitives.
Tweaked some CSS.
2018-11-18 15:28:27 +10:00
Azareal
17f85ceccf The time it took for the route to be processed is shown in the footer in the Nox Theme for admins now
Don't waste queries on groups without any users for the topic list.
Bypass the GzipResponseWriter in RunThemeTemplate, so we get indirected through fewer layers of Write calls.
Added an experimental flag for disabling fsnotify.
Refactored the topic benchmarks to make them a little more flexible.
Refactored a couple of benchmarks to reduce the amount of boilerplate.
Fixed a bug in the forum list for Nox where topic titles broke onto multiple lines.
Refactored the template transpiler to reduce the amount of boilerplate for generating template functions.
2018-11-17 12:36:02 +10:00
Azareal
8e997048e3 Use MicroAvatar instead of Avatar where possible to reduce the amount of time spent processing images on the client.
Removed the site suffix from the default noavatar URL to increase the amount of inter-site caching.
2018-11-15 11:01:26 +10:00
Azareal
4759ec9c4c The settings should be validated properly now when they're updated.
Added more features to RouteError and RouteErrorImpl to help in suppressing sensitive information.
Refactored the setting update logic, so the settings are reloaded all at once rather than updated individually.
Renamed the router variables in the generated router to r to reduce the number of characters we have to type there.
Renamed some of the r variables in the generated router to req for consistency sake.
2018-11-13 16:51:34 +10:00
Azareal
4040417320 Refactored the route declarations. 2018-11-13 14:43:05 +10:00
Azareal
2049948b0f Fixed a bug where the topic middle suffixes weren't showing up on the forum pages.
Added a NoHeader() I forgot.
2018-11-12 19:38:46 +10:00
Azareal
9f273a99f5 Trying to reduce the amount of UserCheck() boilerplate in the routes.
Reduced the amount of boilerplate in routes with renderTemplate()
Reduced the amount of boilerplate in routes with ParseSEOURL()
Removed some dated commented bits of code.
Used StashConfig in a few more places in the benchmarks to reduce the amount of boilerplate.

Renamed the pre_render_forum_list hook to pre_render_forums.
Renamed the pre_render_topic_list hook to pre_render_topics.
Renamed a few benchmark variables to simplify the code.
2018-11-12 19:23:36 +10:00
Azareal
83dc26aa43 Fixed the JS templates. 2018-11-01 16:51:04 +10:00
Azareal
76cfcb509b Moved the phrase logic to the phrases package.
Removed some initialisation boilerplate from the test code.
De-duplicated some of the common portions of the benchmarks.
Added miscinit to reduce the amount of initialisation boilerplate in the tests and to better catch initialisation errors.
Added a profile benchmark.
2018-11-01 16:43:56 +10:00
Azareal
f5a0e3386b Action posts can now be localised.
Tweaked the updating instructions.
2018-10-27 14:55:53 +10:00
Azareal
ffe06afb1b No point in running tests for Go 1.10 now. 2018-10-27 14:19:18 +10:00
Azareal
992115c22e Fixed the path to install for tests. 2018-10-27 14:16:34 +10:00
Azareal
5ab20e0adf Reduce the number of go gets and fix Travis. 2018-10-27 14:12:13 +10:00
Azareal
a278170766 Fixed the patcher. 2018-10-27 13:55:02 +10:00
Azareal
bf851bd9fc We now use Go 1.11 modules. This should help with build times, deployment and development, although it does mean that the minimum requirement for Gosora has been bumped up from Go 1.10 to Go 1.11
Added support for dyntmpl to the template system.
The Account Dashboard now sort of uses dyntmpl, more work needed here.
Renamed the pre_render_view_topic hook to pre_render_topic.
Added the GetCurrentLangPack() function.
Added the alerts_no_new_alerts phrase.
Added the account_level_list phrase.

Refactored the route rename logic in the patcher to cut down on the amount of boilerplate.
Added more route renames to the patcher. You will need to run the patcher / updater in this commit.
2018-10-27 13:40:36 +10:00
Azareal
35b1613005 Make the level bars in the profiles look less ugly. 2018-10-24 22:54:07 +10:00
Azareal
876ae4e245 Refactored the plugin system to use a hook table. This should help to reduce the probability of data races and strange bugs, as-well as helping to abstract certain details, so future changes are less likely to break things.
Fixed the missing background for the create topic non-JS page in Nox.
The non-JS create topic page now has a localised title.
2018-10-21 23:54:32 +10:00
Azareal
218070fceb Added the DisableJSAntispam config.json setting. 2018-10-16 20:02:51 +10:00
Azareal
c15f02396a Fixed a bug where a user's tag can get desynced with their group. 2018-10-14 16:16:42 +10:00
Azareal
34b8d8dc3c Fixed a bug where group permissions didn't update until Gosora was restarted.
The profile titles can now be localised.
The profile owner tag can now be localised.

Added some changes I forgot to push in the previous commit.
2018-10-14 16:09:25 +10:00
Azareal
aabfbe3622 Highlight the currently active zone in the menu for Nox.
Replaced the Level Progress widget in the Account Dashboard with a similar progressbar to the one in the level progress page.
2018-10-14 15:08:44 +10:00
Azareal
c451358156 Improved the level UI on the Account Dashboard.
The new level UI shouldn't be broken on the other themes now.
2018-10-11 19:50:48 +10:00
Azareal
96a5a9e872 Fixed a bug where phrases would sometimes get entitised.
Fixed a couple of spots which didn't have phrases.
Removed inline CSS in a couple of places and added a missing tooltip.

Added the account_username_save phrase.
2018-10-11 07:29:38 +10:00
Azareal
05ab585d41 Added the level list page.
Levels can now be localised individually.
Added the level template function.
Fixed the padding on alerts without avatars.
The level data is now in it's own block in the profiles.
Removed three level phrases and replaced them with the new Level API.
2018-10-10 17:33:51 +10:00
Azareal
de78268b20 Added level progress indicators, still WIP.
Fixed a bug where GetLevelScore wouldn't work and simplified it slightly.
Removed the account_dash_next_level phrase.
Added the account_dash_level phrase.
2018-10-08 15:34:25 +10:00
Azareal
4d75c543d2 Refactored most of the string-string tests to reduce the amount of boilerplate. 2018-10-08 14:38:51 +10:00
Azareal
f721780c0d Refactored some of the reply tests.
Added some topic post count tests.
Added a very simple action post test.

Changed the signature of *Topic.CreateActionReply to take an integer rather than a *User.
2018-10-08 14:15:06 +10:00
Azareal
2acf4e1568 Added simple tests for the modlogs and adminlogs. 2018-10-08 12:51:59 +10:00
Azareal
650a8a9be1 Added tests for the topic methods and topic creation.
Added a few more cases to TestWordCount.
2018-10-07 20:46:49 +10:00
Azareal
ad61b5d8b2 MySQL being stupid x.x - #3 2018-10-07 11:33:03 +10:00
Azareal
b6220d03d3 Don't forget to commit the rebuilt queries - #3 2018-10-07 11:24:53 +10:00
Azareal
ebbfa7d247 Bumped up the version of MariaDB on Travis.
Replaced a couple of expects with expectNilErrs so we don't lose the original errors messages in those tests.
Fixed a couple more MySQL default value issues.
2018-10-07 00:02:52 +10:00
Azareal
644bba36e3 Localised more alert strings.
Renamed most of the alert phrases.
Fixes #3 - Default value issue with MySQL.
Fixed a bug where pages would't load with HTTPS disabled.
2018-10-06 23:14:11 +10:00
Azareal
436c53f653 The user box on Nox should be highlighted now when there's a new alert.
Removed some notes as they're not really needed now that I've refactored the alert builder.
2018-10-06 16:35:53 +10:00
Azareal
0b44d69efc The alert list can be localised now.
Removed a bit more boilerplate in the unit tests.
Fixed a bug where the alert list wouldn't load.
2018-10-05 17:41:28 +10:00
Azareal
be66ac4c8d Added tests for the word counter. 2018-10-04 19:01:07 +10:00