gotosocial/internal
kim 7ec1e1332e
[performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535)
* rewrite cache library as codeberg.org/gruf/go-structr, implement in gotosocial

* use actual go-structr release version (not just commit hash)

* revert go toolchain changes (damn you go for auto changing this)

* fix go mod woes

* ensure %w is used in calls to errs.Appendf()

* fix error checking

* fix possible panic

* remove unnecessary start/stop functions, move to main Cache{} struct, add note regarding which caches require start/stop

* fix copy-paste artifact... 😇

* fix all comment copy-paste artifacts

* remove dropID() function, now we can just use slices.DeleteFunc()

* use util.Deduplicate() instead of collate(), move collate to util

* move orderByIDs() to util package and "generify"

* add a util.DeleteIf() function, use this to delete entries on failed population

* use slices.DeleteFunc() instead of util.DeleteIf() (i had the logic mixed up in my head somehow lol)

* add note about how collate differs from deduplicate
2024-01-19 12:57:29 +00:00
..
ap [chore] chore rationalise http return codes for activitypub handlers (#2540) 2024-01-18 17:11:13 +01:00
api [chore] chore rationalise http return codes for activitypub handlers (#2540) 2024-01-18 17:11:13 +01:00
cache [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
cleaner [bugfix] process account delete side effects in serial, not in parallel (#2360) 2023-11-14 15:57:25 +01:00
config [chore/docs] Replace specific year range of copyright notice (#2520) 2024-01-13 16:33:53 +01:00
db [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
email [bugfix] return 400 Bad Request on more cases of malformed AS data (#2399) 2023-11-30 16:22:34 +00:00
federation [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
gotosocial [feature/performance] Wrap incoming HTTP requests in timeout handler (#2353) 2023-11-13 19:48:51 +01:00
gtscontext [chore] ensure worker contexts have request ID (#2120) 2023-08-15 17:01:01 +01:00
gtserror [bugfix] return 400 Bad Request on more cases of malformed AS data (#2399) 2023-11-30 16:22:34 +00:00
gtsmodel [feature] Account alias / move API + db models (#2518) 2024-01-16 16:22:44 +00:00
headerfilter [feature] request blocking by http headers (#2409) 2023-12-18 14:18:25 +00:00
httpclient [bugfix] return 400 Bad Request on more cases of malformed AS data (#2399) 2023-11-30 16:22:34 +00:00
id [chore] Improve copyright header handling (#1608) 2023-03-12 16:00:57 +01:00
iotools [chore] Improve copyright header handling (#1608) 2023-03-12 16:00:57 +01:00
language [feature] Set/show instance language(s); show post language on frontend (#2362) 2023-11-17 11:35:28 +01:00
log [bugfix] return 400 Bad Request on more cases of malformed AS data (#2399) 2023-11-30 16:22:34 +00:00
media [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
messages [feature] List replies policy, refactor async workers (#2087) 2023-08-09 19:14:33 +02:00
metrics [feature] Initial Prometheus metrics implementation (#2334) 2023-11-20 16:43:55 +01:00
middleware [feature] Log pubKeyID for http-signed requests (#2501) 2024-01-09 10:41:15 +01:00
oauth [chore] Refactor HTML templates and CSS (#2480) 2023-12-27 11:23:52 +01:00
oidc [chore] Improve copyright header handling (#1608) 2023-03-12 16:00:57 +01:00
paging [bugfix] self-referencing collection pages for status replies (#2364) 2023-11-20 12:22:28 +00:00
processing [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
regexes [feature/performance] support uncaching remote emoji + scheduled cleanup functions (#1987) 2023-07-24 13:14:13 +01:00
router [chore] Refactor HTML templates and CSS (#2480) 2023-12-27 11:23:52 +01:00
scheduler [feature] add support for polls + receiving federated status edits (#2330) 2023-11-08 14:32:17 +00:00
state [feature] add per-uri dereferencer locks (#2291) 2023-10-31 11:12:22 +00:00
storage [feature/bugfix] Probe S3 storage for CSP uri, add config flag for extra URIs (#2134) 2023-08-20 13:35:55 +02:00
stream [feature] Push status edit messages into open streams (#2418) 2023-12-16 12:55:49 +01:00
text [chore] Refactor HTML templates and CSS (#2480) 2023-12-27 11:23:52 +01:00
timeline [bugfix] Ensure pre renders as expected, fix orderedCollectionPage (#2434) 2023-12-10 12:36:00 +01:00
tracing [chore] update otel -> v1.20.0 (#2358) 2023-11-13 11:08:02 +01:00
trans [chore] Improve copyright header handling (#1608) 2023-03-12 16:00:57 +01:00
transport [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
typeutils [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
uris [feature] Media attachment placeholders (#2331) 2023-11-10 19:29:26 +01:00
util [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
validate [feature] Allow full BCP 47 in language inputs (#2067) 2023-08-07 10:25:54 +02:00
visibility [performance] overhaul struct (+ result) caching library for simplicity, performance and multiple-result lookups (#2535) 2024-01-19 12:57:29 +00:00
web [chore] Refactor HTML templates and CSS (#2480) 2023-12-27 11:23:52 +01:00
workers [feature] support canceling scheduled tasks, some federation API performance improvements (#2329) 2023-11-04 20:21:20 +00:00