Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8961e079ca
ℹ️ 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".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5076d1ddf8
ℹ️ 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".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2e0416e0c2
ℹ️ 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".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b1b64d8ae7
ℹ️ 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".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8ba1ceb57a
ℹ️ 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".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ee8c528528
ℹ️ 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".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7cdeda3c75
ℹ️ 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".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c1c0aee683
ℹ️ 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".
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2ce360e8f4
ℹ️ 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".
|
@codex review |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cb49343c2e
ℹ️ 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".
|
@codex review |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c92c2e6005
ℹ️ 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".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f501c6d231
ℹ️ 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".
|
@codex review |
|
Codex Review: Didn't find any major issues. Hooray! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
|
@codex review |
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dfb2a2b287
ℹ️ 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".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3a9cbc065e
ℹ️ 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".
| message = payload.get("message") | ||
| response_email = payload.get("new_email") | ||
| if not isinstance(message, str) or not isinstance(response_email, str): | ||
| raise AuthenticationError(_INVALID_AUTH_RESPONSE) |
There was a problem hiding this comment.
Accept omitted email-change acknowledgement fields
When auth_request_email_change returns a schema-conforming 200 that omits message or new_email, this check raises AuthenticationError; both properties are optional in openapi/openapi.yaml:5774-5784, and the generated model represents them with UNSET. Use the caller-supplied new_email as the fallback and make the acknowledgement message optional, as with the other acknowledgement endpoints.
Useful? React with 👍 / 👎.
| response = _mapping(payload) | ||
| self._client._set_user(_user(_mapping(response.get("user")))) |
There was a problem hiding this comment.
Reconcile confirmation responses that omit the user
When a successful email-change confirmation omits the optional user property, as permitted by openapi/openapi.yaml:5837-5847, _mapping(None) raises AuthenticationError even though the mutation succeeded. Route this response through the existing user-reconciliation path so an omitted user triggers hydration rather than turning a valid 200 into a failure.
Useful? React with 👍 / 👎.
| sessions_value = payload.get("sessions", payload.get("data")) | ||
| if not isinstance(sessions_value, list): | ||
| raise AuthenticationError(_INVALID_AUTH_RESPONSE) |
There was a problem hiding this comment.
Treat an omitted session collection as empty
When the session-list endpoint returns {}, this raises AuthenticationError even though the 200 response schema declares both sessions and cursor-mode data optional at openapi/openapi.yaml:6002-6033, and the generated response model accepts that payload. Default an absent collection to an empty list so a schema-conforming empty page produces SessionPage(sessions=()).
Useful? React with 👍 / 👎.
| def _optional_int(value: object) -> int | None: | ||
| return value if isinstance(value, int) else None |
There was a problem hiding this comment.
Exclude booleans from optional integer fields
When a malformed or version-skewed response supplies true for expires_in or a pagination count, isinstance(True, int) succeeds and the SDK exposes True through fields declared as int | None; consumers may consequently interpret an expiry as one second or corrupt pagination calculations. Match _required_int() by checking the exact int type so JSON booleans are not accepted as numeric values.
Useful? React with 👍 / 👎.
| identity_id=_required_text(payload, "identity_id"), | ||
| email=_required_text(payload, "email"), |
There was a problem hiding this comment.
Allow empty identity fields for anonymous methods
When list_methods() includes an active anonymous method, these _required_text() calls reject its identity_id and email because that helper forbids empty strings. The AuthMethodSummary contract explicitly requires both fields while specifying that they are empty for anonymous methods at openapi/openapi.yaml:10562-10569, so listing methods for an anonymous account fails with AuthenticationError; validate presence and type here while allowing empty values for the anonymous method type.
Useful? React with 👍 / 👎.
| listeners = self._queue_auth_notifications() | ||
| self.realtime.on_auth_change() |
There was a problem hiding this comment.
Advance realtime generation atomically with auth state
When an auth change runs on a worker thread, another thread can observe the new current_session after _auth_state_lock is released here but before on_auth_change() advances the realtime generation; an event-loop task in that window passes the old generation checks and can complete a publish through the previous user's socket. Fresh evidence beyond the resolved generation-fencing findings is this state-commit ordering gap: advance the realtime fence while the auth-state commit is still serialized, and apply the same ordering to _clear_auth().
Useful? React with 👍 / 👎.
|
Superseded by smaller, independently reviewable authentication slices. The branch will remain available as implementation reference. |
Summary
Coordination
Verification