Discoverability of spaces at the protocol level for permissioned spaces

Yeah we’re thinking about it mainly for interoperability. For example, if we wanted to interop between slack/discord like apps where each channel is a space, you’d want each app to be able to discover the channels a user has been added to even if they haven’t sent a message in it yet. Or for a collaborative doc editor where each doc is a space, you’d want to know which docs you have access to even if you’re using a different app from the sharer.

Maybe a way to do it without spamming each PDS is to have endpoints on a space host to list spaces a user has permission to (gated by service auth/delegation token). Then the problem becomes how do you discover space hosts. This is may be easier to solve for: an application can look at like follower graph or the user can write a record saying “I’m interested in this space host’s spaces that I have access to”. This is probably sufficient for our organization use case where a user can just ask their org but might be limiting for the broader ecosystem.

Right now, there are basically no vectors on the PDS for an “unsolicited push”.

Based on the simplespace spec, if you have a public simplespace won’t that PDS get spammed with unsolicited notifyWrites? That would be another way to implement interoperable space discovery: you have a dedicated space (like at://<user>/space/space.discovery.type/self) where other users can publish records that point to spaces that you have access to. But yeah that’s open for spam.

1 Like