Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## dev #422 +/- ##
==========================================
- Coverage 70.39% 70.39% -0.01%
==========================================
Files 1175 1175
Lines 84460 84460
Branches 11126 11126
==========================================
- Hits 59456 59452 -4
- Misses 20714 20718 +4
Partials 4290 4290
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0c27dbce95
ℹ️ 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 (action.Kind == ActionElementKind.Link && !string.IsNullOrWhiteSpace(action.Value)) | ||
| { | ||
| return new object[] | ||
| { | ||
| new |
There was a problem hiding this comment.
Keep form buttons from emitting open_url behavior
When a card enters form mode (TextInput present), every non-input action is rendered by BuildFormButton, which always sets form_action_type to submit. This new branch returns an open_url behavior for ActionElementKind.Link, so a link inside a form now gets mixed semantics (submit + open_url), which can prevent the expected callback/form submission flow (or cause card validation rejection) for any workflow that combines text inputs with a link action. Please gate this branch for non-form buttons or suppress form_action_type for link actions.
Useful? React with 👍 / 👎.
Summary
body.elementsinstead of the legacyaction.actionswrapper.valuetobehaviors[0].value, matching Card JSON 2.0 while preserving the existing NyxIDcard.action.triggerparsing contract.Root Cause
/agentsstill produced a hybrid card after PR #419: the card body was moved underbody.elements, but buttons kept the older container/value shape. Lark rejected the interactive reply through NyxID withchannel-relay/reply -> 502, and the single-use relay token prevented text fallback.Validation
dotnet test test/Aevatar.GAgents.Platform.Lark.Tests/Aevatar.GAgents.Platform.Lark.Tests.csproj --nologodotnet test test/Aevatar.GAgents.ChannelRuntime.Tests/Aevatar.GAgents.ChannelRuntime.Tests.csproj --nologobash tools/ci/test_stability_guards.shgit diff --check