Skip to content

feat: Flutter SDK update for version 27.1.0-rc.0 - #333

Merged
ArnabChatterjee20k merged 23 commits into
mainfrom
dev
Oct 6, 2026
Merged

ArnabChatterjee20k merged 23 commits into
mainfrom
dev

Conversation

@ArnabChatterjee20k

@ArnabChatterjee20k ArnabChatterjee20k commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

This PR contains updates to the Flutter SDK for version 27.1.0-rc.0.

@hansi-codes

hansi-codes Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

🔵 Tier A · Mergeable after minor fixes

Two documentation issues leave the GraphQL and several OAuth2 examples uncompilable.

Updates the Flutter SDK to 27.1.0-rc.0 with Apps and OAuth2 services and models, MQTT-based Push, an Android native plugin, and a Topic builder. Adds profile-photo APIs, extends session and list APIs, and updates transports, examples, and tests. The latest documentation changes clarify Android setup and qualify response models in examples.

Latest changes: The newest commits document Android API 24 and notification permission requirements, add model imports and aliases across examples, and fix the photo response type and literal document ID key.

Verdict New comments Fixed Still open
✅ Approved 2 3 0
Finding Where
🟡 Use an inferred type for the GraphQL response docs/examples/graphql/query.md:11
🟡 Remove the model prefix from untyped OAuth2 responses docs/examples/oauth2/logout.md:10
Fix with agent prompt
### Issue 1
docs/examples/graphql/query.md:11
**Use an inferred type for the GraphQL response**

`models.dart` defines no `Any` type, so this example and `graphql/mutation.md` still fail to compile. Both methods return raw response data; use `final result` rather than `models.Any`.

```suggestion
final result = await graphql.query(
```

### Issue 2
docs/examples/oauth2/logout.md:10
**Remove the model prefix from untyped OAuth2 responses**

`models. result` is an assignment to an undefined `models` object, not a result declaration, so this example cannot compile. The same change appears in `logout-post.md` and `revoke.md`; use `final result` for these raw-response methods.

```suggestion
final result = await oauth2.logout(
```

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
📂 Walkthrough · 13
File Change
CHANGELOG.md, pubspec.yaml Updates the release version, Push dependencies, and Android plugin registration.
README.md Documents Push background delivery, Android API 24, desugaring, and notification permission setup.
android/ Adds the Flutter bridge, native MQTT hosting, persisted subscriptions, notifications, and scheduled wake-ups.
lib/appwrite.dart, lib/models.dart, lib/topic.dart Exports new services and models and adds MQTT topic construction.
lib/services/apps.dart, lib/services/oauth2.dart Adds app management and OAuth2 authorization, consent, device, PAR, and token APIs.
lib/services/account.dart, lib/services/avatars.dart Extends session options and adds profile-photo update and delete methods.
lib/services/{databases,documents_db,tables_db,vectors_db,locale,organization,storage}.dart, lib/query.dart Updates generated API options and query helpers.
lib/src/client*.dart, lib/src/cookie_manager.dart, lib/src/input_file.dart, lib/src/enums*.dart, lib/src/enums/ Adds Push configuration, upload-method support, and transport and enum updates.
lib/src/mqtt*.dart Implements native and browser MQTT subscriptions and background hosting.
lib/src/realtime*.dart Updates realtime transport and subscription handling.
lib/src/models/ Adds Account, app, and OAuth2 response models.
docs/examples/ Adds and refreshes API examples, qualifies response models, and escapes the document ID key.
test/ Adds service, model, and Topic coverage and updates existing SDK tests.
✅ Fixed since the last review · 3
  • Avoid an undocumented Android minimum-SDK build regression · android/build.gradle:46
  • Use the Account model rather than the Account service in the example · docs/examples/avatars/update-photo.md:11
  • Escape the document ID key in the Dart example · docs/examples/documentsdb/create-documents.md:15

Reviewed the commits since fd1381c · 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 B · 1 blocking finding to address. Summary

Comment thread android/build.gradle
Comment thread docs/examples/avatars/update-photo.md Outdated
Comment thread docs/examples/documentsdb/create-documents.md Outdated

@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


Any result = await graphql.query(
query: {},
models.Any result = await graphql.query(

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Use an inferred type for the GraphQL response

models.dart defines no Any type, so this example and graphql/mutation.md still fail to compile. Both methods return raw response data; use final result rather than models.Any.

Suggested change
models.Any result = await graphql.query(
final result = await graphql.query(
Prompt To Fix With AI
This is a comment left during a code review.
Path: docs/examples/graphql/query.md
Line: 11

Comment:
**Use an inferred type for the GraphQL response**

`models.dart` defines no `Any` type, so this example and `graphql/mutation.md` still fail to compile. Both methods return raw response data; use `final result` rather than `models.Any`.

```suggestion
final result = await graphql.query(
```

---

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

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


Oauth2 oauth2 = Oauth2(client);

models. result = await oauth2.logout(

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Remove the model prefix from untyped OAuth2 responses

models. result is an assignment to an undefined models object, not a result declaration, so this example cannot compile. The same change appears in logout-post.md and revoke.md; use final result for these raw-response methods.

Suggested change
models. result = await oauth2.logout(
final result = await oauth2.logout(
Prompt To Fix With AI
This is a comment left during a code review.
Path: docs/examples/oauth2/logout.md
Line: 10

Comment:
**Remove the model prefix from untyped OAuth2 responses**

`models. result` is an assignment to an undefined `models` object, not a result declaration, so this example cannot compile. The same change appears in `logout-post.md` and `revoke.md`; use `final result` for these raw-response methods.

```suggestion
final result = await oauth2.logout(
```

---

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

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

@ArnabChatterjee20k
ArnabChatterjee20k merged commit d95bb32 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.

2 participants