• asudox@lemmy.asudox.dev
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    1
    ·
    edit-2
    6 days ago

    That is a bad idea. Cross posts aren’t a special type of post. Your instance simply checks the URLs of posts and finds other posts with the same URL. That is how cross posting works in Lemmy.

    https://github.com/LemmyNet/lemmy/blob/6f45f801cc0582b14360fd52737cbad3a98b7250/crates/api/api_crud/src/post/read.rs#L90

    [...]
    
      // Fetch the cross_posts
      let cross_posts = if let Some(url) = &post_view.post.url {
        SearchCombinedQuery {
          search_term: Some(url.inner().as_str().into()),
          post_url_only: Some(true),
          type_: Some(SearchType::Posts),
          ..Default::default()
        }
    
    [...]
    

    Piefed seems to do the same thing

    [...]
    
    new_cross_posts = db.session.query(Post).filter(Post.id != self.id, Post.url == self.url, Post.deleted == False,
                                                            Post.status > POST_STATUS_REVIEWING).order_by(desc(Post.id)).limit(limit)
    
    [...]
    

    I also found this weird hardcoded ap id in the function that “calculates” cross posts in piefed for some reason:

    [...]
    
    if self.community.ap_profile_id == 'https://lemmy.zip/c/dailygames':
                # daily posts to this community (e.g. to https://travle.earth/usa or https://www.nytimes.com/games/wordle/index.html) shouldn't be treated as cross-posts
                return
    
    
    [...]
    

    [email protected]

    • wjs018@piefed.social
      link
      fedilink
      English
      arrow-up
      14
      ·
      edit-2
      6 days ago

      IIRC that extra PieFed code is because the daily games that get posted to that community were constantly being collapsed into crossposts. It really hurt the visibility of the most recent post, kind of defeating the purpose of the community.