GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Notices by marius (mariusor@metalhead.club), page 2

  1. Embed this notice
    marius (mariusor@metalhead.club)'s status on Monday, 24-Nov-2025 07:15:41 JST marius marius
    in reply to
    • silverpill

    @silverpill yes to first question, and no to second question because collection pages are indeed dynamic. When a collection gets retrieved from storage, if there are filters on it, they get applied and the resulting object becomes a collection page where first, next, previous are computed dynamically based on the filters.

    I haven't found a good method to do away with this conceit yet.

    In conversation about 3 months ago from metalhead.club permalink
  2. Embed this notice
    marius (mariusor@metalhead.club)'s status on Monday, 24-Nov-2025 07:15:40 JST marius marius
    in reply to
    • silverpill

    @silverpill collections for GoActivityPub are not really special. A collection is an object which can be operated on with most of the Activity vocabulary to various degrees of success (based on what's in the spec, or based on what felt sensible at the time).

    The only way in which they are *special* is that when processing activities the collection ID gets extracted from the actor it belongs to, and gets operated on (for example to add an activity to an outbox or inbox).

    In conversation about 3 months ago from metalhead.club permalink
  3. Embed this notice
    marius (mariusor@metalhead.club)'s status on Monday, 24-Nov-2025 07:15:39 JST marius marius
    in reply to
    • silverpill

    @silverpill basically a storage to be able to work with GoActivityPub needs only 4 operations (the docs have 5 including Create, but that will go away soon):

    Load (IRI, Filters),
    Save (Object)
    AddTo (Collection, Object)
    RemoveFrom (Collection, Object)

    https://pkg.go.dev/github.com/go-ap/processing#Store

    In conversation about 3 months ago from metalhead.club permalink

    Attachments

    1. No result found on File_thumbnail lookup.
      processing package - github.com/go-ap/processing - Go Packages
  4. Embed this notice
    marius (mariusor@metalhead.club)'s status on Monday, 24-Nov-2025 05:53:55 JST marius marius
    in reply to
    • silverpill

    @silverpill I allow all collections' properties to be modified with Update activities with the exception of the items property itself. For those I allow Add/Remove/Move, etc.

    I don't see a reason to make a distinction between what you call views and containers.

    If there would be a distinction to make, I would consider views as random object arrays that are accesible at a certain URL (and I would add them in the Streams property of an Actor). Instead of a generated CollectionPage, you would only get its items.

    pro@dansup@mastodon.social

    In conversation about 3 months ago from metalhead.club permalink

    Attachments

    1. No result found on File_thumbnail lookup.
      http://items.pro/
  5. Embed this notice
    marius (mariusor@metalhead.club)'s status on Monday, 17-Nov-2025 07:39:31 JST marius marius
    in reply to
    • silverpill

    @silverpill there are protocols that people complain about, and protocols that nobody uses. From a couple of months ago: https://metalhead.club/@mariusor/114912833075947072

    In conversation about 3 months ago from metalhead.club permalink

    Attachments

    1. No result found on File_thumbnail lookup.
      marius (@mariusor@metalhead.club)
      from marius
      When people complain about #ActivityPub being an incomplete specification, I think it might be worth pointing them at what people that are working with other RFCs are feeling: https://yorickpeterse.com/articles/three-http-versions-later-forms-are-still-a-mess/
  6. Embed this notice
    marius (mariusor@metalhead.club)'s status on Thursday, 06-Nov-2025 06:11:35 JST marius marius
    in reply to
    • silverpill
    • Marius

    @silverpill I feel like validating that if they exist, they should both point to the same actor is a better strategy. (Which I think is what I've been doing in GoActivityPub)

    @marius

    In conversation about 3 months ago from metalhead.club permalink
  7. Embed this notice
    marius (mariusor@metalhead.club)'s status on Wednesday, 05-Nov-2025 04:58:15 JST marius marius
    in reply to
    • silverpill
    • Marius

    @silverpill there's no particular reason, that's how they came out of the random object generator.

    It's not really against spec to have attributedTo on an activity. Why do you reject them?

    I'll probably streamline it to just the actor, to keep the tests to minimal relevant details, so thanx. :)

    @marius

    In conversation about 3 months ago from metalhead.club permalink
  8. Embed this notice
    marius (mariusor@metalhead.club)'s status on Thursday, 16-Oct-2025 21:44:25 JST marius marius

    Well, after an initial failure, my #NLNet grant application for #GoActivityPub has been accepted under the NGI0 Commons Fund. 💪

    This means that for the next months my main focus will be fully on making #ActivityPub in the #Go programming language easier for other developers.

    If you're one of them, reach out, I want to know what you struggle with and how I can help with that.

    https://nlnet.nl/thema/NGI0CommonsFund.html#:~:text=GoActivityPub%20%E2%80%94%20Help%20people%20develop%20Fediverse%20software%20in%20Go

    In conversation about 4 months ago from metalhead.club permalink
  9. Embed this notice
    marius (mariusor@metalhead.club)'s status on Tuesday, 23-Sep-2025 04:24:18 JST marius marius

    For #ONI the no fuss single user #ActivityPub service, I wanted to migrate from my custom hodge-podge of JavaScript logic for building CSS themes from images, to something a little more credentialed and battle tested.

    Then I looked over what the Material library would generate and I begun to reconsider.

    Material is so unsipired, it defaults to such samey, generic norm-core color palettes that it's difficult to see any changes even between vastly different images.

    I think I'll just improve my own algorithm because, frankly, I want more GeoCities and less Enterprise.

    https://material-foundation.github.io/material-theme-builder/

    In conversation about 5 months ago from metalhead.club permalink
  10. Embed this notice
    marius (mariusor@metalhead.club)'s status on Monday, 22-Sep-2025 02:40:34 JST marius marius
    in reply to
    • Gregory
    • silverpill

    > - Recipient: trust embedded object only if the wrapping object has the same owner.

    @silverpill no, dereference object and use that instead. The canonical version of an object is the one retrieved from the originating service.

    Mastodon has popularised this behaviour where embedding collections (like your replies) is done by servers in the name of "optimizing" for request counts. But this introduces issues and personally I think it's a "code smell" for ActivityPub. Embedding should be restricted to anonymous objects. When an ID exists it should be used most of the time.

    @technical-discussion @julian @grishka

    In conversation about 5 months ago from metalhead.club permalink
  11. Embed this notice
    marius (mariusor@metalhead.club)'s status on Sunday, 21-Sep-2025 21:49:44 JST marius marius
    in reply to
    • Gregory
    • silverpill

    @silverpill do you mean that the "malicious" attachment is not a facsimile of an actual note produced by that actor, but a forgery?

    In these cases, I'll agree with
    @grishka that some validation based on the ID should be necessary.

    For embedded object attachments on the other hand (like mastodon produces), probably the validation needs to check that attributedTo corresponds to the one of the parent object or missing.

    Interesting corner case.

    @technical-discussion

    In conversation about 5 months ago from metalhead.club permalink
  12. Embed this notice
    marius (mariusor@metalhead.club)'s status on Monday, 08-Sep-2025 04:41:20 JST marius marius
    in reply to
    • just small circles 🕊
    • silverpill

    @silverpill yet it does. The grouping of the activity types by domain is quite useful and gives a good indication about what/how they can/should be used.

    @smallcircles

    In conversation about 5 months ago from metalhead.club permalink
  13. Embed this notice
    marius (mariusor@metalhead.club)'s status on Monday, 08-Sep-2025 04:34:59 JST marius marius
    in reply to
    • just small circles 🕊
    • silverpill

    @silverpill do you have a citation for that? I always interpreted them that they're parallel, but maybe I missed something.

    @smallcircles

    In conversation about 5 months ago from metalhead.club permalink
  14. Embed this notice
    marius (mariusor@metalhead.club)'s status on Friday, 15-Aug-2025 21:21:48 JST marius marius

    I just realized that the default specifications for ActivityPub/ActivityStreams do not have a way to perform an update on an object's ID. (ie, moving it from example.com/1 -> example.com/2)

    An Update activity does not allow ID updates because it would lose the reference to the original one. (It can be massaged by using an Origin property, but I don't like that).

    Another option would be to use a Move activity (which is defined as moving objects between collections), where the Origin property is the object itself instead of a collection. (I like this behaviour better, as it requires less divergence from the spec)

    #ActivityPub #fedidev #ActivityPubDev

    In conversation about 6 months ago from metalhead.club permalink

    Attachments



  15. Embed this notice
    marius (mariusor@metalhead.club)'s status on Friday, 15-Aug-2025 21:21:47 JST marius marius
    in reply to

    Is anyone aware of a FEP for that?

    #ActivityPub #ActivityPubDev #FEP

    In conversation about 6 months ago from metalhead.club permalink
  16. Embed this notice
    marius (mariusor@metalhead.club)'s status on Saturday, 09-Aug-2025 07:11:01 JST marius marius

    There are some implementation details in my storage layers that would prevent this problem from happening, I think. The main one being that the only way to change the public key of an actor is to update the actor itself, the key does not exist as a stand alone object that could be overwritten maliciously.

    There might be some corner cases, but I'll try to come up with some tests.

    In conversation about 6 months ago from metalhead.club permalink
  17. Embed this notice
    marius (mariusor@metalhead.club)'s status on Saturday, 09-Aug-2025 04:39:02 JST marius marius
    in reply to
    • silverpill
    • Marius

    @silverpill I can't really understand your example. The client doesn't have access to other actor's private keys, so it shouldn't be able to sign requests. Or you're thinking for the case of a client that is used by multiple users, *and* it stores private keys...

    My clients generally use only OAuth2 for authorization to the service their users belong to and they don't do "signed requests" to other servers (because they don't really have access to the private key in the first place).

    @marius

    In conversation about 6 months ago from metalhead.club permalink
  18. Embed this notice
    marius (mariusor@metalhead.club)'s status on Saturday, 09-Aug-2025 03:44:35 JST marius marius
    in reply to
    • silverpill
    • Marius

    @silverpill the old way is just an Image with summary and name: https://marius.federated.id/uploads/basking-snick

    Which then can be set as an attachment to a note.

    The new way is slightly more complicated and I upload multiple versions that get set as URL values on an original Image:

    https://marius.federated.id/uploads/bread-top-july

    This one can also be attached to a note or whatever.

    (if you view them in browser you get a raw image for the first, and an html documen for the second) With json+ld accept header you get the raw objects.

    @marius

    In conversation about 6 months ago from metalhead.club permalink

    Attachments



  19. Embed this notice
    marius (mariusor@metalhead.club)'s status on Saturday, 09-Aug-2025 03:44:34 JST marius marius
    in reply to
    • silverpill
    • Marius

    @silverpill so for the Pixelfed use case where usually there are multiple images, I upload them as separate images, and then aggregate them as attachments to a Note.

    I think the difference to Mastodon&co. is that for GoActivityPub services, the images are not embedded and exist as stand-alone, dereferenceable objects

    @marius

    In conversation about 6 months ago from metalhead.club permalink
  20. Embed this notice
    marius (mariusor@metalhead.club)'s status on Saturday, 09-Aug-2025 03:44:33 JST marius marius
    in reply to
    • silverpill
    • Marius

    @silverpill and if you remember from last time we talked about stuff, the structure of these operations is decided in the clients, because the GoActivityPub servers are just (mostly)dumb pipes to the web and the rest of the fediverse.

    @marius

    In conversation about 6 months ago from metalhead.club permalink
  • After
  • Before

User actions

    marius

    marius

    Mostly a programmer.Implementing #ActivityPub in the #Go programming language.Current projects: * #GoActivityPub - a library to use ActivityPub in Go. * #FedBOX - a generic ActivityPub service supporting the client to server API. * #brutalinks - a link aggregator inspired by (old) reddit, hacker news and lobste.rs built on top of FedBOX. * #oni - a single user ActivityPub server with minimal fuss.My posts are mostly related to ActivityPub and web development.

    Tags
    • (None)

    Following 0

      Followers 0

        Groups 0

          Statistics

          User ID
          7165
          Member since
          25 Aug 2022
          Notices
          161
          Daily average
          0

          Feeds

          • Atom
          • Help
          • About
          • FAQ
          • TOS
          • Privacy
          • Source
          • Version
          • Contact

          GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

          Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.