Skip to content

do not queue a duplicate session action - #51

Merged
JamesLinYJ merged 2 commits into
mainfrom
cursor/dedupe-session-actions
Nov 9, 2026
Merged

JamesLinYJ merged 2 commits into
mainfrom
cursor/dedupe-session-actions

Conversation

@JamesLinYJ

@JamesLinYJ JamesLinYJ commented Nov 3, 2026 •

Copy link
Copy Markdown
Owner

Summary

Two logoff or disconnect clicks for the same session were both running while the worker was busy. The second call failed because the session was already gone, and the existing failure dialog made a successful logoff look failed.

  • merge_user_requests no longer appends a command whose kind and session identities are already queued. A different session, a different kind, or a different logon time stays queued. A coalesced refresh still does not erase queued actions, and an action still replaces a pending refresh.
  • A second click can also become the first pending request while the same action is already in flight, which does not go through that merge. The page remembers commands the worker has not finished and does not submit that duplicate. It does not join the worker. When the worker is idle, that memory is cleared so a later action is not blocked.
  • The worker still re-checks session identity immediately before the WTS call. No new strings.

Test

identical_session_actions_collapse_and_different_sessions_remain, next to pending_session_action_survives_a_coalesced_refresh, checks that two identical actions collapse to one and that a different session and a different logon time both remain. repeated_session_action_is_not_submitted_while_the_worker_is_busy checks the in-flight guard.

Linux could not compile the Windows resources (llvm-rc is absent), so cargo test was not run here. The edit is limited to src/pages/users.rs.

Open in Web Open in Cursor 

Drop a later Users-page command when the same kind and session identities
are already pending. A different session, kind, or logon time stays queued,
and a coalesced refresh still does not erase those actions.

Co-authored-by: jameslincn <jameslincn@outlook.sg>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 3, 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-11-03T06:25:13.526115Z e9cead3 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.

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

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

Comment thread src/pages/users.rs Resolved
A second logoff or disconnect can become the first pending request
without passing through merge. Remember commands still outstanding and
do not submit the same kind and session identities again until that
work finishes.

Co-authored-by: jameslincn <jameslincn@outlook.sg>
@JamesLinYJ
JamesLinYJ merged commit 7234047 into main Nov 9, 2026
3 checks passed
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.

2 participants