Commit graph

1221 commits

Author SHA1 Message Date
Laura Hausmann
cd8809e927
[client] Fix update check 2023-11-29 17:59:47 +01:00
Laura Hausmann
aaed62bde1
[mastodon-client] Fix html cache prewarm not including quote uris 2023-11-28 17:52:28 +01:00
Laura Hausmann
03cdf4ec4a
[mastodon-client] Add basic support for filters
Currently you have to configure these in the web ui, but this will eventually be implemented as well
2023-11-27 21:41:09 +01:00
Laura Hausmann
ef3463e8dc
[backend] Rework note hard mutes
It's been shown that the current approach doesn't scale. This implementation should scale perfectly fine.
2023-11-27 19:43:45 +01:00
Laura Hausmann
2d475cb632
[backend] Fix html cache dbFallback for user profiles 2023-11-27 14:38:16 +01:00
Laura Hausmann
58d70d005f
[mastodon-client] Handle html cache misses properly 2023-11-27 01:02:12 +01:00
Laura Hausmann
7ab7edeefd
[mastodon-client] Improve html cache performance 2023-11-27 00:07:24 +01:00
Laura Hausmann
61c532a854
[mastodon-client] Add html cache for user profiles and note contents 2023-11-26 21:41:20 +01:00
Laura Hausmann
8890902675 [backend] Fix HTTP signature validation
Co-authored-by: perillamint <perillamint@silicon.moe>
Co-authored-by: yunochi <yuno@yunochi.com>
2023-11-26 20:34:25 +01:00
PrivateGER
b814ebcdfb Add setting for an autofollowed account on signup 2023-11-25 18:50:54 +01:00
AntoineÐ
4f9b5d9f72 fix branding gradient angle 2023-11-25 18:50:19 +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
7aa3bdb641
[backend] Use more efficient home timeline heuristics query 2023-11-24 04:08:10 +01:00
Laura Hausmann
fd6ee32832
[backend] Don't fetch more notes than requested 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
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
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
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
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
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
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
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
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
Laura Hausmann
b6ee1c5dc4
[mastodon-client] Add missing semicolon 2023-11-04 23:51:58 +01:00
Laura Hausmann
734c6685f7
[mastodon-client] Don't duplicate RE: for pleroma/akkoma quotes 2023-11-04 23:50:08 +01:00
Laura Hausmann
2166ea019d
[backend] Require authentication to view channels 2023-11-03 22:56:02 +01:00
Laura Hausmann
6d715cfef5
[backend] Don't return local only notes for guest users 2023-11-02 18:47:54 +01:00
Laura Hausmann
4dd8fdbd04
[backend] Refactor database transactions
This moves all code that isn't a direct call to transactionalEntityManager to outside of the transaction blocks, and removes all transaction blocks that were unnecessary
2023-10-25 17:03:08 +02:00
Laura Hausmann
7c56ee348b
[mastodon-client] Refresh user data in background on UserConverter.encode 2023-10-25 14:15:03 +02:00
Laura Hausmann
8c45d331ef
[mastodon-client] Bump compatible version to 4.2.1
This allows clients to detect support for features like "hide list members from home timeline"
2023-10-24 18:50:41 +02:00
Laura Hausmann
d025177d2c
[mastodon-client] Fix renoteMuting for streaming API 2023-10-22 23:00:31 +02:00
Laura Hausmann
89ab890331
[backend] [client] Add option to hide user lists from home timeline 2023-10-22 18:43:51 +02:00
Laura Hausmann
fdd8c28aed
[backend] Don't filter search-by-username-and-host by recently active by default 2023-10-22 18:43:51 +02:00
Laura Hausmann
11b3d4fa0a
[backend] Require users to be followed before adding them to lists 2023-10-21 23:56:34 +02:00
Laura Hausmann
7ad6bbd32c
[backend] Remove user list proxy account 2023-10-21 23:56:33 +02:00
Laura Hausmann
ed25373bc7
[mastodon-client] Return uri as url if status has no known url and is not local 2023-10-21 23:42:59 +02:00
Laura Hausmann
d8f13b6a06
[mastodon-client] Prefer status url over uri 2023-10-21 23:24:08 +02:00
Laura Hausmann
5c7a663320
[backend] Remove nsfw detection / tensorflow 2023-10-18 23:18:00 +02:00
Laura Hausmann
4748f30214
[mastodon-client] Prevent updateUserInBackground from running excessively 2023-10-18 13:20:20 +02:00
Laura Hausmann
32d471803c
[mastodon-client] Recurse one last time for reblogged quotes in NoteConverter.encode 2023-10-18 01:42:14 +02:00
Laura Hausmann
b48594ef68
[mastodon-client] Switch to isQuote for detecting quotes 2023-10-18 01:30:10 +02:00
Laura Hausmann
44fb31ab13
[mastodon-client] Use new backend service for user (profile) updates
This fixes profile updates not immediately federating when edited through the Mastodon client API.
2023-10-18 00:56:49 +02:00
Laura Hausmann
998bb1ae08
[mastodon-api] Only wait up to 1500 ms for mentions to update on /accounts/update_credentials 2023-10-18 00:03:45 +02:00
Laura Hausmann
b8bd0c9f3b
[backend] Use correct capitalization when rendering mentions 2023-10-17 22:36:28 +02:00
Laura Hausmann
4920b0c768
[backend] Federate outgoing invalid mentions as text 2023-10-17 20:53:36 +02:00
Laura Hausmann
5dcd4c4fff
[mastodon-client] Skip invalid mentions 2023-10-17 20:36:07 +02:00
Laura Hausmann
092462d3a9
[mastodon-client] Add content_type to /statuses/:id/source 2023-10-17 00:45:33 +02:00
Laura Hausmann
2830953862
[mastodon-client] Rework quote rendering 2023-10-17 00:25:24 +02:00
Laura Hausmann
775d8f6e3a
[mastodon-client] Return fqn field for accounts 2023-10-16 23:45:03 +02:00
Laura Hausmann
9c4466035e
[mastodon-client] Set class=hashtag for tags in mfm-to-html 2023-10-16 23:42:18 +02:00
Laura Hausmann
4a6d010724
[mastodon-client] Return text/x.misskeymarkdown as supported_mime_types in /v1/instance 2023-10-16 23:23:25 +02:00
Laura Hausmann
97176e00f9
[mastodon-client] Return content_type for statuses 2023-10-16 23:21:01 +02:00
Laura Hausmann
3cdf9eee94
[mastodon-client] Update mentions in background on /i/update 2023-10-16 00:54:57 +02:00
Laura Hausmann
34376b0718
[mastodon-client] Also refresh user profile data on /accounts/:id 2023-10-15 23:22:00 +02:00
Laura Hausmann
7c7c6a09a2
[mastodon-client] Refresh user profile data on /accounts/lookup 2023-10-15 23:13:58 +02:00
Laura Hausmann
82e0ef7414
[backend] Add mentions column to user_profile table 2023-10-15 21:57:59 +02:00
Laura Hausmann
bc08d8c92b
[mastodon-client] Ignore capitalization for hashtag timeline 2023-10-15 21:57:56 +02:00
Laura Hausmann
8719a6922e
[backend] More mentions fixes 2023-10-14 17:11:21 +02:00
Laura Hausmann
ce29c1dce2
[mastodon-client] Use improved mention parsing in mfm-to-html 2023-10-14 16:48:49 +02:00
Laura Hausmann
e5dc89c1cb
[mastodon-client] Fix type hints in AuthHelpers 2023-10-14 14:07:10 +02:00
Laura Hausmann
7b951f76ed
[mastodon-client] Add additional fields to /v1/apps response
This is undocumented under https://docs.joinmastodon.org/entities/Application/ but some apps expect it anyway.
2023-10-14 13:55:03 +02:00
Laura Hausmann
c46ea29ba3
[mastodon-client] Fix streaming API url
This fixes a regression where some clients were unable to connect to the streaming API.
The /mastodon suffix was previously removed in other parts of the code as too many clients didn't respect it, however it was not removed here, leaving clients that do respect it are unable to connect.
2023-10-14 13:30:31 +02:00
Laura Hausmann
d049de2935
[mastodon-client] Fix scopes parsing error in auth helper 2023-10-14 00:58:54 +02:00
Laura Hausmann
1c2b914164
[mastodon-client] Switch from MiAuth to OAuth 2023-10-14 00:19:10 +02:00
Laura Hausmann
b5393e41d0
[mastodon-client] Add support for public:allow_local_only stream 2023-10-13 23:54:55 +02:00
Laura Hausmann
f14b3cec97
[backend] Automatically generate vapid/web-push keys
Co-authored-by: Johann150 (563f3672a9)
2023-10-13 19:23:36 +02:00
Laura Hausmann
ef14e0221b
[backend] Ignore capitalization for remoteuserinfo in mfm-to-html 2023-10-13 02:20:55 +02:00
Laura Hausmann
da5939d1d6
[mastodon-client] Proper user search autocomplete 2023-10-12 21:46:34 +02:00
Laura Hausmann
0e39313ac4
[mastodon-client] Correctly parse invalid remote mentions 2023-10-12 21:39:18 +02:00
Laura Hausmann
0616edffa8
[mastodon-client] Return edit history in correct order 2023-10-12 20:51:35 +02:00
Laura Hausmann
5e61be286c
[mastodon-client] Add max_toot_chars to /v1/instance 2023-10-12 19:27:37 +02:00
Laura Hausmann
ef98c86958
[backend] Correctly return selected protocol for streaming API
This fixes compatibility with mastodon webclients in Google Chrome & derivatives
2023-10-12 17:59:41 +02:00
Laura Hausmann
9167ba593c
[mastodon-client] Omit paragraph tags for user profile fields 2023-10-12 16:29:48 +02:00
Laura Hausmann
19f8c0aafc
[mastodon-client] Improve mfm-to-html handling of links 2023-10-12 15:52:41 +02:00
Laura Hausmann
9f8e1e5579
[mastodon-client] Don't duplicate quote uri if it's already in the note text 2023-10-12 00:29:18 +02:00
Laura Hausmann
44c70df1a6
[mastodon-client] Fix mentions in user bios 2023-10-12 00:23:20 +02:00
Laura Hausmann
1ff5102e34
[backend] Format mentions in outgoing AP messages properly 2023-10-12 00:10:53 +02:00
Laura Hausmann
be28fae40f
[mastodon-client] Fix code block rendering
This doesn't work in all clients, but it works in more than the previous solution & matches what glitch-soc is doing.
2023-10-11 23:58:03 +02:00
Laura Hausmann
695528bed7
[mastodon-client] Log note lookup failures with logger instead of console 2023-10-11 19:55:26 +02:00
Laura Hausmann
1fdea9866a
[mastodon-client] Only display localpart for mentions in mfm-to-html 2023-10-11 19:15:56 +02:00
Laura Hausmann
f5c6cba3a6
[mastodon-client] Correctly render remote mentions of local users 2023-10-11 19:15:32 +02:00