Skip to content

fix(ui): + menu is a popover next to +; one Copy invite entry; 6 digits room hint (#173) - #265

Merged
Birfy merged 1 commit into
ThinkFlowLab:mainfrom
Birfy:fix/173-invite-menu-room-hint
Oct 18, 2026
Merged

Birfy merged 1 commit into
ThinkFlowLab:mainfrom
Birfy:fix/173-invite-menu-room-hint

Conversation

@Birfy

@Birfy Birfy commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

Part of #173 (round-3 polish). Covers items 1, 3 and 4 of the status comment, so #173 stays open for the rest.

1. + is a popover, not a full-pane New… tab. The sidebar + menu is now a 280px card at the top left of the main pane, right next to +. The pane under it is see-through, so the open chat stays visible. A press outside the card (or Escape) closes it. The card has no title row and no separate ×. New chat, Create group chat, Create new Bot and the plugin rows open their full pane as before. Change: new-chat.js puts data-menu on the .bt-pane with an outside-press close; styles.js adds the .bt-pane[data-menu] rules.

3. Face-to-face room number. The field starts empty with a light 6 digits hint (13px, normal letter spacing), not a 000000 that looks pre-filled.

4. One Copy invite entry in the right-click menu. The tree's menuItems now offers only Copy invite link (the bare URL). Copy with instructions stays in the Bot's Sharing section, next to Copy link. copyInvite(…, 'text') is kept for other callers.

Visual check: I opened + on the box's self-test instance (main 7922771) in headless Chrome and applied this branch's CSS and data-menu attribute to the live page, at 1200px light and dark and at 720px (rail sidebar). The card sits next to + in each one. The branch itself was not installed there.

Also: tests (popover source and CSS, placeholder render, single menu item), docs (core-client.md, social.md, tree.md, tree README), two changelog fragments, the rebuilt bundle and regenerated patches.

Checks (tip aca60a7, rebased on main 2097992): TZ=UTC ARCH_DOCS_BASE=upstream/main npm run verify passed (core 805/805, social 185/185, tree 56/56, timeline/interop/live-e2e green, arch-docs OK).

Still open in #173 after this PR: sidebar rows that truncate or wrap, Sharing being deep inside Bot settings, own bubbles light grey vs dark received bubbles, a shared Bot's colour per home (same root cause as #182), and the items not re-checked yet.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-18T04:18:57.407381Z d4107fd PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Birfy
Birfy enabled auto-merge October 18, 2026 04:17
@Birfy
Birfy force-pushed the fix/173-invite-menu-room-hint branch from d4107fd to aca60a7 Compare October 18, 2026 04:17

@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: d4107fd6f4

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

// rest open their full pane as before.
return h('div', {
className: 'bt-pane', style: { left: paneLeft }, 'data-menu': menuOnly || undefined,
onMouseDown: menuOnly ? (event) => { if (event.target === event.currentTarget) close() } : undefined,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Close the popover for sidebar presses

When this menu is opened from the sidebar, .bt-pane begins at the sidebar's right edge (usePaneLeft() in core/src/client/overlay-hooks.js:23-30), so this handler never receives mousedown events from the + trigger or any other sidebar control. openNewChat('new') in core/src/client/index.js:434 merely writes the same state, so clicking + again leaves the menu open, while controls such as Update or tree toggles can open/change UI without dismissing it; use a document-level outside-press listener (excluding the card/trigger) to provide the advertised outside-click behavior.

Useful? React with 👍 / 👎.

Comment thread docs/subsystems/tree.md
### Optional Tree section toggle

- The Bot list itself uses the core `.bt-tree-toggle` (see [core-client](core-client.md)). When `sidebarSection: true` brings this plugin's separate Tree section back, `.flybot-tree-toggle` matches that control: 28×28 hit target, 16px inner `.flybot-tree-caret`, hover, focus ring, and rotation of the glyph only. Leaf spacers (`.flybot-tree-dot`) keep the same 28px width. `aria-expanded` and Expand/Collapse `{name}` labels stay on the button.
- The right-click menu entry from `menuItems({ bot })` is a single **Copy invite link** (bare URL, shown when `social.canInvite(bot.id)`). The invite with instructions is offered only in the Bot's Sharing section, so the menu does not list the same invite twice (#173).

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Synchronize both READMEs with the single invite action

After this single-entry contract ships, README.md:71 and README.zh.md:66 still tell users that right-clicking a local Bot offers the invite-with-instructions action. makeMenuItems now removes that route and only Sharing retains it, so both onboarding descriptions need to point users to Sharing instead of a missing menu item.

AGENTS.md reference: AGENTS.md:L110-L110

Useful? React with 👍 / 👎.

@Birfy
Birfy added this pull request to the merge queue Oct 18, 2026
Merged via the queue into ThinkFlowLab:main with commit ab723ac Oct 18, 2026
8 checks passed
@Birfy
Birfy deleted the fix/173-invite-menu-room-hint branch October 18, 2026 04:21
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.

1 participant