Repository navigation
feat: SDK update for version 7.0.0 - #101
Conversation
Greptile SummaryThis release updates the .NET SDK to API response format 1.9.6 and package version 7.0.0.
Confidence Score: 4/5The migration lifecycle deserialization failure should be fixed before merging because normal pre-cutover responses can currently throw inside the SDK. The new migration converter unconditionally dereferences fields that are unavailable during documented lifecycle states, and the shared JSON converter preserves those values as null. Files Needing Attention: Appwrite/Models/DatabaseMigration.cs and Appwrite/Models/DedicatedDatabaseOperation.cs Important Files Changed
Prompt To Fix All With AI### Issue 1
Appwrite/Models/DatabaseMigration.cs:108-112
**Nullable lifecycle fields crash conversion**
When a newly created or in-progress migration has null `lastError`, `verifiedAt`, `cutoverAt`, or `soakUntil`, `DatabaseMigration.From` calls `ToString()` on the null value, causing the migration API call to throw instead of returning its current state. The same conversion failure affects successful operation records with null error details in `DedicatedDatabaseOperation.From`.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Reviews (1): Last reviewed commit: "chore: merge main into dev for the relea..." | Re-trigger Greptile |
| lastError: map["lastError"].ToString(), | ||
| lagDocuments: Convert.ToInt64(map["lagDocuments"]), | ||
| verifiedAt: map["verifiedAt"].ToString(), | ||
| cutoverAt: map["cutoverAt"].ToString(), | ||
| soakUntil: map["soakUntil"].ToString(), |
There was a problem hiding this comment.
Nullable lifecycle fields crash conversion
When a newly created or in-progress migration has null lastError, verifiedAt, cutoverAt, or soakUntil, DatabaseMigration.From calls ToString() on the null value, causing the migration API call to throw instead of returning its current state. The same conversion failure affects successful operation records with null error details in DedicatedDatabaseOperation.From.
Prompt To Fix With AI
This is a comment left during a code review.
Path: Appwrite/Models/DatabaseMigration.cs
Line: 108-112
Comment:
**Nullable lifecycle fields crash conversion**
When a newly created or in-progress migration has null `lastError`, `verifiedAt`, `cutoverAt`, or `soakUntil`, `DatabaseMigration.From` calls `ToString()` on the null value, causing the migration API call to throw instead of returning its current state. The same conversion failure affects successful operation records with null error details in `DedicatedDatabaseOperation.From`.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
This PR contains updates to the SDK for version 7.0.0.
What's Changed
account.createJWT; useusers.createJWTinstead. A leaked JWT could mint further JWTs, letting a credential outlive its own expiry — a session cannot duplicate itself to live forever eitherproject.createKey. A leaked key could mint further hidden keys, making a compromise far harder to contain and revokeactivities.listEventsqueriesnow takes an array instead of a stringembeddingsservice withcreateTextEmbeddings, plus theEmbeddingModelenumlistMigrations,createMigration,getMigration,deleteMigration,cutoverMigration, andlistOperationsproxy.createInvalidationfor purging cached edge responses, plus theInvalidationTypeenumapps.deleteInstallationusers.getMFAChallengeand theMfaChallengeSecretmodelproject.updateMFAFactorsPolicyand thePolicyMfaFactorsmodelclient.setOrganizationfor organization-scoped requestsfolderparameter tostorage.createFilesyncModeparameter totablesDB.createandtablesDB.update, andspecificationtotablesDB.updateinstallationScopesparameter toproject.updateOAuth2Servercustomauthentication factor,node-26runtime,mfa-factorsproject policy, and theembeddings.writeandproxy.invalidations.writekey scopes1.9.6