feat(feishu): configurable group and DM display-name resolution#38958
feat(feishu): configurable group and DM display-name resolution#38958futuremind2026 wants to merge 5 commits intoopenclaw:mainfrom
Conversation
Greptile SummaryThis PR adds two configurable display-name resolution features to the Feishu integration — Key observations:
Confidence Score: 4/5
Last reviewed commit: 823e02f |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 823e02f151
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@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: b1ffe1379f
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
Follow-up update: preserve Feishu unicode group names in session display labels and add topic/thread labels for topic-scoped Feishu sessions.
Validation:
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cba1d7351c
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
Pushed a follow-up commit to fix the failing CI check on this PR:
Local verification on the updated branch:
CI has been re-triggered after push; waiting for the full matrix results. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0a37e02b5e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
0a37e02 to
8c5d999
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8c5d999af5
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
8c5d999 to
3a56c54
Compare
|
Follow-up update:
Current blocker:
I can proceed with a baseline-focused follow-up patch if maintainers prefer unblocking this PR directly from here. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3a56c540ad
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
5e74e1e to
8506dda
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8506ddacdb
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
8506dda to
65422d2
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 65422d227a
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
65422d2 to
d3d08ba
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e4779acdd0
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
e4779ac to
9dd06ad
Compare
|
Refreshed this PR onto current main and reduced it to the remaining Feishu behavior changes that are still missing upstream. Duplicate combined draft #48898 was closed; this PR remains the canonical upstream Feishu thread. |
|
Status update after refresh onto current main:
Current CI note:
I am keeping this PR open because the remaining Feishu diff is still real and not covered by upstream yet. |
|
Addressed the remaining lookup-compat concern in 79dae3206b. The refreshed branch now restores the original opt-out semantics by gating both DM display-name lookup and group-name lookup behind |
79dae32 to
5ee8ac6
Compare
|
Refreshed this PR onto current main and force-pushed the branch at 5ee8ac60fd. This refresh ports the remaining Feishu behavior onto the current upstream sender-name split instead of keeping the older inline implementation:
Validation rerun on the refreshed branch:
CI has been re-triggered after the force-push. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 846684478c
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
Addressed one more multi-account edge here. The sender/direct-member display-name cache is now scoped by �ccount.accountId, so the same open_id / user_id no longer leaks names across different Feishu accounts. Pushed in 846684478c8ab925ead1d836f5767f2e0690cb22. Added regression coverage in extensions/feishu/src/bot-sender-name.test.ts and verified with:
|
8466844 to
9d30caa
Compare
|
Refreshed this branch onto the latest origin/main and kept the verified Feishu fixes in place. Additional follow-up in this refresh:
Scoped verification completed:
pnpm check still hits the current unrelated origin/main lint failure in src/infra/exec-approvals-allow-always.test.ts, so I did not expand this PR to fix that separate mainline issue. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 10e9622c2c
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
8f3682d to
b4ec285
Compare
|
This pull request has been automatically marked as stale due to inactivity. |
|
Codex automated review: keeping this open. Keep #38958 open. Current main at 406ae72 still lacks the PR's remaining Feishu runtime behavior: DM display-name fallback through Best possible solution: Keep #38958 open for maintainer review, or land an equivalent focused Feishu implementation on main: add DM What I checked:
Remaining risk / open question:
Codex Review notes: model gpt-5.5, reasoning high; reviewed against 406ae72fd278. |
Summary
chatMembersuser_idbeforeopen_idwhen resolving group sender display namesCurrent Scope
This PR was refreshed on top of current
main.Older config-schema/type changes from the original branch were intentionally dropped because current upstream
mainalready covers that layer. The refreshed PR now only carries the remaining behavior changes that are still missing onmain:extensions/feishu/src/bot.tsextensions/feishu/src/bot.test.tssrc/config/sessions/group.tssrc/config/sessions.test.tsBehavior
chatMembersfor DM display-name fallbackuser_idfor group sender-name lookup when availableValidation
Local refresh validation:
mainvitestrun after the refresh, so authoritative verification should come from GitHub Actions on this refreshed branchNotes
#48898was closed; this PR remains the canonical upstream Feishu thread for this change setmainalready includes the older config-schema/type layer, so this PR is now intentionally much smaller than the original version