Fix some federation issues #357

Злито
Plume_migration_agent злито 7 комітів з fix-federation до master 5 роки тому
trinity-1686a прокоментував(ла) 5 роки тому
Власник

There are some bugs in federation, the goal of this will be to fix most of them

(Maybe incomplete) list of things to do :

  • no notification on follow
  • can't unfollow from Mastodon/Pleroma, but can from Plume
  • Pleroma followers (maybe Mastodon too) are getting notifications from blog post (should only appear in the home timeline)
  • fix #172
  • fix #334
  • mention links are a bit broken, they are relative to this instance so displaying them on another instance/ap enabled software result in 404
  • when undoing activity, verify if original activity owner is the undo activity emitter
There are some bugs in federation, the goal of this will be to fix most of them (Maybe incomplete) list of things to do : - [x] no notification on follow - [x] can't unfollow from Mastodon/Pleroma, but can from Plume - [x] Pleroma followers (maybe Mastodon too) are getting notifications from blog post (should only appear in the home timeline) - [x] fix #172 - [x] fix #334 - [x] mention links are a bit broken, they are relative to this instance so displaying them on another instance/ap enabled software result in 404 - [x] when undoing activity, verify if original activity owner is the undo activity emitter
codecov[bot] прокоментував(ла) 5 роки тому (Перенесено з github.com)

Codecov Report

Merging #357 into master will decrease coverage by 0.09%.
The diff coverage is 10.14%.

@@            Coverage Diff            @@
##           master     #357     +/-   ##
=========================================
- Coverage   28.75%   28.65%   -0.1%     
=========================================
  Files          62       62             
  Lines        5651     5670     +19     
=========================================
  Hits         1625     1625             
- Misses       4026     4045     +19
# [Codecov](https://codecov.io/gh/Plume-org/Plume/pull/357?src=pr&el=h1) Report > Merging [#357](https://codecov.io/gh/Plume-org/Plume/pull/357?src=pr&el=desc) into [master](https://codecov.io/gh/Plume-org/Plume/commit/ab2998e214ca8ba278c5e176485eb66a996da872?src=pr&el=desc) will **decrease** coverage by `0.09%`. > The diff coverage is `10.14%`. ```diff @@ Coverage Diff @@ ## master #357 +/- ## ========================================= - Coverage 28.75% 28.65% -0.1% ========================================= Files 62 62 Lines 5651 5670 +19 ========================================= Hits 1625 1625 - Misses 4026 4045 +19 ```
trinity-1686a прокоментував(ла) 5 роки тому
Автор
Власник

Concerning mention links, I think the only easy solution is to add a domain argument to the parser, and prefix each link with it. Any other solution I'm thinking of either imply post processing or database access in the parser

Concerning mention links, I think the only easy solution is to add a domain argument to the parser, and prefix each link with it. Any other solution I'm thinking of either imply post processing or database access in the parser
elegaanz прокоментував(ла) 5 роки тому (Перенесено з github.com)

Maybe we can always use the FQN for these links so that they are correct on remote instances, and add a redirection when requesting a FQN that is on the current instance?

Maybe we can always use the FQN for these links so that they are correct on remote instances, and add a redirection when requesting a FQN that is on the current instance?
trinity-1686a прокоментував(ла) 5 роки тому
Автор
Власник

FQN will do the trick when talking to other Plume, but Mastodon use a different model for user links (https://mastodon.local/@<name>, notice no slash between @ and <name>), and Pleroma uses yet another (https://pleroma.local/users/<name>). So either we use users ap-url (need db access), or we use an absolute link to the current instance (not the best solution, but definitely the easiest)

FQN will do the trick when talking to other Plume, but Mastodon use a different model for user links (`https://mastodon.local/@<name>`, notice no slash between @ and `<name>`), and Pleroma uses yet another (`https://pleroma.local/users/<name>`). So either we use users ap-url (need db access), or we use an absolute link to the current instance (not the best solution, but definitely the easiest)
marek-lach прокоментував(ла) 5 роки тому (Перенесено з github.com)

FQN will do the trick when talking to other Plume, but Mastodon use a different model for user links (https://mastodon.local/@<name>, notice no slash between @ and <name>), and Pleroma uses yet another (https://pleroma.local/users/<name>). So either we use users ap-url (need db access), or we use an absolute link to the current instance (not the best solution, but definitely the easiest)

Mastodon also recognises the profile URL format of https://mastodon.local/users/<name>, to redirect to the correct user profile, I have tried it. Thus it may be possible if you were to implement the URL format of https://pleroma.local/users/<name> that it should work just fine for Mastodon too, I think?

> FQN will do the trick when talking to other Plume, but Mastodon use a different model for user links (`https://mastodon.local/@<name>`, notice no slash between @ and `<name>`), and Pleroma uses yet another (`https://pleroma.local/users/<name>`). So either we use users ap-url (need db access), or we use an absolute link to the current instance (not the best solution, but definitely the easiest) Mastodon also recognises the profile URL format of `https://mastodon.local/users/<name>`, to redirect to the correct user profile, I have tried it. Thus it may be possible if you were to implement the URL format of `https://pleroma.local/users/<name>` that it should work just fine for Mastodon too, I think?
trinity-1686a прокоментував(ла) 5 роки тому
Автор
Власник

We could change our scheme, but it wouldn't fix how we treat remote users. /@/<user@domain> is valid with Plume, but the equivalent is not with Mastodon/Pleroma. I really think using absolute urls is the easiest way to go

We could change our scheme, but it wouldn't fix how we treat remote users. `/@/<user@domain>` is valid with Plume, but the equivalent is not with Mastodon/Pleroma. I really think using absolute urls is the easiest way to go
trinity-1686a прокоментував(ла) 5 роки тому
Автор
Власник

One can undo activities made by others. I should fix that too before merging

One can undo activities made by others. I should fix that too before merging
elegaanz (Перенесено з github.com) зміни затверджено 5 роки тому
elegaanz (Перенесено з github.com) додав коментар

All your changes seems to work! The only issue, but I'm not sure if it one is that I'm still getting notifications in Pleroma: it appears on the notification page (/USER/mentions) but not in the notification panel on the left (but maybe that's just how Pleroma works, I don't use it regularly enough to know).

All your changes seems to work! The only issue, but I'm not sure if it one is that I'm still getting notifications in Pleroma: it appears on the notification page (/USER/mentions) but not in the notification panel on the left (but maybe that's just how Pleroma works, I don't use it regularly enough to know).
trinity-1686a прокоментував(ла) 5 роки тому
Автор
Власник

I've no idea why it's that way, I would expect the left panel, /USER/mentions and the notification on /web to be in sync, apparently they aren't???

I've no idea why it's that way, I would expect the left panel, /USER/mentions and the notification on /web to be in sync, apparently they aren't???
elegaanz прокоментував(ла) 5 роки тому (Перенесено з github.com)

Yes, I don't know how Pleroma works 🤷‍♀️ but I guess we can ignore this issue, it is still better than before even if not perfect…

Yes, I don't know how Pleroma works :woman_shrugging: but I guess we can ignore this issue, it is still better than before even if not perfect…

Рецензенти

Запит на злиття був влитиий як 0ea1d57e48.
Також можна переглянути інструкції для командного рядка.

Крок 1:

У репозиторії вашого проєкту перевірте нову гілку і протестуйте зміни.
git checkout -b fix-federation master
git pull origin fix-federation

Крок 2:

Об'єднати зміни і оновити на Forgejo.
git checkout master
git merge --no-ff fix-federation
git push origin master
Підпишіться щоб приєднатися до обговорення.
Немає рецензентів
Етап відсутній
Немає виконавця
2 учасників
Сповіщення
Дата завершення
Термін дії не дійсний або знаходиться за межами допустимого діапазону. Будь ласка використовуйте формат 'yyyy-mm-dd'.

Термін виконання не встановлений.

Залежності

No dependencies set.

Reference: Plume/Plume#357
Завантаження…
Тут ще немає жодного змісту.