~ knotless Search/
↑↓ move↵ open⇧↵ all results

grain.social/grain

photography-focused photo sharing platform

grain.social
1 collaborator
0
2

Private galleries on the October 29 spaces alpha

Merged
Merged chadtmiller.com asked to merge into main from grain.social/grain:spaces-alpha-20261029

The reference @atproto/pds alpha has no simplespace since 0.0.0-spaces-alpha-20261029171913: a space is created with com.atproto.space.createSpace and a policy, and its member list is kept under com.atproto.memberspace, where read and write are required.

  • Creating a private gallery, adding a reader and listing members ask for the new names first and fall back to simplespace, in the shape pds.js and zds read, when the PDS answers 404 or 501 (server/spaces/client.ts).
  • A reader is added read-only (write: false): the gallery's author is its only writer.
  • The support probe accepts the new names, and the space scopes are requested from a PDS serving com.atproto.space.createSpace.
  • A refused reader, which that alpha answers SpaceNotFound so as not to disclose the space, is told "Only members can see this" rather than that the gallery couldn't be loaded.

Tests: new test/gallerySpace.test.ts for the fallback; the probe accepts the alpha's names. Full suite: 468 passed, 4 skipped. The live spaces test (SPACES_LIVE=1) wasn't run.

Not in this PR: hatk treats SpaceNotFound from a signed-in reader as a deleted space, so a group pool can be unwatched once a host on this alpha refuses a reader. That needs a fix in hatk.

🤖 Generated with Claude Code

Merged as 2d92f45