Files
ironclaw/crates
Henry Park ea15092736 Fix Slack relay OAuth callback state lookup (#2512)
* fix: use gateway owner_id for relay OAuth nonce storage

The relay OAuth nonce was stored under the authenticated user's ID
(a DB user UUID) but the callback handler looked it up under
state.owner_id (the gateway owner, typically "default"). This
mismatch caused the nonce lookup to silently fail, returning
"Invalid or expired authorization" on every Slack OAuth callback.

Use self.user_id (which holds config.owner_id) in auth_channel_relay
for nonce storage so both sides use the same scope.

Also adds tracing to the callback handler's get_decrypted error path
to make future auth failures diagnosable.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix relay OAuth callback state lookup

* Fix relay callback import ordering

* fix: address relay oauth review feedback

* refactor: share extension name candidate logic

* Make relay OAuth nonce consumption atomic

* Tighten relay naming and missing-nonce logs

* Fix clippy warning in skills catalog

* Fix engine and skills clippy warnings

* Fix tui clippy match guards

* Fix clippy collapsible_match and unnecessary_sort_by warnings

Collapse nested `if` inside match arms into match guards and replace
`sort_by(|a, b| b.1.cmp(&a.1))` with `sort_by_key(|b| Reverse(b.1))`
in glob/grep tools.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Pierre LE GUEN <26087574+PierreLeGuen@users.noreply.github.com>
2026-04-16 14:46:32 -07:00
..