Skip to content

feat: Flutter SDK update for version 22.0.0#303

Merged
ChiragAgg5k merged 10 commits intomainfrom
dev
Mar 3, 2026
Merged

feat: Flutter SDK update for version 22.0.0#303
ChiragAgg5k merged 10 commits intomainfrom
dev

Conversation

@ArnabChatterjee20k
Copy link
Contributor

@ArnabChatterjee20k ArnabChatterjee20k commented Mar 3, 2026

This PR contains updates to the Flutter SDK for version 22.0.0.

@coderabbitai
Copy link

coderabbitai bot commented Mar 3, 2026

Warning

Rate limit exceeded

@github-actions[bot] has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 6 minutes and 14 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between e6b66f7 and 720f87b.

📒 Files selected for processing (1)
  • CHANGELOG.md

Walkthrough

Requires explicit non-empty IDs for channel factory methods and navigation (database, tablesdb, bucket, execution, function, team, membership, collection, table); _normalize now throws on empty IDs. Adds optional ttl (int?) parameters to Databases.listDocuments and TablesDB.listRows and passes ttl in API params. Updates SDK version strings and pubspec version to 22.0.0. Examples/docs include ttl usage. Tests updated to expect ArgumentError for missing IDs. Removed two version entries from CHANGELOG and minor comment edits for $sequence in models.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change—a version bump to 22.0.0 for the Flutter SDK—which aligns with the extensive updates throughout the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (2)
lib/services/databases.dart (1)

128-128: Document ttl semantics in this API method.

Please add a brief note on ttl unit/range (for example, seconds and accepted values) in the method docs so consumers can use it correctly.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@lib/services/databases.dart` at line 128, Update the method documentation for
the API method that declares the parameter int? ttl (in
lib/services/databases.dart) to clearly state the TTL semantics: specify the
unit (e.g., seconds), accepted value range (e.g., non-negative integers, zero
meaning immediate expiry or disallowed), behavior when ttl is null (e.g., no
expiration), and any maximum allowed value or truncation policy; include this
brief note in the method doc comment adjacent to the ttl parameter so callers
know how to provide and interpret ttl correctly.
test/channel_test.dart (1)

6-8: Add a whitespace-only invalid-ID test case.

Since normalization trims IDs, a ' ' case would improve coverage of the real validation behavior (apply similarly across root constructors).

🧪 Minimal test addition
 test('throws when database id is missing', () {
   expect(() => Channel.database(''), throwsArgumentError);
+  expect(() => Channel.database('   '), throwsArgumentError);
 });
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@test/channel_test.dart` around lines 6 - 8, Add a whitespace-only invalid-ID
test: duplicate the existing test that checks Channel.database('') but pass a
string of only spaces (e.g., '   ') and assert it throwsArgumentError (expect(()
=> Channel.database('   '), throwsArgumentError)); also add the same
whitespace-only test for the other root constructors mentioned in the codebase
(the root constructors such as Channel.collection / Channel.root or any other
Channel.* root constructors) to ensure normalization/trimming logic rejects
whitespace-only IDs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@README.md`:
- Line 10: Update the awkward wording in the README sentence that currently
reads "**This SDK is compatible with Appwrite server version latest. For older
versions, please check [previous
releases](https://github.com/appwrite/sdk-for-flutter/releases).**" — change
"version latest" to a clearer phrase such as "the latest version" (e.g., "This
SDK is compatible with the latest Appwrite server version. For older versions,
please check previous releases.") so the compatibility statement is
grammatically correct and unambiguous.

---

Nitpick comments:
In `@lib/services/databases.dart`:
- Line 128: Update the method documentation for the API method that declares the
parameter int? ttl (in lib/services/databases.dart) to clearly state the TTL
semantics: specify the unit (e.g., seconds), accepted value range (e.g.,
non-negative integers, zero meaning immediate expiry or disallowed), behavior
when ttl is null (e.g., no expiration), and any maximum allowed value or
truncation policy; include this brief note in the method doc comment adjacent to
the ttl parameter so callers know how to provide and interpret ttl correctly.

In `@test/channel_test.dart`:
- Around line 6-8: Add a whitespace-only invalid-ID test: duplicate the existing
test that checks Channel.database('') but pass a string of only spaces (e.g., ' 
') and assert it throwsArgumentError (expect(() => Channel.database('   '),
throwsArgumentError)); also add the same whitespace-only test for the other root
constructors mentioned in the codebase (the root constructors such as
Channel.collection / Channel.root or any other Channel.* root constructors) to
ensure normalization/trimming logic rejects whitespace-only IDs.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 78f9d7f and ca4ed14.

📒 Files selected for processing (12)
  • README.md
  • docs/examples/databases/list-documents.md
  • docs/examples/tablesdb/list-rows.md
  • lib/channel.dart
  • lib/services/databases.dart
  • lib/services/tables_db.dart
  • lib/src/client_browser.dart
  • lib/src/client_io.dart
  • lib/src/models/document.dart
  • lib/src/models/row.dart
  • pubspec.yaml
  • test/channel_test.dart

[![Discord](https://img.shields.io/discord/564160730845151244?label=discord&style=flat-square)](https://appwrite.io/discord)

**This SDK is compatible with Appwrite server version 1.8.x. For older versions, please check [previous releases](https://github.com/appwrite/sdk-for-flutter/releases).**
**This SDK is compatible with Appwrite server version latest. For older versions, please check [previous releases](https://github.com/appwrite/sdk-for-flutter/releases).**
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix compatibility sentence wording for clarity.

The phrase “version latest” is awkward and can confuse readers.

✏️ Suggested wording fix
-**This SDK is compatible with Appwrite server version latest. For older versions, please check [previous releases](https://github.com/appwrite/sdk-for-flutter/releases).**
+**This SDK is compatible with the latest Appwrite server version. For older versions, please check [previous releases](https://github.com/appwrite/sdk-for-flutter/releases).**
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**This SDK is compatible with Appwrite server version latest. For older versions, please check [previous releases](https://github.com/appwrite/sdk-for-flutter/releases).**
**This SDK is compatible with the latest Appwrite server version. For older versions, please check [previous releases](https://github.com/appwrite/sdk-for-flutter/releases).**
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 10, Update the awkward wording in the README sentence that
currently reads "**This SDK is compatible with Appwrite server version latest.
For older versions, please check [previous
releases](https://github.com/appwrite/sdk-for-flutter/releases).**" — change
"version latest" to a clearer phrase such as "the latest version" (e.g., "This
SDK is compatible with the latest Appwrite server version. For older versions,
please check previous releases.") so the compatibility statement is
grammatically correct and unambiguous.

@ArnabChatterjee20k ArnabChatterjee20k changed the title feat: Flutter SDK update for version 21.4.1 feat: Flutter SDK update for version 21.1.0 Mar 3, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
README.md (1)

10-10: ⚠️ Potential issue | 🟡 Minor

Compatibility sentence wording is still awkward.

Line 10 still uses “version latest”, which is grammatically unclear. This was already raised earlier and remains unresolved.

✏️ Suggested wording fix
-**This SDK is compatible with Appwrite server version latest. For older versions, please check [previous releases](https://github.com/appwrite/sdk-for-flutter/releases).**
+**This SDK is compatible with the latest Appwrite server version. For older versions, please check [previous releases](https://github.com/appwrite/sdk-for-flutter/releases).**
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 10, The compatibility sentence in the README uses awkward
wording "version latest"; update that sentence (the line containing "**This SDK
is compatible with Appwrite server version latest. For older versions, please
check [previous
releases](https://github.com/appwrite/sdk-for-flutter/releases).**") to read
clearly, e.g. "This SDK is compatible with the latest Appwrite server version.
For older versions, please check previous releases." or similar, ensuring
"latest" precedes "version" or using "the latest Appwrite server version."
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@README.md`:
- Line 10: The compatibility sentence in the README uses awkward wording
"version latest"; update that sentence (the line containing "**This SDK is
compatible with Appwrite server version latest. For older versions, please check
[previous releases](https://github.com/appwrite/sdk-for-flutter/releases).**")
to read clearly, e.g. "This SDK is compatible with the latest Appwrite server
version. For older versions, please check previous releases." or similar,
ensuring "latest" precedes "version" or using "the latest Appwrite server
version."

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ca4ed14 and 5d7d78a.

📒 Files selected for processing (5)
  • CHANGELOG.md
  • README.md
  • lib/src/client_browser.dart
  • lib/src/client_io.dart
  • pubspec.yaml
💤 Files with no reviewable changes (1)
  • CHANGELOG.md
✅ Files skipped from review due to trivial changes (1)
  • pubspec.yaml

@ArnabChatterjee20k ArnabChatterjee20k changed the title feat: Flutter SDK update for version 21.1.0 feat: Flutter SDK update for version 21.4.1 Mar 3, 2026
@ArnabChatterjee20k ArnabChatterjee20k changed the title feat: Flutter SDK update for version 21.4.1 feat: Flutter SDK update for version 22.0.0 Mar 3, 2026
@ChiragAgg5k ChiragAgg5k merged commit 1f2dc8e into main Mar 3, 2026
1 check 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