Commit Graph

400 Commits

Author SHA1 Message Date
Azareal 6935637867 Cascade delete attachments properly.
Cascade delete replied to topic events for replies properly.
Cascade delete likes on topic posts properly.
Cascade delete replies and their children properly.
Recalculate user stats properly when items are deleted.
Users can now unlike topic opening posts.
Add a recalculator to fix abnormalities across upgrades.
Try fixing a last_ip daily update bug.

Add Existable interface.
Add Delete method to LikeStore.
Add Each, Exists, Create, CountUser, CountMegaUser and CountBigUser methods to ReplyStore.
Add CountUser, CountMegaUser, CountBigUser methods to TopicStore.
Add Each method to UserStore.
Add Add, Delete and DeleteResource methods to SubscriptionStore.
Add Delete, DeleteByParams, DeleteByParamsExtra and AidsByParamsExtra methods to ActivityStream.
Add Exists method to ProfileReplyStore.

Add DropColumn, RenameColumn and ChangeColumn to the database adapters.

Shorten ipaddress column names to ip.
- topics table.
- replies table
- users_replies table.
- polls_votes table.
Add extra column to activity_stream table.
Fix an issue upgrading sites to MariaDB 10.3 from older versions of Gosora. Please report any other issues you find.

You need to run the updater / patcher for this commit.
2020-01-31 17:22:08 +10:00
Azareal e1702687f7 Don't show +1 on your own posts for Nox and Cosora.
Experiment with hiding userinfo for polls.
2020-01-26 13:37:16 +10:00
Azareal 69a2430e5a Add option to delete all of a user's posts.
Add limited dynanicism to langf.
Eliminate a few queries when updating user stats.
Minor clean-up.

Namespace the profile language strings.
2020-01-14 15:07:00 +10:00
Azareal 35ddc89009 Optimise the database layer.
Refactor database adapters.
Experimental last ip cutoff.

More parser test cases.
2020-01-01 07:57:54 +10:00
Azareal 0dede6a329 NoEmbeds privacy and config settings.
Phase out url_prefix and url_name.
Eliminate some boilerplate and allocations while we're at it.
Reduce the number of conditional statements in url validator loops.
Better parsing of Site.URL to handle user error better.

You will have to run the patcher / updater for this commit.
2019-12-08 13:40:56 +10:00
Azareal 0fa9a3fca1 Revamp reglog UI to handle spambots better.
Shorten some reglog phrase names.
Shorten some modlog phrase names.

Add account_privacy phrase.
Tweak account_blocked phrase.
Add account_menu_privacy phrase.
Add account_privacy_head phrase.
Add account_privacy_profile_comments phrase.
Add account_privacy_button phrase.
2019-12-06 09:57:44 +10:00
Azareal 430df1e325 Add blocklist page.
Add account_blocked phrase.
Add account_menu_blocked phrase.
Add account_blocked_head phrase.
Add account_blocked_remove phrase.
Add account_blocked_no_users phrase.
2019-11-12 16:17:46 +10:00
Azareal 1044518e74 Finish up the adminlogs.
Throw an error instead of updating a word filter that doesn't exist.
Track a bit of extra data for word filter updates.

Shorten the prefixes of the adminlog phrases from panel_logs_administration_ to panel_logs_admin_
Add a bunch of new adminlog phrases.
Tweak the word filter phrases.

Add the extra column to the moderation_logs and administration_logs tables.

You need to run the updater / patcher for this commit.
2019-11-10 12:37:53 +10:00
Azareal 7e1372b0b4 Adminlogs: Forum Manager Actions.
Shave off a few bytes in the templates.

Add forum_unknown phrase.
Add panel_logs_administration_action_forum_reorder phrase.
Add panel_logs_administration_action_forum_create phrase.
Add panel_logs_administration_action_forum_delete phrase.
Add panel_logs_administration_action_forum_edit phrase.
2019-11-08 20:08:37 +10:00
Azareal 20984f7ea3 Adminlogs: More user edit logs, groups, and group promotions.
Shorten the group form field names.

Add group_unknown phrase.
Add panel_logs_administration_action_group_create phrase.
Add panel_logs_administration_action_group_edit phrase.
Add panel_logs_administration_action_group_promotion_create phrase.
Add panel_logs_administration_action_group_promotion_delete phrase.
2019-11-08 17:52:30 +10:00
Azareal 5441adb7fc Very incomplete adminlogs. Only user edit so far.
Inline error when there aren't any reglogs, modlogs or adminlogs.
Hide the email on a reglog, if the user didn't insert one.

Add panel_logs_registration_no_logs phrase.
Add panel_logs_moderation_no_logs phrase.
Add panel_logs_administration_action_user_edit phrase.
Add panel_logs_administration_action_unknown phrase.
Add panel_logs_administration_no_logs phrase.
2019-11-06 12:00:44 +10:00
Azareal 8cdb0dd187 Add Show Email button to the User Editor and fix some problems too. 2019-11-05 09:32:25 +10:00
Azareal 09265195bb Fix no item styling in Cosora and add another nbsp. 2019-11-02 15:43:59 +10:00
Azareal 65eadbd4b6 Show an inline error when there aren't any topics instead of a 404.
Use a non-breaking space in the no topics error.
2019-11-02 14:42:24 +10:00
Azareal 00634896ec Link the avatars in the profiles to the avatar images. 2019-10-30 17:14:24 +10:00
Azareal 090174a98f Experiment with <img> instead of backgrounds in userinfo on Nox and Cosora. 2019-10-30 16:29:27 +10:00
Azareal 01d956f9d1 Encode tiffs too.
Update file extension lists.
Update mod floater.
2019-10-30 13:52:04 +10:00
Azareal d2be6b220e Support for optional emails.
Reduce boilerplate and allocations.
Fix the error shown on AccountEditEmailTokenSubmit when there aren't any emails rows.

Add register_account_email_optional phrase.
Add account_email_none phrase.
2019-10-30 08:13:45 +10:00
Azareal 4d9dc76392 Begin work on making the analytics panes somewhat usable when having JavaScript disabled.
Very minor refactoring here and there across the software.
Save some allocations here and there.
2019-10-28 09:13:24 +10:00
Azareal 7b09a3aff5 Changing themes should work without JavaScript now. 2019-10-27 18:58:35 +10:00
Azareal 1189967f2b Add a missing instruction to the installation guide.
Add the /tmp/ folder, currently unused.

Shorten some things.
2019-10-27 09:11:09 +10:00
Azareal bbfd3c51c7 Stop blocked users making profile comments too.
Hide the Send Message option on profiles for blocked users.
Move the profile reply routes to their own file.
Remove a redundant user initialisation.

Shorten things.
2019-10-19 20:33:59 +10:00
Azareal 8720de83d8 Rudimentary user convo blocking.
Simplify some things.

Add create_block title phrase.
Add remove_block title phrase.
Add create_block_msg phrase.
Add remove_block_msg phrase.
Add profile_unblock phrase.

Add the users_blocks table.

You will need to run the updater / patcher for this commit.
2019-10-18 10:35:13 +10:00
Azareal fd1d54c394 Wrestling with tests while pushing random changes. 2019-10-13 20:50:15 +10:00
Azareal df6e268a06 Speed up template compilation by not building the same parse trees multiple times.
Compile panel_debug.
Add the ability to print int8, int16, int32, uint, uint8, uint16, uint32 and uint64 in compiled templates.
Add the ability to pass string nodes to subtemplates in the template compiler.
Fix bunit in the template compiler.

Shorten some things.
2019-10-13 08:49:08 +10:00
Azareal f76af39a11 Finish playing with panel_debug for now.
Eliminate unnecessary indentation in panel_plugins.

Add panel_debug_subhead template.

Add panel_debug_memory_stats_mcachesys phrase.
Add panel_debug_memory_stats_gcsys phrase.
Add panel_debug_memory_stats_othersys phrase.
Add panel_debug_database_post_analytics phrase.
Add panel_debug_database_topic_analytics phrase.
2019-10-11 19:33:01 +10:00
Azareal cc986965fb Almost finished adding phrases to panel debug.
Add the panel_debug_memory_stats_mspaninuse phrase.
Add the panel_debug_memory_stats_mcacheinuse phrase.
Add the panel_debug_memory_stats_mspansys phrase.
Add the panel_debug_database_profile_replies phrase.
Add the panel_debug_database_activity_stream phrase.
Add the panel_debug_database_likes phrase.
Add the panel_debug_database_attachments phrase.
Add the panel_debug_database_polls phrase.
Add the panel_debug_database_login_logs phrase.
Add the panel_debug_database_reg_logs phrase.
Add the panel_debug_database_mod_logs phrase.
Add the panel_debug_database_admin_logs phrase.
Add the panel_debug_database_views phrase.
Add the panel_debug_database_views_agents phrase.
Add the panel_debug_database_views_forums phrase.
Add the panel_debug_database_views_langs phrase.
Add the panel_debug_database_views_referrers phrase.
Add the panel_debug_database_views_systems phrase.
Add the panel_debug_disk_static_files phrase.
Add the panel_debug_disk_attachments phrase.
Add the panel_debug_disk_avatars phrase.
Add the panel_debug_disk_log_files phrase.
Add the panel_debug_disk_backups phrase.
Add the panel_debug_disk_git phrase.
2019-10-11 18:45:09 +10:00
Azareal 65b4fef40e WIP Add more language strings for panel debug.
Shorten more things.
Sneak draft tables in.

Add the profile_block phrase.
Add the panel_debug_memory_stats phrase.
Add the panel_debug_memory_stats_sys phrase.
Add the panel_debug_memory_stats_heapsys phrase.
Add the panel_debug_memory_stats_heapalloc phrase.
Add the panel_debug_memory_stats_heapidle phrase.
Add the panel_debug_memory_stats_heapobjects phrase.
Add the panel_debug_memory_stats_stackinuse phrase.
Add the panel_debug_caches phrase.
Add the panel_debug_caches_topic phrase.
Add the panel_debug_caches_user phrase.
Add the panel_debug_caches_reply phrase.
Add the panel_debug_caches_topic_list phrase.
Add the panel_debug_database phrase.
Add the panel_debug_database_topics phrase.
Add the panel_debug_database_users phrase.
Add the panel_debug_database_replies phrase.
Add the panel_debug_disk phrase.
2019-10-11 10:57:33 +10:00
Azareal 30de658e15 Experiment with rehoming the plugins.
Shorten more things and eliminate unnecessary bytes.
2019-10-11 10:36:08 +10:00
Azareal 84cd10a8c9 Fix a bug where the convos page would 404.
Friendly message when there are no convos.
Fix the convo input css.
Hide elapsed on mobile for Nox.

Added convos_none phrase.
2019-10-08 07:22:33 +10:00
Azareal 3798838ece Update the group promotion UI.
Invert the direction of the query to make promotions a little less exacting.
Make sure admins can't set the from group as the to group in a group promotion.
Shorten a field name in the word filter manager.

Add panel_group_promotions_level_prefix phrase.
Add panel_group_promotions_posts_prefix phrase.
Add panel_group_promotions_delete_button phrase.
2019-10-07 08:54:09 +10:00
Azareal 2e28ae39f3 Add posts as a criteria for group promotions.
Load the posts column when loading users.
Make DefaultUserStore.Reload a wrapper around DefaultUserStore.BypassGet.
Use the OO style query builder more in common/user.go
GroupPromotions is now bound to an interface rather than the concrete type.
Fix some issues in the GroupPromotionStore interface.
Improve error handling for table creation and reduce boilerplate.
Shorten some more things.

Add panel_group_promotions_posts phrase.

You will need to run the patcher / updater for this commit.
2019-10-07 08:20:37 +10:00
Azareal a5f77c376b Users can now delete their own posts.
Merge GlobalPerms and LocalPerms phrase spaces into Perms.
Shorten more things and eliminate boilerplate.
2019-10-06 21:32:00 +10:00
Azareal 45a3065db1 Use json marshal for the group permissions in querygen.
Add an omitempty json tag to the Perms struct.
Take the opportunity to shorten some things.
2019-10-06 15:32:08 +10:00
Azareal 5705252029 Add UseConvos permission.
Use UseConvos permission instead of ban flags in convo perm checks.
Stop users without the UseConvos permission from editing convo replies, although they can still delete them for privacy reasons.

Shorten some things and reduce the amount of boilerplate.
Add a few misc parser test cases.
Fix footer and tweak indentation.
2019-10-06 10:34:09 +10:00
Azareal 85b0522955 Missed a spot.
Push more session parameter shortenings.
Remove some unneccesary indentations.
2019-09-30 20:23:59 +10:00
Azareal 764b9904f1 Tighten validation on group promotion delete.
Shorten some variable names.
Reduce the amount of duplication in the panel group routes.
Rename isJs to js here and there.
Localise group promotions.

Phrases:

Rename create_topic_create_topic_button to create_topic_create_button
Rename quick_topic.create_topic_button to quick_topic.create_button
Rename quick_topic.create_topic_button_short to quick_topic.create_button_short
Rename panel_groups_create_create_group_button to panel_groups_create_button
Rename panel_word_filters_create_create_word_filter_button to panel_word_filters_create_button
Rename panel_pages_create_submit_button to panel_pages_create_button
Add panel_group_promotions_create_head
Add panel_group_promotions_from
Add panel_group_promotions_to
Add panel_group_promotions_two_way
Add panel_group_promotions_level
Add panel_group_promotions_create_button
2019-09-30 20:15:50 +10:00
Azareal 78c5c62eee Basic group promotions.
Add the users_groups_promotions table.
Optimise ConvoViewPage.

Shortened some things.
Convo CSS fixes.
Make sure the user cache is flushed properly after the post stats change.

You will need to run the patcher / updater for this commit.
2019-09-29 14:56:39 +10:00
Azareal ec22af716e Add a couple of basic convo phrases.
Fix a few bits of convo ui.
2019-09-01 11:58:30 +10:00
Azareal 57712e0cb5 Quick Convo Form.
Be more tolerant of spaces when inputting participant names.
Use a class instead of inline css for the Quick Topic Form Toggle.
2019-09-01 11:37:04 +10:00
Azareal 92a8706709 Fix the resources not being invalidated properly.
Tweak the convo list styling.
2019-09-01 09:39:39 +10:00
Azareal 218e177a29 Shorten more things. 2019-09-01 08:59:00 +10:00
Azareal f1bebb7326 Shorten the names of the IP fields.
Shorten some other things.
2019-09-01 08:34:43 +10:00
Azareal 523837910c Accelerate the convo list.
Shorten some things.
2019-09-01 08:07:34 +10:00
Azareal ddb917761f Show the names of the participants on the convo list instead of the placeholder text.
Shorten some things to save a bit of memory and to standardise things.
2019-08-28 16:47:54 +10:00
Azareal cae7e00b0c Show the users in a convo. 2019-08-21 11:31:13 +10:00
Azareal 0e9c459446 Adjust convo permissions.
Speed up convo_view.html
Make ContentLines in ConvoViewRow an int as it should be.
Shorten common. in the generated templates.
Fix the page titles for the convo panes.
Stop non-present users from editing their convo posts but still allow them to delete them, if they somehow have a way to do that.
Reduce the amount of boilerplate in the currently broken guilds plugin.
2019-08-21 08:32:10 +10:00
Azareal f8991e089a Basic conversations now work, although there is still testing and UI stuff to be done.
Simplify some header script / sheet bits.
2019-08-20 18:44:37 +10:00
Azareal 4d8c97812d More conversations work.
Add support for AS in columns for SimpleInnerJoin.
Add a referrer policy to improve privacy a little.
Shorten /static/ to /s/ since it comes up so much.
Remove some obsolete code.
Shorten some variable names.
Reduce the amount of boilerplate in the patcher.

Added the RefNoTrack and RefNoRef privacy config settings.

You may need to run the updater / patcher for this commit.
2019-08-14 20:39:04 +10:00
Azareal 6ba4b665e3 Make the elapsed bit in the footer easier to understand. 2019-07-31 12:12:29 +10:00
Azareal ef4a88c43f Fix an index related bug in the patcher.
Fix AS in columns in left joins.
Remove a redundant AS in simple count.
Remove a couple of unused session parameters.
Shorten a few session bits.
2019-07-29 11:31:19 +10:00
Azareal 377a5dc5ea Reduce boilerplate.
Prealloc in AnalyticsViews.
Remove some old debug code.
Normalise the URL ID error for CreateTopicSubmit.
Reduce the number of allocations for action posts.
Use aliases to shorten a few queries.
2019-07-29 09:19:46 +10:00
Azareal 937c3314ca Shorten a few more bits in the profiles. 2019-07-28 20:47:24 +10:00
Azareal 7134dfdda5 Shorten some bits and pieces.
Stop users from making blank profile comments.
Normalise the forum edit URL ID error.
2019-07-28 20:42:30 +10:00
Azareal 99bc972ad2 try fixing editing profile comments 2019-07-28 10:19:53 +10:00
Azareal a287ccc3d6 WIP Conversations templates.
WIP Conversations structs.
WIP Unbound conversations routes.
Shorten more variable names.
Eliminate a few characters here and there.
Track down widget tick errors more easily.

Add the convos_head title phrase.
Add the convo_head title phrase.
Add the unit phrase.
Add the account_menu_messages phrase.
Add the convos_head phrase.
Add the convo_head phrase.
Add the create_convo_head phrase.
Add the create_convo_button phrase.
Add the profile_send_message phrase.
Add the panel_dashboard_disk_unknown phrase.
2019-07-27 09:29:42 +10:00
Azareal 1c0a3dd5b6 Accept shorter session param names as these are so common.
Prealloc in DefaultPollStore.BulkGetMap
Shorten more variable names.
Remove a bit of inline CSS in topic_alt_quick_reply
2019-07-27 08:36:06 +10:00
Azareal 22cb2701b2 Shorten a couple of attachment parameters.
Rename a mislabelled variable.
Prealloc in DefaultUserStore.BulkGetMap.
Prealloc in DefaultTopicStore.BulkGetMap.
Shorten the names of some temps.
Shorten a mssql querystring.
2019-07-25 17:00:49 +10:00
Azareal f7720575d5 Fix the superfluous header errors.
Shorten the query parameter for phrases.
Move the cache control header in the phrase route down to avoid caching errors improperly.

Fixes #53
2019-07-12 07:38:06 +10:00
Azareal 8cf9badd46 Remove inline CSS for log pages.
Darken links on hover in Nox.
Add another group.CanSee test.
2019-06-28 09:35:34 +10:00
Azareal 947306a0af Fix a potential data race when reloading the permissions for a forum.
Log more things during start-up.
Save a few bytes here and there.

Add a couple of initial forum perms store tests.
Add an additional group.CanSee test.
2019-06-19 13:16:03 +10:00
Azareal 97fb4af723 Fix a bug where reloaded groups lost their CanSee data.
Remove a couple of redundant queries in group reload.
Exit from group reload early if there's an error.
Remove a couple of redundant assignments in the forum list.
Shorten some variable names.
2019-06-18 14:13:47 +10:00
Azareal 89ca5ee823 langf now works in transpiled templates, albeit a little inefficiently.
Removed the quick_topic.add_poll_option phrase.
Added the quick_topic.add_poll_option_first phrase.
Changed the topic.reply_add_poll_option phrase.
Added the topic.reply_add_poll_option_first phrase.
2019-06-17 09:36:31 +10:00
Azareal 89c8f4e775 Use a client template for poll input.
Tweak the poll input phrase.
Increase the padding on .pollinput for Nox.
2019-06-16 17:26:31 +10:00
Azareal a5441f18de More conversations progress, still not usable yet.
Flush the debug page incrementally.
Eliminate a tiny bit of code in PreparseMessage.
Shorten some of the pointer capture variables in the poll store.
Tweak the advanced installation instructions for EasyJSON to make it more repeatable.

Added the ConvoKey config setting.
Added /.git/ disk usage to the debug page, if it exists.
Added a UserStore.BulkGetMap multi-user test.
2019-06-16 16:30:58 +10:00
Azareal d95268f069 Remove an inline style for lastName.
Remove a bit of superfluous text.
2019-06-12 04:04:56 +10:00
Azareal f7780098db Localise the avatar bits too in the User Manager. 2019-06-11 14:36:03 +10:00
Azareal ee3c29b136 Let admins change and revoke user avatars.
Linkify avatars in the user manager too.

Add the panel_user_avatar phrase.
2019-06-11 08:00:57 +10:00
Azareal 199a841bc3 Add the UploadAvatars permission.
Let users revoke their own avatars, work in progress.
Reduce boilerplate in debug.go

Add the UploadAvatars phrase.
Add the account_penalties phrase.
Add the account_menu_penalties phrase.
Add the account_avatar_revoke_button phrase.

More Vue and Conversations Work.
2019-06-09 13:21:48 +10:00
Azareal 05a8adb25e Add the log tables to the debug page. 2019-06-05 11:46:45 +10:00
Azareal a339a3eb69 Highlight the current page on Nox. 2019-06-05 11:19:05 +10:00
Azareal 5b5b8339d6 Add instance disk usage to the Control Panel Dashboard.
Split the dashboard grid into two.
Add more analytics tables to the debug page.
Add flushes to the Control Panel Dashboard.
Fix some templates not transpiling properly.
Reduce duplication in the debug route.
Fix the link styling in the Control Panel Dashboard for Tempra Simple.

Transpile the Control Panel Dashboard.

Added the panel_dashboard_disk phrase.
Added the panel_dashboard_disk_desc phrase.
2019-06-03 15:26:27 +10:00
Azareal 9caef90d72 Add more tables to the Debug Page.
Localise more parts of the Control Panel Dashboard.

Added 11 new phrases.
2019-06-03 10:35:25 +10:00
Azareal 05c2ac3ce4 Add the disk and database sections to the debug page.
Add the ActivityStream interface to abstract Get, Add and Count.
Rename the GlobalCount methods to Count for simplicity.
Simplify the variable names in the Count methods.
Rename the GlobalCount method to Count and rename the original Count method to CountUser in LoginLogStore.
Add a float64 case for bunit, sort of.
Theme.RunTmpl now returns ErrBadDefaultTemplate instead of panicking when an interpreted template doesn't exist.
Widget.Allowed now checks the zoneid.
Fire the alert off in the background in AddActivityAndNotifyTarget instead of blocking the request.
Use ErrBadDefaultTemplate instead of calling DefaultTemplates.Lookup directly for custom pages.
Split the page struct for the debug page into multiple structs to make things more organised.

Add the Count method to ProfileReplyStore.
Add the Count method to ReplyStore.
Add the DirSize utility function.

Add a few ActivityStream tests.

Secret gallery stuff.
2019-06-01 22:31:48 +10:00
Azareal 3f6966d541 Added the AppleBot user agent.
Added the topic.topic_info_aria phrase to explain the meta block in topics correctly to screen readers.
Added a missing phrase for the FacebookBot user agent.
2019-06-01 12:03:04 +10:00
Azareal 494b4967c5 sneak in a secret gallery... 2019-05-28 13:29:31 +10:00
Azareal dc4bda7c77 happy? x.x 2019-05-28 09:58:25 +10:00
Azareal 7e7f9e46bd Remove the previous and next links we don't use in topic_alt.
Fix the attachment manager not appearing for opening posts.
Fix rels in the wrong tags.
2019-05-27 18:50:47 +10:00
Azareal a56ed113dd You can now filter the active memory pane by type.
Add excludes for the analytics language pane too.
Try to avoid rid queries when we already have the rids.
Use GetListByCanSee instead of GetList for preloads to increase the chances of getting something useful.
Provisionally extend topic preloading to the first three topic list pages.

Add the panel_statistics_memory_type_total phrase.
Add the panel_statistics_memory_type_stack phrase.
Add the panel_statistics_memory_type_heap phrase.
2019-05-19 11:01:11 +10:00
Azareal b44f7bc157 Hide spammy referrers by default.
Added the panel_statistics_spam_hide phrase.
Added the panel_statistics_spam_show phrase.
2019-05-18 10:33:35 +10:00
Azareal 182a5640eb Add the cache capacities to the debug page. 2019-05-17 20:38:46 +10:00
Azareal b9973719a5 Added a small reply cache.
Preloaded a small number of users and topics.
Use cache.Set instead of cache.Add in a few spots for topics to avoid issues with the counter falling out of sync with the cache length.
Embed Reply in ReplyUser instead of duplicating the same fields.
Add the missing AttachCount and ActionType fields to Reply.
Add the missing Poll field to TopicsRow.
Added the TopicUser.Replies method to better abstract the reply list generation logic.
Shortened some common.s to c.s
Moved memStuff out of the analytics memory panes and into analytics.js
Removed the temporary preStats fix for label overflow now that we have a better solution.
Added the panel_analytics_script_memory template to help de-dupe logic in the analytics memory panes.
Added the Topic method to TopicsRow.
Added the GetRidsForTopic method to help cache replies in a small set of scenarios.

Added the ReplyCache config.json setting.
Added the ReplyCacheCapacity config.json setting.

Added a parser test case.
Added more Reply and ReplyStore related test cases.
2019-05-17 18:40:41 +10:00
Azareal 9cd3cbadab Expanded upon the control panel debug page and improved the UI a bit.
Trying to de-dupe the phrase strings to avoid allocating as much memory and creating as many pointers.
Shortened topic.status_closed_aria slightly.
Moved some things that should have been in various panel.css' into those panel.css'
Fixed the MemUsed dashboard item on Cosora.

Added the bunit template function.
2019-05-13 19:17:44 +10:00
Azareal e57e2f69b2 Comment out supermod_only as we don't really use it anywhere.
Remove inline CSS for lock icon on topic_alt.
Reduce duplication for add_like / remove_like.
Update this query for mssql too...
2019-05-12 12:23:48 +10:00
Azareal c2f2dd7f10 Reduce the amount of data sent for alert resumes in preparation for moving resumes to the WebSockets endpoint.
Remove a bit of superfluous information from the avatar alt attributes.
Improved upon the meta store tests.
Move float: right; out of the footer and into the Tempra Simple and Shadow stylesheets.
Added a missing level label to Shadow.
2019-05-12 09:07:24 +10:00
Azareal f10fdcb40c Added the active memory analytics pane. More to come here.
Added the meta store.

Added the panel_menu_statistics_active_memory phrase.
Added the panel_statistics_active_memory_head phrase.

Added the panel_analytics_time_range_month template.

Added Go 1.12 to the Travis list.

Added the stack and heap columns to the memchunks table.
Added the createdAt column to the activity_stream table.
Added the meta table.

You will need to run the patcher / updater for this commit.
2019-05-09 16:58:55 +10:00
Azareal 1fd980bf56 Reduce the number of labels to reduce the amount of clutter another way. 2019-05-08 15:56:18 +10:00
Azareal 3023f3c138 Try to avoid crushing labels in the analytics chart. WIP. 2019-05-08 15:26:38 +10:00
Azareal 839df17de3 Experimenting with speeding up the installer.
Added support for foreign keys to the MySQL adapter.
activity_stream_matches now has a foreign key to help enforce referential integrity.
Added the AddForeignKey method to the database adapters.
Shortened a couple of API bits to ever slow slightly reduce the lengths of the strings.

Fixed a phrase group I missed for logged out users in init.js
Fixed a bug where deleting a topic would break the alert list when there is an alert event relating to it.

You will need to run the updater / patcher for this commit.
2019-05-06 14:04:00 +10:00
Azareal d321c40290 Add the guest ones too...
Remove unneccesary indentation from a bunch of templates.
2019-05-03 21:07:31 +10:00
Azareal a1161e20f3 The rest of the Control Panel (exc. the Group Editor) now uses dyntmpl.
Improved the noavatar cacheability by constraining them in a range.
Improved the noavatar cacheability by serving a small subset from Gosora.
Improved the formatting of bytes in the memory analytics pane.
Static resources with checksums will now have their caches expire in a week rather than a day.

Tweaked the padding on the sub_heads on Nox.
Moved a block of CSS out of a template and into panel.css in Tempra Simple and Shadow.

Added the panel_themes_menus_items_suffix phrase.

Added the DisableNoavatarRange config setting.
Added the DisableDefaultNoavatar config setting.
2019-05-03 18:34:18 +10:00
Azareal a8e1076f7c Do proper averaging and collect more samples for the memory analytics pane.
Added an ETag for the alerts endpoint when you're not logged to save bandwidth.
The Page Manager now uses dyntmpl.
The Setting Manager now uses dyntmpl.
The Word Filter Manager now uses dyntmpl.
Fixed the padding on the noavatar alerts for Nox.

Tweaked the panel_word_filters_to phrase.
Tweaked the panel_statistics_memory_head phrase.
Added the panel_statistics_memory_chart_aria phrase.
Added the panel_statistics_memory_table_aria phrase.
Added the panel_statistics_memory_no_memory phrase.
2019-05-02 09:14:07 +10:00
Azareal 5dc238f196 Added Mem to the dashboard and added a historic process memory use analytics pane.
Added the memchunks table.
Eliminated some unnecessary indentation in the analytics templates.

Added the panel_menu_statistics_memory phrase.
Added the panel_dashboard_memused phrase.
Added the panel_dashboard_memused_desc phrase.
Added the panel_statistics_memory_head phrase.

You will need to run the updater / patcher for this commit.
2019-05-01 16:59:51 +10:00
Azareal a52d9cc371 Use <h1> instead of <a> in more spots in the control panel.
Eliminate more instances of excessive indentation in the analytics panes.
2019-04-29 23:21:53 +10:00
Azareal 48a993d067 The Forum Manager now uses dyntmpl.
The User Manager now uses dyntmpl.
panel_groups.html now uses dyntmpl.

HTMLID is now optional in panel.html
Moved the inline JS in panel_forum_edit.html into panel_forum_edit.js
Removed the legacy indents from panel_analytics_referrers.
2019-04-29 18:17:12 +10:00
Azareal 6bed36b8c6 Use dyntmpl for the analytics panes.
Localised a few more things on the dashboard.
Use questions marks instead of numbers for placeholders on the dashboard.

Added the panel_dashboard_cpu phrase.
Added the panel_dashboard_ram phrase.
2019-04-29 16:11:26 +10:00
Azareal d14a7f028f Panel Dashboard now uses dyntmpl to make it a little bit faster.
Fixed a bug in the dashboard where report stats were being fetched by day rather than by week.
Reduced the amount of boilerplate in the dashboard with the GE type alias.
Tweaked the colour of hguides on Cosora.

Added the panel template.

Added the panel_dashboard_cpu_desc phrase.
Added the panel_dashboard_ram_desc phrase.
Added the panel_dashboard_online_desc phrase.
Added the panel_dashboard_guests_online_desc phrase.
Added the panel_dashboard_users_online_desc phrase.
Added the panel_dashboard_coming_soon phrase.
2019-04-29 11:28:55 +10:00
Azareal fd68578ed1 A notice is now shown when the menu is updated.
Re-added the missing padding above notices in the Control Panel for Nox.
Moved the inline menu item JS to it's own JS file.

Added the panel.themes_menus_items_order_updated phrase.
2019-04-29 08:17:08 +10:00
Azareal c1e74f9af6 Use <h1> for headers in analytics panes instead of <a>
Fixed the padding in the analytics panes.
Don't load the status phrases in the control panel as they're not really needed there.
2019-04-28 12:57:25 +10:00
Azareal 27a4a74840 You can now re-order forums by dragging them in the Forum Manager.
Added some visual and textual hints to make it clearer that Menu Items and Forums can be dragged.
Added a hint to flush the page after pushing the <head>
Added the notice client template and pushNotice client function.

Used a pointer instead of a struct for AnalyticsTimeRange in the analytics routes.
Caught a potential missing error check in InitPhrases.
Use struct{} instead of bool in some of the user mapping maps for WebSockets to save space.
Added the buildUserExprs function to eliminate a bit of duplication.
Fixed a typo in ForumsEdit where it referenced a non-existent notice phrase.
Client hooks can now sort of return things.
Panel phrases are now fetched by init.js, but only in the control panel.
Reduced the number of unused phrases loaded in both the front-end and the control panel.

Plugin hyperdrive should handle Gzip better now.

Added the panel.ForumsOrderSubmit route.

Added the panel_hints_reorder phrase.
Moved the panel_forums phrases into the panel. namespace.
Added the panel.forums_order_updated phrase.
Renamed the panel_themes_menus_item_edit_button_aria phrase to panel_themes_menus_items_edit_button_aria
Renamed the panel_themes_menus_item_delete_button_aria phrase to panel_themes_menus_items_delete_button_aria
Added the panel_themes_menus_items_update_button phrase.

You will need to run the patcher / updater for this commit.
2019-04-27 16:32:26 +10:00