supabase_flutter_ultra 0.1.0 copy "supabase_flutter_ultra: ^0.1.0" to clipboard
supabase_flutter_ultra: ^0.1.0 copied to clipboard

Offline-first wrapper for Supabase Flutter with caching, offline write queue, delta sync, and conflict resolution — fully compatible with existing Supabase APIs.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:supabase_flutter_ultra/supabase_flutter_ultra.dart';
import 'screens/todo_screen.dart';

/// Replace with your Supabase project credentials.
const supabaseUrl = 'https://your-project.supabase.co';
const supabaseAnonKey = 'your-anon-key';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await SupabaseUltra.initialize(
    url: supabaseUrl,
    anonKey: supabaseAnonKey,
    config: UltraConfig(
      // Cache todos for 2 hours; use cache-first for fast UI
      defaultCachePolicy: CachePolicy(
        maxAge: Duration(hours: 2),
        maxEntries: 500,
        strategy: CacheStrategy.cacheFirstThenNetwork,
      ),

      // Resolve conflicts by the most recently updated version
      defaultConflictPolicy: ConflictPolicy.lastWriteWins,

      // Start syncing 2 seconds after reconnect
      autoSyncOnReconnect: true,
      reconnectSyncDelay: Duration(seconds: 2),

      // Sync every 15 minutes in the background
      periodicSyncInterval: Duration(minutes: 15),

      // Per-table overrides
      tableConfigs: {
        'todos': TableSyncConfig(
          cachePolicy: CachePolicy(
            maxAge: Duration(hours: 24),
            strategy: CacheStrategy.cacheFirstThenNetwork,
          ),
          conflictPolicy: ConflictPolicy.lastWriteWins,
          primaryKey: 'id',
          updatedAtField: 'updated_at',
        ),
      },

      enableDebugLogging: true,
    ),
    debug: true,
  );

  runApp(const UltraExampleApp());
}

class UltraExampleApp extends StatelessWidget {
  const UltraExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Ultra Todos',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        colorSchemeSeed: Colors.deepPurple,
        useMaterial3: true,
      ),
      home: const TodoScreen(),
    );
  }
}
0
likes
140
points
0
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Offline-first wrapper for Supabase Flutter with caching, offline write queue, delta sync, and conflict resolution — fully compatible with existing Supabase APIs.

Repository (GitHub)
View/report issues

Topics

#supabase #supabase-flutter #flutter #dart #offline-first

License

MIT (license)

Dependencies

async, collection, connectivity_plus, drift, drift_sqflite, flutter, logging, meta, path, path_provider, rxdart, sqflite, supabase_flutter, uuid

More

Packages that depend on supabase_flutter_ultra