gotosocial/internal
kim 3cff4b2d7d [chore] various federatingdb tweaks (#4178)
after seeing a potential reported federating worker lockup i decided to start digging into the federatingdb code. this PR encompasses:
- removes one of our last unused interface types `federatingdb.DB{}`, replacing it with a struct type `*federatingdb.DB{}`
- in `transport.dereferenceLocal()` differentiates between an unsupported lookup type and ErrNoEntries to reduce unnecessary calls, and reduce potential lockups that may occur while trying to call our own endpoints that then call `federatingdb.Lock()`
- removes a bunch of the locks on follow state changes since the DB already synchronizes that
- removes the unnecessary `pub.Clock{}` struct field and type passed to the transport controller

frankly it would be great if we could remove the locking in `federatingdb.Lock()` and instead handle it ourselves as it gets very confusing trying to figure out what functions will have locks held. but i guess that's one for when we move further away from the go-fed/activity/pub package usage.

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4178
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-05-15 09:40:48 +00:00
..
admin [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
ap [chore] Deprecate with_approval, always (client API), approvalRequired, always (fedi API) (#4173) 2025-05-13 14:48:11 +00:00
api [feature] Configurable max profile fields (#4175) 2025-05-14 13:25:21 +00:00
cache [feature] Notify accounts when a status they've interacted with has been edited (#4157) 2025-05-11 13:38:13 +00:00
cleaner [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
config [chore] Change default database in example config to sqlite, update docs. (#4174) 2025-05-14 13:25:52 +00:00
db [chore] Tidy up previous interaction policy migrations (#4171) 2025-05-12 16:22:45 +00:00
email [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
federation [chore] various federatingdb tweaks (#4178) 2025-05-15 09:40:48 +00:00
filter [chore] Deprecate with_approval, always (client API), approvalRequired, always (fedi API) (#4173) 2025-05-13 14:48:11 +00:00
gtscontext [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
gtserror [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
gtsmodel [chore] Deprecate with_approval, always (client API), approvalRequired, always (fedi API) (#4173) 2025-05-13 14:48:11 +00:00
headerfilter [feature] request blocking by http headers (#2409) 2023-12-18 14:18:25 +00:00
httpclient [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
id [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
iotools [performance] update storage backend and make use of seek syscall when available (#2924) 2024-05-22 11:46:24 +02:00
language [feature] support nested configuration files, and setting ALL configuration variables by CLI and env (#4109) 2025-05-06 15:51:45 +00:00
log [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
media [chore] add woodpecker ci/cd pipelines (#4061) 2025-04-27 11:22:35 +00:00
messages [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
middleware [feature] make nollamas difficulty configurable (#4119) 2025-05-07 11:59:39 +00:00
oauth [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
observability [bugfix] broken nootel function signatures (#4142) 2025-05-06 13:26:20 +00:00
oidc [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
paging [bugfix] ensure timeline limit query is respected (#4141) 2025-05-06 13:30:23 +00:00
processing [chore] various federatingdb tweaks (#4178) 2025-05-15 09:40:48 +00:00
queue [performance] update go-structr and go-mutexes with memory usage improvements (#2909) 2024-05-13 08:05:46 +00:00
regexes feat: Relax URL matching (#3925) 2025-03-24 14:13:32 +01:00
router [bugfix] Fix indentation on multi-line alt text in web view (#4149) 2025-05-07 11:48:21 +00:00
scheduler [feature] add support for polls + receiving federated status edits (#2330) 2023-11-08 14:32:17 +00:00
state [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
storage [feature] add ability to change s3 bucket lookup type (#4120) 2025-05-06 09:54:50 +00:00
stream [feature] Conversations API (#3013) 2024-07-23 20:44:31 +01:00
subscriptions [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
text [bugfix] Fix no notification if mention edited into status (#4102) 2025-05-04 09:45:10 +00:00
trans [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
transport [chore] various federatingdb tweaks (#4178) 2025-05-15 09:40:48 +00:00
typeutils [feature] Configurable max profile fields (#4175) 2025-05-14 13:25:21 +00:00
uris [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
util [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
validate [feature] Configurable max profile fields (#4175) 2025-05-14 13:25:21 +00:00
web [chore] tweak NoLLaMas proof-of-work algorithm (#4090) 2025-04-29 13:57:26 +00:00
webpush [feature] Notify accounts when a status they've interacted with has been edited (#4157) 2025-05-11 13:38:13 +00:00
workers [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00