feat(desktop): Projects follow-ups — access restrictions, fast loading, activity feed polish - #5073
Conversation
The relay answers channel-ACL denials with the same 404 as a missing repository (anti-enumeration), so the git error alone can't tell "never initialized" from "no access". Re-classify missing results client-side using the repository's buzz-channel binding and the viewer's memberships: new access/unbound unavailable reasons with dedicated card indicator and README-panel copy (linking to the bound channel when visible), viewer accessibility helpers with an "accessible" repository scope filter, and a timeline connector treatment for the activity feed. Also adds min-w-0 to the sidebar layer in AppShell: without it, min-width:auto keeps the layer at full window width next to the community rail and pushes the main pane past the right edge. Signed-off-by: Thomas Petersen <thomasp@squareup.com>
Signed-off-by: Thomas Petersen <thomasp@squareup.com>
…ates Projects previously enumerated every kind:5 deletion event on the relay to find tombstones, which took minutes on staging. Fetch announcements first, then query kind:5 with #a filters chunked over their coordinates. Signed-off-by: Thomas Petersen <thomasp@squareup.com>
…tton Activity cards show the bare event-type glyph beside the headline, run the timeline spine through the avatars, and bold the linkable actor and project names in theme foreground. The create menu is pinned to the pane's top-right corner instead of scrolling with the header. Signed-off-by: Thomas Petersen <thomasp@squareup.com>
Signed-off-by: Thomas Petersen <thomasp@squareup.com>
Signed-off-by: Thomas Petersen <thomasp@squareup.com>
Signed-off-by: Thomas Petersen <thomasp@squareup.com>
Signed-off-by: Thomas Petersen <thomasp@squareup.com>
|
Screenshots of the UI changes in this PR (mock-bridge E2E build, light theme). Activity feed layoutBare event-type glyph beside the headline (no badge circle), the timeline spine runs through the avatars connecting consecutive cards, and the linkable actor/project names are bold in theme foreground while the rest of the meta line stays muted. Create button pinned — top of pageThe "+" create menu sits in the pane's top-right corner with equal 16px insets from the top and right edges. Create button pinned — scrolledAfter scrolling, the page header is gone and the tab bar is stuck to the top, but the create button hasn't moved — it's an overlay on the non-scrolling pane, not a sticky element. |
The scope selector and sort/view controls now render as the first row of the list container (a standalone bar with the same proportions in card view). Repository rows show where the git data lives (github.com/org/repo or owner/repo for Buzz-hosted) instead of repeating the project name, and issue rows use the same flex subtitle as PR rows so both lists share an identical row height. Signed-off-by: Thomas Petersen <thomasp@squareup.com>
|
🤖 Screenshots for the list header / repository subtitle batch ( List view: controls are the table's first rowThe scope selector (left) and sort + layout toggle (right) now render as a header row inside the list container — one shared border, divider below, subtle background tint. Card view: same bar, same proportionsIn the card layout the identical bar stands alone (fully rounded) with the cards flowing below. Repository rows show where the git data livesInstead of repeating the (often identical) project name, the subtitle is now PR and issue rows share an identical heightIssue subtitles previously used inline flow, letting the 20px author avatar grow the line box ~3px taller than PR rows. Both now use the same flex subtitle. |
klopez4212
left a comment
There was a problem hiding this comment.
Reviewed commit dd6d056 (Projects list controls/header redesign). I found no actionable correctness or blocking issues.
Validation: TypeScript typecheck, full unit suite (4,497 passed), desktop production build, local file-size/px-text/pubkey-truncation checks, and all GitHub CI checks passed. Local Playwright execution was unavailable because the build artifact/browser setup was not present; the GitHub Desktop smoke/integration E2E checks passed.
…-log-harness * origin/main: feat(desktop): adding rich link previews to messages (#3818) fix(buzz-agent): Responses reasoning summary, Anthropic display:summarized, ACP v2 messageId (#5195) fix(desktop): retain distinct agent instances in autocomplete (#5202) fix(desktop): defer channel visibility change to Save (#5203) feat(desktop): Projects follow-ups — access restrictions, fast loading, activity feed polish (#5073) refactor(cli): replace probe/decider/detail split with single typed extractor (#5191) fix(desktop): drop unhandled rejection from throwing window.Notification (#5143) fix(desktop): fence localStorage SecurityError from killing the React tree (#5142) fix(desktop): make terminal output selectable (#4980) fix(desktop): use WEBKIT_DMABUF_RENDERER_FORCE_SHM for NVIDIA/AppImage (#3654) (#4505) Make public starter channels best effort (#5192) Mobile: add anchored reaction popover (#5025) feat(mobile): add bee pull-to-refresh (#5059) Signed-off-by: Atish Patel <atish@squareup.com>








Summary
Follow-up batch on the Projects overview (continues merged #1677):
useRepositoryAccess.ts,projectRepoAvailability.ts).#afilters (3 queries instead of hundreds on staging).ProjectsListHeaderBar.tsx).github.com/org/repofor external repos orowner/repo(resolved profile name) for Buzz-hosted ones, instead of repeating the project name (repositoryDisplayPath).📸 Screenshots: feed layout / pinned button · list header / repo subtitles / row heights.
Note: two empty
chore: retrigger CIcommits exist on the branch from working around the Aug 6 GitHub Actions incident; happy to drop them with a signoff rebase before undrafting if preferred. Latestmainis merged in (a0cc35220).Test plan
repositoryDisplayPath(external, Buzz-hosted, unresolvable)