Visibility phase 1: add site_members value + 4-option dropdown

First step of the public-viewing feature (design: docs/design/tree-visibility.md).
No non-member behavior change yet — this only widens the vocabulary and UI.

- TreeVisibility gains `site_members` (any authenticated user of the instance),
  giving the four-level model: public / site_members / unlisted / private.
- Alembic migration adds the enum value via an autocommit block (ALTER TYPE
  ADD VALUE can't run in a transaction on older Postgres); downgrade is a no-op
  since PG can't drop an enum value.
- Regenerated openapi.json + frontend TS client.
- Trees-list dropdown now offers Private / Public – Members / Unlisted / Public
  with an explanatory tooltip.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Justin Paul <justin@jpaul.me>
This commit is contained in:
2026-06-09 08:54:45 -04:00
parent 251652a935
commit 4a3fe983fa
6 changed files with 199 additions and 5 deletions
+1 -1
View File
@@ -1534,7 +1534,7 @@ export interface components {
* TreeVisibility
* @enum {string}
*/
TreeVisibility: "public" | "unlisted" | "private";
TreeVisibility: "public" | "site_members" | "unlisted" | "private";
/** UserRead */
UserRead: {
/**