Skip to content

Normalize local thread IDs during agent activation - #9

Open
danielcompton wants to merge 1 commit into
dazer1234:mainfrom
danielcompton:agent/normalize-local-thread-ids
Open

Normalize local thread IDs during agent activation#9
danielcompton wants to merge 1 commit into
dazer1234:mainfrom
danielcompton:agent/normalize-local-thread-ids

Conversation

@danielcompton

Copy link
Copy Markdown

What changed

  • Treat bare task IDs and their local:-prefixed forms as equivalent when verifying agent-key navigation.
  • Use the same variants when locating a sidebar task.
  • Add a regression test for both identifier directions.

Why

Codex for macOS 26.727.51351 reports the active composer conversation as a bare UUID while sidebar task elements and Codex Micro slots still use local:<uuid>. Codex Deck successfully changes tasks, but its literal post-navigation comparison times out and calls showAlert(), producing a yellow warning triangle on the Stream Deck.

This keeps exact matching scoped to the optional local: prefix and avoids changing cross-host routing identities.

Validation

  • npm run check
  • npm test — 134 passed, 1 expected Windows-only skip
  • npm run validate
  • Reproduced against Codex for macOS 26.727.51351 and Stream Deck 7.4.2.22730; the equivalent comparison removes the false activation failure.

@danielcompton
danielcompton marked this pull request as ready for review August 3, 2026 01:09

Copy link
Copy Markdown

Confirmed that a build containing this commit also fixes the activation failure on Windows Codex 26.803.10989.0.

Before applying it, physical agent-key presses on a Stream Deck XL repeatedly logged:

Codex received the task selection but did not activate the requested thread.

After cherry-picking 7ff4c81, agent keys switched tasks successfully, the local bridge reached READY, and the post-restart plugin log contained zero activation failures. This appears to be the same bare UUID / local:-prefixed compatibility issue on the current Windows build.

Validation on Windows:

  • npm run check
  • npm test — 135/135 passed
  • npm run validate
  • npm run audit:release
  • Live physical Stream Deck XL smoke test

Thanks @danielcompton for the focused fix.

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