Skip to content

Refine community management flows - #2738

Merged
wesbillman merged 6 commits into
mainfrom
kennylopez-add-community-modal
Jul 25, 2026
Merged

Refine community management flows#2738
wesbillman merged 6 commits into
mainfrom
kennylopez-add-community-modal

Conversation

@klopez4212

@klopez4212 klopez4212 commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • simplify Add community into clear create and join paths
  • align community actions and icon editing across the rail, profile menu, and settings
  • consolidate invites around the member list and a reusable link dialog

Testing

  • pnpm check
  • pnpm test (3,483 passed)
  • pnpm run build:e2e
  • focused Playwright coverage (34 passed)

Snapshots

Add a community Join an existing community
Add a community Join an existing community
Create a new community Hosted community icon
Create a new community Hosted community icon
Invites Invite link
Invites Invite link

@klopez4212
klopez4212 marked this pull request as ready for review July 24, 2026 17:55
@klopez4212
klopez4212 requested a review from a team as a code owner July 24, 2026 17:55
klopez4212 added a commit that referenced this pull request Jul 24, 2026
@klopez4212

Copy link
Copy Markdown
Contributor Author

🤖 Final community management snapshots.

Add a community

01-add-community

Join an existing community

02-join-community

Create a new community

03-create-community

Hosted community icon

04-community-icon

Invites

05-invites

Invite link

06-invite-link

@klopez4212
klopez4212 marked this pull request as draft July 24, 2026 17:56
@klopez4212
klopez4212 marked this pull request as ready for review July 24, 2026 18:00

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 50191b72a6

ℹ️ 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".

Comment thread desktop/src/features/communities/ui/AddCommunityDialog.tsx Outdated
@klopez4212
klopez4212 requested a review from wesbillman July 24, 2026 18:00

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 50191b72a6

ℹ️ 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".

Comment thread desktop/src/features/communities/ui/AddCommunityDialog.tsx

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

const normalizedRelayUrl = React.useMemo(
() => (onConnect && !parsed ? normalizeRelayUrl(inviteInput) : null),
[inviteInput, onConnect, parsed],

P2 Badge Treat bare hostnames as community URLs

In add-community mode, entering a hostname like relay.example.com is parsed as a bare invite code, so parsed is truthy and this fallback never calls normalizeRelayUrl; because this dialog has no defaultRelayUrl, canSubmit stays false and the Join button remains disabled. The removed Add Community form accepted the same input by wrapping it with wss://, so this regresses a common relay entry form; treat bare hostnames as relay URLs before bare-code parsing or allow this normalization path to run.

ℹ️ 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".

Comment thread desktop/src/features/sidebar/ui/CommunityRail.tsx
@klopez4212

Copy link
Copy Markdown
Contributor Author

🤖 Addressed the bare-hostname review in 21bf06f34: add-community now restores the legacy scheme-less host behavior, normalizing relay.example.com to wss://relay.example.com before treating it as an unusable bare invite code. The API-token E2E covers the scheme-less path, and the five previously failing integration tests now pass locally.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 21bf06f34b

ℹ️ 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".

Co-authored-by: Carl <c7ebe626f000404285d3686e1dc74cc07cc60a9754a150041ba132e14bd3e2ec@buzz.block.builderlab.xyz>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
@wesbillman
wesbillman force-pushed the kennylopez-add-community-modal branch 2 times, most recently from f9a61b8 to ff8323c Compare July 25, 2026 01:47
Co-authored-by: Carl <c7ebe626f000404285d3686e1dc74cc07cc60a9754a150041ba132e14bd3e2ec@buzz.block.builderlab.xyz>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
@wesbillman
wesbillman force-pushed the kennylopez-add-community-modal branch 2 times, most recently from 50d202f to ac96ea6 Compare July 25, 2026 02:00
Co-authored-by: Carl <c7ebe626f000404285d3686e1dc74cc07cc60a9754a150041ba132e14bd3e2ec@buzz.block.builderlab.xyz>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
@wesbillman
wesbillman merged commit 384c72d into main Jul 25, 2026
25 checks passed
@wesbillman
wesbillman deleted the kennylopez-add-community-modal branch July 25, 2026 02:30
DevYonghunT added a commit to DevYonghunT/buzz that referenced this pull request Jul 25, 2026
Close the remaining open decision from Phase 0. upstream moved 57 commits
in two days, so the interval matters more than the history shape.

- Take upstream with `git merge`, never rebase. Rebase rewrites SchoolX
  commit SHAs and needs a force push on an already-published fork branch,
  which would invalidate every SHA BASELINE.md pins. Rebase stays for
  local branches that have not been pushed.
- Sync weekly and at the start of every session in IMPLEMENTATION_HANDOFF.
- Add a sync log table; first row records 2026-07-25 → `ab3af828`.
- Record how to resolve a catalog conflict: when upstream changes what a
  string *means*, keep the i18n key and update both locales, rather than
  picking a side. block#2738 renamed "community access" to "Invites" and that
  is exactly what the three conflicts were.
- Note that a clean auto-merge is not evidence for the relay paths that
  carry the managed-agent membership rule; those get re-checked each time.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
wesbillman added a commit that referenced this pull request Jul 25, 2026
## Buzz Desktop release v0.4.26

### Changes since v0.4.25:

- Style mobile pairing QR codes
([#2775](#2775))
([`50655ac09`](50655ac))
- Refine community management flows
([#2738](#2738))
([`384c72dee`](384c72d))
- docs: replace VPN-vendor references with generic wording
([#2805](#2805))
([`bcca885ba`](bcca885))
- fix(desktop): explain macOS local network access
([#2263](#2263))
([`e527d74f0`](e527d74))
- fix(desktop): clarify CLI runtime setup
([#2680](#2680))
([`b8510ede1`](b8510ed))

**To release:** merge this PR. The tag and build will happen
automatically.
wpfleger96 pushed a commit that referenced this pull request Jul 25, 2026
…chive

* origin/main: (112 commits)
  docs(contributing): trim to goose-scale minimal intake surface (#2780)
  fix(relay): preserve reconnect backoff (#2759)
  refactor(relay): expose reconnect timing policy (#2310)
  fix(desktop): clear stale working badges on agent stop/restart (#2803)
  fix(desktop): surface agent rename relay profile sync failure as a warning toast (#2279)
  fix(docker): create /data/git so the compose volume inherits buzz ownership (#2840)
  fix(mobile): invalidate DM directory providers at the community boundary (#2842)
  feat(relay): make per-owner community limit configurable via BUZZ_MAX_COMMUNITIES_PER_OWNER (#2599)
  fix(discovery): inject PATH into Codex adapter planning (#2767)
  chore(release): release Buzz Desktop version 0.4.26 (#2808)
  Refine mobile navigation and creation flows (#2810)
  feat(relay): add author-only-unless-shared read gate for kind 30175 (#2768)
  fix(core): block IPv6 transition SSRF targets (#2801)
  Style mobile pairing QR codes (#2775)
  Refine community management flows (#2738)
  fix(workflow): bypass system proxies for webhooks (#2800)
  docs: replace VPN-vendor references with generic wording (#2805)
  docs: point readme at deploy compose bundle (#2363)
  fix(desktop): explain macOS local network access (#2263)
  fix(desktop): clarify CLI runtime setup (#2680)
  ...
wpfleger96 added a commit that referenced this pull request Jul 25, 2026
…chive

* origin/main: (112 commits)
  docs(contributing): trim to goose-scale minimal intake surface (#2780)
  fix(relay): preserve reconnect backoff (#2759)
  refactor(relay): expose reconnect timing policy (#2310)
  fix(desktop): clear stale working badges on agent stop/restart (#2803)
  fix(desktop): surface agent rename relay profile sync failure as a warning toast (#2279)
  fix(docker): create /data/git so the compose volume inherits buzz ownership (#2840)
  fix(mobile): invalidate DM directory providers at the community boundary (#2842)
  feat(relay): make per-owner community limit configurable via BUZZ_MAX_COMMUNITIES_PER_OWNER (#2599)
  fix(discovery): inject PATH into Codex adapter planning (#2767)
  chore(release): release Buzz Desktop version 0.4.26 (#2808)
  Refine mobile navigation and creation flows (#2810)
  feat(relay): add author-only-unless-shared read gate for kind 30175 (#2768)
  fix(core): block IPv6 transition SSRF targets (#2801)
  Style mobile pairing QR codes (#2775)
  Refine community management flows (#2738)
  fix(workflow): bypass system proxies for webhooks (#2800)
  docs: replace VPN-vendor references with generic wording (#2805)
  docs: point readme at deploy compose bundle (#2363)
  fix(desktop): explain macOS local network access (#2263)
  fix(desktop): clarify CLI runtime setup (#2680)
  ...

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
DevYonghunT added a commit to DevYonghunT/buzz that referenced this pull request Aug 5, 2026
학교가 자기 릴레이를 돌린다는 전제와, 앱이 그 릴레이로 들어가는 길을
안내하지 않는다는 사실 사이의 간극을 닫는 설계다.

조사에서 범위가 크게 줄었다. 릴레이 주소로 붙는 경로는 이미 동작한다 —
canSubmit이 normalizedRelayUrl만으로 참이고 startConnection이 그대로
연결한다. 없는 것은 기능이 아니라 문이다.

진짜 문제는 이름표다. 정답인 두 칸이 전부 「초대받은 사람/구성원」으로
이름 붙어 있어 자기 릴레이를 띄운 사람은 둘 다 지나치고, 그가 자연스럽게
고르는 두 문은 둘 다 Builderlab으로 나간다.

병합 비용이 설계를 정했다. WelcomeSetup.tsx는 SchoolX가 건드린 적 없는
upstream 원본인데 upstream이 계속 고친다(block#2738, block#2862). 그래서 새 UI는
SchoolX 소유 파일에 두고 저쪽에는 렌더 줄만 남긴다.

계획서 점검에서 셋을 정정했다: DialogHeader는 존재하지 않고,
HostedCommunityOnboarding에는 onConnect가 없으며, 막힌 그 다이얼로그는
WelcomeSetup:321이 띄우는 것이라 upstream 파일 하나로 끝난다.

Signed-off-by: Dev_YongT <devyongt@gmail.com>
DevYonghunT added a commit to DevYonghunT/buzz that referenced this pull request Aug 5, 2026
연결 경로를 새로 만들지 않는다. 릴레이 주소만으로 붙는 것은 이미
InviteRedeemForm이 한다 — canSubmit이 normalizedRelayUrl만으로 참이고
startConnection이 그대로 연결한다. 없던 것은 그 경로로 가는 문이다.

문구를 「소유자/구성원」이 아니라 「릴레이를 직접 운영하는가」로 가른다.
기존에 그 경로에 닿는 두 선택지가 「초대로 참여」와 「나는 구성원이다」로
이름 붙어 있어, 자기 릴레이를 막 띄운 사람은 자신을 그렇게 부르지 않으므로
둘 다 지나치고 호스팅 로그인으로 가는 문을 고른다.

"초대 코드가 필요 없습니다"가 핵심 문장이다. 초대는 owner/admin만 발행할 수
있어 새 릴레이에는 부탁할 사람이 없고, 필요하다고 믿는 것 자체가 막다른
길이다.

별도 파일에 두는 이유는 병합 표면이다. 호출부 WelcomeSetup.tsx는 SchoolX가
건드린 적 없는 upstream 원본인데 upstream이 계속 고친다(block#2738, block#2862).
상태와 마크업을 전부 여기 두면 저쪽에는 렌더 줄만 남는다.

i18n 키는 새 네임스페이스가 아니라 기존 app 아래에 넣었다 — 새로 만들면
en·ko·APP_I18N_NAMESPACES를 한 번에 바꿔야 하고 빠뜨리면 fallback이
구제하지 못한다(세션 C 사실 1번).

Signed-off-by: Dev_YongT <devyongt@gmail.com>
mrmoe28 pushed a commit to mrmoe28/buzz-reloaded that referenced this pull request Aug 6, 2026
## Buzz Desktop release v0.4.26

### Changes since v0.4.25:

- Style mobile pairing QR codes
([#2775](block/buzz#2775))
([`bd65f35f0`](block/buzz@bd65f35))
- Refine community management flows
([#2738](block/buzz#2738))
([`dcad78fdf`](block/buzz@dcad78f))
- docs: replace VPN-vendor references with generic wording
([#2805](block/buzz#2805))
([`9faf1020b`](block/buzz@9faf102))
- fix(desktop): explain macOS local network access
([#2263](block/buzz#2263))
([`186bbf072`](block/buzz@186bbf0))
- fix(desktop): clarify CLI runtime setup
([#2680](block/buzz#2680))
([`d50ebf7f2`](block/buzz@d50ebf7))

**To release:** merge this PR. The tag and build will happen
automatically.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants