Skip to content

feat: SDK update for version 27.0.0 - #332

Merged
ChiragAgg5k merged 19 commits into
mainfrom
dev
Sep 24, 2026
Merged

ChiragAgg5k merged 19 commits into
mainfrom
dev

Conversation

@ChiragAgg5k

@ChiragAgg5k ChiragAgg5k commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

This PR contains updates to the SDK for version 27.0.0.

What's Changed

  • Breaking: removed Account.listLogs and the Log, LogList models
  • Breaking: removed Client.setDevKey
  • Breaking: SDK now targets Appwrite 2.3 (X-Appwrite-Response-Format: 2.3.0)
  • Added: Account.createIdTokenSession for native Apple and Google sign-in with IdTokenProvider enum
  • Added: Account.createRecoveryOTP and Account.updateRecoveryOTP for code-based password recovery
  • Added: Account.createEmailVerificationOTP and Account.updateEmailVerificationOTP
  • Added: kakao and tiktok values to OAuthProvider
  • Added: passwordPwned field on User and providerIdToken field on Identity
  • Fixed: empty-string required path parameters are rejected instead of sent to the API

@ChiragAgg5k ChiragAgg5k changed the title feat: Flutter SDK update for version 27.0.0 feat: SDK update for version 27.0.0 Sep 24, 2026
@greptile-apps

greptile-apps Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

The PR appears safe to merge on the current findings, though the outstanding request-behavior test feedback remains worth addressing.

Fix All in Claude CodeFindings

  1. P2 Tests hide request behavior ▶
Fix with agent prompt
### Issue 1
test/services/documents_db_test.dart:undefined-23
This mock records only the HTTP method and discards the path, parameters, and headers. The new tests then check only the model type returned from a stubbed response, so they would pass even if a DocumentsDB method used the wrong endpoint or omitted its inputs. The same pattern appears in the new VectorsDB and account tests. The repository requires tests of observable behavior rather than tests that mirror the implementation; assert the requests these methods promise before merging.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

---

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

Summary

The PR updates the Flutter SDK for Appwrite 2.3, adds native ID-token sign-in and OTP account flows, updates models and providers, and rejects empty required path parameters. There have been no changes since the previous review.

Reviews (2) · Last reviewed commit: "chore: merge main into dev for the 27.0...."

ResponseType? responseType,
}) async {
return super.noSuchMethod(
Invocation.method(#call, [method]),

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Tests hide request behavior

This mock records only the HTTP method and discards the path, parameters, and headers. The new tests then check only the model type returned from a stubbed response, so they would pass even if a DocumentsDB method used the wrong endpoint or omitted its inputs. The same pattern appears in the new VectorsDB and account tests. The repository requires tests of observable behavior rather than tests that mirror the implementation; assert the requests these methods promise before merging.

Context Used: Call out and harshly judge implementation-coupled tests. We don't mirror source code, configuration, or version pins in assertions. We test observable behavior; use linters for syntax and schema checks. (source)

Prompt To Fix With AI
This is a comment left during a code review.
Path: test/services/documents_db_test.dart
Line: 23

Comment:
**Tests hide request behavior**

This mock records only the HTTP method and discards the path, parameters, and headers. The new tests then check only the model type returned from a stubbed response, so they would pass even if a DocumentsDB method used the wrong endpoint or omitted its inputs. The same pattern appears in the new VectorsDB and account tests. The repository requires tests of observable behavior rather than tests that mirror the implementation; assert the requests these methods promise before merging.

**Context Used:** Call out and harshly judge implementation-coupled tests. We don't mirror source code, configuration, or version pins in assertions. We test observable behavior; use linters for syntax and schema checks. ([source](https://app.greptile.com/review/custom-context?memory=instruction-0))

---

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

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Claude Code Fix in Codex

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Not in this release: test/services/documents_db_test.dart is not in this PR's diff (last changed in 26.2.0). Every generated service test uses the same method-only mock, so this belongs in the generator's test templates rather than this release.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

You're right — this comment is out of scope for this PR because test/services/documents_db_test.dart is unchanged here. Since the method-only mock is shared by generated service tests, the durable fix belongs in the generator templates rather than this release. I'll withdraw this finding for PR #332.

Tip: You can customize Greptile's behavior for this repo with .greptile/rules.md and .greptile/config.json.

@ChiragAgg5k
ChiragAgg5k merged commit cc9d592 into main Sep 24, 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.

2 participants