Commit Graph

594 Commits

Author SHA1 Message Date
Azareal 97f411e02e Change semantics of *WSUser to fix potential bugs, make it easier to test, to release memory more eagerly, and to make it faster.
Add CountSockets() method to *WSUser
2021-05-08 16:34:46 +10:00
Azareal e839bc5f2c optimise template gen 2021-05-05 22:30:04 +10:00
Azareal c1163e5da5 do a perf test on ViewTopic once an hour to make sure it doesn't die
add more task tests
more EatPanics()
2021-05-05 19:23:58 +10:00
Azareal dbc6fdb27c try to log panics better
fix LogNewLongRoute
2021-05-05 17:24:16 +10:00
Azareal 3da67241e6 fix ws_hub.go getUsers() crash bug 2021-05-05 16:24:09 +10:00
Azareal d5b4c0db57 push template_init.go 2021-05-04 21:21:53 +10:00
Azareal cff2e96915 add Count() method to PollStore
show daily task count on debug page
optimise count queries on debug page
use Count() methods on debug page where ever possible
2021-05-04 21:14:48 +10:00
Azareal 4670375933 add unlisted dev setting LogNewLongRoute 2021-05-04 21:01:21 +10:00
Azareal 16e86a9123 Add before_shutdown_tick hook.
Add after_shutdown_tick hook.
2021-05-03 20:50:01 +10:00
Azareal 7a12751e4d push analytics common 2021-05-03 11:57:53 +10:00
Azareal 77291e4b44 Add ScheduledTasks and TaskSet interfaces.
Add unlisted LogLongTick developer setting.
Rearrange the order of the shutdown signal handler to figure out where it might fail.
2021-05-03 10:36:29 +10:00
Azareal fc5b29e648 Add TickLoop struct.
Add a number of new test cases and refactor others.
Replace NotifyOne() with ActivityMatches.Add()
Shorten arr_ to a_ in tmpl_list.go
Reduce boilerplate.
2021-05-02 18:47:19 +10:00
Azareal 78fbbcda21 Optimise template generator.
Optimise mysql adapter.
Add TokenScope to mysql adapter.
Add SimpleBulkInsert() to installer.
Optimise panel.Plugins() route.
2021-04-30 08:33:02 +10:00
Azareal 39ace845b7 Add BulkExistsFunc() to LikeStore.
Add AddScheduledDayTask() and ScheduledDayTaskCount()
Reduce boilerplate.
2021-04-29 22:59:48 +10:00
Azareal ea4da062c3 Use Rstore.Exists() instead of Rstore.Get() in ReplyEditSubmit.
Reduce allocs in WsHubImpl.getUsers()
Reduce allocs in wolContextRender()
Use b.String() instead of string(b.Bytes()) in preparseWidget()
Reduce boilerplate.
2021-04-28 19:29:15 +10:00
Azareal 0c1f5cac94 Add ActivityMatches store impl.
Comment out errorBuffer.
Optimise LogWarning() with a string builder.
Avoid allocing byte slice in MicroNotFound()
Rename basePage to bp.
Reduce boilerplate.
2021-04-28 18:39:08 +10:00
Azareal 01a19ede79 Add Exec() to accDeleteBuilder.
Add DateOlderThanQ() to accCountBuilder.
Add Stmt() to accCountBuilder.
Add AccExec interface.
Optimise AccSelectBuilder.In() with a string builder.
Use Count() in DefaultActivityStream.Count()
Reduce boilerplate and duplication.
2021-04-27 20:35:10 +10:00
Azareal aa02f9fc48 Add Count()
Add Createf()
Fix inqbuild2() loop.
2021-04-27 20:24:04 +10:00
Azareal 6870d242e9 Add ClearIPs() to TopicStore.
Add LockMany() to TopicStore.
Add RemoveMany() to TopicCache.
Add ClearIPs() to PollStore.
Add Purge() to RegLogStore.
Add DeleteOlderThanDays() to RegLogStore.
Add Purge() to LoginLogStore.
Add DeleteOlderThanDays() to LoginLogStore.
Add SetInt() to MetaStore.
Add SetInt64() to MetaStore.

Use Createf() in RegLogItem.Create()
Use Count() in SQLRegLogStore.Count()
Use Count() in SQLLoginLogStore.Count()
Use Countf() in SQLLoginLogStore.CountUser()

Add trailing triple dot parser test case.
Removed a block of commented code in gen router.
Reduce boilerplate.
2021-04-27 20:20:26 +10:00
Azareal 1b7d6ac724 Add ClearIPs() to ProfileReplyStore.
Add ClearIPs() to ReplyStore.
Add ClearLastIPs() to UserStore.
Use Count() in SQLProfileReplyStore.Count()
2021-04-27 20:00:11 +10:00
Azareal 67a968caf2 Add DisableLoginLog config setting.
The tests / tickloop portions (to purge existing login logs when the setting is enabled) are coming with the tickloop rewrite.
2021-04-27 19:44:00 +10:00
Azareal 868a530f4b block floc
disable expfix1
2021-04-10 20:06:22 +10:00
Azareal 5bdda5c573 move router init() into non-generated router.go
experimental fix for conn hangs
2021-04-08 12:20:57 +10:00
Azareal c60118e7c4 WIP forum action code. Currently disabled.
Add Http Conn Count tracking.
Move more panel phrases into the panel namespace.
Use a string builder in hookgen.
Use Countf() in a couple of places to eliminate boilerplate.
Reduce prepared stmt boilerplate in forum store with a lambda.
Reduce prepared stmt boilerplate in topic.go with a lambda.
Reduce prepared stmt boilerplate in group.go with a lambda.
Add TestSetCreatedAt method to *Topic.
Add DateOlderThanQ method to *accDeleteBuilder and *accUpdateBuilder.
Add Stmt method to *accUpdateBuilder and *AccSelectBuilder.
Add AccBuilder interface.
Shorten variable names.
Shorten extractPerm name to ep.
Add avatar_visibility setting stub. Implementation coming in a later commit.
Don't set an IP for installer generated posts.

Add counters_perf_tick_row hook.

Add avatar_visibility phrase.
Add avatar_visibility_label phrase.
Rename forums_no_description to forums_no_desc.
Rename panel.forums_create_description_label to panel.forums_create_desc_label.
Rename panel.forums_create_description to panel.forums_create_desc.
Rename panel_forum_description to panel.forum_desc.
Rename panel_forum_description_placeholder to panel.forum_desc_placeholder.
Add panel_debug_http_conns_label phrase.
Add panel.forum_actions_head phrase.
Add panel.forum_actions_create_head phrase.
Add panel.forum_action_run_on_topic_creation phrase.
Add panel.forum_action_run_days_after_topic_creation phrase.
Add panel.forum_action_run_days_after_topic_last_reply phrase.
Add panel.forum_action_action phrase.
Add panel.forum_action_action_delete phrase.
Add panel.forum_action_action_lock phrase.
Add panel.forum_action_action_unlock phrase.
Add panel.forum_action_action_move phrase.
Add panel.forum_action_extra phrase.
Add panel.forum_action_create_button phrase.

You will need to run the patcher / updater for this commit.
2021-04-08 00:23:11 +10:00
Azareal 14b098bac2 Add DisableStdout config setting.
Add DisableStderr config setting.
Eliminate boilerplate in main.go
Increase the number of cached q strings.
Use the ErrLogger in LogError() and LogWarning()
Add the experimental LocalErrorf()
Add Err() log function.
2021-04-07 12:10:05 +10:00
Azareal 7b3cf6877f add basic support for ipns uris 2021-04-05 17:56:38 +10:00
Azareal ba1d68eea7 add basic support for ipfs links
shorten data variable names
add five parser tests
2021-04-05 16:03:53 +10:00
Azareal a4ba5a2470 Optimise part of fout with string builders in the template generator. 2021-03-29 06:57:49 +10:00
Azareal cb2efa0d31 Optimise template list generation.
Remove dead code.
2021-03-28 18:24:48 +10:00
Azareal 6b645f7b88 Add Config.DisableBadRouteLog setting.
Surface more errors in template_init.go
Dump unknown UAs properly when DisableSuspLog is enabled.
2021-03-26 09:06:35 +10:00
Azareal f6a94d39d6 Set the metadata for the last reply rather than the first in a topic when a reply is deleted.
Add tests to check the LastReplyID for a topic before and after a reply is deleted.
2021-03-25 19:04:02 +10:00
Azareal c1343136c6 Update Topic.LastReplyID properly. 2021-03-25 06:01:40 +10:00
Azareal 300defd460 Add TopicListIntTest interface.
Use inqbuild2 in DefaultTopicList.Tick.
Avoid doing a full paginator calculation in the topic list when the result is obvious.
Add defaultPagi and setForumList methods to DefaultTopicList.
Cache two more items in qcache.
Use a string builder in inqbuild and inqbuildstr.
Add the inqbuild2 function.
Reduce boilerplate in topic.go
2021-03-24 22:07:46 +10:00
Azareal 26e8bf32a7 Add GetForRenderRoute to DefaultAttachmentStore.
Use ErrCorruptAttachPath in DefaultAttachmentStore.
Consider the possibility that the requested attachment doesn't have a file extension.
Rename variables to reduce boilerplate.
Add TestThaw.
Avoid an allocation in hookgen.

Add route_attach_start hook.
Add route_attach_post_get hook.
2021-03-24 21:45:18 +10:00
Azareal d47540391a Add Config.LogDir and Config.DisableSuspLog settings.
Reduce default Config.PostIPCutoff from 120 to 90.
Add another startup log call.
2021-03-24 18:08:37 +10:00
Azareal f073f29a09 detect seostar, pandalytics, pagething user agents
detect kw iso code
fix suspicious req pre lines being mashed onto one line
2021-03-24 06:59:34 +10:00
Azareal 1fa6b3ff26 Optimise MemoryForumPermsStore by splitting recalcCanSeeAll out of Reload and only calling it once.
Reduce the amount of lock contention in recalcCanSeeAll by only loading each forum once.
Stop logging the group ID twice in recalcCanSeeAll.
Add the CacheAdd method to GroupCache and use it.
Reduce the amount of boilerplate.
2021-03-22 19:58:13 +10:00
Azareal 4126e8ed0c add qwant, xenforo, twingly, linkfluence, and new toutiao user agent.
add Users.CountSearch test cases.
add Users.SearchOffset test cases.
add more Users.Count test cases.
add more Users.BulkGetByName test cases.
reduce boilerplate in other tests.
fix bugs in Users.CountSearch and Users.BulkGetByName
2021-03-02 17:22:32 +10:00
Azareal f20b0bd936 Add BulkIsBlockedBy method to BlockStore.
Add TotalP to accCountBuilder.
Add EachP to AccSelectBuilder.
Add expectf.
Add more conversation test cases.
Refactor conversation tests.
Add block tests.
2021-02-27 16:13:03 +10:00
Azareal 9437561c76 Add BulkGetByName method to UserStore.
Add RawBulkGetByNameForConvo method to UserStore.
Add ErrSomeUsersNotFound error.
User Manager Search Experiment.
De-duplicate common user store scan logic.
Use inqbuild in BulkGetMap in UserStore.
2021-02-27 07:22:36 +10:00
Azareal 8decc0c1a8 add flif, heif, heic, bpg and opus to allowed file extensions
add flac web audio extension
eliminate aloocs with inqbuild and inqbuildstr
2021-02-19 13:28:20 +10:00
Azareal b66aeac966 fix some parser corner cases
add more parser test cases
2021-02-19 12:51:13 +10:00
Azareal 2176147dec fix parser tests
expand parser tests
2021-02-18 23:02:54 +10:00
Azareal f2adb7dfac add AutoLink permission
eliminate pointless arithmetic in the parser
possible fix for creating group promotions

add AutoLink phrase
2021-02-18 21:40:42 +10:00
Azareal f69e077347 user manager: search by group
UserStore:
modify SearchOffset method signature
modify CountSearch method signature

phrases:
add panel_users_search_group
add panel_users_search_group_none
add panel_users_search_title

add missing paginator_mod template x.x
eliminate bytes here and there
2021-01-20 09:47:08 +10:00
Azareal c9e99c075d basic user manager search
reduce template sizes
add PaginatorMod struct

UserStore:
add SearchOffset method
add CountSearch method

phrases:
add panel_users_search_head
add panel_users_search_name
add panel_users_search_name_placeholder
add panel_users_search_email
add panel_users_search_email_placeholder
add panel_users_search_button
2021-01-19 08:11:30 +10:00
Azareal 74193223ee log errors properly in ForumsOrderSubmit
fix tiff extensions in canResize check
reduce boilerplate
2021-01-06 16:41:08 +10:00
Azareal 74e0ce492d Weekly Views.
Add avif mime extension.
Optimise skipping watched files which haven't been changed.
Block zgrab to save resources.
Reduce text and boilerplate.

Add route_topic_list_weekviews_start hook.

Add topic_list.week_views_filter phrase.
Changed footer_powered_by phrase.

You will need to run the updater / patcher for this commit.
2021-01-03 07:46:24 +10:00
Azareal 43bace814d update .link_most_viewed properly on page transitions
reduce variable lengths
remove redundant thaw
2020-12-18 11:04:07 +10:00
Azareal f27d4a4c33 working on weekly views
fix forum topic list not being updated on new topic
2020-12-18 08:54:44 +10:00