Skip to content

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone

FEP-f15d: Context Relocation and Removal

Technical Discussion
6 2 36

Gli ultimi otto messaggi ricevuti dalla Federazione
  • Yes, I think I like the idea of clients being able to store data on the server however they like. It reminds me of this description of ATProto that I found recently: https://overreacted.io/a-social-filesystem/

    I guess my question is: once I store my custom stuff in custom places on my server, how do I publish this so other people can find?

    And, object IDs are usually defined by the server. So how would it work to say "create a collection named XYZ and add this object to it"?

    @silverpill @mariusor @trwnh

    read more

  • @benpate @silverpill in a client managed followers collection i would Add you to my followers just like fedi instances currently do silently. "but how can you prove--" yes exactly, how can current fedi prove anyone is a follower either? you need the Follow+Accept pair to both be live without an Undo on either, right? and that's what leads to the "follow state machine" on fedi that drifts out of sync and leads to private posts being leaked to removed followers (which you can't officially do!)

    read more

  • @benpate @silverpill @mariusor none of the IDs should have any semantics; from the outside, there is no distinction between a client managed or server managed collection. likes/shares/etc could be managed by a "client" like mastodon, or even a "default" one. it's not any more complex unless you want to vary the collection responses based on the request headers. for that you need a minimal dynamic layer with an access control policy of some sort. (WAC is the simplest, but ACP is more powerful)

    read more

  • @silverpill @mariusor @trwnh

    I e*love* this idea- especially in principle. I say that because I’m having a hard time wrapping my head around this and how it would be used in practice.

    Do you think you could post an example workflow (or three) to demonstrate how this would work?

    I get that objects could be added to client-defined collections (very cool) but if object/collection IDs don’t have predefined semantics, how will I know where to look to get the data I need?

    read more

  • > The thanks was for your input with regards to collection management.

    @silverpill of course, sorry for the misunderstanding. Doubly so, for forgetting Mitra is Rust, I remembered it to be Python. :D

    And yes, the difficulty is indeed in massaging JSON-LD documents into strongly typed data that are meaningful for library consumers. However I've not despaired yet... there's light at the end of that boring tunnel. :P

    read more

  • @julian It looks simple on the surface, but in reality it is much more complicated than a non-generic server. In addition to activity transfer, generic server needs to maintain collections. First of all, a followers collection, which is often used as a delivery target. Then likes, shares etc. It needs to enforce permissions, to prevent actors on the same server from deleting each other posts.

    This is doable if you only care about activities defined in ActivityPub. But then you want to introduce context collection. And then 50 other extensions. How to do that without special-casing every one of them?

    This is where duck typing (FEP-2277) and unified security model (FEP-fe34) become really handy. No matter what the client sends, you can figure out what it is (an object, an actor, or a collection), and enforce permissions.

    read more

  • @silverpill@mitra.social I find it curious that this needs to be spelled out in an FEP.

    Isn't a generic AP server one that ingests anything and shoves it into the outbox... like a mail transfer agent?

    ... then delivers it dutifully?

    I mean, sure, you can do stuff in between, like spam detection, blocklists, etc etc etc...

    My quick read through of the FEP (and it was quick, because it was a short FEP :stuck_out_tongue:) seems to confirm this.

    read more

  • @silverpill lol, based on the "claims" at the begining, why do I feel like the "thanks" at the end should be in quotations?

    Also I take umbrage with calling what I've been doing for the past 8 years as "being not difficult to build nor an interesting concept". I feel like you, and other developers having the benefit of dynamically typed programming languages, underestimate how that can be worked into robust APIs when you're limited by less versatile stacks.

    read more
Post suggeriti
  • 0 Votes
    1 Posts
    6 Views
    Demorei muito até perceber que #Pixelfed só exibe publicações com anexo de imagem/vídeo. Isso precisa estar claro quando alguém recomendar esse sistema. Após usá-lo bastante com o perfil que dedico exclusivamente a fotos de #MemeTheCat & #Flokinho, digo que não vale a pena: não tem vantagem alguma sobre demais sistemas sobre #ActivityPub que também podem ser perfeitamente usados como "fotolog" sem ignorar conteúdo à revelia da pessoa. RE: https://mastodon.neilzone.co.uk/@neil/115672836329327970
  • 0 Votes
    1 Posts
    12 Views
    实例(ControlNet Social Space; 简称CSS)搭建的告一段落了,稍微总结一下:1. 选型阶段(#ActivityPub 生态对比)先稍微 review 一下现在已有的 #fediverse 平台,选择以 ActivityPub 作为协议的平台,毕竟联邦的话还是得尽可能有更多人用才行。类似于用于实时通讯的 matrix。然后评估了 #Mastodon / #Pixelfed / #Pleroma / #Misskey / #Sharkey 等,确认不同实现可互联互通(Pixelfed ↔ Mastodon 等)。然后偶然得知 #Threads 也是Fediverse中的一员。然后,研究“主域 abc.xy 显示身份、实例跑在 social.abc.xy”的可行性。结论是这样不靠谱,所以放弃了。。最终决定考虑到Sharkey比起Misskey有一些不错的feature就选了Sharkey。2. 部署与运行按官方文档与 docker compose 在用 #Unraid 系统的 #NAS 上部署 Sharkey。邮件服务器使用free-tier的#Resend 。然后还稍微折腾了一下如何设置管理员。3. 联邦互动与内容获取学会了站内搜索关注远端用户(用 @user@domain 或贴对方资料页 URL 解析)。然后是关注 Threads 用户的实操(前提对方开联邦)。但是这时候实例里没有什么联合,时间线完全没东西,就考虑有没有订阅别人一整个时间线的方法,好像不太可行。4. 存储与图片体积了解到 Misskey/系每用户默认 100 MB 网盘,附件都会落地到服务器(非纯外链)。而且没办法通过引用外链来渲染图片。试了一下本地上传+压缩,发现会自动压缩到webp,勉强还行。6. 二步验证(2FA)故障 & 解决刚才开启 2FA 后出现“authentication failed”,连恢复码也无效,日志报:Endpoint: i/change-password ... {"message":"authentication failed", ...}尝试各种排查均失效,最后只能直接改数据库里的,把 2FA 关掉,然后再重新绑定 2FA和passkey。7. 默认不显示在线状态发现这个需要在用户设置里修改,并且没找到如何让用户默认就是显示的,只能先放弃了。8. 注册与邀请码觉得发放多个一次性邀请码麻烦,想找可重复使用的邀请码。结果发现不行,只支持一次性的,感觉除非自己之后魔改一个web服务用于自动发放邀请码并且自动填写,不然想分享到别的群里,确实有点难度。也没有那种私人邀请的链接。TODO: 未来感觉还是有很多可以做的1. 能够自动探索别的实例的某些方法,找到一些有意思的用户去follow。2. 部署一个chat agent用于增强活跃度,但是又不能感觉像是纯骚扰,如何设计是个问题。3. 做一个方便remote follow的工具
  • 0 Votes
    1 Posts
    12 Views
    Video: Lunchtime Timelapse 1-26-17Andy's Video Pub | original post: https://video.andyrush.net/video/lunchtime-timelapse-1-26-17/#ActivityPub #Fediverse #ReclaimOpen25 #unf
  • 0 Votes
    1 Posts
    13 Views
    I'm working on federation issues.👻 Release v3.1.2 of Ktistec improves support for Lemmy and community servers like it that distribute content by wrapping it in Announce activities (FEP-1b12: Group federation support). Ktistec also supports the audience property, although support for that was removed from Lemmy earlier this year.🎃 This release also adds support for delivering to shared inboxes, which are widely supported by other ActivityPub servers. Despite being federated, the Fediverse is not highly distributed, and this optimization can reduce outbound delivery traffic by 10-20x.AddedSupport for the Dislike activity.Support for the audience property on activities and objects.Support for delivery to shared inboxes.Support for full-width hash signs in hashtags (e.g. #日本語) commonly used in Japanese and other Asian languages.FixedStrip HTML from object summaries rather than escaping it.Properly unwrap Lemmy-style Announce activities.ChangedDestroy discarded drafts instead of deleting them.Enjoy!#ktistec #fediverse #activitypub #crystallang