Skip to content
  • 7 Votes
    2 Posts
    51 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.

  • 2 Votes
    12 Posts
    341 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.

  • 3 Votes
    1 Posts
    307 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

  • 15 Votes
    22 Posts
    592 Views
    shoqS

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

  • 2 Votes
    7 Posts
    142 Views
    julianJ

    @[email protected] but on the upside, your edit to your toot to add spaces to the mentions and urls propagated successfully back to NodeBB!

    So, success! Onwards!

  • 6 Votes
    18 Posts
    404 Views
    julianJ

    @eeeee the ActivityPub integration is under heavy development and won't be ready for awhile.

    When it is, we'll release v4.0.0

    /world contains topics from users that you explicitly follow. You probably don't see any topics there because you don't follow any users, or the ones you do haven't posted anything yet

  • 12 Votes
    16 Posts
    404 Views
    julianJ

    Quick update: you are now able to mention individual users in your posts, and if you are mentioned in return, you will now be notified.

    There was also a bug where remote user avatars were not showing up in your notification inbox. That has now been rectified.

    eef805e8-3ccf-47d6-b7b9-c7d96e5df9e6-image.png

  • 8 Votes
    8 Posts
    241 Views
    julianJ

    @crazycells you're passing the naked url which is not correct. You have to run it through encodeURIComponent() before using it as an url fragment

    Note the % ended symbols in my post above

    Ah, if you mean via the menu, I suppose that needs to be fixed.