Skip to content
  • 1 Votes
    1 Posts
    14 Views
    julianJ
    FOSDEM offers open source and free software developers a place to meet, share ideas and collaborate. Renowned for being highly developer-oriented, the event brings together some 8000+ geeks from all over the world. The twenty-fifth edition will take place on Saturday 1st and Sunday 2nd February 2025 at the usual location, ULB Campus Solbosch in Brussels. So, should NodeBB make an appearance at next year's FOSDEM? There's apparently a dev room for ActivityPub, which should prove interesting for sure!
  • 6 Votes
    11 Posts
    98 Views
    jupiter_rowland@hub.netzgemeinde.euJ
    @julian Well, there are object types that Mastodon couldn't even handle if it wanted to. For example, it doesn't have anything to handle an Event-type object with. I don't think Gargron would build an event calendar into Mastodon just for Event-type objects, not unless enough people pester him to do just that.#FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Mastodon
  • Question re: @context and JSON-LD

    ActivityPub
    5
    0 Votes
    5 Posts
    62 Views
    trwnh@mastodon.socialT
    @julian @thisismissem which is to say, the following are equivalent within the same scope...@\context: [{toot: http://joinmastodon.org/ns#,Emoji: toot:Emoji},{toot: http://joinmastodon.org/ns#,IdentityProof: toot:IdentityProof}]@\context: [{toot: http://joinmastodon.org/ns#,Emoji: toot:Emoji,IdentityProof: toot:IdentityProof}]
  • 3 Votes
    6 Posts
    138 Views
    julianJ
    Reminder that the ForumWG meeting is coming up in one hour.
  • 2 Votes
    5 Posts
    106 Views
    trwnh@mastodon.socialT
    @julian @thisismissem @silverpill which is to say: audience is what decides which objects you are even *aware* of, before you even get around to grouping them logically.in a centralized system you would query for all objects in the database where the context was what you wanted, and where the audience included you.in a decentralized system you work off of what’s in your inbox, and “follow your nose” to the context, which may have its own audience.
  • 7 Votes
    170 Posts
    5k Views
    silverpill@mitra.socialS
    @erincandescent @trwnh @evan @jenniferplusplus @mikedev @scott @julian @trwnhThe name of the property could be different, but I think it is useful to have two collections:- "Thread" is easier to implement, and in any case, software needs to keep track of reply trees, one way or another.- "Context" is a bonus. It contains everything related to a conversation, including reactions and edits. Some applications may not need it, and for some it might be difficult to implement, so it should be optional.My estimation is that implementation of "Context" + "Thread" will require roughly the same amount of effort as implementation of "Context" alone, so for those who want "Context" this separation should not be a problem. If software doesn't keep track of activities it can provide empty "Context", but their Add activities should nevertheless have it in target. Perhaps in the following form:"target": { "type": "Context", "id": "<context-collection>", "attributedTo": "<conversation-owner>", "thread": "<thread-collection>" }
  • 11 Votes
    18 Posts
    644 Views
    jupiter_rowland@hub.netzgemeinde.euJ
    @Stefan Bohacek @jdp23 @julian "Shadow mentioning" is a thing. (streams) and Forte do it to avoid clutter. Mentions don't have to be visible in a post/comment to work.
  • Quoted posts

    ActivityPub
    20
    4 Votes
    20 Posts
    358 Views
    scott@authorship.studioS
    @Kichae Ideally, people should be notified that they are posting to a forum and not replying to a post on an individual channel, that way we can set some expectations in advance.I am not sure how ActivityPub handles it, but Hubzilla somehow communicates with other Hubzilla instances that a particular channel is a forum. It's probably communicated in webfinger, or something like that. Just having an icon, tag, or Bootstrap-style badge next to a channel saying "forum" would be helpful.
  • 14 Votes
    61 Posts
    2k Views
    scott@authorship.studioS
    Having a separate thread property may be useful. One possible use case would be where threads or posts are labelled or categorized or placed in a list, and this is exposed as a context.In that case, the thread and the context would be different. cc: @Evan Prodromou @Sean Tilley @julian @Darius Kazemi
  • 3 Votes
    7 Posts
    258 Views
    damon@social.wedistribute.orgD
    @julian Yes, it was me. Thank you, I figured it was the one by Mr. Mike, thank you
  • Test post, greetings from lemmy

    ActivityPub
    2
    1 Votes
    2 Posts
    107 Views
    julianJ
    @[email protected] sort of? It went through but did not get categorized correctly. Nevertheless I will move it over for you.
  • `Update(Note)` quirk

    ActivityPub
    11
    8 Votes
    11 Posts
    253 Views
    thisismissem@socialhub.activitypub.rocksT
    julian:This whole thing could actually be sidestepped if we sent timestamps with our activities, but that's not in the spec, so I guess nobody does it heh.This sounds like a wonderful FEP!
  • NodeBB v4.0.0 Beta

    ActivityPub
    19
    16 Votes
    19 Posts
    687 Views
    S
    @Julian I filtered out the null names and the upgrade went through: "use strict"; const db = require("../../database"); const meta = require("../../meta"); const categories = require("../../categories"); const slugify = require("../../slugify"); module.exports = { name: "Setting up default configs/privileges re: ActivityPub", timestamp: Date.UTC(2024, 1, 22), method: async () => { // Disable ActivityPub (upgraded installs have to opt-in to AP) meta.configs.set("activitypubEnabled", 0); // Set default privileges for world category const install = require("../../install"); await install.giveWorldPrivileges(); // Run through all categories and ensure their slugs are unique (incl. users/groups too) const cids = await db.getSortedSetMembers("categories:cid"); const names = await db.getObjectsFields( cids.map((cid) => `category:${cid}`), cids.map(() => "name"), ); const nullIndexes = names .map((element, index) => (element["name"] === null ? index : -1)) // mark null elements .filter((index) => index !== -1); let filteredNames = names.filter(element => element["name"] !== null); let filteredCids = cids.filter((_, index) => !nullIndexes.includes(index)); const handles = await Promise.all( filteredCids.map(async (cid, idx) => { const { name } = filteredNames[idx]; const handle = await categories.generateHandle(slugify(name)); return handle; }), ); await Promise.all([ db.setObjectBulk( filteredCids.map((cid, idx) => [`category:${cid}`, { handle: handles[idx] }]), ), db.sortedSetAdd("categoryhandle:cid", filteredCids, handles), ]); }, };
  • 22 Votes
    122 Posts
    5k Views
    julianJ
    @dariusk I may be overly optimistic, but I'd like to move forward thinking that perhaps that was then and this is now. Let's chat tomorrow (?) about the merits of your implementation and see whether we can make some waves!
  • 0 Votes
    7 Posts
    169 Views
    mariusor@metalhead.clubM
    @unexpectedteapot Thank you. Indeed I missed that distinction, sorry for the noise @hongminhee.
  • FEP-7888 and the Add activity

    ActivityPub
    13
    2 Votes
    13 Posts
    311 Views
    shlee@aus.socialS
    @julian @thisismissem @trwnh makes sense as well for “followers only”… if you post a post with abuse and include someone.. It *could* reach the somebody and all of their followers as well boosted via their server (with controls. Opens the abuse vector slightly.
  • 10 Votes
    66 Posts
    3k Views
    kichae@catodon.socialK
    @omega @Kichae @baris @julian I think the only problem here is you assume people should be able to "grok" it.I don't think that's a problem. I think people should be able to understand that the Internet is a communications platform. Growing up on IRC isn't a requirement to intuiting this; the point there was that I people understood it there and then. People should be able to understand it here and now, too. They've just been trained otherwise.
  • 1 Votes
    10 Posts
    331 Views
    mro@digitalcourage.socialM
    Hi @julian @Claire - but sending incorrect json you get neither as of today, do you?
  • 12 Votes
    9 Posts
    368 Views
    antonio5609@socialhub.activitypub.rocksA
    Hi,I think It would be helpful to include examples of common use cases for ActivityPub integration in NodeBB detailed setup instructions with screenshots and troubleshooting tips for potential issues users might encounter. Additionally a FAQ section addressing common questions could be valuable.Thanks
  • 3 Votes
    3 Posts
    248 Views
    julianJ
    ForumWG meeting in ~1 hour N.B. We are deferring discussion on 1b12 vs 400e as @[email protected] is currently mid-flight, but will continue to discuss resolvable context, backfill, and syncing. There will be time for an open floor to discuss new topics, so if you have any ideas that may benefit the forum and threaded discussions sector of the fediverse, you are welcome to bring them up! Meeting Link