Improve mentions for agents + people #942
Conversation
c93f73b to
b487051
Compare
f67cd87 to
99c7d2a
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 99c7d2aec1
ℹ️ 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".
99c7d2a to
f0bc999
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f0bc9996df
ℹ️ 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".
f0bc999 to
a5d580f
Compare
…flicts # Conflicts: # desktop/src/testing/e2eBridge.ts # desktop/tests/helpers/bridge.ts
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ea203bfa29
ℹ️ 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".
| if ( | ||
| channelType === null || | ||
| channelType === "dm" || | ||
| !mentions.hasResolvedMembers | ||
| ) { | ||
| return []; |
There was a problem hiding this comment.
Wait for members before skipping non-member prompts
When a stream/forum composer sends before getChannelMembers has resolved, this returns no non-member pubkeys, so a globally searched @person bypasses the invite/send-without-inviting dialog and is sent as a normal p mention even though the channel membership is still unknown. In slow relay/member-list loads this means outside users are mentioned without being invited or converted to reference-only mention tags; the send path should wait/refetch members (or otherwise treat unresolved membership as needing confirmation) before deciding there are no non-members.
Useful? React with 👍 / 👎.
PR #942 added a directory-wide gate that hides any agent from the mention autocomplete unless it lives in the running build's `managed-agents.json` or advertises `respondTo === "anyone"` on the relay. The intent — keeping the relay's zombie zoo out of autocomplete — is right for the global directory, but the gate is also applied to agents that are already explicit channel members. That hides: - the user's own agents owned by a different build (prod vs. dev/worktree split — each build has its own `managed-agents.json`) - channel-added bots that defaulted to `respondTo: "owner-only"` Explicit channel membership is itself an opt-in signal, so let those candidates through unconditionally and keep the directory gate for non-members and `userSearchQuery` hits. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PR #942 added a directory-wide gate that hides any agent from the mention autocomplete unless it lives in the running build's `managed-agents.json` or advertises `respondTo === "anyone"` on the relay. The intent — keeping the relay's zombie zoo out of autocomplete — is right for the global directory, but the gate is also applied to agents that are already explicit channel members. That hides: - the user's own agents owned by a different build (prod vs. dev/worktree split — each build has its own `managed-agents.json`) - channel-added bots that defaulted to `respondTo: "owner-only"` Explicit channel membership is itself an opt-in signal, so let those candidates through unconditionally and keep the directory gate for non-members and `userSearchQuery` hits. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Tests