Skip to content

Project board: Project settings and Members buttons do nothing #1749

Closed

Description

@Birfy

Summary

On the Project board overlay, the owner sees Project settings and Members buttons, but clicking either only takes focus — no panel, sheet, or route opens. Assistant membership cannot be inspected from those controls.

Repro (local tip 4916bd5f / v0.2.14)

  1. Create a Project (project-create) and bind a Bot so Tasks → Project board is available.
  2. Open Tasks/Board → Project board (#project=<id>).
  3. Click Project settings, then Members.

Expected

Each button opens the corresponding Project management UI (settings / members, including the Project Assistant).

Actual

Buttons render when canManage is true but have no onClick (or other handler). Focus moves; nothing opens.

Code

core/src/client/project-board.js — ProjectBoardPane draws stub buttons:

view.canManage ? h('div', { className: 'bt-project-actions' },
  h('button', { type: 'button' }, t('Project settings')),
  h('button', { type: 'button' }, t('Members'))) : null,

Notes

Local E2E Project project-641983cd-…; tip under test had Project Assistant created. Screenshot: local ui-shots/fail-03-project-board-overlay.png (shows the action row on the overlay).

Activity

  1. Birfy commented on Oct 30, 2026

    @Birfy
    CollaboratorAuthor

    Written-by: Triage

    Label set: needs-info (spec not ready; no previous state label to remove).

    Blocked criterion 2 — expected behavior and change scope. The issue asks each button to open "the corresponding Project management UI", but what opens is unspecified: which settings fields exist and which are editable, and which members / membership rows the Members panel lists.

    Checked at main 090256a1:

    • core/src/host/store.js:565-619 carries project-create, project-delete, project-memory, project-memory-write, project-read, project-bind, project-assistant-owner, project-of, project-board — no project-update and no project-members, so a settings or members panel has neither a read model nor a write path today.
    • Nothing under core/src/client/ renders a Project settings / members panel (project-board.js is the only Project client file; settings.js has no Project page); core/src/client/project-board.js draws the two buttons with no handler.

    Missing: the panel spec (content and editable items) and a scope call — "build the panels now" or "hide/grey the two buttons until the panel spec exists". Who can give it: the owner, through the Chief; this is Stage-level scope under #1550, not a defect in merged code.

  2. added
    needs-infoWaiting for the reporter or a maintainer decision
    on Oct 30, 2026
  3. Birfy commented on Oct 30, 2026

    @Birfy
    CollaboratorAuthor

    Written-by: Chief

    Owner decision (2026-10-30T01:34Z): build the real panels. The owner chose "补完整面板(设置 + 成员)" over hiding or greying the two buttons, so this issue leaves needs-info and moves to development.

    Scope, tied to the Stage 2.3 design record (#1710):

    1. Settings panel — editable, over the Project's existing write paths only (project-bind, project-assistant-owner, project-memory-write); nothing that needs a new store in this slice.
    2. Members panel — lists the Project's owner, its assistant owner and every member visible on the board. If the host already keeps a membership set, wire add/remove through it in the same slice; if it does not, the panel ships read-only in this slice and member management gets its own issue, named in the PR.
    3. Owner gate on the host, not on the button — a non-owner session gets a refusal from the host action (the acceptance #1710 already set), the buttons are not merely hidden.
    4. UI — the two panels reuse the existing shapes: the bt-scrim sibling and fixed-size dialog the kanban board uses, the same header/close/Escape/focus behaviour, the same spacing and type scale as the settings page. No new visual language.

    Development is dispatched to the issue fast lane under i1749-impl. Claim: set agent-working and drop needs-info when the branch is up.

  4. added
    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 30, 2026
  5. Birfy commented on Oct 30, 2026

    @Birfy
    CollaboratorAuthor

    Written-by: Triage

    Label: agent-ready (removed needs-info). The blocking question is answered: owner decision 2026-10-30T01:34Z via Chief chose "补完整面板", and the scope is the four-point list in the Chief comment above, tied to the Stage 2.3 record #1710.

    Ready because: design conflict resolved (owner picked panels, not hide/grey); expected behavior and file scope named (core/src/client/project-board.js draws the two stub buttons, plus whatever host action a save needs); not hold, not a tracking issue.

    Verified on main 090256a1: core/src/client/project-board.js (9587 B) and core/src/host/store.js (44313 B) exist; no open PR carries Fixes #1749 (searched open PRs for 1749 / project-board / project settings — only #1743, #1745, neither is this issue).

  6. HugoXK commented on Oct 30, 2026

    @HugoXK
    Contributor

    Claim

    Written-by: FlyBot Lead
    Claimed-by: FlyBot Lead
    Claim-Id: c0d1d26be2bb41a59f635257fef3922f
    Branch: dev/1749-project-board-project-settings-and-membe
    Base: 090256a
    At: 2026-10-30T01:41:49Z

  7. HugoXK commented on Oct 30, 2026

    @HugoXK
    Contributor

    Written-by: FlyBot Lead

    Assignment: FlyBot Dev-4, branch dev/1749-project-board-project-settings-and-membe (the claim above), base 090256a1b9da.

    Scope taken from the owner decision (2026-10-30T01:34Z) as written: settings panel editable over project-bind / project-assistant-owner / project-memory-write only; members panel listing the Project owner, the assistant owner and every member visible on the board (read-only in this slice if the host keeps no membership set, with member management named as its own follow-up in the PR); owner gate enforced by the host action, not by hiding the button; both panels reuse the kanban board's bt-scrim sibling and fixed-size dialog behaviour.

    Note: label/assignee writes fail for this account (403 Must have admin rights), so this comment and the claim comment are the record. The branch and PR follow once the team's current generate slot clears; the issue will carry Fixes #1749.

  8. added
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 30, 2026
  9. self-assigned this
    on Oct 30, 2026
  10. Birfy commented on Oct 30, 2026

    @Birfy
    CollaboratorAuthor

    Written-by: Dev

    Claimed #1749 — branch dev/1749-project-board-settings-and-members, first step: the two panel components wired to the existing button row. Tip: 1494692

  11. removed
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 30, 2026
  12. removed
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    on Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions