mirror of
1
Fork 0
gotosocial/internal
kim 291e180990
[bugfix] fix possible mutex lockup during streaming code (#2633)
* rewrite Stream{} to use much less mutex locking, update related code

* use new context for the stream context

* ensure stream gets closed on return of writeTo / readFrom WSConn()

* ensure stream write timeout gets cancelled

* remove embedded context type from Stream{}, reformat log messages for consistency

* use c.Request.Context() for context passed into Stream().Open()

* only return 1 boolean, fix tests to expect multiple stream types in messages

* changes to ping logic

* further improved ping logic

* don't export unused function types, update message sending to only include relevant stream type

* ensure stream gets closed 🤦

* update to error log on failed json marshal (instead of panic)

* inverse websocket read error checking to _ignore_ expected close errors
2024-02-20 18:07:49 +00:00
..
ap [feature] serdes for moved/also_known_as (#2600) 2024-02-06 09:45:46 +00:00
api [bugfix] fix possible mutex lockup during streaming code (#2633) 2024-02-20 18:07:49 +00:00
cache [performance] temporarily cache account status counts to reduce no. account counts (#2620) 2024-02-12 11:52:12 +00:00
cleaner [bugfix] fix possible infinite loops in media / emoji cleanup (#2590) 2024-01-31 13:31:53 +00:00
config [chore/docs] Replace specific year range of copyright notice (#2520) 2024-01-13 16:33:53 +01:00
db [feature] Add `requested_by` to relationship model (#2672) 2024-02-20 17:50:54 +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 [bugfix] Fix dereferencing ancestors on new status create (#2652) 2024-02-18 09:49:40 +00:00
gotosocial [feature/performance] Wrap incoming HTTP requests in timeout handler (#2353) 2023-11-13 19:48:51 +01:00
gtscontext [feature] Add Mastodon-compatible HTTP signature fallback (#2659) 2024-02-19 11:18:17 +01:00
gtserror [bugfix] Don't return Internal Server Error when searching for URIs that don't return AP JSON (#2550) 2024-01-22 14:38:45 +00:00
gtsmodel [feature] Add `requested_by` to relationship model (#2672) 2024-02-20 17:50:54 +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 [bugfix] Fix Postgres emoji delete, emoji category change (#2570) 2024-01-29 14:57:22 +00:00
messages [feature] List replies policy, refactor async workers (#2087) 2023-08-09 19:14:33 +02:00
metrics [feature] Add metrics for instance user count, statuses count and federating instances count (#2592) 2024-02-14 11:58:55 +01:00
middleware [feature] Try HTTP signature validation with and without query params for incoming requests (#2591) 2024-01-31 14:15:28 +00: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 [bugfix] fix possible mutex lockup during streaming code (#2633) 2024-02-20 18:07:49 +00:00
regexes [bugfix] use start + end line in regex when validating emoji via API (#2671) 2024-02-20 11:46:04 +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 [bugfix] fix possible mutex lockup during streaming code (#2633) 2024-02-20 18:07:49 +00:00
text [bugfix] Refactor parse mention, fix local mention bug (#2657) 2024-02-19 03:48:20 +00: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 [feature] Add Mastodon-compatible HTTP signature fallback (#2659) 2024-02-19 11:18:17 +01:00
typeutils [feature] Add `requested_by` to relationship model (#2672) 2024-02-20 17:50:54 +00:00
uris [bugfix] Don't return Account or Status if new and dereferencing failed, other small fixes (#2563) 2024-01-26 14:17:10 +01:00
util [chore] Move `DoOnce` func wrapper to util (#2613) 2024-02-09 11:38:51 +00:00
validate [bugfix] use start + end line in regex when validating emoji via API (#2671) 2024-02-20 11:46:04 +01:00
visibility [bugfix] Fix dereferencing ancestors on new status create (#2652) 2024-02-18 09:49:40 +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