Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dereference prev + next posts in public threads #129

Closed
tsmethurst opened this issue Aug 3, 2021 · 1 comment
Closed

Dereference prev + next posts in public threads #129

tsmethurst opened this issue Aug 3, 2021 · 1 comment
Labels
enhancement New feature or request ux User-experience related.

Comments

@tsmethurst
Copy link
Contributor

tsmethurst commented Aug 3, 2021

Right now threads often appear incomplete because GtS doesn't fetch any of the previous or next posts in a thread, so users see only fragments of conversations.

To offer a more complete view, we should dereference the whole chain of posts that a given post replies to or is replied to by. But we should only do this for posts that are Public (or possibly Unlisted), and not followers-only posts.

This dereferencing could be done here for example:

func (f *federator) DereferenceStatusFields(status *gtsmodel.Status, requestingUsername string) error {

To figure out where replies etc are, we can use the replies field on status activity representations:

  "replies": {
    "id": "https://example.org/users/some_user/statuses/106691726504418392/replies",
    "type": "Collection",
    "first": {
      "type": "CollectionPage",
      "next": "https://example.org/users/some_user/106691726504418392/replies?only_other_accounts=true&page=true",
      "partOf": "https://example.org/users/some_user/106691726504418392/replies",
      "items": []
    }

and the inReplyTo field:

 "inReplyTo": "https://example.org/users/a_different_user/statuses/106691640442578059"
@tsmethurst tsmethurst added enhancement New feature or request ux User-experience related. labels Aug 3, 2021
@tsmethurst
Copy link
Contributor Author

Implemented with #132

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request ux User-experience related.
Projects
None yet
Development

No branches or pull requests

1 participant