Skip to content
  • 3 Votes
    16 Posts
    223 Views
    silverpill@mitra.socialS

    @tallship @julian

    >Here you go bro: Socialhome post w/inline images.

    It is a Note. I think this is a good example of a post which is best viewed on the original site.

  • 7 Votes
    18 Posts
    206 Views
    C

    @Julian yeah that's a good point - I think tag would work but I always got the impression that they were more of a micro-level part of a specific piece of content vs. macro-level (being the place they're being discussed in). context would be set at the forum level (whatever the forum's owner specified) whereas tags might be decided by the user. So in that sense, context would more about origination of a post.

    Example might be something like this -

    { id: "https://yuforium.com/forums/cars", type: "Service", name: "Example Forum About Cars", context: "https://another-instance.org/topic/cars" }

    Where a POST to that forum's outbox with a Note would result in that note's context defaulting to the one set to the forum. Posting with another context would result in an error. This makes things a little different than a tag which is what would be user specified. In that sense, context is more about where the post was created, vs. what it was created about. In a federated system, where could be an authoritative entity that encompasses multiple instances and is dereferenceable, or where could be defined as a UUID and be completely unauthoritative and ephemeral.

    Given that it's more about the origination of the post, I would agree that the term "Community" is better in this case to define what context relates (instead of "Topic") so in the example, context could be switched to https://another-instance.org/community/cars.

    It's been a while since I wrote that up, and at the time I was considering using "Community" as the terminology for a context so I might update that soon (especially with "Topic" being a frequently used convention in forums meaning something totally different).

    In the Activity Streams docs, the one part about context that got my attention was this - "An example could be all activities relating to a common project or event", meaning that context exists outside of the scope of what a thread would be, and is more indicative of a forum level or federation setting vs. the contents (objects, activities, etc.) of a single thread.

  • 0 Votes
    5 Posts
    71 Views
    julianJ

    Nathan Fillion Speechless GIF

  • 7 Votes
    8 Posts
    126 Views
    julianJ

    @[email protected] right. I think functionally I'll never encounter a Delete, check the origin, and find that the note hasn't actually been deleted, but stranger things have happened!

  • 7 Votes
    2 Posts
    108 Views
    julianJ

    Technical stuff ahead ๐Ÿšจ...

    This is merely exposing the frontend UI to the already established backend logic.

    We have two methods internally that are used for this:

    Notes.assert, which when given a object url or id, parses it and attempts to resolve the parent chain all the way to the top-level post. It then creates a topic to house all of those posts. Actors.assert, which when given an object url, id, or handle, creates a local representation of the user. How come "query"/etc. didn't show up?

    For both user and post searching, if the passed-in url does not resolve or does not resolve to a processable object, then we do not proceed. It's important to realize that while in an ideal world, we'd all be passing immutable identifiers everywhere, the real world is just a bit messier.

    Search queries could be a post or user URL, or a webfinger handle, so additional logic was required to handle those use cases. Most ActivityPub-enabled software I've encountered handle these vanity URLs when queried via ActivityPub โ€” it returns the appropriate representation for processing. Some do not, and so in those cases, those items will not show up in the search results.

  • 7 Votes
    1 Posts
    261 Views
    julianJ

    As of today, the NodeBB-ActivityPub implementation now supplies both context and audience properties with every post.

    N.B. When I say context and audience, these are also terms used by the ForumWG that refer to "topic" and "category", in NodeBB parlance.

    Early indications from the last ForumWG meeting indicate movement towards the inclusion of context in a low-level as:Note object (a federated NodeBB post), resolvable as an as:Collection or as:OrderedCollection. The latter is what NodeBB will send, ordered by post time.

    Discussions with @[email protected] also suggest that Discourse has the ability to parse an as:OrderedCollection context if provided, but currently does not if encountered as a property in a Note.

    A minor change today also updates the audience property, which used to erroneously point to the context/topic, but now points to the audience/category. This change aligns usage of this property with FEP-1b12's expectations.

    This change should allow other implementors to:

    automatically group objects together given a the provided context, and more thoroughly backfill a given object's context, without relying on inReplyTo traversal
  • 18 Votes
    42 Posts
    1k Views
    nutomic@socialhub.activitypub.rocksN
    Thats how FEP-1b12 works, its necessary if you want to federate activities such as voting, deletions or mod actions and not only post creations. But Lemmy doesnt support arbitrarily wrapped activities, only specific hardcoded ones like Announce/Create/Note, Announce/Like or Announce/Delete.
  • 9 Votes
    6 Posts
    389 Views
    luceos@socialhub.activitypub.rocksL
    trwnh: Topics can be split In addition to splitting topics, topics or their posts can also be merged into another topic. The UX for this is quite variable; sometimes entire topics can be merged into another, sometimes a certain range of posts within a topic (post 5 .. 10 from 15 posts), and sometimes a selection (post 5 and 10 from 15 posts or just a singular item post 5 from 15 posts). trwnh: Topics exist in a category For #Flarum topics can also not exist in a Category (we call them tags and that extension is optional, like all of our extensions). Even when using a Category, once the Category is deleted, we do not hard delete any topics contained within but unlink them, making them less visible but still existing within the Forum. Regardless, to us, Topics CAN exist in a category, it's not required. trwnh: Users can be followed for posts and topics Users can be messaged directly This sounds as if this is a given, I don't think it's guaranteed in every Forum software. But if can implies optional, then
  • 8 Votes
    11 Posts
    242 Views
    rimu@mastodon.nzoss.nzR

    @julian Ooo good point about adding the ? back on.

    If you're interested in a non-regex solution, here's what I have - https://codeberg.org/rimu/pyfedi/src/branch/main/app/utils.py#L247

  • 27 Votes
    32 Posts
    2k Views
    julianJ

    @[email protected] said in Article vs. Note vs. Page:

    Since then WordPress has joined the Fediverse, and now Ghost is about to join as well. I think the ability to display rich content may soon become a serious competitive advantage.

    Completely agreed. The best time to consider a different approach is now, so I am hoping we can make some headway here at the WG meeting. Stay tuned...

    cc @[email protected] @[email protected]

  • 0 Votes
    22 Posts
    738 Views
    oplik0O

    @[email protected] it was actually because of @ in actor IDs - the codepath for choosing a webfinger lookup over just accepting the URL as the ID only checked for its presence, and the code for webfinger lookups was only meant to run for the acct: protocol.

    So yeah, not WP fault at all, just a combination of a bug and missing feature ๐Ÿ™‚ Now both should be fixed.

  • 5 Votes
    26 Posts
    510 Views
    scott@authorship.studioS
    @julian
    For example, let's say I link out to Evan's profile here. If NodeBB knew that this link had an alternative AP endpoint, then we could redirect the user instead to the local representation of his profile

    Wouldn't Evan's AP endpoint be the same as his HTML endpoint?

    Most platforms are going to send you to the authoritative profile, which is the one at the user's server.

    And if you wanted to redirect a link to a local profile instead of his official profile, you don't need an endpoint to do that. You could simply parse the post and swap out the URL, since you should have data about the user in your database anyway from when you first detected the user.

    Maybe I am misunderstanding the use case here, but I am not sure why a platform would send you to a different platform to view the profile or channel.
  • 4 Votes
    4 Posts
    161 Views
    trwnh@mastodon.socialT

    @julian @rimu i think that was rimu actually, although i can probably give a summary

  • 15 Votes
    7 Posts
    545 Views
    crazycellsC

    @julian I am not sure but I guess so...

    when I clicked the link on the first post of this topic: https://community.nodebb.org/topic/cd43b9f3-c032-44cc-adc8-f32e7ee91901/our-next-meeting/

    it takes me here but gives error:

    https://socialhub.activitypub.rocks/ap/object/1899f65c062200daec50a4c89ed76dc9

  • 2 Votes
    12 Posts
    364 Views
    julianJ

    @[email protected] Yes, I think that's what @oplik0 and I ended up agreeing on. If we normalize all incoming requests so that any requests containing a full object on a different domain is just reduced down to its id, then you'd safeguard yourself from most edge cases. Applying FEP-8b32 would be handy to save yourself a few network calls but is optional.

    The cost is you might have to make a couple extra calls, but it's probably worth it in order to keep the logic simple, predictable, and easily auditable.

  • 19 Votes
    8 Posts
    2k Views
    hrefna@hachyderm.ioH

    @julian I am once again reminded of why Roberts Rules are written the way that they are and why the "Roberts Rules for small groups" caps at 12 people.

  • 3 Votes
    1 Posts
    315 Views
    julianJ

    A small quality-of-life update I just pushed to NodeBB will now allow you to view the content posted by non-local users.

    When discovering new users and determining whether to follow them, their post history is rather important!

    You can view post history for a remote user just as with a regular user: Profile > Posts

    359b6584-606f-4afa-9964-b6f314814522-image.png

  • 13 Votes
    7 Posts
    604 Views
    julianJ

    @[email protected] not a problem, I'll post up the minutes soon for open discussion!

    We didn't get into any technical details re: ordered collections, etc., so there's still time to discuss the intricacies of 9988.

  • 15 Votes
    18 Posts
    853 Views
    julianJ

    @crazycells I do not like repeated logic, as it adds maintenance burden. I will be removing it regardless ๐Ÿ™‚

  • 15 Votes
    22 Posts
    632 Views
    shoqS

    Thanks @crazycells . I I'm pretty sure it will become important to do that sooner or later.
    probably sooner