Repository navigation
feat: Web SDK update for version 29.0.0 - #190
Conversation
🔵 Tier A · Mergeable after minor fixes
Updates the Web SDK to version 29.0.0 for Appwrite 2.5 response formats, adds response defaults and nullable model/request typing, and expands the Query API. The update also changes account and database examples and adds web push and Topic functionality. 14 of 43 changed files were too large to include in full.
Note Part of the diff was too large to review, so Hansi did not approve. Couldn't attach to a lineThese findings could not be placed on a changed line, so they were not posted as inline comments.
Fix with agent prompt### Issue 1
docs/examples/account/update-passkey-verification.md:12
**Passkey verification example uses an invalid credential**
This sends `{}` as the WebAuthn credential, but `updatePasskeyVerification` requires the JSON result of `PublicKeyCredential.toJSON()`; running this example fails API validation instead of completing registration. The `update-passkey-token.md` example uses the same empty credential placeholder.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.📂 Walkthrough · 6
⏳ Still open from earlier reviews · 1
Reviewed |
|
@hansi-codes review |
|
|
||
| const result = await account.updatePasskeyVerification({ | ||
| passkeyId: '<PASSKEY_ID>', | ||
| credential: {}, |
There was a problem hiding this comment.
Passkey verification example uses an invalid credential
This sends {} as the WebAuthn credential, but updatePasskeyVerification requires the JSON result of PublicKeyCredential.toJSON(); running this example fails API validation instead of completing registration. The update-passkey-token.md example uses the same empty credential placeholder.
Prompt To Fix With AI
This is a comment left during a code review.
Path: docs/examples/account/update-passkey-verification.md
Line: 12
Comment:
**Passkey verification example uses an invalid credential**
This sends `{}` as the WebAuthn credential, but `updatePasskeyVerification` requires the JSON result of `PublicKeyCredential.toJSON()`; running this example fails API validation instead of completing registration. The `update-passkey-token.md` example uses the same empty credential placeholder.
---
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.
|
@hansi-codes review |
This PR contains updates to the SDK for version 29.0.0.
What's Changed
X-Appwrite-Response-Format: 2.5.0; responses follow the 2.5 shapesoauth2resourceparams now takestring[]onauthorize,authorizePost,createDeviceAuthorization,createPARandcreateTokenT | null, such asLocale.city,Presence.statusandExecution.scheduledAtPushservice withsubscribe,unsubscribe,onNotificationOpenedandclosefor web pushTopichelperQueryaggregates (count,countDistinct,sum,avg,min,maxand more),groupBy,having,distinct, joins,relationship,covers,spatialEqualsandpageQuery.builder()to chain queries; realtime subscriptions accept a builder forqueriesExecutionTrigger.Emailnull, such asaccount.createEmailPasswordSessionduration{}instead of[]Also in this diff
mainwas behind the release tags, which were cut from release branches. This PR brings it up to date, so the diff also contains these already-released versions:28.2.0
accountpasskey methodslistPasskeys,createPasskey,getPasskey,updatePasskey,deletePasskeyandupdatePasskeyVerificationaccount.createPasskeyTokenandaccount.updatePasskeyTokenfor passkey sign-inPasskey,PasskeyList,PasskeyChallengeandTokenSecretmodels28.3.0
analytics.createEventin a newAnalyticsservice to send tracking eventsTrackinghelper that auto-tracks pageviews, outbound links, downloads, scroll depth and engagement timeavatars.updatePhotoandavatars.deletePhototo manage the user's custom profile photo, and theAccountmodelWebflowto theOAuthProviderenumstateonaccount.createOAuth2Sessionandaccount.createOAuth2Token, returned unchanged on the success and failure URLsdurationonaccount.createEmailPasswordSessionto set the session lengthcurrentonaccount.deleteSessionsto keep the current session signed inmembershipIdonteams.createMembershiptotalonaccount.listSessions, thelocalelist methods andlistTransactions