akkoma
20 months agoensure we send the right files for preferred fe
FloatingGhost [Sun, 12 Mar 2023 23:59:10 +0000 (23:59 +0000)]
ensure we send the right files for preferred fe

20 months agoAdd frontend preference route
FloatingGhost [Sun, 12 Mar 2023 23:24:07 +0000 (23:24 +0000)]
Add frontend preference route

20 months agopatch version
FloatingGhost [Sat, 11 Mar 2023 18:24:57 +0000 (18:24 +0000)]
patch version

20 months agoRemove mix.env reference
FloatingGhost [Sat, 11 Mar 2023 18:24:44 +0000 (18:24 +0000)]
Remove mix.env reference

20 months agoBump version
FloatingGhost [Sat, 11 Mar 2023 17:26:21 +0000 (17:26 +0000)]
Bump version

20 months agoensure we can't have a null in appends
FloatingGhost [Sat, 11 Mar 2023 17:24:49 +0000 (17:24 +0000)]
ensure we can't have a null in appends

20 months agowe should probably use ||
FloatingGhost [Fri, 10 Mar 2023 18:49:08 +0000 (18:49 +0000)]
we should probably use ||

20 months agoRemove _misskey_reaction matching (#500)
floatingghost [Fri, 10 Mar 2023 18:46:49 +0000 (18:46 +0000)]
Remove _misskey_reaction matching (#500)

Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/500

20 months agoMerge pull request 'Fix typo in installation/akkoma.service' (#498) from quad/akkoma...
floatingghost [Fri, 10 Mar 2023 17:20:33 +0000 (17:20 +0000)]
Merge pull request 'Fix typo in installation/akkoma.service' (#498) from quad/akkoma:develop into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/498

20 months agoFix typo in installation/akkoma.service
quad [Fri, 10 Mar 2023 15:51:56 +0000 (15:51 +0000)]
Fix typo in installation/akkoma.service

20 months agoMerge branch 'develop' of akkoma.dev:AkkomaGang/akkoma into develop
FloatingGhost [Fri, 10 Mar 2023 03:51:45 +0000 (03:51 +0000)]
Merge branch 'develop' of akkoma.dev:AkkomaGang/akkoma into develop

20 months agoAdd more information about failed verifications
FloatingGhost [Fri, 10 Mar 2023 03:51:24 +0000 (03:51 +0000)]
Add more information about failed verifications

20 months agoDisplay Quote posts in the api features list to allow external clients to enable...
foxing [Thu, 9 Mar 2023 20:40:28 +0000 (20:40 +0000)]
Display Quote posts in the api features list to allow external clients to enable compatibility with it. (#496)

Expose quote posting in the api as a feature.

Copies what the quote post PR for pleroma does to allow external clients to enable and disable features based on the feature-set of the instance.

As far as I am aware, akkoma doesn't allow you to disable quote posting, so this doesn't need anything fancy and it's just a hard on switch.

I tried to get one for the bubble tl to work also, but I'm not quite sure how to do it so that it switches off the feature when the bubble tl is disabled. I would argue that it could and ideally should be done as well though.

I also discovered a pretty tame bug in the testing of it, that deleting the DB entry for the bubble tl does not stop the bubble TL from actually working and it will continue to display the panel on the about page, I'll just leave it as a note here.

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/496
Co-authored-by: foxing <foxing@noreply.akkoma>
Co-committed-by: foxing <foxing@noreply.akkoma>
20 months agoAllow expires_at in filter requests
FloatingGhost [Thu, 9 Mar 2023 19:13:14 +0000 (19:13 +0000)]
Allow expires_at in filter requests

Fixes #492

20 months agoAllow moderators to get the admin scope again
FloatingGhost [Wed, 8 Mar 2023 17:39:35 +0000 (17:39 +0000)]
Allow moderators to get the admin scope again

Fixes #463

20 months agoMerge pull request 'fix invalid proxy_hide_header in example config' (#472) from...
floatingghost [Thu, 2 Mar 2023 11:19:46 +0000 (11:19 +0000)]
Merge pull request 'fix invalid proxy_hide_header in example config' (#472) from flisk/akkoma:remote-media-docs-fix into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/472

20 months agoMerge pull request 'updating docs: start akko first, then upgrade frontend' (#486...
floatingghost [Thu, 2 Mar 2023 11:18:12 +0000 (11:18 +0000)]
Merge pull request 'updating docs: start akko first, then upgrade frontend' (#486) from flisk/akkoma:fix-updating-docs into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/486

20 months agoMerge pull request 'Reblog content should be ""' (#489) from masto4-reboost into...
floatingghost [Thu, 2 Mar 2023 11:16:26 +0000 (11:16 +0000)]
Merge pull request 'Reblog content should be ""' (#489) from masto4-reboost into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/489

20 months agoReblog content should be ""
FloatingGhost [Thu, 2 Mar 2023 11:04:27 +0000 (11:04 +0000)]
Reblog content should be ""

Fixes #450

20 months agomatch nginx config to install config and extend docs a bit
flisk [Sun, 26 Feb 2023 22:39:18 +0000 (23:39 +0100)]
match nginx config to install config and extend docs a bit

20 months agoupdating docs: start akko first, then upgrade frontend
flisk [Sun, 26 Feb 2023 22:42:28 +0000 (23:42 +0100)]
updating docs: start akko first, then upgrade frontend

20 months agofix invalid proxy_hide_header in example config
flisk [Sat, 18 Feb 2023 13:13:04 +0000 (14:13 +0100)]
fix invalid proxy_hide_header in example config

20 months agoadd changelog entry for MFM
FloatingGhost [Sun, 26 Feb 2023 22:12:31 +0000 (22:12 +0000)]
add changelog entry for MFM

20 months agoMerge branch 'delete_orphaned_activities' into develop
FloatingGhost [Sun, 26 Feb 2023 22:11:30 +0000 (22:11 +0000)]
Merge branch 'delete_orphaned_activities' into develop

20 months agoMerge pull request 'update backwards compat notice in admin_api.md' (#473) from flisk...
floatingghost [Sun, 26 Feb 2023 22:01:57 +0000 (22:01 +0000)]
Merge pull request 'update backwards compat notice in admin_api.md' (#473) from flisk/akkoma:update-admin-api-docs into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/473

20 months agoMerge pull request 'update prometheus docs' (#474) from flisk/akkoma:update-prometheu...
floatingghost [Sun, 26 Feb 2023 22:00:12 +0000 (22:00 +0000)]
Merge pull request 'update prometheus docs' (#474) from flisk/akkoma:update-prometheus-docs into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/474

20 months agoMerge pull request 'Rename index for faster database restore' (#455) from ilja/akkoma...
floatingghost [Sun, 26 Feb 2023 21:58:56 +0000 (21:58 +0000)]
Merge pull request 'Rename index for faster database restore' (#455) from ilja/akkoma:rename_index_for_faster_restore into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/455

20 months agoMerge pull request 'Docs: Change docs README for new way of building docs' (#448...
floatingghost [Sun, 26 Feb 2023 21:49:42 +0000 (21:49 +0000)]
Merge pull request 'Docs: Change docs README for new way of building docs' (#448) from ilja/akkoma:improve_readme_from_docs into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/448

20 months agofine then no fun allowed, y'all don't deserve it
FloatingGhost [Sun, 26 Feb 2023 21:25:57 +0000 (21:25 +0000)]
fine then no fun allowed, y'all don't deserve it

20 months agoChangelog + remove some unneeded comments from the tests
ilja [Mon, 23 Jan 2023 08:43:16 +0000 (09:43 +0100)]
Changelog + remove some unneeded comments from the tests

20 months agoAdd docs for pleroma_ctl database prune_objects --prune-orphaned-activities
ilja [Mon, 23 Jan 2023 08:07:44 +0000 (09:07 +0100)]
Add docs for pleroma_ctl database prune_objects --prune-orphaned-activities

I also added extra info on VACUUM FULL

20 months agoprune_objects can prune orphaned activities who reference an array of objects
ilja [Sun, 8 Jan 2023 17:22:53 +0000 (18:22 +0100)]
prune_objects can prune orphaned activities who reference an array of objects

E.g. Flag activities have an array of objects

We prune the activity when NONE of the objects can be found

Note that the cost of finding and deleting these is ~4x higher than finding and deleting the non-array ones

Only string:
Delete on activities  (cost=506573.48..506580.38 rows=0 width=0)

Only Array:
Delete on activities  (cost=3570359.68..4276365.34 rows=0 width=0)

(They are still executed separately, so the total cost is the sum of the two)

20 months agoprune_objects can prune orphaned activities
ilja [Sat, 7 Jan 2023 19:52:02 +0000 (20:52 +0100)]
prune_objects can prune orphaned activities

We add an option to also prune remote activities who don't have existing objects any more they reference.
Rn, we only check for activities who only reference one object, not an array or embeded object.

20 months agoRemove the note about activities_visibility_index
ilja [Fri, 27 Jan 2023 15:20:34 +0000 (16:20 +0100)]
Remove the note about activities_visibility_index

We renamed another index is the previous commit so that this work-around isn't needed any more

20 months agoRename users_ap_id_COALESCE_follower_address_index for faster db restoration
ilja [Fri, 27 Jan 2023 15:06:27 +0000 (16:06 +0100)]
Rename users_ap_id_COALESCE_follower_address_index for faster db restoration

By default Postgresql first restores the data and then the indexes when dumping and restoring the database.
Restoring index activities_visibility_index took a very long time.
users_ap_id_COALESCE_follower_address_index was later added because having this could speed up the restoration tremendously.
The problem now is that restoration apparently happens in alphabetical order, so this new index wasn't created yet
by the time activities_visibility_index needed it.
There were several work-arounds which included more complex steps during backup/restore.
By renaming this index, it should be restored first and thus activities_visibility_index can make use of it.
This speeds up restoration significantly without requiring more complex or unexpected steps from people.

20 months agoAdd changelog entry
FloatingGhost [Thu, 23 Feb 2023 11:07:59 +0000 (11:07 +0000)]
Add changelog entry

20 months agoEnsure we can update contentMap on update
FloatingGhost [Thu, 23 Feb 2023 11:00:55 +0000 (11:00 +0000)]
Ensure we can update contentMap on update

20 months agoMerge pull request 'Update docs about clients' (#484) from mahito1594/akkoma:docs...
floatingghost [Wed, 22 Feb 2023 15:44:00 +0000 (15:44 +0000)]
Merge pull request 'Update docs about clients' (#484) from mahito1594/akkoma:docs/update-clients-info into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/484

20 months agodocs: update URL hosting husky's sourse code
Mahito TANNO [Wed, 22 Feb 2023 13:50:18 +0000 (22:50 +0900)]
docs:  update URL hosting husky's sourse code

20 months agodocs: remark that Pinafore is now unmaintained
Mahito TANNO [Wed, 22 Feb 2023 13:43:17 +0000 (22:43 +0900)]
docs:  remark that Pinafore is now unmaintained

21 months agoMerge pull request 'update healthcheck route in locale string' (#475) from flisk...
floatingghost [Tue, 21 Feb 2023 09:44:55 +0000 (09:44 +0000)]
Merge pull request 'update healthcheck route in locale string' (#475) from flisk/akkoma:update-healthcheck-route-reference into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/475

21 months agoMerge pull request 'Interpret `\n` as newline for MFM' (#478) from ilja/akkoma:newlin...
floatingghost [Tue, 21 Feb 2023 09:43:15 +0000 (09:43 +0000)]
Merge pull request 'Interpret `\n` as newline for MFM' (#478) from ilja/akkoma:newline_remains_newline_in_mfm into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/478

21 months agoInterpret `\n` as newline for MFM
ilja [Sat, 18 Feb 2023 18:30:27 +0000 (19:30 +0100)]
Interpret `\n` as newline for MFM

Markdown doesn't generally consider `\n` a newline,
but Misskey does for MFM.

Now we do to for MFM (and not for Markdown) :)

21 months agoupdate healthcheck route in locale string
flisk [Sat, 18 Feb 2023 13:59:46 +0000 (14:59 +0100)]
update healthcheck route in locale string

21 months agorun mix gettext.extract
flisk [Sat, 18 Feb 2023 13:58:35 +0000 (14:58 +0100)]
run mix gettext.extract

seems like this hasn't been run in a while. putting this in a separate
commit so the changes i'm about to make don't get drowned in all of this
stuff.

21 months agoupdate prometheus docs
flisk [Sat, 18 Feb 2023 13:39:22 +0000 (14:39 +0100)]
update prometheus docs

21 months agoupdate backwards compat notice in admin_api.md
flisk [Sat, 18 Feb 2023 13:37:12 +0000 (14:37 +0100)]
update backwards compat notice in admin_api.md

21 months agobuild musl on develop
FloatingGhost [Wed, 15 Feb 2023 22:09:31 +0000 (22:09 +0000)]
build musl on develop

21 months agouse a slightly earlier alpine version
FloatingGhost [Wed, 15 Feb 2023 22:08:55 +0000 (22:08 +0000)]
use a slightly earlier alpine version

21 months agoadd version in changelog
FloatingGhost [Sat, 11 Feb 2023 11:19:33 +0000 (11:19 +0000)]
add version in changelog

21 months agofix docker tag
FloatingGhost [Sat, 11 Feb 2023 10:58:53 +0000 (10:58 +0000)]
fix docker tag

21 months agobump elixir version in CI
FloatingGhost [Sat, 11 Feb 2023 10:56:53 +0000 (10:56 +0000)]
bump elixir version in CI

21 months agobump version
FloatingGhost [Sat, 11 Feb 2023 10:48:52 +0000 (10:48 +0000)]
bump version

21 months agocreate_service_actor is now type Application
ilja [Sat, 4 Feb 2023 20:53:23 +0000 (20:53 +0000)]
create_service_actor is now type Application

This is used for internal fetch and for relay. Both represent the instance and therefore are an aplication.

21 months agopaginate follow requests (#460)
floatingghost [Sat, 4 Feb 2023 20:51:17 +0000 (20:51 +0000)]
paginate follow requests (#460)

matches https://docs.joinmastodon.org/methods/follow_requests/#get mostly

Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/460

21 months agotypo + remove unneeded file
ilja [Thu, 2 Feb 2023 13:37:45 +0000 (14:37 +0100)]
typo + remove unneeded file

21 months agoMerge pull request 'DOCS: Add info on fe to setup of dev env' (#456) from ilja/akkoma...
floatingghost [Mon, 30 Jan 2023 11:28:28 +0000 (11:28 +0000)]
Merge pull request 'DOCS: Add info on fe to setup of dev env' (#456) from ilja/akkoma:docs_add_fe_to_akkoma_dev into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/456

21 months agoMerge pull request 'Docs: Add more info to the development index file' (#451) from...
floatingghost [Mon, 30 Jan 2023 11:27:23 +0000 (11:27 +0000)]
Merge pull request 'Docs: Add more info to the development index file' (#451) from ilja/akkoma:docs_add_some_developer_docs into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/451

21 months agoMerge pull request 'Docs: Changes to pgtune docs' (#449) from ilja/akkoma:docs_small_...
floatingghost [Mon, 30 Jan 2023 11:25:46 +0000 (11:25 +0000)]
Merge pull request 'Docs: Changes to pgtune docs' (#449) from ilja/akkoma:docs_small_adition_to_pgtune into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/449

21 months agoAdd info on fe to setup of dev env
ilja [Sun, 29 Jan 2023 07:18:10 +0000 (08:18 +0100)]
Add info on fe to setup of dev env

I added info about installing front ends from the development branch

I also rearanged the list of exceptions (what's different than "normal" installation)
so the order is closer to how you'd encounter things in the installation docs + small fixes

21 months agoMerge pull request 'Make default outgoing-blocks setting off' (#454) from Seirdy...
floatingghost [Fri, 27 Jan 2023 10:06:49 +0000 (10:06 +0000)]
Merge pull request 'Make default outgoing-blocks setting off' (#454) from Seirdy/akkoma:outgoing-blocks-default-off into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/454

21 months agoMake default outgoing-blocks setting off
Seirdy [Fri, 27 Jan 2023 05:41:27 +0000 (21:41 -0800)]
Make default outgoing-blocks setting off

This should help mitigate negative impacts related to block-retaliation
and block-circumvention when blocks become visible to the blocked party.
Instances interested in broadcasting blocks can turn this on if they
wish. This should have always been the default.

See also: https://akkoma.dev/AkkomaGang/akkoma-fe/pulls/274

21 months agoChange docs README for new way of building docs
ilja [Thu, 26 Jan 2023 08:09:02 +0000 (09:09 +0100)]
Change docs README for new way of building docs

Docs used to be a separate repo who cloned pleroma and pelroma-fe.
Now the docs are just the BE docs and completely part of the Akkoma repo.
I moved back to using venv because that's what I used and cleaner imo since it keeps everything nice in the repo.
(Iirc virtualenv stored things in the Home folder or smthng)

21 months agoAdd more info to the development index file
ilja [Thu, 26 Jan 2023 12:40:51 +0000 (13:40 +0100)]
Add more info to the development index file

Credit where credit is due; I inspired myself by looking at the yunohost docs
* https://yunohost.org/en/dev
* https://yunohost.org/en/packaging_apps_start

I try to be inviting to new developers and guide them in their first steps into Akkoma development.
I try to keep the page itself as short as possible and link to relevant places.
That way people can quickly skim over parts that they don't need, while people who do need more can simply follow the links.

21 months agoChanges to pgtune docs
ilja [Thu, 26 Jan 2023 09:11:29 +0000 (10:11 +0100)]
Changes to pgtune docs

I experienced that it may be better to tell pgtune you have lower resoures than what you have when you have other services running.
I added that now.

I also moved the examples as part of the pgtune section.

22 months agoadd changelog entry
FloatingGhost [Sun, 15 Jan 2023 19:02:58 +0000 (19:02 +0000)]
add changelog entry

22 months agoMerge branch 'develop' of akkoma.dev:AkkomaGang/akkoma into develop
FloatingGhost [Sun, 15 Jan 2023 18:58:26 +0000 (18:58 +0000)]
Merge branch 'develop' of akkoma.dev:AkkomaGang/akkoma into develop

22 months agoSupport TLD wildcards in MRF matches
FloatingGhost [Sun, 15 Jan 2023 18:57:49 +0000 (18:57 +0000)]
Support TLD wildcards in MRF matches

Fixes #431

22 months agoMerge pull request 'Correct og:description tag in static-fe' (#373) from sfr/akkoma...
floatingghost [Sun, 15 Jan 2023 18:15:20 +0000 (18:15 +0000)]
Merge pull request 'Correct og:description tag in static-fe' (#373) from sfr/akkoma:fix/og-description into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/373

22 months agoURL encode remote emoji pack names (#362)
sfr [Sun, 15 Jan 2023 18:14:04 +0000 (18:14 +0000)]
URL encode remote emoji pack names (#362)

fix #246

Co-authored-by: Sol Fisher Romanoff <sol@solfisher.com>
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/362
Co-authored-by: sfr <sol@solfisher.com>
Co-committed-by: sfr <sol@solfisher.com>
22 months agoMerge pull request 'Remove refences to ARM OTP builds in install guide' (#432) from...
floatingghost [Sun, 15 Jan 2023 18:11:53 +0000 (18:11 +0000)]
Merge pull request 'Remove refences to ARM OTP builds in install guide' (#432) from norm/akkoma:remove-arm-otp into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/432

22 months agoMerge pull request 'Update OpenBSD docs' (#414) from lechindianer/akkoma:update-openb...
floatingghost [Sun, 15 Jan 2023 18:09:32 +0000 (18:09 +0000)]
Merge pull request 'Update OpenBSD docs' (#414) from lechindianer/akkoma:update-openbsd-docs into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/414

22 months agoMerge pull request 'fix: Give error message to users when address has already been...
floatingghost [Sun, 15 Jan 2023 18:06:12 +0000 (18:06 +0000)]
Merge pull request 'fix: Give error message to users when address has already been validated' (#435) from cheerfulstoic/akkoma:develop into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/435

22 months agoAdd changelog entry
FloatingGhost [Sun, 15 Jan 2023 18:05:02 +0000 (18:05 +0000)]
Add changelog entry

22 months agoMix format
FloatingGhost [Sun, 15 Jan 2023 18:00:03 +0000 (18:00 +0000)]
Mix format

22 months agoadd contentMap to schema
FloatingGhost [Sun, 15 Jan 2023 17:59:19 +0000 (17:59 +0000)]
add contentMap to schema

22 months agofix: Give error message to users when address has already been validated
Brian Underwood [Thu, 12 Jan 2023 20:14:42 +0000 (21:14 +0100)]
fix: Give error message to users when address has already been validated

Plus other errors.

22 months agoMerge branch 'language-on-posts' into develop
FloatingGhost [Wed, 11 Jan 2023 15:44:15 +0000 (15:44 +0000)]
Merge branch 'language-on-posts' into develop

22 months agoadd inbound language test
FloatingGhost [Wed, 11 Jan 2023 15:42:13 +0000 (15:42 +0000)]
add inbound language test

22 months agofix no-language-specified federation
FloatingGhost [Wed, 11 Jan 2023 15:25:34 +0000 (15:25 +0000)]
fix no-language-specified federation

22 months agorevert ae54c06bb4bd2389d6eb1502b842c6b632e12e40
floatingghost [Tue, 10 Jan 2023 15:00:47 +0000 (15:00 +0000)]
revert ae54c06bb4bd2389d6eb1502b842c6b632e12e40

revert Language code on mastoapi statuses (#433)

Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/433

22 months agoLanguage code on mastoapi statuses (#433)
floatingghost [Tue, 10 Jan 2023 13:45:43 +0000 (13:45 +0000)]
Language code on mastoapi statuses (#433)

Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/433

22 months agofix unused variable warnings
FloatingGhost [Tue, 10 Jan 2023 10:58:17 +0000 (10:58 +0000)]
fix unused variable warnings

22 months agobump mock
FloatingGhost [Tue, 10 Jan 2023 10:48:14 +0000 (10:48 +0000)]
bump mock

22 months agoFix tests
FloatingGhost [Mon, 2 Jan 2023 02:41:56 +0000 (02:41 +0000)]
Fix tests

22 months agoAdd language support on /api/v1/statuses
FloatingGhost [Mon, 2 Jan 2023 02:15:38 +0000 (02:15 +0000)]
Add language support on /api/v1/statuses

22 months agoMerge pull request 'use postgres 15 in CI' (#411) from ci-postgres-15 into develop
floatingghost [Mon, 9 Jan 2023 22:16:43 +0000 (22:16 +0000)]
Merge pull request 'use postgres 15 in CI' (#411) from ci-postgres-15 into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/411

22 months agoPrune Objects --keep-threads option (#350)
ilja [Mon, 9 Jan 2023 22:15:41 +0000 (22:15 +0000)]
Prune Objects --keep-threads option (#350)

This adds an option to the prune_objects mix task.
The original way deleted all non-local public posts older than a certain time frame.
Here we add a different query which you can call using the option --keep-threads.

We query from the activities table all context id's where
    1. the newest activity with this context is still old
    2. none of the activities with this context is is local
    3. none of the activities with this context is bookmarked
and delete all objects with these contexts.

The idea is that posts with local activities (posts, replies, likes, repeats...) may be interesting to keep.
Besides that, a post lives in a certain context (the thread), so we keep the whole thread as well.

Caveats:
* ~~Quotes have a different context. Therefore, when someone quotes a post, it's possible the quoted post will still be deleted.~~ fixed in https://akkoma.dev/AkkomaGang/akkoma/pulls/379
* Although undocumented (in docs/docs/administration/CLI_tasks/database.md/#prune-old-remote-posts-from-the-database), the 'normal' delete action still kept old remote non-public posts. I added an option to keep this behaviour, but this also means that you now have to explicitly provide that option. **This could be considered a breaking change!**
* ~~Note that this removes from the objects table, but not from the activities.~~ See https://akkoma.dev/AkkomaGang/akkoma/pulls/427 for that.

Some statistics from explain analyse:
(cost=1402845.92..1933782.00 rows=3810907 width=62) (actual time=2562455.486..2562455.495 rows=0 loops=1)
 Planning Time: 505.327 ms
 Trigger for constraint chat_message_references_object_id_fkey: time=651939.797 calls=921740
 Trigger for constraint deliveries_object_id_fkey: time=52036.009 calls=921740
 Trigger for constraint hashtags_objects_object_id_fkey: time=20665.778 calls=921740
 Execution Time: 3287933.902 ms

***
**TODO**
1. [x] **Question:** Is it OK to keep it like this in regard to quote posts? If not (ie post quoted by local users should also be kept), should we give quotes the same context as the post they are quoting? (If we don't want to give them the same context, I'll have to see how/if I can do it without being too costly)
    * See https://akkoma.dev/AkkomaGang/akkoma/pulls/379
2. [x] **Question:** the "original" query only deletes public posts (this is undocumented, but you can check the code). This new one doesn't care for scope. From the docs I get that the idea is that posts can be refetched when needed. But I have from a trusted source that Pleroma can't refetch non-public posts. I assume that's the reason why they are kept here. I see different options to deal with this
    1. ~~We keep it as currently implemented and just don't care about scope with this option~~
    2. ~~We add logic to not delete non-public posts either (I'll have to see how costly that becomes)~~
    3. We add an extra --keep-non-public parameter. This is technically speaking breakage (you didn't have to provide a param before for this, now you do), but I'm inclined to not care much because it wasn't documented nor tested in the first place.
3. [x] See if we can do the query using Elixir
4. [x] Test on a bigger DB to see that we don't run into a timeout
5. [x] Add docs

Co-authored-by: ilja <git@ilja.space>
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/350
Co-authored-by: ilja <akkoma.dev@ilja.space>
Co-committed-by: ilja <akkoma.dev@ilja.space>
22 months agoMerge pull request 'Changed references of "Pleroma" to "Akkoma" in email text' (...
floatingghost [Mon, 9 Jan 2023 22:13:45 +0000 (22:13 +0000)]
Merge pull request 'Changed references of "Pleroma" to "Akkoma" in email text' (#428) from knova/akkoma:develop into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/428

22 months agoUse actual ISO8601 timestamps for masto API (#425)
darkkirb [Mon, 9 Jan 2023 22:12:28 +0000 (22:12 +0000)]
Use actual ISO8601 timestamps for masto API (#425)

Some users post posts with spoofed timestamp, and some clients will have issues with certain dates. Tusky for example crashes if the date is any sooner than 1 BCE (“year zero” in the representation).

I limited the range of what is considered a valid date to be somewhere between the years 1583 and 9999 (inclusive).

The numbers have been chosen because:

- ISO 8601 only allows years before 1583 with “mutual agreement”
- Years after 9999 could cause issues with certain clients as well

Co-authored-by: Charlotte 🦝 Delenk <lotte@chir.rs>
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/425
Co-authored-by: darkkirb <lotte@chir.rs>
Co-committed-by: darkkirb <lotte@chir.rs>
22 months agoMerge pull request 'exiftool doesn’t support JPEG XL either' (#426) from darkkirb...
floatingghost [Mon, 9 Jan 2023 22:10:54 +0000 (22:10 +0000)]
Merge pull request 'exiftool doesn’t support JPEG XL either' (#426) from darkkirb/akkoma:exiftools-no-jxl into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/426

22 months agoRemove refences to ARM OTP builds in install guide
Norm [Mon, 9 Jan 2023 20:11:33 +0000 (20:11 +0000)]
Remove refences to ARM OTP builds in install guide

Akkoma currently doesn't provide ARM OTP builds unlike Pleroma, so it's best to update the install guide to reflect that.

Ref: https://akkoma.dev/AkkomaGang/akkoma/issues/424

22 months agoChanged references of "Pleroma" to "Akkoma" in email text
knova [Sun, 8 Jan 2023 03:29:09 +0000 (03:29 +0000)]
Changed references of "Pleroma" to "Akkoma" in email text

I know this is probably small peanuts in the grand scheme of things, but it bugged me when I was messing around with my own Akkoma instance.

22 months agoexiftool doesn’t support JPEG XL either
Charlotte 🦝 Delenk [Sat, 7 Jan 2023 13:49:58 +0000 (14:49 +0100)]
exiftool doesn’t support JPEG XL either

22 months agofix "exiftool not support svg files' (#421)
ihor [Thu, 5 Jan 2023 15:22:48 +0000 (15:22 +0000)]
fix "exiftool not support svg files' (#421)

Faced with this issue today, Pleroma responds with status 400 (Bad request) if Exiftool.StripLocation is added to the list of filter modules for uploads. Here is logs:

```
13:27:25.201 [info] POST /api/v1/media

13:27:25.232 request_id=FzdspaAnrA6cyv0APgVR [error] Elixir.Pleroma.Upload.Filter: Filter Elixir.Pleroma.Upload.Filter.Exiftool.StripLocation failed: {:error, "Elixir.Pleroma.Upload.Filter.Exiftool.StripLocation: %ErlangError{original: :enoent}"}

13:27:25.232 request_id=FzdspaAnrA6cyv0APgVR [error] Elixir.Pleroma.Upload store (using Pleroma.Uploaders.Local) failed: "Elixir.Pleroma.Upload.Filter.Exiftool.StripLocation: %ErlangError{original: :enoent}"
```

# This fix solves this problem.

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/421
Co-authored-by: ihor <ikandreew@gmail.com>
Co-committed-by: ihor <ikandreew@gmail.com>
22 months agoSignificantly tighten HTTP CSP
FloatingGhost [Mon, 2 Jan 2023 15:21:19 +0000 (15:21 +0000)]
Significantly tighten HTTP CSP

22 months agoFix PostgreSQL docs
Pascal Schmid [Mon, 2 Jan 2023 12:03:59 +0000 (13:03 +0100)]
Fix PostgreSQL docs

Without creating the directory manually and setting it as user home folder
the commands afterwards won't be executable.

22 months agoDelete broken config example
Pascal Schmid [Mon, 2 Jan 2023 12:00:36 +0000 (13:00 +0100)]
Delete broken config example

httpd won't start with the empty types block.

22 months agoFormat docs
Pascal Schmid [Mon, 2 Jan 2023 11:59:46 +0000 (12:59 +0100)]
Format docs

22 months agoUse current package config
Pascal Schmid [Mon, 2 Jan 2023 11:56:49 +0000 (12:56 +0100)]
Use current package config