Skip to content

feat: SDK update for version 8.1.0 - #104

Merged
ChiragAgg5k merged 1 commit into
mainfrom
release/8.1.0
Oct 6, 2026
Merged

ChiragAgg5k merged 1 commit into
mainfrom
release/8.1.0

Conversation

@ChiragAgg5k

Copy link
Copy Markdown
Member

This PR contains updates to the SDK for version 8.1.0.

What's Changed

  • Added: optional state parameter on createOAuth2Token, returned unchanged on the success and failure URLs

This is a patch on top of the previous stable release: it adds only the state parameter from appwrite/appwrite#14157, plus the version bump and changelog. Generated by diffing the sdk-generator output for the specs before and after #14157.

Adds the optional state parameter to createOAuth2Token (appwrite/appwrite#14157).
@hansi-codes

hansi-codes Bot commented Oct 6, 2026

Copy link
Copy Markdown

🔵 Tier A · Mergeable after minor fixes

State values containing reserved query characters are not transmitted unchanged.

Adds an optional state argument to CreateOAuth2Token and includes it in the OAuth request. Updates package metadata, SDK headers, installation instructions, the changelog, and the example for version 8.1.0.

Verdict New comments Fixed Still open
✅ Approved 1 0 0
Finding Where
🟡 Encode state as a query parameter value Appwrite/Services/Account.cs:1943
Fix with agent prompt
### Issue 1
Appwrite/Services/Account.cs:1943
**Encode state as a query parameter value**

This goes through `Client.PrepareRequest` and `Extensions.ToQueryString`, which escapes the assembled URI rather than individual values, leaving `+`, `&`, and `#` unescaped. A state such as `a+b` (common with base64 tokens) arrives as `a b`, while `a&b` is split into parameters, so it cannot be returned unchanged; encode query values individually before assembling the URL.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
📂 Walkthrough · 6
File Change
Appwrite/Appwrite.csproj Bumps the package version to 8.1.0.
Appwrite/Client.cs Updates user-agent and SDK version headers.
Appwrite/Services/Account.cs Adds the optional OAuth state argument and request parameter.
CHANGELOG.md Documents the new state parameter in the 8.1.0 entry.
README.md Updates installation commands to version 8.1.0.
docs/examples/account/create-o-auth-2-token.md Demonstrates passing the optional state argument.

Reviewed e5b022d · Details · Comment @hansi-codes review to re-run, or mention @hansi-codes with a question.

@hansi-codes hansi-codes 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.

🔵 Tier A · Looks good to merge. Summary

{ "failure", failure },
{ "scopes", scopes }
{ "scopes", scopes },
{ "state", state }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Encode state as a query parameter value

This goes through Client.PrepareRequest and Extensions.ToQueryString, which escapes the assembled URI rather than individual values, leaving +, &, and # unescaped. A state such as a+b (common with base64 tokens) arrives as a b, while a&b is split into parameters, so it cannot be returned unchanged; encode query values individually before assembling the URL.

Prompt To Fix With AI
This is a comment left during a code review.
Path: Appwrite/Services/Account.cs
Line: 1943

Comment:
**Encode state as a query parameter value**

This goes through `Client.PrepareRequest` and `Extensions.ToQueryString`, which escapes the assembled URI rather than individual values, leaving `+`, `&`, and `#` unescaped. A state such as `a+b` (common with base64 tokens) arrives as `a b`, while `a&b` is split into parameters, so it cannot be returned unchanged; encode query values individually before assembling the URL.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

🟡 Minor · bug · Reply if this doesn't apply.

@ChiragAgg5k
ChiragAgg5k merged commit ed4ac2a into main Oct 6, 2026
2 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.

1 participant