Commit Graph

365 Commits

Author SHA1 Message Date
Azareal
c31ca03a0d use string builder in buildFlexiWhere
add string builder growth hints
track favicon perf
2020-03-05 09:56:45 +10:00
Azareal
68c6b2f50a reduce header tmpl size
avoid calling function twice in APIMe
2020-03-04 20:09:39 +10:00
Azareal
c403b4a85a optimise os tracking
optimise memory tracking

add panel_stats_routes_perf_head phrase
2020-02-28 15:47:43 +10:00
Azareal
ca8411a519 experimental route perf pane
add 1.14 to travis test list
more qutils tests

add panel_menu_stats_routes_perf phrase
2020-02-28 14:52:45 +10:00
Azareal
459d745cb1 initial perf anaytics
add tasks to debug page
ignore .git on debug page for speed

add perfchunks table

Renamed phrases (changed statistics to stats):
panel_menu_stats
panel_menu_stats_posts
panel_menu_stats_topics
panel_menu_stats_forums
panel_menu_stats_routes
panel_menu_stats_agents
panel_menu_stats_systems
panel_menu_stats_languages
panel_menu_stats_referrers
panel_menu_stats_memory
panel_menu_stats_active_memory
panel_menu_stats_perf
panel_stats_views_head_suffix
panel_stats_user_agents_head
panel_stats_forums_head
panel_stats_languages_head
panel_stats_post_counts_head
panel_stats_referrers_head
panel_stats_routes_head
panel_stats_operating_systems_head
panel_stats_topic_counts_head
panel_stats_requests_head
panel_stats_memory_head
panel_stats_active_memory_head
panel_stats_spam_hide
panel_stats_spam_show
panel_stats_memory_type_total
panel_stats_memory_type_stack
panel_stats_memory_type_heap
panel_stats_time_range_one_year
panel_stats_time_range_three_months
panel_stats_time_range_one_month
panel_stats_time_range_one_week
panel_stats_time_range_two_days
panel_stats_time_range_one_day
panel_stats_time_range_twelve_hours
panel_stats_time_range_six_hours
panel_stats_post_counts_chart_aria
panel_stats_topic_counts_chart_aria
panel_stats_requests_chart_aria
panel_stats_memory_chart_aria
panel_stats_details_head
panel_stats_post_counts_table_aria
panel_stats_topic_counts_table_aria
panel_stats_route_views_table_aria
panel_stats_requests_table_aria
panel_stats_memory_table_aria
panel_stats_views_suffix
panel_stats_posts_suffix
panel_stats_topics_suffix
panel_stats_user_agents_no_user_agents
panel_stats_forums_no_forums
panel_stats_languages_no_languages
panel_stats_post_counts_no_post_counts
panel_stats_referrers_no_referrers
panel_stats_routes_no_routes
panel_stats_operating_systems_no_operating_systems
panel_stats_memory_no_memory

Added phrases:
panel_debug_tasks
panel_debug_tasks_half_second
panel_debug_tasks_second
panel_debug_tasks_fifteen_minute
panel_debug_tasks_hour
panel_debug_tasks_shutdown
panel_stats_perf_head
panel_stats_perf_low
panel_stats_perf_high
panel_stats_perf_avg

You will need to run the updater / patcher for this commit.
2020-02-23 19:08:47 +10:00
Azareal
24cef43439 fix search not working properly
fix missing title index properly
add search tests
roll back accidental duplicate indices

You will need to run the updater / patcher for this commit.
2020-02-21 21:42:21 +10:00
Azareal
363826624f Reduce bandwidth usage for client templates.
Add js and ptmpl (stub) template functions.
Simple constant folding for true / false values in templates.
Use empty string instead of 0 for poll vote ips when DisablePollIP is enabled.

Shorten some things.
2020-02-19 09:04:14 +10:00
Azareal
01b7a18ea9 Show avatars for 1-1 conversations in the convo list.
Don't show your own name in conversation titles.
Don't record the same participant in a conversation twice.
2020-02-12 19:11:27 +10:00
Azareal
9f0333ddc4 hide the create convo option on the convo list when we don't have permission for that 2020-02-12 13:08:02 +10:00
Azareal
ae2a4809ba carry over the recipient when creating a convo via profile
hide the convo reply form when we don't have permission to create a reply
2020-02-11 17:01:13 +10:00
Azareal
f1d3e29409 add phrases for group promotion registered times
rename panel_group_promotions_level_prefix phrase to panel_group_promotions_row_level_prefix
rename panel_group_promotions_posts_prefix phrase to panel_group_promotions_row_posts_prefix
rename panel_group_promotions_delete_button phrase to panel_group_promotions_row_delete_button
add panel_group_promotions_row_registered_minutes phrase

add panel_group_promotion_registered_months_suffix phrase
add panel_group_promotion_registered_days_suffix phrase
add panel_group_promotion_registered_hours_suffix phrase
2020-02-09 20:38:53 +10:00
Azareal
b6931fe16a Add registered time as a parameter for group promotions.
Run group promotions on group change.
Run group promotions on registration.
Load the CreatedAt field when users are loaded.
Set the default for last_ip properly.
Fix the default values in the group promotion form.
Add initial group promotion tests.

Add panel_group_promotion_registered_for phrase.
Add the registeredFor column to the users_groups_promotions table.

You will need to run the updater / patcher for this commit.
2020-02-09 20:00:08 +10:00
Azareal
812471d15f add topic counts to the search and filter widget 2020-02-07 11:51:37 +10:00
Azareal
0c1d6f0516 Add CreateProfileReply and AutoEmbed group permissions.
Log profile reply deletions in the moderator log.
Split the global permissions in the UI to make them easier to manage.
Experiment with showing group ID in group edit header.
Avoid loading groups multiple times for the same profile reply.

Initialise disabled IP log points to empty string rather than 0.

Add CreateProfileReply perm phrase.
Add AutoEmbed perm phrase.
Add panel_group_mod_permissions phrase.
Add panel_logs_mod_action_profile_reply_delete phrase.
2020-02-04 21:47:03 +10:00
Azareal
b5fa9c69f7 Let users unlike posts.
Hide like buttons on own posts for Tempra Simple and Shadow themes too.
fix like visual ui.
fix topic.Unlike err return.

Add topic.minus_one phrase.
2020-01-31 20:48:55 +10:00
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