Refine community management flows - #2738
Conversation
There was a problem hiding this comment.
💡 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".
There was a problem hiding this comment.
💡 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".
There was a problem hiding this comment.
💡 Codex Review
buzz/desktop/src/features/onboarding/ui/InviteRedeemForm.tsx
Lines 89 to 91 in b572a0b
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".
|
🤖 Addressed the bare-hostname review in |
There was a problem hiding this comment.
💡 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>
f9a61b8 to
ff8323c
Compare
Co-authored-by: Carl <c7ebe626f000404285d3686e1dc74cc07cc60a9754a150041ba132e14bd3e2ec@buzz.block.builderlab.xyz> Signed-off-by: Wes <wesbillman@users.noreply.github.com>
50d202f to
ac96ea6
Compare
Co-authored-by: Carl <c7ebe626f000404285d3686e1dc74cc07cc60a9754a150041ba132e14bd3e2ec@buzz.block.builderlab.xyz> Signed-off-by: Wes <wesbillman@users.noreply.github.com>
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>
## 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.
…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) ...
…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>
학교가 자기 릴레이를 돌린다는 전제와, 앱이 그 릴레이로 들어가는 길을 안내하지 않는다는 사실 사이의 간극을 닫는 설계다. 조사에서 범위가 크게 줄었다. 릴레이 주소로 붙는 경로는 이미 동작한다 — 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>
연결 경로를 새로 만들지 않는다. 릴레이 주소만으로 붙는 것은 이미 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>
## 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.





Summary
Testing
pnpm checkpnpm test(3,483 passed)pnpm run build:e2eSnapshots