gotosocial/internal
kim 87cff71af9
[feature] persist worker queues to db (#3042)
* persist queued worker tasks to database on shutdown, fill worker queues from database on startup

* ensure the tasks are sorted by creation time before pushing them

* add migration to insert WorkerTask{} into database, add test for worker task persistence

* add test for recovering worker queues from database

* quick tweak

* whoops we ended up with double cleaner job scheduling

* insert each task separately, because bun is throwing some reflection error??

* add specific checking of cancelled worker contexts

* add http request signing to deliveries recovered from database

* add test for outgoing public key ID being correctly set on delivery

* replace select with Queue.PopCtx()

* get rid of loop now we don't use it

* remove field now we don't use it

* ensure that signing func is set

* header values weren't being copied over 🤦

* use ptr for httpclient.Request in delivery

* move worker queue filling to later in server init process

* fix rebase issues

* make logging less shouty

* use slices.Delete() instead of copying / reslicing

* have database return tasks in ascending order instead of sorting them

* add a 1 minute timeout to persisting worker queues
2024-07-30 13:58:31 +02:00
..
ap [feature] Federate interaction policies + Accepts; enforce policies (#3138) 2024-07-26 12:04:28 +02:00
api [feature] Implement following hashtags (#3141) 2024-07-29 19:26:31 +01:00
cache [feature] Implement following hashtags (#3141) 2024-07-29 19:26:31 +01:00
cleaner [bugfix] media.Processor{}.GetFile() returning 404s on first call, correctly loading on 2nd (#3129) 2024-07-22 18:45:48 +01:00
config [feature] Implement following hashtags (#3141) 2024-07-29 19:26:31 +01:00
db [feature] persist worker queues to db (#3042) 2024-07-30 13:58:31 +02:00
email [bugfix] add Date and Message-ID headers for email (#3031) 2024-06-22 23:36:30 +02:00
federation [chore] add some more slice related utility functions + remove duplicated functions (#3149) 2024-07-30 11:29:32 +02:00
filter [chore] Add interaction filter to complement existing visibility filter (#3111) 2024-07-24 12:27:42 +01:00
gtscontext [bugfix] httpclient not signing subsequent redirect requests (#2798) 2024-04-02 13:12:26 +02:00
gtserror [experiment] add alternative wasm sqlite3 implementation available via build-tag (#2863) 2024-05-27 17:46:15 +02:00
gtsmodel [feature] persist worker queues to db (#3042) 2024-07-30 13:58:31 +02:00
headerfilter [feature] request blocking by http headers (#2409) 2023-12-18 14:18:25 +00:00
httpclient [feature] persist worker queues to db (#3042) 2024-07-30 13:58:31 +02:00
id [chore] Improve copyright header handling (#1608) 2023-03-12 16:00:57 +01: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] Set/show instance language(s); show post language on frontend (#2362) 2023-11-17 11:35:28 +01:00
log [chore] Log less output on failed test (#2804) 2024-04-04 16:42:42 +01:00
media [chore] add some more slice related utility functions + remove duplicated functions (#3149) 2024-07-30 11:29:32 +02:00
messages [feature] persist worker queues to db (#3042) 2024-07-30 13:58:31 +02:00
metrics [chore] Update usage of OTEL libraries (#2725) 2024-03-11 15:34:34 +01:00
middleware [feature] Set some security related headers (#3065) 2024-07-04 10:07:02 +02:00
oauth [chore] Upgrade our Go version to 1.22 (#2862) 2024-04-26 10:40:29 +02:00
oidc [chore] Improve copyright header handling (#1608) 2023-03-12 16:00:57 +01:00
paging [bugfix] flaky paging test (#2888) 2024-05-01 13:29:42 +02:00
processing [feature] persist worker queues to db (#3042) 2024-07-30 13:58:31 +02:00
queue [performance] update go-structr and go-mutexes with memory usage improvements (#2909) 2024-05-13 08:05:46 +00:00
regexes [feature] Federate interaction policies + Accepts; enforce policies (#3138) 2024-07-26 12:04:28 +02:00
router [chore] improved startup / shutdown (#2925) 2024-05-29 13:21:04 +02:00
scheduler [feature] add support for polls + receiving federated status edits (#2330) 2023-11-08 14:32:17 +00:00
state [bugfix] Lock when checking/creating notifs to avoid race (#2890) 2024-05-02 13:43:00 +01:00
storage [bugfix] media.Processor{}.GetFile() returning 404s on first call, correctly loading on 2nd (#3129) 2024-07-22 18:45:48 +01:00
stream [feature] Conversations API (#3013) 2024-07-23 20:44:31 +01:00
text [feature/frontend] Respect prefers-reduced-motion for avatars, headers, and emojis (#3118) 2024-07-21 14:22:08 +02:00
timeline [feature/frontend] Add player for audio files; use thumbnail for poster (#3099) 2024-07-15 10:47:57 +01:00
tracing [chore] Update usage of OTEL libraries (#2725) 2024-03-11 15:34:34 +01:00
trans [feature] New user sign-up via web page (#2796) 2024-04-11 11:45:53 +02:00
transport [feature] persist worker queues to db (#3042) 2024-07-30 13:58:31 +02:00
typeutils [chore] add some more slice related utility functions + remove duplicated functions (#3149) 2024-07-30 11:29:32 +02:00
uris [feature] Federate interaction policies + Accepts; enforce policies (#3138) 2024-07-26 12:04:28 +02:00
util [chore] add some more slice related utility functions + remove duplicated functions (#3149) 2024-07-30 11:29:32 +02:00
validate [feature] Implement Filter API v2 (#2936) 2024-05-31 12:55:56 +02:00
web [feature/frontend] Respect prefers-reduced-motion for avatars, headers, and emojis (#3118) 2024-07-21 14:22:08 +02:00
workers [feature] persist worker queues to db (#3042) 2024-07-30 13:58:31 +02:00