Add Buckets shared-file channels - #6255
Conversation
This comment has been minimized.
This comment has been minimized.
…uct-review # Conflicts: # packages/app/ui/components/ScreenHeader/ScreenHeader.tsx
…uct-review # Conflicts: # desk/desk.docket-0 # packages/app/features/top/ChannelScreen.tsx # packages/app/ui/components/Channel/ChannelHeader.tsx
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 92bf6f6304
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…uct-review # Conflicts: # desk/desk.docket-0
|
Addressed the re-review in f8ba46c and brought the branch current with develop (884731e). |
|
Follow-up verification on the re-review:
The initial Two Shared E2E jobs remain in progress, but all PR-specific gated checks are green. |
This comment has been minimized.
This comment has been minimized.
…to codex/buckets-product-review
# Conflicts: # desk/desk.docket-0
The branch was 172 commits behind. Five conflicts, all where develop moved a
file this branch had also touched; resolved to keep both sides rather than
either wholesale:
- desk.docket-0: took develop's glob, which matches current develop's
frontend. It gets regenerated at release anyway.
- SystemNotices: develop refactored NonHostAdminChannelNotice onto the
NoticeBanner/NoticeCard presentation system; kept that and folded the
bucketHostedByGroup message into it as a title/body pair, so a Bucket still
says it is hosted by the group host.
- ChannelScreen: develop rewrote the thread-unread effect to abort on
cleanup, log failures, and depend on notesActivityCapabilitiesEpoch; kept
that and moved the buckets exclusion into its early return. develop had
already dropped the channelThreadAbortController ref, so nothing references
it now.
- Channel/index: develop wrapped the tree in ThreadUnreadsProvider, which
reindented everything below it. This branch's only change to the file was
one FileDrop prop, so took develop's version and re-added
dropEnabled={channel.type !== 'buckets'}.
- CreateChannelSheet: import union. Confirmed useToast, useState and
ComponentProps are all still used.
Verified: pnpm install --frozen-lockfile clean (peru.yaml unchanged, so no
desk-deps resync needed), tsc clean on packages/app apart from the
pre-existing @tloncorp/editor/dist error, 209 shared store tests, 786 api
tests, 16 buckets client tests.
Summary
Adds
%bucketsgroup-scoped shared-file channels across the Urbit backend and the Messenger clients. This draft intentionally separates the product implementation from bot tooling and hosting rollout work so the Gall protocol, client UX, and state model can be reviewed together.Included
%bucketsGall agent, types, marks, JSON conversion, Pioneer bridge threads, backend docs, and Gall testsDeliberately excluded
Review note
The API-level Bucket contract overlaps with #6251 because both the Messenger client and the bot plugin consume it. The two branches should be reconciled before either merges; this PR is the authoritative product/Gall review surface.
Validation
@tloncorp/api,@tloncorp/shared, and@tloncorp/apptypechecks passStatus
Draft for product, design, Gall, and architecture review. This is not a production rollout PR.