Commit Graph

203 Commits

Author SHA1 Message Date
Azareal
266f17c23d Revamped the Nox Account Manager and Control Panel Menus.
The topics list template is now generated by loggedin.
Replaced some uses of {{if ne .CurrentUser.ID 0}} with {{if .CurrentUser.Loggedin}}
Fixed a bug in the profiles where the comment creation form was shown to guests.
Added the profile_comments_form_guest phrase.
2018-11-29 07:46:53 +10:00
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
d6b153baf4 Fixed a bug where you couldn't create topics from the forum pages. 2018-11-23 18:31:40 +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
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
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
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
f6ab754743 Localised the group ranks in the group editor. 2018-10-02 20:00:52 +10:00
Azareal
e9a9441e93 Changed the topic list filter label text when switching between sort orders.
You can now close the topic list filter drop-down.
2018-09-27 19:41:35 +10:00
Azareal
2e5256dd73 The topic list sort filters should be localised too. 2018-09-26 18:10:46 +10:00
Azareal
859ed2c730 Finished the Most Viewed Page for Nox.
Added three phrases for topic_list.
Moved the topic_middle_inside suffix phrases from the CSS files into the template proper.
Removed a newline in topic_middle_inside and used flex instead.
The link_select drop-down is now only visible when someone clicks on the link.
Tweaked the .topic_forum line height for Cosora.
Tweaked the .topic_view_count font size for Cosora.
2018-09-26 17:46:30 +10:00
Azareal
efbb59f085 Fixed a bug where admins weren't able to reorder menu items. 2018-09-26 16:19:07 +10:00
Azareal
a4117d1cf8 Move the inline filter opt styles into Nox's main.css 2018-09-25 19:24:22 +10:00
Azareal
80657813da Made the filter opt visible again and started work on the filter drop-down menu. 2018-09-25 19:24:22 +10:00
Azareal
28dedf987b Tweak the header size and hide these bits momentarily so we can merge back into master. 2018-09-24 17:49:19 +10:00
Azareal
cb9f067ff4 Maybe this? Hm.
I also tweaked the padding on the forum quick topic forms.
2018-09-21 14:23:25 +10:00
Azareal
64caed61ee Merge branch 'master' into tlistsort 2018-09-20 22:44:59 +10:00
Azareal
06f20c3e1f Linkified the username in the userbox in Nox.
We don't need two profile menu items.
Removed some excessive padding from the Nox profiles.
2018-09-20 22:39:03 +10:00
Azareal
a1403d495d Let's see how we can best do this o-o 2018-09-20 18:56:50 +10:00
Azareal
b718dcdc17 Added a missing form background for the User Editor in Nox. 2018-09-08 12:17:01 +10:00
Azareal
ab6a44cf53 Revamped Cosora's Control Panel Menu.
Fixed a bunch of forms which didn't have backgrounds in Nox's Control Panel.
Fixed a bunch of double background buttons in Nox's Control Panel.
You can no longer resize textareas horizontally on Nox.
Fixed the profile comment input width on Nox.
Fixed buttons appearing when they shouldn't in Nox's Control Panel.
Improved the permissions styling in Nox's Control Panel.
Fixed the styling on action posts for Nox.
Fixed the padding on the powered by message on Nox.
Added styling for .account_soon and .dash_security, I'm not quite happy with it and I might change more things up there.
Tweaked a bit of permissions preset padding on Cosora.
The edit_fields handler now uses CSS classes rather than inline CSS for hiding and showing elements.

Experimented with position: sticky in Cosora.
Experimented with the Control Panel Menu styling on Nox.
2018-09-02 15:43:17 +10:00
Azareal
6ecbc18831 Basic profiles for Nox.
Added the styling for the IP Search Page to Nox.
Moved the bgavatars related styling from Nox's panel.css to main.css

Hide the Extended Notifications Page from the Account Manager as it's a distraction for now.
2018-09-01 18:03:26 +10:00
Azareal
39adc2e606 Per-topic views are now visible in the topic pages for the Nox Theme.
The parent forum of a topic is now visible on the topic pages for the Cosora and Nox Themes.
Added basic styling for polls to the Nox Theme.
Improved the styling for topic title editing in the Nox Theme.
2018-08-30 20:31:21 +10:00
Azareal
465d5c7835 The Topic page is nearly done for Nox, just the buttons and a few little things now.
Fixed the paginator in the Nox Panel.
Eliminated a redundant class="" in the registration logs when the registration is a success.

Part-way through fixing the analytics page header.
2018-08-30 15:53:21 +10:00
Azareal
7b8943517b Upped the compression level for static files.
Experimenting with compressing everything.
Fixed the live things.

Playing around with topic buttons in Nox.
2018-08-21 18:00:35 +10:00
Azareal
bc7982952d Making topics in the Nox Theme mobile friendly. 2018-08-19 16:25:59 +10:00
Azareal
6f5065c854 Almost finished up the buttons on the User Manager for Nox. 2018-08-16 21:16:02 +10:00
Azareal
9e8f455bbb Added resource utilisation data to the Debug Page. 2018-08-16 15:27:26 +10:00
Azareal
f2b210248a Only load Chartist when we actually have a chart on the page. 2018-08-13 22:37:53 +10:00
Azareal
3fc2d6a867 Added the init.js file to make certain bits of JS run sooner than others.
The template_*.js files should get cached now.
The phrase API results might get cached now.
Solved an edge case in the attachment parser where a redirect is triggered on a HTTPS site when the attachment is posted as a HTTP URL.
Fixed runHook in the JS files.
2018-08-13 20:34:00 +10:00
Azareal
317ab8856b Move towards loading the important scripts asynchronously.
Removed the client's reliance on the server's Site.URL setting.
2018-08-13 11:53:16 +10:00
Azareal
a9a1d667c0 Added the /api/me/ API endpoint.
Moved a script block into an API endpoint.
Split the gigantic switch in ServeHTTP into it's own function.
Scripts should load more efficiently now.
2018-08-12 01:53:42 +10:00
Azareal
18c5223143 Pin Docker to 1.10 not the patch version, otherwise things could go horribly wrong.
Added the_form to the Page Editor.
Added a phrase for the Menu Editor title rather than reusing the Menu Manager's one.
Replaced a dotted border I missed in Tempra Simple.
Fixed a floater in the User Manager for Shadow.
Tweaked the form CSS for Nox.
Tweaked panel_submitrow in Nox.

Continued work on the User Manager for Nox.
2018-08-11 22:09:26 +10:00
Azareal
06d6715c47 Many HTML / CSS / Template changes.
Added the grid_stat_head CSS class to Panel Debug.
Added the panel_plugin_meta CSS class to the Plugin Manager.
Added some missing panel_right_button classes to the buttons for the rows in the Plugin Manager.
Added some missing the_form CSS classes for Nox.
Added a missing phrase for an update button in panel_themes_menus_items.
Replaced a legacy float: right; in the User Manager with to_right.
Removed some superfluous legacy inline CSS in the User Manager.
Tweaked the amount of padding for the title in the Account Manager for Nox.
Tweaked the amount of padding for the title in the Control Panel for Nox.
Tweaked the padding for panel_right_button for Nox.
Fixed the UI for the Plugin Manager in Nox.
Tweaked the padding for the grid heads in Panel Debug for Nox.

Began work on a nicer looking User Manager in Nox.
2018-08-10 17:58:25 +10:00
Azareal
01a692ab5b Added the word filter store and moved the word filter routes into the route package.
Added tests for the word filter store.
Added qgen.NewAcc() to reduce the amount of boilerplate needed for creating an accumulator.
Exposed the RecordError method on the accumulator.
Added an Add method to PluginList and removed AddPlugin() in favour of that.

More panel buttons on Nox should be styled now.
Added the panel_update_button_text phrase for future use.

More errors might be caught in the thumbnailer now.
Removed ls from .travis.yml, it was there for debugging Code Climate.
2018-08-04 21:46:36 +10:00
Azareal
50d5be6f32 Moved the plugin manager to the routes package.
Added many, many tests for the plugin system.
Refactored some of the plugin system queries.

Fixed a bug where prepared statements would build up and crash Gosora.
Removed the inline CSS from the plugin rows.
2018-07-29 20:54:12 +10:00
Azareal
9c6af9dd01 Design update. I'm trying to break the commits into more chunks to get a better idea of what's going on
Moved the topic_closed and topic_sticky classes to the topic_row element to make things more flexible.
Tweaked the padding in the account manager for Nox.
Removed some text which is immediately overwritten anyway in mod_floater.

Began work on bulk moderation for Nox.
2018-07-15 15:00:48 +10:00
Azareal
2a5ab2969c Added Caire and pkg/errors as dependencies.
Made the initialisers and the task runner in main.go easier to debug.

Added form_button_row to a few forms.
Bumped up the attachment image size for Cosora.
Hid the formlabels for the setting editor for Cosora to make it cleaner.
Revamped the account manager with the same CSS as in the Control Panel for Nox.
Started adding the_form to more forms.
Removed the account_emails CSS class from the email editor.
Continued tweaking the Control Panel in Nox to make it look nicer.
Tweaked some of the headers in the Nox Theme.
Added the Create Topic and Moderate options to the topic list on the Nox Theme, although the bulk moderation tools aren't available yet.
Tweaked the padding and sticky shades on the topics on the topic list on the Nox Theme.
Closed topics are now somewhat styled on the topic list on the Nox Theme.
Continued work on the topic pages for Nox.

Renamed Admin Approval to Staff Approval in the English Language Pack.
Added more phrases for the Group Manager and Panel Menu in spots I overlooked.

Began work on the dyntmpl template function.
Be sure to run the patcher / update script to get the new setting.
2018-07-13 21:27:58 +10:00
Azareal
0f2503a20c Made it harder to parse the antispam script.
Used Unicode magic to make it harder to parse the antispam trap question.
Added more shady email substrings.
Tweaked the contributing guidelines, no more await allowed... For now.
Might already have Git, note that.
Added the the_form class to the login form, registration form and login mfa form.
Made the titles on the Control Panel Dashboard and Debug page a little softer on Cosora.

Added the quick topic form to Nox.
Made the topic pages somewhat usable on Nox.
2018-07-05 19:54:01 +10:00
Azareal
3043ce083d Basic proxy IP support.
Switched out a couple of <a>s in the Control Panel with <h1>s, we might want to use <h2> here instead.
Added graphs for Nox.
Tweaked header markup for Nox.
Added support for live topic list to Nox.
Added styling for stickies on Nox.
Fixed topic list text overflow on Nox.
2018-07-03 20:01:49 +10:00
Azareal
bf40d61474 Live Topic List should work properly now with replies too, not just new topics.
Tweaked the visuals for the live topic list on Cosora. More to come with this.
Nox Theme is now present on the theme selector, although it's still under construction.

Improved SEO for social media.
Added the topic_list tmpl phrase prefix.
Added the topic_list.changed_topics phrase.
Added a few more PreparseMessage tests.
Session cookies should now be deleted after you logout, not just blanked.
2018-06-30 13:40:50 +10:00
Azareal
7be011a30d Almost finished live topic lists, you can find them at /topics/. You can disable them via config.json
The topic list cache can handle more groups now, but don't go too crazy with groups (e.g. thousands of them).

Make the suspicious request logs more descriptive.
Added the phrases API endpoint.
Split the template phrases up by prefix, more work on this coming up.
Removed #dash_saved and part of #dash_username.
Removed some temporary artifacts from trying to implement FA5 in Nox.
Removed some commented CSS.
Fixed template artifact deletion on Windows.
Tweaked HTTPSRedirect to make it more compact.
Fixed NullUserCache not complying with the expectations for BulkGet.
Swapped out a few RunVhook calls for more appropriate RunVhookNoreturn calls.
Removed a few redundant IsAdmin checks when IsMod would suffice.
Commented out a few pushers.
Desktop notification permission requests are no longer served to guests.
Split topics.html into topics.html and topics_topic.html
RunThemeTemplate should now fallback to interpreted templates properly when the transpiled variants aren't avaialb.e
Changed TopicsRow.CreatedAt from a string to a time.Time
Added SkipTmplPtrMap to CTemplateConfig.
Added SetBuildTags to CTemplateSet.
A bit more data is dumped when something goes wrong while transpiling templates now.
topics_topic, topic_posts, and topic_alt_posts are now transpiled for the client, although not all of them are ready to be served to the client yet.
Client rendered templates now support phrases.
Client rendered templates now support loops.
Fixed loadAlerts in global.js
Refactored some of the template initialisation code to make it less repetitive.
Split topic.html into topic.html and topic_posts.html
Split topic_alt.html into topic_alt.html and topic_alt_posts.html
Added comments for PollCache.
Fixed a data race in the MemoryPollCache.
The writer is now closed properly in WsHubImpl.broadcastMessage.
Fixed a potential deadlock in WsHubImpl.broadcastMessage.
Removed some old commented code in websockets.go

Added the DisableLiveTopicList config setting.
2018-06-24 23:49:29 +10:00