Fix some federation issues #357

병합
Plume_migration_agent fix-federation 에서 master 로 7 commits 를 머지했습니다 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 년 전 (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 ```
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 년 전 (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?
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 년 전 (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?
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 (Migrated from github.com) 이 변경사항을 승인하였습니다. 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).
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 년 전 (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…

리뷰어

The pull request has been merged as 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명
알림
마감일
기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오.

마감일이 설정되지 않았습니다.

의존성

No dependencies set.

Reference: Plume/Plume#357
불러오는 중...
아직 콘텐츠가 없습니다.