Fix some federation issues #357

Sloučený
Plume_migration_agent sloučil 7 commity z větve fix-federation do větve master před před 5 roky
Vlastník

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] okomentoval před 5 roky (Migrováno z 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 ```
Autor
Vlastník

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 okomentoval před 5 roky (Migrováno z 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?
Autor
Vlastník

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 okomentoval před 5 roky (Migrováno z 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?
Autor
Vlastník

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
Autor
Vlastník

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 (Migrováno z github.com) schválil tyto změny před 5 roky
elegaanz (Migrováno z github.com) zanechal komentář

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).
Autor
Vlastník

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 okomentoval před 5 roky (Migrováno z 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…

Posuzovatelé

Požadavek na natažení byl sloučen jako 0ea1d57e48.
Můžete také zobrazit instrukce příkazové řádky.

Krok 1:

Z vašeho repositáře projektu se podívejte na novou větev a vyzkoušejte změny.
git checkout -b fix-federation master
git pull origin fix-federation

Krok 2:

Slučte změny a aktualizujte je na Forgejo.
git checkout master
git merge --no-ff fix-federation
git push origin master
Přihlaste se pro zapojení do konverzace.
Žádní posuzovatelé
Bez milníku
Bez zpracovatelů
2 účastníků
Oznámení
Termín dokončení
Termín dokončení není platný nebo je mimo rozsah. Použijte prosím formát „rrrr-mm-dd“.

Žádný termín dokončení.

Závislosti

Nejsou nastaveny žádné závislosti.

Reference: Plume/Plume#357
Načítá se…
Není zde žádný obsah.