You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by "Loyal-Young (via GitHub)" <gi...@apache.org> on 2026/10/09 08:59:56 UTC

[PR] fix(ai): discard conversation creation after navigation [rocketmq-dashboard]

Loyal-Young opened a new pull request, #5787:
URL: https://github.com/apache/rocketmq-dashboard/pull/5787

   ## What is the purpose of the change
   Fixes #5781. Invalidate pending conversation creation when the initiating route changes or unmounts. Check ownership after default-instance lookup and after creation, and suppress obsolete error callbacks. Preserve the existing route-arrival auto-send behavior.
   
   ## Brief changelog
   - Track the lifetime of the route that started creation.
   - Prevent abandoned operations from navigating, sending, or starting a dependent creation request.
   - Add deferred hook tests for navigation, unmount, lookup cancellation, errors, and successful delivery.
   
   ## Verifying this change
   - Before the fix: 4 new lifecycle regressions failed; 2 control cases passed.
   - After the fix: all 6 useAiSend tests passed.
   - TypeScript app check, ESLint for changed files, and git diff --check passed.
   - Full app build and backend tests were not run for this frontend-only change.
   
   ## AI assistance
   AI assisted with tracing the asynchronous route lifecycle, drafting the guard and deferred tests, and reviewing test results. The patch was checked against the current source and validated with the commands above. An already submitted server request is not cancelled; only its obsolete client-side effects are discarded.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] fix(ai): discard conversation creation after navigation [rocketmq-dashboard]

Posted by "Loyal-Young (via GitHub)" <gi...@apache.org>.
Loyal-Young commented on PR #5787:
URL: https://github.com/apache/rocketmq-dashboard/pull/5787#issuecomment-6095023806

   Merged the current rocketmq-studio base (5e4c39b053c35a5598cc79ff331b8a54e649d7b1) in 55ba2c17646600bbfeee264406f6036d160bfc5d and resolved the import conflict, preserving the new upstream retry UI and this PR's abandoned-send handling. On that merged tree, AiPage and useAiSend tests pass (27/27), as do changed-file ESLint, full application TypeScript checking, and git diff --check. CI is rerunning on the merge commit.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] fix(ai): discard conversation creation after navigation [rocketmq-dashboard]

Posted by "Loyal-Young (via GitHub)" <gi...@apache.org>.
Loyal-Young commented on PR #5787:
URL: https://github.com/apache/rocketmq-dashboard/pull/5787#issuecomment-6261570619

   Progress update (2026-10-19):  GitHub currently reports the branch as mergeable. All five current CI checks pass. The requested review changes are in the current revision; a fresh review is welcome. I will follow up on any new feedback.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] fix(ai): discard conversation creation after navigation [rocketmq-dashboard]

Posted by "Loyal-Young (via GitHub)" <gi...@apache.org>.
Loyal-Young commented on PR #5787:
URL: https://github.com/apache/rocketmq-dashboard/pull/5787#issuecomment-6094608788

   Updated in f535fd4bc7259d21e77b02ed305f50ba181428a0. startRun now distinguishes an abandoned request ('abandoned') from an owned failure (null). The handoff drops the abandoned path without navigation or draft writes, and manual-send restoration additionally checks its initiating location generation.
   
   Added real AiPage/MemoryRouter regressions for manual send and home-page handoff: both navigate to conversation 7 while creation is pending, type a new draft there, and resolve creation as conversation 99. They assert the current route and exact new draft survive and no stream starts. Both fail on the previous PR head. An owned creation failure still restores its draft; the existing positive handoff still sends once and strips state.
   
   After: 24 tests pass across AiPage and useAiSend; changed-file ESLint, full app TypeScript (noEmit, composite/incremental false), and diff checks pass. An already submitted create request can still leave its server-side conversation row; the fix only discards obsolete client effects. I am also documenting that in #5781. AI assistance was used for implementation/tests, with diff and result review in this session.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] fix(ai): discard conversation creation after navigation [rocketmq-dashboard]

Posted by "Loyal-Young (via GitHub)" <gi...@apache.org>.
Loyal-Young commented on PR #5787:
URL: https://github.com/apache/rocketmq-dashboard/pull/5787#issuecomment-6232752203

   Review follow-up: the current head distinguishes failed creation from an abandoned route, gates composer restore by the initiating context, and returns from draft handoff on abandonment without navigating to a captured stale pathname. The page-level manual-send and handoff regressions switch conversations while creation is pending and verify no navigation or composer refill. The PR description now also states that a submitted create may still leave a server-side conversation. Focused tests, TypeScript, ESLint, and CI passed; ready for re-review.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org