Skip to main content

flutterflow_cloud 0.4.0-dev.1 copy "flutterflow_cloud: ^0.4.0-dev.1" to clipboard
flutterflow_cloud: ^0.4.0-dev.1 copied to clipboard

unlisted

The FlutterFlow Cloud SDK for Flutter — typed database records and queries, end-user auth with self-contained persistent sessions, file storage with progress and URL caching, and a fast built-in proje [...]

Changelog #

0.4.0-dev.1 #

A pre-release for trying store purchases before they launch; cloud.purchases may still change before 0.4.0.

  • cloud.purchases.recordEvents(events) posts what the app's paywall and shop saw (FFXPurchaseEvent: id, FFXPurchaseEventKind, at, source, item, plan, amount) to /v1/purchases/events for Payments' Reports, and answers how many were new.
  • FFXInsufficientCreditsError (an FFXConflictError, code insufficientCredits): a write whose rule calls spend() needs more credits than the end user has. It carries credits, needed and balance, and userMessage copy for the end user.
  • FFXPurchaseState.credits (FFXCredits): the app's credits as the backend keeps them, balance (bought plus this month's free), bought, free, freeEachMonth and freeRefillsAt, with words(n) for "3 vet questions". A pack is checked like any purchase; checkPretend takes its amount.
  • Store purchase problems from /v1/purchases (purchaseNotVerified, purchaseNotSold: FFXValidationError; paymentsNotConfigured, purchaseHeldByAnother: FFXConflictError) carry userMessage copy for the buyer.
  • cloud.purchases reads what the app sells and what the signed-in user bought (read() → FFXPurchaseState: purchase id, upgrade, owned unlocks, purchases and products with each store's ids) and checks a store purchase (checkAppStore, checkGooglePlay; in the preview, checkPretend records a purchase on drip's pretend store as an FFXStore.pretend test purchase, in the preview's backend only), refreshing the session when the upgrade changes. FlutterFlowCloud.insidePreview is public. cloud.purchases is an extension (FFXCloudPurchases) in package:flutterflow_cloud/purchases.dart, with the purchase types; the main library doesn't export it, so an app's own purchases getter (a purchase model's) is untouched.
  • Inside App Preview, a screen preview that reads FlutterFlowCloud.instance before any initialize gets an instance the SDK connects itself, on the preview's backend with the whole-app preview's session or as a guest, instead of FlutterFlowCloud has not been initialized. It borrows that shared session and never rotates its refresh token. The app's own initialize replaces it. Outside App Preview nothing changes.

0.3.0 #

  • cloud.connectors.call(connector, operation, params: …) calls an outside service the project connected (Slack, Resend, Stripe, OpenAI, Anthropic, Gemini, Airtable, Notion, …) through the platform, for an operation declared under connectors in .ffx/project.json; the app carries no key. Connector refusals are FFXApiErrors whose userMessage is written for the app's user, and an acting call that may have gone through (connectorOutcomeUnknown) is never retried. The generated ffx.dart re-exports FFXConnectors.
  • Custom claims stay current: the SDK follows the account's auth events and refreshes the session when its claims change.
  • cloud.auth.deleteAccount() permanently deletes the signed-in account and revokes its sessions.
  • Requests share one time budget across retries, and a mutation retried after a transport failure keeps its original Idempotency-Key.
  • Previews in FlutterFlow reach their own backend without app changes; FFX_EMULATOR_URL points the emulator client at a full URL.
  • Breaking: FFXPersistedSession has a required claimsRevision. A session saved by 0.2.x does not restore, so a signed-in user signs in again once after the upgrade (and a guest starts as a new guest).

0.2.2 #

  • fileReferenced (deleting a file a record still points at) is an FFXConflictError.
  • Generated file collections gain allowsContentType, and the upload pre-flight accepts single-type wildcards (image/*) the way the platform does.

0.2.1 #

  • Package README replaced with a short placeholder ahead of the public documentation.

0.2.0 #

The client SDK, rebuilt as a Flutter package. Replaces ffx_client 0.1.0 (package renamed; hard break, pre-release).

  • FlutterFlowCloud.initialize / FlutterFlowCloud.instance replace FFXApp; connection settings live in FFXOptions (typically generated).
  • Self-contained persistent sessions on Android, iOS, macOS, Windows, Linux, and web — no plugins. Sessions restore at initialize with auth.currentUser hydrated from the stored snapshot and a background reconcile; authStateChanges() is a Stream<FFXUser?> whose first event is the real current state.
  • Built-in opt-in query cache (FFXFetchPolicy: networkOnly/networkFirst/cacheFirst/cacheOnly) with honest FFXQueryMetadata; the fictional isFromCache: false / hasPendingWrites / client-clock serverTime fields are gone.
  • FFXApiError.userMessage: human-safe copy for every failure.
  • Storage: upload returns an awaitable FFXUploadTask with progress, cancellation, and in-place transfer retry; getDownloadUrl caches and single-flights signed URLs; getFile/updateFile/deleteFile cover the file record surface; FFXImage renders private files by id.
  • Database: query() parameters optional; pages()/records() cursor-following streams; aggregate() returns a typed FFXAggregateResult; batch() is the single typed batch API.
  • FFXSignOutScope enum replaces the stringly-typed sign-out scope; FFXGeoPoint value type added.
  • Built-in generator: dart run flutterflow_cloud:generate emits typed models/collections/queries/options from .ffx/project.json — fast, deterministic, formatted, no build_runner.
1
likes
0
points
11.2k
downloads

Publisher

verified publisherflutterflow.io

Weekly Downloads

The FlutterFlow Cloud SDK for Flutter — typed database records and queries, end-user auth with self-contained persistent sessions, file storage with progress and URL caching, and a fast built-in project code generator.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, http

More

Packages that depend on flutterflow_cloud