Skip to content

Improve the group-link join entry and show feedback when Join group is clicked #1021

Closed

Description

@zy95-12

Problem

When trying to join an existing group by link, the entry point and the join flow are confusing and provide no clear feedback.

Screenshot: the entry card is titled “面对面建群或用链接加入”. After opening it and pasting a group link, the preview shows “Waiting for FlyBot … to let you in. If the group does not appear, press Join group to ask again.” There is a “加入群” button in the group card. Clicking it appears to do nothing.

Steps to reproduce

  1. Open the entry point for creating/joining a room.
  2. Paste a valid group invitation link and click “用链接加入”.
  3. When the group preview/card appears, click “加入群”.
  4. Observe the UI and the room list.

Actual behavior

  • The entry title “面对面建群或用链接加入” mixes two different actions and is hard to understand when the user's intent is to join an existing group.
  • Clicking “加入群” gives no obvious confirmation, progress state, error, or explanation of what happens next.
  • It is unclear whether the join request succeeded and is waiting for the host, failed, or needs to be retried. The existing hint mentions waiting for the host, but the button itself does not make the state transition clear.

Expected behavior

  1. Use a clear entry label such as “加入群聊” for the join-existing-group flow. Keep group creation as a distinct action/entry where possible.
  2. After the user clicks “加入群”, provide immediate and truthful feedback:
    • If the request was sent and host approval/invitation is pending, show a clear pending / waiting for host state and explain whether the user needs to do anything else.
    • If the request succeeded, confirm that the group was joined and show/open it.
    • If the request failed, show the actionable error and a retry action.
    • If the button retries a previous request, label it accordingly (for example, “重新请求加入”) and show that the retry was sent.
  3. Do not silently treat a claimed invitation as a successful join unless the room is actually present in the local room list.
  4. Add UI tests for pending, success, failure and retry states.

Related issues

These issues cover adjacent invite-link mechanics. This issue focuses on the entry-point wording and making the user's click and resulting join state understandable; please check the current behavior against those fixes before changing the underlying ticket logic.

Acceptance criteria

  • A user can distinguish “create a group” from “join an existing group”.
  • Every click on the join/retry action results in a visible pending, success, or failure state.
  • Pending host approval is explicitly explained; users are not left guessing whether the click worked.
  • Repeated clicks do not create duplicate joins or falsely claim success.
  • Tests cover the UI state transitions without weakening invitation, membership or authorization checks.

Activity

  1. Birfy commented on Oct 25, 2026

    @Birfy
    Collaborator

    Written-by: Triage

    Thanks for the write-up — it is a real problem, but I need two facts before this can be worked as its own issue, because two older issues already cover most of this surface:

    What I need from you: (1) which FlyBot build this is (the version in the sidebar, or the release tag), and (2) whether the group ever appeared after "Join group" — waiting forever is #1064, while a group that appears with no confirmation is the copy problem in #1053. With those two answers this turns into either a pointer to the existing fix or a new issue with a narrow acceptance.

    One part is genuinely not covered by either: the entry card's title mixes "face-to-face" and "by link" in one label. That is plugins/social/client.js copy, and it will be filed separately if it survives the two answers above.

  2. added
    area:uiWeb/desktop UI and copy
    enhancementNew feature or request
    needs-infoWaiting for the reporter or a maintainer decision
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    and removed
    needs-infoWaiting for the reporter or a maintainer decision
    on Oct 25, 2026
  3. Birfy commented on Oct 25, 2026

    @Birfy
    Collaborator

    Written-by: Triage

    Narrowed to agent-ready, owner Dev. The two larger halves of this report are already fixed or filed (#1053 for the join/create wording, #1064 for the stuck "Asked to join…"), so one thing is left that neither covered:

    the entry card's title mixes two different actions in one label — a face-to-face room and joining by link are different intents, and the title names both, so a user who wants to join has to read past a create path to find it.

    Scope: plugins/social/client.js — split the entry into two clearly labelled rows/paths ("Join by number or link" / "Start a face-to-face room") with the existing handlers unchanged, and keep the 6-digit helper text on the join path. No new endpoint, no server change, no behaviour change beyond which control the user taps.

    Acceptance: a test that asserts both labels exist and that the join-shaped label is the one carrying the code input; existing #1019/#1038/#1061 cases stay green.

    If after that the reporter's "clicking Join group does nothing" still reproduces on current main, that is #1064's surface and belongs there — I will re-point it rather than widen this.

  4. added
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 25, 2026
  5. removed
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    on Oct 25, 2026
  6. removed
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 25, 2026
  7. Birfy commented on Oct 25, 2026

    @Birfy
    Collaborator

    Written-by: Dev

    done —— #1021 随 #1135 合入 5841467c(squash 题目 #1021 …),四项在 main 上核过:

    • 单:closed/completed,agent-working 已摘;PR Offer joining and starting a face-to-face room as two entries #1135 merged: true,Fixes #1021 指向的就是它。
    • 片段:changelog.d/1021-join-and-start-are-two-entries.changed.md 在 main 上。
    • 文档:docs/subsystems/social.md(两行入口与各自带什么)、plugin-runtime.md(三条 flybot.new-chat.action)、core-client.md(那四个 i18n key)都在这一版里。
    • 关联:Fixes #1021 与合入 commit 一一对应,没有第二张 PR。
  8. added a commit that references this issue on Oct 25, 2026
    5841467
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:uiWeb/desktop UI and copyenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions