Fix some federation issues #357

Обединени
Plume_migration_agent обедини 7 ревизии от fix-federation във master преди 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 години (Migrated from 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 ```
Участник
Притежател

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 години (Migrated from 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?
Участник
Притежател

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 години (Migrated from 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?
Участник
Притежател

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
Участник
Притежател

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 (Migrated from github.com) approved these changes преди 5 години
elegaanz (Migrated from github.com) left a comment

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).
Участник
Притежател

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 години (Migrated from 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…

Reviewers

Тази заявка за сливане е била обединена като 0ea1d57e48.
You can also view command line instructions.

Step 1:

From your project repository, check out a new branch and test the changes.
git checkout -b fix-federation master
git pull origin fix-federation

Step 2:

Merge the changes and update on Forgejo.
git checkout master
git merge --no-ff fix-federation
git push origin master
Впишете се за да се присъедините към разговора.
No reviewers
Няма етап
Няма изпълнители
2 участника
Известия
Due Date
Крайният срок е невалиден или извън обхват. Моля използвайте форматът 'гггг-мм-дд'.

No due date set.

Зависимости

No dependencies set.

Reference: Plume/Plume#357
Зареждане…
Все още няма съдържание.