Commit graph

2071 commits

Author SHA1 Message Date
AntoineÐ 4f9b5d9f72 fix branding gradient angle 2023-11-25 18:50:19 +01:00
Laura Hausmann 13e93dc461
[backend] [client] Import the proper userland punycode module 2023-11-25 03:58:30 +01:00
Laura Hausmann 9cc900faae
[backend] Use happy-dom in generic mfm-to-html as well 2023-11-25 03:47:44 +01:00
Laura Hausmann 026538f8a1
[backend] Add support for a second config file containing secrets
This is required for some packaging scenarios
2023-11-25 03:08:15 +01:00
Laura Hausmann 5490137f44
[mastodon-client] Fix user profile aggregate when only target is self 2023-11-25 02:12:02 +01:00
Laura Hausmann f350755721
[mastodon-client] Switch to happy-dom 2023-11-25 02:11:44 +01:00
Laura Hausmann 60a6e08c0b
[mastodon-client] Add note.user joins to all timeline queries 2023-11-25 01:50:49 +01:00
Laura Hausmann b1d3e1d05f
[mastodon-client] Aggregate applicable fields in NoteConverter and UserConverter 2023-11-25 01:37:23 +01:00
Laura Hausmann 3ccfd0417b
[backend] Improve renote status aggregate query 2023-11-24 21:14:17 +01:00
Laura Hausmann 7aa3bdb641
[backend] Use more efficient home timeline heuristics query 2023-11-24 04:08:10 +01:00
Laura Hausmann 8ed1bda017
[backend] Don't emit followRequestAccepted if followee is not locked
Resolves #395
2023-11-23 22:22:05 +01:00
Laura Hausmann e5276e2765
[backend] Add environment variables to configure config file location, files directory and custom assets directory 2023-11-23 20:31:08 +01:00
Laura Hausmann 3cb46cd6fc
[backend] Update re2 dependency
re2 was updated to include https://github.com/uhop/node-re2/pull/198 which fixes build on nixOS
2023-11-23 14:59:49 +01:00
Laura Hausmann fd6ee32832
[backend] Don't fetch more notes than requested 2023-11-22 20:25:47 +01:00
Laura Hausmann 735fd37707
[backend] Only pack each user once per request 2023-11-22 20:25:47 +01:00
Laura Hausmann 4e6e22633e
[backend] Rework media proxying for better performance 2023-11-22 19:23:51 +01:00
Laura Hausmann c00e28712e
[backend] Revert postgres geqo threshold and collapse limits to defaults
This is no longer required due to the refactored user table requiring significantly less table joins in more complex queries
2023-11-22 18:59:38 +01:00
Laura Hausmann 302b112f05
[backend] Include avatar & banner url and blurhash in the user table
This drastically improves timeline performance due to the many (2-6 per query) database joins that are now no longer required
2023-11-22 18:59:38 +01:00
Laura Hausmann 6e82e18eea
[backend] Add multi column index for userHost to note table
This drastically improves local and social timeline performance
2023-11-22 04:39:37 +01:00
Laura Hausmann eff0f32dc1
[backend] We don't need to check for visibility if we already filter for public posts only 2023-11-22 04:39:37 +01:00
Laura Hausmann 8fa2bf5dca
[backend] Fix an edge case where notifications wouldn't load properly 2023-11-22 00:28:37 +01:00
Laura Hausmann 8ecf361870
[backend] Implement heuristics for home timeline queries
After lots of performance analysis, we've ended up with a cutoff value of 250 posts in the last 7d, after which we should switch which query plan to nudge postgres towards. This should greatly improve performance of users who were previously performance edge cases.
2023-11-22 00:14:54 +01:00
Laura Hausmann a5b30a6adc
[backend] Fix notifications not loading correctly
This fixes a regression introduced in a6fa393359
2023-11-21 01:27:00 +01:00
Laura Hausmann 661c31db0c
[backend] Set postgres geqo threshold and collapse limits to something more reasonable until we've refactored the backend to require less joins 2023-11-21 01:22:07 +01:00
Laura Hausmann a6fa393359
[backend] Return isRenoted status in Notes.pack instead of requesting it individually 2023-11-21 01:00:14 +01:00
Laura Hausmann 855409332b
[backend] Add in:bookmarks and in:favorites postgres FTS filters 2023-11-19 01:36:57 +01:00
Laura Hausmann 8c43c5cae6
[backend] Make inverse postgres FTS filters consistent with regular ones 2023-11-19 01:36:57 +01:00
Laura Hausmann 98f40d8865
[backend] Add instance:local postgres FTS filter 2023-11-19 01:36:57 +01:00
Laura Hausmann e1ae37dbdb
[backend] Improve postgres FTS filters 2023-11-19 01:36:57 +01:00
Laura Hausmann 5d1bb36be3
[client] Improve postgres FTS filter menu and guide 2023-11-19 01:36:56 +01:00
Laura Hausmann 768165776d
[backend] Allow case sensitive and word search for postgres FTS 2023-11-19 01:36:56 +01:00
Laura Hausmann 361176448e
[backend] Add postgres FTS migration 2023-11-19 01:36:56 +01:00
Laura Hausmann b2f6808bef
[backend] Make postgres FTS filter: filters slightly more typo-safe 2023-11-19 01:36:56 +01:00
Laura Hausmann b7a5c192d8
[backend] Improve postgres FTS mention filter query 2023-11-19 01:36:56 +01:00
Laura Hausmann 292e537dc7
[backend] Improve postgres FTS attachment filter query 2023-11-19 01:36:55 +01:00
Laura Hausmann 1b4fedc59f
[client] Improve search filter menu 2023-11-19 01:36:55 +01:00
Laura Hausmann b4616d3f36
[backend] Don't exclude local user in search-by-username-and-host 2023-11-19 01:36:55 +01:00
Laura Hausmann 5b672e20af
[backend] Postgres FTS query should be trimmed 2023-11-19 01:36:55 +01:00
Laura Hausmann c72eb36d66
[backend] Improve postgres FTS tokenizer 2023-11-19 01:36:55 +01:00
Laura Hausmann e405d348ed
[backend] Implement basic tokenizer for postgres FTS 2023-11-19 01:36:54 +01:00
Laura Hausmann a88d581413
[backend] Implement filters for postgres FTS 2023-11-19 01:36:54 +01:00
Laura Hausmann 9b2e966c19
[backend] Remove external search backends 2023-11-19 01:36:54 +01:00
Laura Hausmann b73a07011a
[backend] Backslash needs to be escaped in sqlLikeEscape 2023-11-18 19:46:37 +01:00
Laura Hausmann 9ee786e888
[mastodon-client] Verify scopes are identical between /oauth/authorize and /oauth/token instead of testing whether they are a subset 2023-11-16 20:37:21 +01:00
Laura Hausmann c60414f347
[backend] Fix re2 imports 2023-11-15 15:17:35 +01:00
Laura Hausmann 20410b0543
[backend] Move back to upstream re2 dependency
Upstream accepted my patches for both re2 (fixing build on arm64-musl) and the install-artifact-from-github dependency (cutting down build times for architectures where prebuilts are available from ~2 minutes to ~2 seconds), so there's no reason to stick with our fork.
2023-11-15 15:12:59 +01:00
Laura Hausmann b45be30d19
[mastodon-client] Fix scope parameter in /oauth/token 2023-11-14 17:19:17 +01:00
Alexis 76db23855c
added more selective control over users show endpoint 2023-11-10 03:05:08 +01:00
Laura Hausmann 2baa787b72
[backend] Dynamically import redisClient in postgre.ts and dependencies
This fixes unnecessary redisClient instances being created during migration runs, which previously prevented the revertmigration command from exiting by itself due to a TypeORM inconsistency between migration:run and migration:revert.
2023-11-07 23:12:20 +01:00
Laura Hausmann 7cf00d1503
[backend] Move to our own fork of the re2 package
This fixes builds on alpine-arm64 (and presumably also other musl-arm64 distros)
2023-11-05 16:54:00 +01:00