Commit Graph

5286 Commits

Author SHA1 Message Date
Laura Hausmann
89bc799765
[mastodon-client] Fix login with clients that leave a trailing + in the scope parameter 2023-11-27 23:11:54 +01:00
Laura Hausmann
7c5bc06bb8
[backend] Actually utilize packed user cache in notes.packMany 2023-11-27 22:33:06 +01:00
Laura Hausmann
913f1659b3
[backend] Use correct identifier for filteredNoteCache 2023-11-27 22:22:24 +01:00
Laura Hausmann
436fb826ac
[client] Fix copyToClipboard so it no longer copies things with weird formatting
This also switches to a non-deprecated clipboard API
2023-11-27 22:20:14 +01:00
Laura Hausmann
8a7c7cb0c9
[backend] Increase length of database columns containing hostnames 2023-11-27 21:58:26 +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
683e01d286
[backend] Improve updateUserProfileData
Now only runs updateMentions once, and correctly triggers prewarmCacheById
2023-11-27 01:37:00 +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
6832347b6c
[backend] Set updatedAt on local user update 2023-11-26 21:41:19 +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
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
8a6101059f
[client] Revert pull-to-refresh changes for now 2023-11-24 18:30:05 +01:00
Laura Hausmann
cbedd28724
[client] Upgrade vue and vite to their respective latest versions 2023-11-24 05:08:11 +01:00
Laura Hausmann
706ff84d8d
[client] Reset lastFetchScrollTop on MkPagination reload 2023-11-24 04:31:27 +01:00
Laura Hausmann
55f5966343
[client] Add custom pull-to-refresh component to MkPagination 2023-11-24 04:08:19 +01:00
Laura Hausmann
7aa3bdb641
[backend] Use more efficient home timeline heuristics query 2023-11-24 04:08:10 +01:00
Laura Hausmann
d408bdd6aa
[client] Further adjust timeline prefetch parameters 2023-11-24 00:33:34 +01:00
Laura Hausmann
dc7d06ff74
[client] Remove debug logging 2023-11-24 00:20:56 +01:00
Laura Hausmann
c742729796
[client] Adjust timeline prefetch parameters 2023-11-24 00:20:07 +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
f9f7553ecd
[client] Improve prefetchMore debounce 2023-11-23 19:35:50 +01:00
Laura Hausmann
248bf22b94
[client] Use defaultStore instead of $store, debounce fetches 2023-11-23 19:08:37 +01:00
Laura Hausmann
9a34c38d0b
[client] Fix smart timeline fetching 2023-11-23 18:36:07 +01:00
Laura Hausmann
151e7499c3
[client] Smarter timeline fetching 2023-11-23 18:18:05 +01:00
Laura Hausmann
c347eca737
[client] Remove url card animation 2023-11-23 17:17:29 +01:00
Laura Hausmann
789fd97512
[client] Allow async+lazy rendering of all images in timeline views 2023-11-23 17:16:52 +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
b4214d257f
[client] Disable overscroll for root element 2023-11-23 01:16:02 +01:00
Laura Hausmann
5132411e76
[client] Provide option to use vue devtools despite NODE_ENV=production
In theory we wouldn't need this but since the UI is completely unresponsive if NODE_ENV is set to development, this provides partial frontend debugging support until that issue is fixed.
2023-11-22 23:18:40 +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
efde111779
[client] Fix search filter syntax window replacing the page title 2023-11-20 20:39:22 +01:00
Laura Hausmann
a660ea6dea
[client] Don't display back button for search page 2023-11-19 16:47:16 +01:00
Laura Hausmann
51065dd170
[client] Fix search page behavior in windows 2023-11-19 16:22:09 +01:00
Laura Hausmann
e5a003d6fb
[client] Fix search page not being rendered when query is empty 2023-11-19 04:35:52 +01:00
Laura Hausmann
47d4b3aba1
[client] Fix spaces in search query parameter parsing 2023-11-19 04:18:15 +01:00
Laura Hausmann
78c5e1dcdb
[client] Fix guest search disclaimer not being displayed properly 2023-11-19 03:58:36 +01:00
Laura Hausmann
b346cc20d9
[client] Fix search tab reactivation 2023-11-19 03:51:13 +01:00
Laura Hausmann
16057fb237
[client] Don't load inactive tabs in search 2023-11-19 03:51:13 +01:00
Laura Hausmann
a703638199
[client] Don't show FTS filters in user search and guest view 2023-11-19 03:51:13 +01:00
Laura Hausmann
dcee692caf
[client] Add in:favorites and in:bookmarks to FTS filter menu 2023-11-19 03:51:12 +01:00
Laura Hausmann
ee4b58dee8
[client] Add proper search page 2023-11-19 03:51:12 +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
4f3bf91e7f
[client] Remove post indexing UI 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
AntoineÐ
84e8e095ec
#212 remove sub label 2023-11-10 02:05:03 +01:00
AntoineÐ
239d073a59
#212 i18n fix 2023-11-10 02:05:03 +01:00
AntoineÐ
c33189bb63
#212 /about-iceshrimp grid links 2023-11-10 02:05:03 +01:00
AntoineÐ
5cfc5783fb
#212 Enhanced /about-iceshrimp 2023-11-10 02:05:03 +01:00
AntoineÐ
9b36a544d8
#225 Fix local only icon 2023-11-10 02:04:31 +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
Laura Hausmann
42aa8b7126
[backend] Remove cache server configuration, migrate back to unified redis in-memory cache 2023-11-05 15:03:17 +01:00
Laura Hausmann
9d4f74d290
[backend] Add _misskey_summary field
This fixes federation of MFM in user bios between *key instances

Co-authored-by: default avatarkakkokari-gtyih <daisho7308+f@gmail.com>
ref: https://github.com/misskey-dev/misskey/pull/12184
2023-11-05 14:49:51 +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
35c75bbebf
[backend] Reset poll votes when choices change on note edit 2023-11-04 23:22:34 +01:00
Laura Hausmann
8b78709378
[backend] Fix errors in updateNote
This fixes incoming federation of poll edits
2023-11-04 23:08:29 +01:00
Laura Hausmann
dbdd60d89f
[client] Add wellness preferences 2023-11-04 22:24:05 +01:00
Laura Hausmann
3c2143efd5
[client] Include another missing setting in preference backups 2023-11-04 20:38:14 +01:00
Laura Hausmann
cc62237ae8
[client] Include missing settings in preference backups
Resolves #272
2023-11-04 20:37:14 +01:00
Laura Hausmann
0e03f305cb
Change icon for 'Mark as read' buttons 2023-11-04 19:44:13 +01:00
Aylam
7d85de4d5c Don't show tooltips when touch input is used 2023-11-04 17:23:03 +02:00
Laura Hausmann
8231d8910e
[client] Use i18n strings for the reworked OAuth login page 2023-11-04 00:37:25 +01:00
Laura Hausmann
093f13646e
[client] Rework OAuth login page 2023-11-04 00:34:48 +01:00
Laura Hausmann
be02bc78ad
[client] Hide channels from guest view 2023-11-03 22:56:03 +01:00
Laura Hausmann
2166ea019d
[backend] Require authentication to view channels 2023-11-03 22:56:02 +01:00
Aylam
fe2a97a6c3
Remove title attribute from MkUrl 2023-11-03 22:32:28 +01:00
Aylam
e007004a72
Remove 'Twitter (soon)' option 2023-11-03 22:31:17 +01:00
Aylam
cd82073953
Extend CW and 'Show more' buttons to post edges 2023-11-03 22:31:00 +01:00
Laura Hausmann
00b8622612
[client] Make switch layout a toggle instead of a dropdown 2023-11-03 22:22:42 +01:00
Laura Hausmann
cd48af6393
[backend] Fix polls not federating properly to non-*key servers
This fixes a regression that caused the `content` attribute of rendered notes with polls attached to be set to `{}`, causing undefined behavior in Mastodon & Akkoma. Misskey & forks just use the `_misskey_content` attribute, which was unaffected.
2023-11-03 16:09:54 +01:00
Aylam
8b44e32a1a
Remove 'Centered' layout 2023-11-03 14:41:49 +01:00
Laura Hausmann
1e2045bf33
[backend] Correctly handle tags on edit 2023-11-03 13:49:46 +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
b100b88971
Migrate from rome to biome 2023-10-27 16:46:38 +02:00
Laura Hausmann
c49780bcee
Fix build on NodeJS 21 2023-10-26 18:38:39 +02:00
Laura Hausmann
a63ad0c132
Revert "Rename Vue files for consistency"
This reverts commit dad096ee4c4d085670b64c929bf46f65cd4c9c30.
2023-10-25 20:30:32 +02:00
Aylam
38412e5b48
Rename Vue files for consistency 2023-10-25 18:44:51 +02:00
Laura Hausmann
80c9280682
[backend] Decrease default RecursionLimiter count to 10 2023-10-25 18:11:30 +02:00
Laura Hausmann
1cbfd68a39
[backend] Also use RecursionLimiter for parseAudience and noteCreateService 2023-10-25 18:10:23 +02: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
2575588fa3
[backend] Use a recursion limiter for user profile mentions instead of disabling recursion altogether 2023-10-25 13:49:10 +02:00
Laura Hausmann
9b13ec9c0c
[backend] Catch errors in refetchPublicKeyForApId 2023-10-24 20:44:30 +02:00
Laura Hausmann
3b85491ee4
[backend] Don't recursively resolve user profile mentions 2023-10-24 18:50:41 +02:00
Laura Hausmann
7c8881f1a8
[backend] Limit user profile mentions queue to a concurrency of 5 2023-10-24 18:50:41 +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
10865168bf
[backend] Fix UserListJoining delete query on unfollow 2023-10-22 22:50:47 +02:00
Laura Hausmann
c7dc059116
[backend] Cleaner workaround for GoToSocial federation with authorized fetch 2023-10-22 22:00:17 +02:00
Laura Hausmann
496454cf1f
[backend] Fix initial federation initiated by GoToSocial in secure mode
This bypasses GoToSocial issue #1186 (ref: https://github.com/superseriousbusiness/gotosocial/issues/1186)
2023-10-22 19:43: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
37ac6addd2
[backend] Remove unfollowed users from existing lists with migration 2023-10-22 18:43:51 +02:00
Laura Hausmann
d1cf1b5611
[backend] Remove user from list on unfollow 2023-10-21 23:56:34 +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
04fa6bef15
[backend] Improved http signature verification checks
This fixes an edge case where federation with split domain instances could fail.
2023-10-21 22:39:03 +02:00
Laura Hausmann
1f53affd76
Upgrade versions of dependencies with critical vulnerabilities 2023-10-20 23:16:11 +02:00
Laura Hausmann
97c733dd72
[backend] Add cache for resolveMentionToUserAndProfile 2023-10-20 20:20:49 +02:00
Laura Hausmann
544b5a1678
[backend] Use a semaphore around populateMentions
This fixes a user-generated DoS payload for giant webring-style trees of mentions in user bios that could cause backend stalls.
2023-10-20 20:16:01 +02:00
Laura Hausmann
9b96b54c3c
[backend] Add start:debug command 2023-10-20 16:47:18 +02:00