Skip to content

feat: SDK update for version 28.2.0 - #346

Merged
ChiragAgg5k merged 10 commits into
mainfrom
dev
Oct 28, 2026
Merged

ChiragAgg5k merged 10 commits into
mainfrom
dev

Conversation

@ChiragAgg5k

@ChiragAgg5k ChiragAgg5k commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

This PR contains updates to the SDK for version 28.2.0.

What's Changed

  • Updated: requests send X-Appwrite-Response-Format: 2.6.2; the SDK targets Appwrite 2.6.x
  • Fixed: path parameters are percent-encoded as one segment; . and .. throw AppwriteException
  • Fixed: chunked upload resume lookups percent-encode the file ID
  • Fixed: examples pass null for unset optional params instead of empty strings

@ChiragAgg5k ChiragAgg5k changed the title feat: Flutter SDK update for version 28.2.0 feat: SDK update for version 28.2.0 Oct 27, 2026
@hansi-codes

hansi-codes Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

🔵 Tier A · Mergeable after minor fixes

The only finding is a minor test-coverage gap for slash and dot-segment path IDs.

Updates the Flutter SDK to version 28.2.0 and targets Appwrite 2.6.x. Service path parameters are encoded as individual segments, and optional parameters in examples and service tests are exercised with explicit values.

10 of 42 changed files were too large to include in full.

Verdict New comments Fixed Still open
💬 Commented 1 0 0

Note

Part of the diff was too large to review, so Hansi did not approve.

Finding Where
🟡 Add coverage for slash and dot-segment IDs lib/appwrite.dart:66
Fix with agent prompt
### Issue 1
lib/appwrite.dart:66
**Add coverage for slash and dot-segment IDs**

The service path tests use angle-bracket IDs, but none exercise an ID containing `/` or the exact `.` and `..` cases. Those are the key cases for verifying that IDs remain one path segment and that dot-segment IDs are rejected, so a regression in this new helper could pass the current tests.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
📂 Walkthrough · 5
File Change
CHANGELOG.md, README.md, pubspec.yaml, android/build.gradle Documents the 28.2.0 release and updates package versions and the Appwrite target version.
lib/appwrite.dart, lib/services/*.dart Adds shared path-segment encoding and applies it to service path parameters.
lib/src/client_browser.dart, lib/src/client_io.dart Updates SDK and response-format headers and encodes IDs used in chunked-upload resume lookups.
docs/examples/**/*.md Uses null for unset optional example parameters.
test/services/*.dart Updates path expectations and expands assertions to cover supplied optional parameters.

Reviewed e83cd99 · 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 · See the inline comments. Summary

Comment thread lib/src/client_io.dart Resolved
@ChiragAgg5k ChiragAgg5k changed the title feat: SDK update for version 28.2.0 feat: Flutter SDK update for version 28.2.0 Oct 27, 2026

@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 S · Looks good to merge. Summary

@ChiragAgg5k ChiragAgg5k changed the title feat: Flutter SDK update for version 28.2.0 feat: SDK update for version 28.2.0 Oct 27, 2026
@ChiragAgg5k

Copy link
Copy Markdown
Member Author

@hansi-codes review

@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 · See the inline comments. Summary

Comment thread lib/appwrite.dart
if (value == '.' || value == '..') {
throw AppwriteException('Path parameter cannot be "." or ".."');
}
return Uri.encodeComponent(value);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Add coverage for slash and dot-segment IDs

The service path tests use angle-bracket IDs, but none exercise an ID containing / or the exact . and .. cases. Those are the key cases for verifying that IDs remain one path segment and that dot-segment IDs are rejected, so a regression in this new helper could pass the current tests.

Prompt To Fix With AI
This is a comment left during a code review.
Path: lib/appwrite.dart
Line: 66

Comment:
**Add coverage for slash and dot-segment IDs**

The service path tests use angle-bracket IDs, but none exercise an ID containing `/` or the exact `.` and `..` cases. Those are the key cases for verifying that IDs remain one path segment and that dot-segment IDs are rejected, so a regression in this new helper could pass the current tests.

---

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

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

@ChiragAgg5k
ChiragAgg5k merged commit 9e74bed into main Oct 28, 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