Commit graph

10261 commits

Author SHA1 Message Date
4cab6a9db0 Fix tests and regressions
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-23 17:05:52 +02:00
Lain Soykaf
a566ad56e1 QdrantSearch: Fix actor / author restriction 2024-05-23 18:55:16 +04:00
38bff08bad Fix warning
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-23 13:13:24 +02:00
Lain Soykaf
94e4f21589 QdrantSearch: Deal with actor restrictions 2024-05-23 14:38:30 +04:00
2478532869 Fix warnings
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-23 12:12:56 +02:00
Lain Soykaf
f726e5fbbd Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into qdrant-search-2 2024-05-22 20:07:43 +04:00
9876411269 Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-22 17:17:04 +02:00
d0b18e338b Fix validate_webfinger when running a different domain for Webfinger
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-22 15:52:35 +02:00
1f2f7e044d Revert "Webfinger: Allow managing account for subdomain"
This reverts commit 84bb854056.
2024-05-22 15:52:10 +02:00
Lain Soykaf
84bb854056 Webfinger: Allow managing account for subdomain 2024-05-22 15:12:29 +04:00
Alex Gleason
b15f8b0642 Prevent webfinger spoofing 2024-05-22 12:57:45 +04:00
ef50dd588b Merge branch 'fork' into multilang 2024-05-21 13:57:28 +02:00
lain
7fca598268 Merge branch 'status-notification-type' into 'develop'
Add "status" notification type

See merge request pleroma/pleroma!3659
2024-05-21 05:01:45 +00:00
7a2b731f25 Fix get_notified_from
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-20 23:34:13 +02:00
d7f90782e2 Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-20 23:32:49 +02:00
36fa0debfe Fix get_notified_from
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-20 23:25:50 +02:00
Lain Soykaf
c67506ba68 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into auth-fetch-exception 2024-05-20 18:21:46 +04:00
lain
e8cd6662eb Merge branch 'familiar-followers' into 'develop'
Implement `/api/v1/accounts/familiar_followers`

See merge request pleroma/pleroma!4098
2024-05-19 12:05:55 +00:00
Lain Soykaf
1b4f1db9b2 QdrantSearch: Support pagination. 2024-05-19 14:41:05 +04:00
Lain Soykaf
72ec261a69 B QdrantSearch: Switch to OpenAI api 2024-05-19 12:17:46 +04:00
Lain Soykaf
cc1321ea2e Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into qdrant-search-2 2024-05-19 11:51:33 +04:00
lain
401aca2548 Merge branch 'mark-read' into 'develop'
PleromaAPI: Simplify marking notifications as read

See merge request pleroma/pleroma!4111
2024-05-19 07:48:32 +00:00
8dfd0797f3 Fix multilanguage, add feature to InstanceView
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-18 22:42:09 +02:00
Mark Felder
d07d49227f PleromaAPI: marking notifications as read no longer returns notifications 2024-05-18 18:17:35 +00:00
3d4510efee Merge remote-tracking branch 'mkljczk-github/fork' into multilang 2024-05-18 16:12:28 +02:00
Lain Soykaf
3345ddd2d4 Linting 2024-05-18 15:02:22 +04:00
Lain Soykaf
7923ede8ba Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into qdrant-search-2 2024-05-18 14:45:26 +04:00
Lain Soykaf
e3933a067f QdrantSearch: Implement post deletion 2024-05-18 14:04:32 +04:00
Lain Soykaf
933117785f QdrantSearch: Add basic test 2024-05-18 13:43:47 +04:00
2e76ceb5b4 Merge remote-tracking branch 'origin/develop' into status-notification-type
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-18 11:30:25 +02:00
cc4fccdd80 Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-17 18:44:47 +02:00
feld
9988dc2227 Revert "Merge branch 'strip-object-actor' into 'develop'"
This reverts merge request !4105
2024-05-16 23:33:48 +00:00
56f19a7e56 Fix language dectection when creating posts
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-16 22:29:01 +02:00
Mark Felder
7f8a9329e5 Startup detection for configured MRF modules that are missing or incorrectly defined 2024-05-16 16:13:29 -04:00
Lain Soykaf
a9be4907c0 SearchBackend: Add drop_index 2024-05-16 10:47:24 +04:00
feld
e944b15298 Merge branch 'strip-object-actor' into 'develop'
Strip actor from objects before federating

Closes #3269

See merge request pleroma/pleroma!4105
2024-05-15 20:51:47 +00:00
feld
53ef576739 Merge branch 'instance_rules' into 'develop'
Instance rules

See merge request pleroma/pleroma!3669
2024-05-15 20:29:04 +00:00
feld
8da103da57 Merge branch 'fix-muted-web-push' into 'develop'
Fix processing of Web Push and streaming notifications

See merge request pleroma/pleroma!4032
2024-05-15 20:12:41 +00:00
548473a818 Remove unused and fix
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-15 00:04:08 +02:00
tusooa
3d3162f3e6 Make no_placeholder_text_policy multilang-aware 2024-05-14 23:48:28 +02:00
tusooa
fb2688952f Make normalize_markup multilang aware 2024-05-14 23:48:24 +02:00
tusooa
e958ec57db Make no_empty_policy multilang-aware 2024-05-14 23:48:21 +02:00
tusooa
9354ee31d2 Make keyword_policy multilang-aware 2024-05-14 23:48:18 +02:00
tusooa
2d66faf9a4 Make force_mentions_in_content multilang aware
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:48:14 +02:00
tusooa
cd0260f309 Make ensure_re_prepended multilang-aware
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:47:41 +02:00
tusooa
792e495180 Fix tests 2024-05-14 23:47:14 +02:00
tusooa
9555e630fd Post single-language status with language attribute 2024-05-14 23:47:10 +02:00
tusooa
c4cec5fd6a Render language attr of a status
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:47:05 +02:00
tusooa
afab622520 Fix article_note_page_validator_test 2024-05-14 23:46:04 +02:00
tusooa
c34a4d816f Accept description_map when updating media
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:45:58 +02:00
tusooa
a9b1589528 Validate multilang map
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:44:47 +02:00
tusooa
023eae28d6 Move validating multilang map into MultiLanguage 2024-05-14 23:43:50 +02:00
tusooa
88ff45e064 Fix unit tests 2024-05-14 23:43:45 +02:00
tusooa
4d2813ae41 Accept multilang descriptions when uploading attachments
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:43:36 +02:00
tusooa
7222cebdb6 Use MultiLanguage func to convert str to map
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:42:28 +02:00
tusooa
b1bdbdcf05 Accept multilang polls on MastoAPI 2024-05-14 23:42:15 +02:00
tusooa
72a2b3329e Accept status_map and spoiler_text_map in POST statuses
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:42:07 +02:00
tusooa
0d96c04019 Accept map of strings in ActivityDraft
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:37:44 +02:00
tusooa
e11d4b6923 Render multilang in polls
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:36:04 +02:00
tusooa
6b20df1e2d Render multilang for attachments 2024-05-14 23:35:32 +02:00
tusooa
64db6ce871 Render multilang of sources
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:35:23 +02:00
tusooa
ad8f47fe8f Display multilang in history items 2024-05-14 23:34:58 +02:00
tusooa
39cdde78e1 Render status with multilang maps
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:34:48 +02:00
tusooa
4cfd7b4f79 Convert nameMap in question options 2024-05-14 23:22:57 +02:00
tusooa
5c62c50e9b Generate * from *Map
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:22:45 +02:00
tusooa
4bcae3597f Treat empty maps as nils 2024-05-14 23:20:29 +02:00
tusooa
d86a1e73e9 Fix compile warning 2024-05-14 23:20:26 +02:00
tusooa
dbebd7fbf4 Validate language codes in MapOfString 2024-05-14 23:20:18 +02:00
tusooa
8822dc1191 Add functions to process multi-language content
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:20:12 +02:00
tusooa
00591d9016 Add support for *Map attributes
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:19:45 +02:00
adbd40049d Merge remote-tracking branch 'mkljczk-github/fork' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 18:11:23 +02:00
7a03e49c4d Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 18:10:03 +02:00
8c3f306c62 Revert to pleroma' card parser
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 17:54:13 +02:00
aceff8c128 Remove duplicated code
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 16:44:33 +02:00
Lain Soykaf
1261c43a7a SearchBackend: Add create_index 2024-05-14 17:19:36 +04:00
Lain Soykaf
1490ff30af QdrantSearch: Add query prefix. 2024-05-14 15:09:38 +04:00
Lain Soykaf
bb08a766f4 QdrantSearch: Remove debugging stuff 2024-05-14 14:26:41 +04:00
Lain Soykaf
cd7e2138d1 Search: Basic Qdrant/Ollama search 2024-05-14 14:13:37 +04:00
feld
c954437cc0 Merge branch 'mastodon-instance-v2' into 'develop'
Add new values to /api/v2/instance

Closes #3250 and #3251

See merge request pleroma/pleroma!4106
2024-05-11 12:11:00 +00:00
Mark Felder
16c72d0701 Merge branch 'develop' into fix-muted-web-push 2024-05-11 08:06:04 -04:00
818d9f7b63 Include image description in status media cards
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-08 13:40:26 -04:00
Mark Felder
54c2bab25f Fix module struct matching 2024-05-07 22:27:18 -04:00
Mark Felder
9a83301ff8 Credo 2024-05-07 22:11:19 -04:00
Mark Felder
37c35daba6 Credo 2024-05-07 22:10:49 -04:00
Mark Felder
9b9a32bf74 Fix compile warning
warning: "else" clauses will never match because all patterns in "with" will always match
  lib/pleroma/web/rich_media/parser/ttl/opengraph.ex:10
2024-05-07 21:56:27 -04:00
Mark Felder
19002fd6c1 Mastodon API: Remove deprecated GET /api/v1/statuses/:id/card endpoint
Removed back in 2019

https://github.com/mastodon/mastodon/pull/11213
2024-05-08 01:44:58 +00:00
Mark Felder
5a5a193877 Fix broken Rich Media parsing when the image URL is a relative path 2024-05-07 19:54:56 -04:00
Mark Felder
d21aa1a77c Respect the TTL returned in OpenGraph tags 2024-05-07 19:54:56 -04:00
Mark Felder
df0734fcbf Increase the :max_body for Rich Media to 5MB
Websites are increasingly getting more bloated with tricks like inlining content (e.g., CNN.com) which puts pages at or above 5MB. This value may still be too low.
2024-05-07 19:54:56 -04:00
Mark Felder
ede414094f RichMedia refactor
Rich Media parsing was previously handled on-demand with a 2 second HTTP request timeout and retained only in Cachex. Every time a Pleroma instance is restarted it will have to request and parse the data for each status with a URL detected. When fetching a batch of statuses they were processed in parallel to attempt to keep the maximum latency at 2 seconds, but often resulted in a timeline appearing to hang during loading due to a URL that could not be successfully reached. URLs which had images links that expire (Amazon AWS) were parsed and inserted with a TTL to ensure the image link would not break.

Rich Media data is now cached in the database and fetched asynchronously. Cachex is used as a read-through cache. When the data becomes available we stream an update to the clients. If the result is returned quickly the experience is almost seamless. Activities were already processed for their Rich Media data during ingestion to warm the cache, so users should not normally encounter the asynchronous loading of the Rich Media data.

Implementation notes:

- The async worker is a Task with a globally unique process name to prevent duplicate processing of the same URL
- The Task will attempt to fetch the data 3 times with increasing sleep time between attempts
- The HTTP request obeys the default HTTP request timeout value instead of 2 seconds
- URLs that cannot be successfully parsed due to an unexpected error receives a negative cache entry for 15 minutes
- URLs that fail with an expected error will receive a negative cache with no TTL
- Activities that have no detected URLs insert a nil value in the Cachex :scrubber_cache so we do not repeat parsing the object content with Floki every time the activity is rendered
- Expiring image URLs are handled with an Oban job
- There is no automatic cleanup of the Rich Media data in the database, but it is safe to delete at any time
- The post draft/preview feature makes the URL processing synchronous so the rendered post preview will have an accurate rendering

Overall performance of timelines and creating new posts which contain URLs is greatly improved.
2024-05-07 19:54:56 -04:00
feld
750fb25f48 Revert "Merge branch 'pleroma-card-image-description' into 'develop'"
This reverts merge request !4101
2024-05-07 23:20:38 +00:00
Mark Felder
06c26bf9c9 Add the absent max_featured_tags to the api spec for /api/v1/instance 2024-05-07 17:46:05 -04:00
Mark Felder
b979389958 Add configuration[accounts][max_pinned_statuses] to /api/v2/instance
Also add the absent max_featured_tags to the api spec for /api/v2/instance
2024-05-07 17:45:02 -04:00
Mark Felder
3cad57bf48 Add configuration[statuses][characters_reserved_per_url] to /api/v2/instance
Fixes #3250
2024-05-07 17:25:30 -04:00
Mark Felder
dd03184811 Strip actor from objects before federating 2024-05-07 11:54:45 -04:00
0e608c98b2 Rename project to pl
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-28 23:02:11 +02:00
0bf8a2e38c Merge remote-tracking branch 'origin/develop' into HEAD
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-27 20:26:16 +02:00
Haelwenn
88412daf11 Apply @lanodan's suggestion
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-25 12:34:12 +02:00
lain
50af909c01 Merge branch 'pleroma-card-image-description' into 'develop'
Include image description in status media cards

See merge request pleroma/pleroma!4101
2024-04-19 07:39:05 +00:00
6f6bede900 Include image description in status media cards
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-19 10:20:31 +04:00