This repository was archived by the owner on Sep 2, 2026. It is now read-only.
feat(references): consume standards-based spec metadata and expose new services - #3194
Merged
Conversation
…w services The 1.9.x specs intentionally dropped website-only x-appwrite metadata (method, weight, x-example) in favor of standard OpenAPI fields, which broke every 1.9.x/cloud reference page (undefined anchors, hydration crash). Derive everything from the spec instead of requiring custom fields: - derive method ids from operationId (legacy x-appwrite.method wins on older specs, so existing anchors stay byte-identical) - sort by x-appwrite.weight only when the spec carries weights - derive service availability from spec tags and platform availability from the shipped examples tree (drops Deno for >=1.9.x, gates Health, and makes new services a two-file addition) - render methods without SDK examples instead of hiding them, omitting only the code panel (un-blanks all 1.9.x Deno pages) - skip webAuth methods on GraphQL platforms, mirroring the generator's own exclusion - read example ?? x-example, resolve cloud -> latestVersion everywhere, and tolerate inline (non-$ref) response schemas - expose the new 1.9.x services: oauth2, apps, organization, webhooks, proxy, backups, advisor, activities
Appwrite WebsiteProject ID: Website (appwrite/website)Project ID: Tip Sites support three domain rule types: Active deployment, Git branch, and Redirect |
atharvadeosthale
approved these changes
Aug 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


What
Updates
@appwrite.io/specsto the latest commit (ad50888d) and redesigns how the website consumes spec data. The 1.9.x specs intentionally moved to standard OpenAPI fields, dropping the website-onlyx-appwritemetadata (method,weight,x-example) — which broke every 1.9.x/cloudreference page: all method ids wereundefined, the "On This Page" sidebar renderedhref="#undefined"for every entry, deep links died, and Svelte threweach_key_duplicateon hydration. Instead of asking the spec generator to reinstate the fields, the website now derives everything from standard fields and treats every remainingx-appwritefield as optional.How
operationId(strip the service-tag prefix, lowercase the first char). The legacyx-appwrite.methodwins when present, and the derivation reproduces it exactly for 402/402 operations on 1.8.x — so all existing anchors and deep links stay byte-identical across versions.x-appwrite.weightonly when the spec carries weights; otherwise the generator's path order stands.Serviceentry plus a description file.examples/<version>/<platform>/directories are the ground truth for which SDKs a release was generated with. Deno (discontinued in 1.9.x) disappears from the 1.9.x/cloud platform picker automatically; Go/Rust correctly absent before 1.6.x.webAuthskip: OAuth2 redirect methods are excluded on GraphQL platforms, mirroring the SDK generator's own exclusion (GraphQL.phpskipstype: webAuthexample generation).example ?? x-examplefallback, one sharedresolveVersion()socloudmeanslatestVersioneverywhere (models page and the.mdmarkdown generators previously hardcoded1.8.x), and inline (non-$ref) response schemas no longer crashgetService.Screenshots
Cloud account page — anchors, sidebar, and deep links (
#createEmailPasswordSession) working again:New OAuth2 service reference (Appwrite as an OAuth2/OIDC identity provider):
New Apps service reference (OAuth2 application management):
Deno on 1.9.x (SDK discontinued upstream): full endpoint reference without code panels instead of a blank page, and Deno is dropped from the 1.9.x platform picker:
Testing
#undefinedanchors.each_key_duplicateon 1.9.x/cloud pages, deep links scroll to the right method, 1.8.x pages unchanged.svelte-check, ESLint, and Prettier clean across the touched files (also fixed 10 pre-existing lint errors in the references tree).