Ezeani Emmanuel
3fa791d71f
[backend] Improve custom TypeORM logger with configurable logging options
...
Co-authored-by: Laura Hausmann <laura@hausmann.dev>
2024-04-11 17:22:45 +02:00
Laura Hausmann
74a3375886
[backend] Add quote_id to mastodon api note responses
2024-04-10 18:21:59 +02:00
Laura Hausmann
5a30581c73
[backend] Fix autofollowedAccount being set to random (possibly non-local) users on update-meta
2024-04-08 20:39:41 +02:00
Laura Hausmann
41cb218aa8
[backend] Set X-Content-Type-Options to nosniff on the drive files endpoint
2024-03-30 13:11:15 +01:00
Laura Hausmann
cf506d3bd9
[backend] Reject anonymous objects in the AP resolver
2024-03-30 13:11:09 +01:00
Laura Hausmann
ac57c58ecf
[backend] Stricter validation of activity identifiers
...
This resolves a security issue that was disclosed on 2024-03-24 & patched in coordination with other affected software on 2024-03-30.
Huge thanks to Oneric for the detailed security disclosure.
2024-03-30 13:11:03 +01:00
Crimekillz
74df0b3602
Fix bug: Pass reference to Note OBJ when creating notifications for Poll Vote and Poll End so muted threads can be resolved correctly
2024-03-26 16:24:19 +01:00
Laura Hausmann
01fbd1a5c7
[backend] Fix video playback for files hosted from different origins
2024-03-18 15:34:14 +01:00
CookiLover311
ccec3e7e63
[mastodon-client] Add default reaction to /v1/instance
2024-03-01 14:25:41 +01:00
老周部落
3824767cc9
[backend] Fix resolver cannot parse some follows and notes request
2024-02-26 08:49:45 +01:00
naskya
e9ef70e272
fix (backend): check url properly
...
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-02-26 00:11:21 +01:00
Laura Hausmann
e2cff0340f
[backend] When fetching activities, specify the acceptable JSON-LD profile explicitly
2024-02-17 16:11:23 +01:00
Laura Hausmann
099ba9ce65
[backend] Enforce JSON-LD profile when fetching activities
2024-02-17 15:59:24 +01:00
Laura Hausmann
31122636d3
[backend] Fix federation for incoming note edits with an attachment that has no alt text
2024-02-17 04:04:25 +01:00
Laura Hausmann
5f6096c1b7
[backend] Verify object id host matches final URL when fetching remote activities
2024-02-16 18:42:23 +01:00
Laura Hausmann
9fc45f166c
[backend] Verify response content type when fetching remote activities
2024-02-16 18:42:22 +01:00
Laura Hausmann
129cc4408a
[mastodon-client] Register full OAuth scopes as well
2024-02-14 23:56:11 +01:00
Laura Hausmann
3399187302
[mastodon-client] Fix /v2/suggestions endpoint (undocumented API behavior strikes again)
2024-02-14 23:55:50 +01:00
Laura Hausmann
e49d168ecd
[mastodon-client] Add support for quote_id parameter when creating posts ( #515 )
2024-02-13 16:51:08 +01:00
Laura Hausmann
4b20ab6ad4
[backend] Fix typo in audience.ts isPublic check
2024-02-07 19:56:02 +01:00
Laura Hausmann
1378037384
[backend] Only allow author to see hidden posts
2024-02-04 20:23:42 +01:00
Laura Hausmann
f14c5ed4ef
[backend/frontend] Disable post imports for security reasons
2024-02-04 20:12:51 +01:00
Laura Hausmann
a1460503cf
Make sure unresponsive split domain instances that come back to life don't get stuck isNotResponding
2024-01-30 18:27:06 +01:00
Laura Hausmann
7ed43b76b5
Improve dead instances pruning
...
This fixes a couple edge cases in which inactive but working instances could be caught by the dead instances filter
2024-01-30 18:00:54 +01:00
Laura Hausmann
0d28b07203
Don't send activities to dead instances
...
Co-authored-by: Johann150 <johann.galle@protonmail.com>
2024-01-29 21:50:05 +01:00
Laura Hausmann
197002df8a
[backend] Fix emojis with special characters
...
This is an adaptation of 3968a6ca07
and ada577bde6
Co-authored-by: Johann150 <johann.galle@protonmail.com>
2024-01-04 23:55:00 +01:00
Laura Hausmann
52b0c6c8f8
[backend] Add a new index to the user table for faster notifications queries
...
This should drastically improve performance of the i/notification endpoint
2023-12-16 17:43:15 +01:00
Laura Hausmann
384fb76a26
[backend] Add a new index to the note table for faster generation of following query heuristics
2023-12-15 23:56:16 +01:00
Laura Hausmann
0cb6f578ad
[backend] Don't join avatar and banner on i/notifications
...
This was an oversight on the recent database refactor and is no longer required
2023-12-14 20:34:24 +01:00
Pyrox
60f7e2cf6a
[feat] Remove Twitter Integration
2023-12-04 13:49:36 +01:00
AntoineÐ
042e8c552d
enhanced boot.js style
2023-12-04 13:39:46 +01:00
AntoineÐ
d0e995639b
fix boot.js color with new branding
2023-12-04 13:39:46 +01:00
Laura Hausmann
4a90408386
[backend] Don't proxy relative URLs
...
This fixes the instance icon for the local instance not being rendered correctly. Resolves #426
2023-12-04 13:34:36 +01:00
Laura Hausmann
2e8598acb5
[mastodon-client] Fix /v1/accounts/relationships for clients that don't use the id[] parameter
2023-11-30 16:45:00 +01:00
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
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
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
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
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
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
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