Weblate
babf5df0e7
Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://translate.akkoma.dev/projects/akkoma/akkoma-backend-config-descriptions/
Translation: Pleroma fe/Akkoma Backend (Config Descriptions)
2024-06-17 21:53:04 +00:00
Weblate
5767f59294
Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://translate.akkoma.dev/projects/akkoma/akkoma-backend-config-descriptions/
Translation: Pleroma fe/Akkoma Backend (Config Descriptions)
2024-06-17 21:53:04 +00:00
Weblate
72ce0b7759
Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://translate.akkoma.dev/projects/akkoma/akkoma-backend-config-descriptions/
Translation: Pleroma fe/Akkoma Backend (Config Descriptions)
2024-06-17 21:53:04 +00:00
Weblate
0cf9b44179
Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://translate.akkoma.dev/projects/akkoma/akkoma-backend-config-descriptions/
Translation: Pleroma fe/Akkoma Backend (Config Descriptions)
2024-06-17 21:53:04 +00:00
Weblate
3cf335c4d0
Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://translate.akkoma.dev/projects/akkoma/akkoma-backend-config-descriptions/
Translation: Pleroma fe/Akkoma Backend (Config Descriptions)
2024-06-17 21:53:04 +00:00
Weblate
1556e2be8e
Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://translate.akkoma.dev/projects/akkoma/akkoma-backend-config-descriptions/
Translation: Pleroma fe/Akkoma Backend (Config Descriptions)
2024-06-17 21:53:04 +00:00
Weblate
629077dce4
Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://translate.akkoma.dev/projects/akkoma/akkoma-backend-config-descriptions/
Translation: Pleroma fe/Akkoma Backend (Config Descriptions)
2024-06-17 21:53:04 +00:00
Weblate
50256af6f6
Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://translate.akkoma.dev/projects/akkoma/akkoma-backend-config-descriptions/
Translation: Pleroma fe/Akkoma Backend (Config Descriptions)
2024-06-17 21:53:04 +00:00
Weblate
c5d36d9679
Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://translate.akkoma.dev/projects/akkoma/akkoma-backend-config-descriptions/
Translation: Pleroma fe/Akkoma Backend (Config Descriptions)
2024-06-17 21:53:04 +00:00
Weblate
fb4c5b97c7
Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://translate.akkoma.dev/projects/akkoma/akkoma-backend-config-descriptions/
Translation: Pleroma fe/Akkoma Backend (Config Descriptions)
2024-06-17 21:53:04 +00:00
Weblate
a715cf4b3c
Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://translate.akkoma.dev/projects/akkoma/akkoma-backend-config-descriptions/
Translation: Pleroma fe/Akkoma Backend (Config Descriptions)
2024-06-17 21:53:04 +00:00
Weblate
693a6486da
Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://translate.akkoma.dev/projects/akkoma/akkoma-backend-config-descriptions/
Translation: Pleroma fe/Akkoma Backend (Config Descriptions)
2024-06-17 21:53:03 +00:00
Weblate
4e353f0335
Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://translate.akkoma.dev/projects/akkoma/akkoma-backend-config-descriptions/
Translation: Pleroma fe/Akkoma Backend (Config Descriptions)
2024-06-17 21:53:03 +00:00
floatingghost
5992e8bb16
Merge pull request 'Update http-signatures dep, allow created header' ( #800 ) from created-pseudoheader into develop
...
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/800
2024-06-17 21:52:59 +00:00
Floatingghost
57273754b7
we may as well handle (expires) as well
2024-06-17 22:30:14 +01:00
floatingghost
59bfdf2ca4
Merge pull request 'Add limit CLI flags to prune jobs' ( #655 ) from Oneric/akkoma:prune-batch into develop
...
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/655
2024-06-17 20:47:53 +00:00
floatingghost
a9e2e31e3b
Merge pull request 'Remove proxy_remote vestiges' ( #805 ) from Oneric/akkoma:purge_proxy_remote into develop
...
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/805
2024-06-17 20:47:11 +00:00
Oneric
bf8f493ffd
Remove proxy_remote vestiges
...
Ever since 364b6969eb
this setting wasn't used by the backend and a noop.
The stated usecase is better served by setting the base_url
to a local subdomain and using proxying in nginx/Caddy/...
2024-06-16 01:21:52 +02:00
Floatingghost
2b96c3b224
Update http-signatures dep, allow created header
2024-06-12 18:40:44 +01:00
floatingghost
b03edb4ff4
Merge pull request 'Fix StealEmoji’s max size check' ( #793 ) from Oneric/akkoma:emojistealer_contentlength into develop
...
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/793
2024-06-12 17:09:05 +00:00
floatingghost
5b75fb2a2f
Merge pull request 'pool timeouts/rich media cherry-picks' ( #796 ) from pool-timeouts into develop
...
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/796
2024-06-12 17:08:06 +00:00
Floatingghost
4d6fb43cbd
No need to spawn() any more
2024-06-12 02:09:24 +01:00
Floatingghost
ad52135bf5
Convert rich media backfill to oban task
2024-06-11 18:06:51 +01:00
Floatingghost
28d357f52c
add diagnostic script
2024-06-10 15:10:47 +01:00
Floatingghost
9c5feb81aa
fix tests
2024-06-09 21:26:29 +01:00
Floatingghost
a360836ce3
fix oembed test
2024-06-09 21:17:12 +01:00
Floatingghost
840c70c4fa
remove prints
2024-06-09 18:52:09 +01:00
Floatingghost
c65379afea
attempt to fix some tests
2024-06-09 18:45:38 +01:00
Floatingghost
16bed0562d
Fix tests
2024-06-09 18:28:00 +01:00
Mark Felder
a801dd7b07
Fix module struct matching
2024-06-09 17:38:28 +01:00
Mark Felder
1e86da43f5
Credo
2024-06-09 17:38:24 +01:00
Mark Felder
411831458c
Credo
2024-06-09 17:38:18 +01:00
Mark Felder
56463b2121
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-06-09 17:38:12 +01:00
Mark Felder
2f5eb79473
Mastodon API: Remove deprecated GET /api/v1/statuses/:id/card endpoint
...
Removed back in 2019
https://github.com/mastodon/mastodon/pull/11213
2024-06-09 17:38:06 +01:00
Mark Felder
f4daa90bd8
Remove test validating missing descriptions are returned as an empty string
2024-06-09 17:37:59 +01:00
Mark Felder
688748b531
Improve test description
2024-06-09 17:37:32 +01:00
Mark Felder
2e5aa71176
Rich Media Cards are fetched asynchonously and not guaranteed to be available on first post render
2024-06-09 17:37:22 +01:00
Mark Felder
7ca655a999
Rich Media Cards are cached by URL not per status
2024-06-09 17:36:57 +01:00
Mark Felder
4746f98851
Fix broken Rich Media parsing when the image URL is a relative path
2024-06-09 17:36:28 +01:00
Mark Felder
765c7e98d2
Respect the TTL returned in OpenGraph tags
2024-06-09 17:36:15 +01:00
Mark Felder
ddbe989461
Fix broken tests
2024-06-09 17:35:47 +01:00
Floatingghost
4a3dd5f65e
lost in cherry-pick
2024-06-09 17:34:41 +01:00
Mark Felder
bfe4152385
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-06-09 17:34:29 +01:00
Mark Felder
5da9cbd8a5
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-06-09 17:33:48 +01:00
Floatingghost
a924e117fd
Add pool timeouts
2024-06-09 17:20:29 +01:00
floatingghost
d1c4b97613
Merge pull request 'Raise minimum PostgreSQL version to 12' ( #786 ) from Oneric/akkoma:psql-min-ver into develop
...
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/786
2024-06-07 16:53:22 +00:00
Oneric
2180d068ae
Raise log level for start failures
2024-06-07 16:21:21 +02:00
Oneric
a3840e7d1f
Raise minimum PostgreSQL version to 12
...
This lets us:
- avoid issues with broken hash indices for PostgreSQL <10
- drop runtime checks and legacy codepaths for <11 in db search
- always enable custom query plans for performance optimisation
PostgreSQL 11 is already EOL since 2023-11-09, so
in theory everyone should already have moved on to 12 anyway.
2024-06-07 16:21:09 +02:00
Oneric
b17d3dc6d8
Fix changelog
...
Apparently got jumbled during some rebase(s)
2024-06-07 16:20:34 +02:00
floatingghost
f8f364d36d
Merge pull request 'Handle errors from HTTP requests gracefully' ( #791 ) from wp-embeds into develop
...
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/791
2024-06-07 12:58:58 +00:00